Electronic gov on Mercedes OM606 controlled by arduino board
Electronic gov on Mercedes OM606 controlled by arduino board
I want to control the OM 606 Width Electronic gov.
I got it to idle today, but not wery well.
I am controlling width PWM between 45%to 55% regarding RPM, if the RPM slows down i raise the RPM. if the engine pick up speed i lower PWM.
But i think i need a high resolution log file of the original way mercedes controlling it.
It should be logged at around every 1/1000 of a second anybody have a log file ?
I only have a weary slow Scoope, and not have the possibility to make a logfile
Or anybody has an idea how to log RPM vs PWM, it would help a lot to have this in EXCEL :-)
http://www.youtube.com/watch?v=vXUgPWelwRg
Might be worthwhile to get a PC based ohsillyscope. There are many different ones availible. Some have multiple inputs. All use the computer to create a log file of some sort.
Ed
Arduino might not be fast enough for pump control, especially on an unloaded engine where rpm will change very quickly with a small change in fuel. It sounds like your setting the PWM based purely on measured inputs, causing the unstable idle because of the response time and over/undershooting the speed repeatedly. Ideally you'd want something like a PID loop which will quickly stabilize at a constant frequency.
(05-01-2011, 01:35 AM)300SD81 Arduino might not be fast enough for pump control, especially on an unloaded engine where rpm will change very quickly with a small change in fuel. It sounds like your setting the PWM based purely on measured inputs, causing the unstable idle because of the response time and over/undershooting the speed repeatedly. Ideally you'd want something like a PID loop which will quickly stabilize at a constant frequency.The Arduino is more then fast enogth i can set the PWM frequency every 88 microsec yes every 1000,000 / 88 Sec (i messured how long a loop took in the code, LCD disabled)
(05-01-2011, 01:35 AM)300SD81 Arduino might not be fast enough for pump control, especially on an unloaded engine where rpm will change very quickly with a small change in fuel. It sounds like your setting the PWM based purely on measured inputs, causing the unstable idle because of the response time and over/undershooting the speed repeatedly. Ideally you'd want something like a PID loop which will quickly stabilize at a constant frequency.The Arduino is more then fast enogth i can set the PWM frequency every 88 microsec yes every 1000,000 / 88 Sec (i messured how long a loop took in the code, LCD disabled)
That is nice, hope you get it work good. I personally not know electricity that much but if that car runs, its not bad deal make it idle good.
You may have one customer over here when it works
(05-01-2011, 03:14 AM)olefejer(05-01-2011, 01:35 AM)300SD81 Arduino might not be fast enough for pump control, especially on an unloaded engine where rpm will change very quickly with a small change in fuel. It sounds like your setting the PWM based purely on measured inputs, causing the unstable idle because of the response time and over/undershooting the speed repeatedly. Ideally you'd want something like a PID loop which will quickly stabilize at a constant frequency.The Arduino is more then fast enogth i can set the PWM frequency every 88 microsec yes every 1000,000 / 88 Sec (i messured how long a loop took in the code, LCD disabled)
and i get 6 RPM readings at every engine revolution , thats means only every 10 milisec (1000 RPM).
But Thanks ALOT for the link to PID controller, need to reed some more about that. For shure that the way to go.
iam reading about PID rigth now. more testing on the engine next weekend :-)
(05-01-2011, 03:14 AM)olefejer(05-01-2011, 01:35 AM)300SD81 Arduino might not be fast enough for pump control, especially on an unloaded engine where rpm will change very quickly with a small change in fuel. It sounds like your setting the PWM based purely on measured inputs, causing the unstable idle because of the response time and over/undershooting the speed repeatedly. Ideally you'd want something like a PID loop which will quickly stabilize at a constant frequency.The Arduino is more then fast enogth i can set the PWM frequency every 88 microsec yes every 1000,000 / 88 Sec (i messured how long a loop took in the code, LCD disabled)
and i get 6 RPM readings at every engine revolution , thats means only every 10 milisec (1000 RPM).
But Thanks ALOT for the link to PID controller, need to reed some more about that. For shure that the way to go.
iam reading about PID rigth now. more testing on the engine next weekend :-)
(05-01-2011, 09:09 PM)300SD81 PID code for an arduino should be fairly common, Amtel might even have a library, I know Microchip does for the PIC microcontroller series. See if you can borrow some code from electric motor control projects, it might need some tuning to account for different response times of an engine vs an electric motor, but should be close enough for idle speed control.Yes you were so rigth there was an arduino libery :-), Thanks "300SD81"
(05-01-2011, 09:09 PM)300SD81 PID code for an arduino should be fairly common, Amtel might even have a library, I know Microchip does for the PIC microcontroller series. See if you can borrow some code from electric motor control projects, it might need some tuning to account for different response times of an engine vs an electric motor, but should be close enough for idle speed control.Yes you were so rigth there was an arduino libery :-), Thanks "300SD81"
Well positiv progres today idel fine but still some problem width the RPM signal, but this video show that is it possible to control it. :-)
http://www.youtube.com/watch?v=99XeXM79GkY
(05-14-2011, 01:14 PM)olefejer Well positiv progres today idel fine but still some problem width the RPM signal, but this video show that is it possible to control it. :-)
http://www.youtube.com/watch?v=99XeXM79GkY
(05-14-2011, 01:14 PM)olefejer Well positiv progres today idel fine but still some problem width the RPM signal, but this video show that is it possible to control it. :-)
http://www.youtube.com/watch?v=99XeXM79GkY
(05-15-2011, 02:11 AM)tomnik do you know what kind of PWM you need?
I have a source for PWM generators for >5 EUR.
Very small, you can tell the guy the frequency you need and the PWM % is altered with a poti (manually).
Now you can eliminate the poti and input a 0-12V (or whatever) to change the PWM %.
The signal shape is pretty good.
This was my thought when we were discussing VTG control with arduino to avoid providing the PWM directly out of the arduino.
Let me know if this could help you and I'll send you one or two of these after you defined the frequency.
Tom
(05-15-2011, 02:11 AM)tomnik do you know what kind of PWM you need?
I have a source for PWM generators for >5 EUR.
Very small, you can tell the guy the frequency you need and the PWM % is altered with a poti (manually).
Now you can eliminate the poti and input a 0-12V (or whatever) to change the PWM %.
The signal shape is pretty good.
This was my thought when we were discussing VTG control with arduino to avoid providing the PWM directly out of the arduino.
Let me know if this could help you and I'll send you one or two of these after you defined the frequency.
Tom
Here's a video I shot of the waveform of the OM606 at idle:
It's 14 volts and about 40hz.
O.k. I read "PWM" instead of "RPM" -problems...
You see how bad I am in electronics?!
... I have an Arduino board and 2-3 606 turbo pumps and lots of elements but don't know how to combine the first to the rest.
My goal is to make my 603 idiot proof in sense of avoiding black puffs when slapping the pedal.
Tom