Jump to content


Photo
- - - - -

Servo Controlled Choke


  • Please log in to reply
34 replies to this topic

#16 Ethel

Ethel

    ..is NOT a girl!

  • TMF Team
  • PipPipPipPipPipPipPipPipPipPipPip
  • 26,028 posts
  • Local Club: none

Posted 11 May 2015 - 03:26 PM

A cable that pushes as well as pulls is known as a Bowden cable.



#17 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 11 May 2015 - 08:15 PM

It pretty cool there so no risk of melting...... He says. Anyway the arduino micro I used is only £14 and it will run both the heater and choke.
It is a hs4 I only want to limit it as it travels to far and over turns catching the throttle cable. The limit can be set in the code very easy. Temp feedback is a doddle I just need to find the time to get it done as I work away a lot.
Oh and im running a k&n cone filter so no foul.

And I'm a size 10

Did I miss anything

#18 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 11 May 2015 - 09:54 PM

Damn. Looks like I'm gonna have to buy an Arduino then.

#19 peter-b

peter-b

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 773 posts
  • Location: Central Coast of NSW
  • Local Club: still looking

Posted 11 May 2015 - 11:13 PM

SU HIF44E :-) :-)

#20 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 12 May 2015 - 10:01 AM

Have been thinking about this over night.

Are you just using a variable pot as a potential decider for the input to the Arduino?

What are you doing about powering the board? I guess you could use USB and a cigarette lighter, or with a (fused?) +ve feed from the fuse box and -ve to the chassis, but I don't know how dirty either of these options are in reality, or how the Arduino would cope with that?

What voltage does the servo need? And if it's >5v how do you drive it?

#21 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 12 May 2015 - 11:26 AM

Have been thinking about this over night.

Are you just using a variable pot as a potential decider for the input to the Arduino?

What are you doing about powering the board? I guess you could use USB and a cigarette lighter, or with a (fused?) +ve feed from the fuse box and -ve to the chassis, but I don't know how dirty either of these options are in reality, or how the Arduino would cope with that?

What voltage does the servo need? And if it's >5v how do you drive it

 

  • the arduino uses 5v but has built in voltage regulation so i can feed it 12v and it will be happy
  • the servo is running on 6v as this the optimum voltage for max torque
  • i have supplied the beasty from a small aftermarket fuse box which is fed from the same ignition switched output as the fan and i bought a 6v 3A voltage regulator off ebay for £2.99 (i was gonna build one but it wasnt worth the hassle) and all grounds go to the chassis.
  • i used a 4.7k POT setup as a potential divider driven from the arduinos onboard 5v output.

i cant upload the arduino program so ill just paste the code if anyone wants to use it. i will update this in the future to include a temp input. its nice and simple

 

/* 
 Heater and choke control on mini 998cc engine using 2 servos and potentiometers
 By Steve Lee
*/
 
#include <Servo.h> 
 
Servo ChokeServo;   // create servo object to control the choke servo 
Servo HeatServo;  // create servo object to control the heater servo 
 
int ChokePot = 0;  // analog pin used to connect the potentiometer
int HeatPot = 2;  // analog pin used to connect the potentiometer
int ChokeVal;      // variable to read the value from the analog pin 
int HeatVal;       // variable to read the value from the analog pin 
 
void setup() 
  ChokeServo.attach(9);  // attaches the servo on pin 9 to the servo object 
  HeatServo.attach(11);  // attaches the servo on pin 3 to the servo object 
 
void loop() 
  ChokeVal = analogRead(ChokePot);               // reads the value of the potentiometer (value between 0 and 1023) 
  ChokeVal = map(ChokeVal, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180) 
  ChokeServo.write(ChokeVal);                      // sets the servo position according to the scaled value 
  delay(15);                                     // waits for the servo to get there 
  
  HeatVal = analogRead(HeatPot);               // reads the value of the potentiometer (value between 0 and 1023) 
  HeatVal = map(HeatVal, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180) 
  HeatServo.write(HeatVal);                      // sets the servo position according to the scaled value 
  delay(15);                                   // waits for the servo to get there 


#22 Ethel

Ethel

    ..is NOT a girl!

  • TMF Team
  • PipPipPipPipPipPipPipPipPipPipPip
  • 26,028 posts
  • Local Club: none

Posted 12 May 2015 - 11:46 AM

Can you just alter the map values for the servo to limit the sweep?

 

Nice work,

 

I'll be looking with interest if you get round to mapping it to temperature sensor. I doubt you'd want it linear.



#23 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 12 May 2015 - 11:54 AM

yes you can



#24 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 12 May 2015 - 12:35 PM

Deleted. Silly question!

Edited by fenghuang, 12 May 2015 - 03:36 PM.


#25 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 12 May 2015 - 05:25 PM

There are no silly questions. Just silly answers. Maybe.

#26 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 12 May 2015 - 06:14 PM

Was thinking the board supplies 5v and your servo needs 6v. But was forgetting the servo's power supply is separate from the PCM control signal.

#27 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 13 May 2015 - 03:09 PM

Obviously this is all starting to add to costs, but clicky clicky. I won't spoil the surprised, bt you know you want to.

 

Looking at the video again, there seems to be areasonable amount of slop on the bolt between the linkage and the choke arm on the carb. Any concerns?


Edited by fenghuang, 13 May 2015 - 03:28 PM.


#28 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 13 May 2015 - 06:50 PM

That's cool but I can't see any use in this application.
Yes good spot there was slop I missed a washer out. I noticed it yesterday while sorting my dodgy fuel pump out.

Any ways the costs

Not as much as you think
Servo £19.99
Arduino £4.99
6v buck £2.99
And a 75p pot
And I borrowed the linkages off an old model car

#29 Stevelee10

Stevelee10

    Mini Mad

  • Noobies
  • PipPipPipPip
  • 120 posts
  • Location: wallsend, tyne & wear

Posted 13 May 2015 - 06:56 PM

Oh an with regard to your silly question. Its wasn't silly. The servo could be ran off the on board 5v
However it doesn't supply enough current to drive that servo. Would be fine for a smaller servo tho

#30 fenghuang

fenghuang

    One Carb Or Two?

  • Members
  • PipPipPipPipPipPipPip
  • 796 posts
  • Location: Herts

Posted 13 May 2015 - 09:56 PM

£4 for an Arduibo Micro? Where from? Maplin price is £27.

Is this the sort of voltage regulator you're using?
http://pages.ebay.co...id=201061543612
Never had to think about these before. I assume they're simple? Vin+ Vout+ Vin- Vout- and that's it ... I hope?

I was thinking you could use the motorised pot in conjunction with the thermostat feedback:
Set the choke with the pot.
The Arduino adjusts the mixture as the temperature rises.
It also adjusts the pot position proportionately.
That way you don't have to worry about where the pot is parked eg when the (warm) engine is restarted, or if you want to increase or reduce the amount of choke manually. Otherwise you'd need to do something like resetting the pot before you start the car. Or rewrite the code to ignore the position of the pot at start up unless it monitors a change. I think. (Am I explaining that well?)

Edited by fenghuang, 14 May 2015 - 07:31 AM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users