Parts Catalog Accessories Catalog How To Articles Tech Forums
Call Pelican Parts at 888-280-7799
Shopping Cart Cart | Project List | Order Status | Help



Go Back   PeachParts Mercedes-Benz Forum > Mercedes-Benz Tech Information and Support > Diesel Discussion

Reply
 
LinkBack Thread Tools Display Modes
  #1  
Old 05-30-2025, 03:58 AM
Shern's Avatar
Semi-registered User
 
Join Date: Feb 2016
Location: Los Angeles
Posts: 1,923
Modern W123 cruise amp

Been thinking about a project and curious if anyone here has attempted something similar or has advice.

As most of us have experienced, our cruise control amps are a bit of a weak point. Even after re-capping/reflowing, mine is on its third repair and starting to fade again.

I’m considering building a modern replacement. I suppose reverse-engineering the amp inputs and outputs, then recreating the control logic using a modern microcontroller like Teensy, STM32 (may not be best fit, just what I’ve read about). Stock functionality, solid-state reliability and no aging analog components, etc.

Has anyone here already mapped the stock amp signals? Any previous projects along these lines?

This is not my area, but given the tools available, figure I can learn a few things in the process

Reply With Quote
  #2  
Old 05-30-2025, 11:27 PM
tqwrench's Avatar
Registered User
 
Join Date: Nov 2022
Location: Ypsilanti MI
Posts: 54
Quote:
Originally Posted by Shern View Post
Been thinking about a project and curious if anyone here has attempted something similar or has advice.

As most of us have experienced, our cruise control amps are a bit of a weak point. Even after re-capping/reflowing, mine is on its third repair and starting to fade again.

I’m considering building a modern replacement. I suppose reverse-engineering the amp inputs and outputs, then recreating the control logic using a modern microcontroller like Teensy, STM32 (may not be best fit, just what I’ve read about). Stock functionality, solid-state reliability and no aging analog components, etc.

Has anyone here already mapped the stock amp signals? Any previous projects along these lines?

This is not my area, but given the tools available, figure I can learn a few things in the process
We go through the same gyrations with cruise control on our old Wanderlodges. Mine, for example, was equipped with a Bendix air-operated system. When they fail, they often stuck the throttle open . A friend of mine adapted mid-90s/early 2000s GM truck cruise to his (think Tony Soprano's Suburban). He grabbed the whole unit from a yard and then did an A to D board for the speed input. On the buses our speed sensor comes in analog from notches on wheel drums and a two wire sensor. I have a Rostra system for my bus, will likely need their driveshaft adapter to make it work. Haven't installed it yet.

On the W123 I'm on a service part replacement Programa unit, 1st one just up and failed. Warranty replacement they sent me has a dead spot from 60-65, set it at 61, 62, 63, 64 MPH and it will accelerate and lock in at 65. Set it at 60 and it locks in there. Bizarre. Other than that working just fine. For now.
__________________
1983 240D 4-speed manual
Reply With Quote
  #3  
Old 05-31-2025, 10:15 AM
ykobayashi's Avatar
Registered User
 
Join Date: Jun 2005
Location: Irvine, CA
Posts: 1,400
Sounds like a fun project.

I don’t have any details on the wiring but I’ve read over James Dean’s description of the system. I don’t think you need much in the way of electrical particulars because the control system uses the difference between the desired speed and measured speed rather than the absolute speed. This value can be calculated using the frequency you read off the speedometer output plug (top of the gauge in back) when you set cruise subtracted from the current speed.

Basically the bigger the difference the bigger the deflection of the throttle control.

That’s pretty simple. The difference multiplied by a scaling factor sets your proportional control term. You keep a running sum of the last N speed values and that is your integral term. This is PI in PID control. I’m not sure how much “D” you’ll need for this system given the car and engine’s dynamics. My gut feel is not much. All this happens in a continuous loop in your code.

Okay, now you have to set your throttle. That’s another control system because our cars just have a DC motor connected to a shaft potentiometer that reports actuator angle. From James Dean’s description (I think) you’ll need circuitry to make a voltage controlled current source that puts out up to 200mA to set the position of the actuator. This position will be continuously monitored and updated by the speed error. Still with me? More speed error equals proportionally more throttle push (or pull) based on the potentiometer position read out of the actuator sensor.

It’s fundamentally two control systems linked together I think. The actuator doesn’t have any brains in it like a toy model plane remote control servo motor. It doesn’t move to a set position when commanded. You have to set a current and check its progress as it converges on a desired position. I’m not sure what’s in there but I think it’s just a motor, gearbox and sensor. It’s up to you to control the amount of deflection.

I’ll have to go down to the garage and examine an actuator. They look brainless.
__________________
79 300TD “Old Smokey” AKA “The Mistake” (SOLD)
82 240D stick shift 335k miles (SOLD)
82 300SD 300k miles
85 300D Turbodiesel 170k miles
97 C280 147k miles
Reply With Quote
  #4  
Old 05-31-2025, 12:26 PM
ykobayashi's Avatar
Registered User
 
Join Date: Jun 2005
Location: Irvine, CA
Posts: 1,400
Found Kris’s excellent website. These pinouts will make it easier. I just tore my junk unit apart and saw basically what he lays out on his site. Rather than posting my findings it’s all here.

https://www.cruisecontrolrepair.com/mercedes-benz-wiring-and-pinout

There’s a DC motor, a potentiometer, a solenoid and transmission in the actuator. You’ll need to make up your own servo controller for this to operate. That can all be made in your controller (Teensy, Arduino Nano etc.).

You’ll will need a bipolar amp to drive the motor I think. This is a snap with these little boards I recently found with H bridge ICs that connect directly to things like Arduino. I found these really cheap ones on Aliexpress DRV8833. They’ll simplify the bidirectional current sourcing for the motor. You connect those to a PWM channel on your microcontroller to get forward and backward motion control on a dc motor. The potentiometer can be read out with an ADC channel with the potentiometer wired in Rheostat mode with the Arduino’s 5V regulated supply. When it’s all working you should be able to command the motor to a desired position.

I’d first start by wiring up the actuator to the microcontroller and make the motor swing back and forth. Once you have that working focus on getting the speed sensor read.

I think it’s just a a switch closure in the speedometer so you can use it to pull a digital port on your controller to ground (your basic button input circuit). Connect this to one of your timer ports and measure frequency. You can likely simplify your code by complicating your hardware by using frequency to voltage converters (LM2907 chip). This will shift burden away from digital frequency counting and make speed measurements an analog voltage reading on the Arduino. Depends on how you want to do things…more code less chips or less chips and more complex coding. With F/V conversion you sample a voltage that is proportional to speed which can make the software easier to write. The contact speed sensor may need some debouncing circuitry but maybe Arduino input is ok with some contact bounce…this will need to be checked out on the actual sensor.

If you have the speed input and servo control down then you just need to connect the two with PID feedback code. It looks like a pretty basic program. The system waits for the set button, then reads the current speed and potentiometer position. Then switches over (I think the solenoid comes in at this point?) to cruise and you difference the current speed from the desired speed and make a control signal via PWM to the H bridge motor driver to hold the current position or throttle to a new one(more or less acceleration). PI algorithm is described in my last post. Cancel the process with a brake tap and await resume/set signal.

It would be nice to fit all the hardware into the original brain box.

Sounds fun. I’d do it if I cared about cruise. Mine are both broken and I’ll likely just leave them alone. I was recently asked to prototype this but I declined mostly because I didn’t like the idea of people having runaway conditions on something I designed. It would be a great open source project for people who wanted to roll their own CC.

ETA - I’m sure there are digital cruise controls out there that will plug into these various inputs and outputs and do the job. It might be easier to take something that already exists and make a plug adapter to mate it to the w123. Of course if you’re doing this to have fun making your own system that is another goal.

ETA2 - oops spoke too soon. The VDO speed sensor on the back 004 542 6517 is not a reed switch. It’s a magnetic pickup coil. SugarBear mentioned it in the other gauge thread. You’ll need variable reluctance amplifier to make a digital friendly input. When I really think about it the sensor and actuator are really designed for an old analog controller. It might be smart to start off fresh with a modern speed (Hall) sensor and a big off the shelf servo motor. It’ll save a ton of interfacing work like making a servo controller for the motor and a variable reluctance amplifier for the speed pickup coil.

Things like this (but bigger):



And this:



These will require a lot less electronics (because it’s all built into them) than the original VDO gear.
__________________
79 300TD “Old Smokey” AKA “The Mistake” (SOLD)
82 240D stick shift 335k miles (SOLD)
82 300SD 300k miles
85 300D Turbodiesel 170k miles
97 C280 147k miles

Last edited by ykobayashi; 06-01-2025 at 10:16 AM.
Reply With Quote
  #5  
Old 06-02-2025, 04:43 AM
Shern's Avatar
Semi-registered User
 
Join Date: Feb 2016
Location: Los Angeles
Posts: 1,923
Incredible — super helpful! I’m brand new to this level of electronics, so this will be a learning project for me (and part of the fun).

Did a lot of reading and research and GPTing based on your guidance.
Here's my current plan of attack.

1.) Sticking with the stock actuator and VR speed sensor for now. I’d like to understand and work through the original system, even if it’s more involved. Baby steps.

2.) Use a DRV8833 or similar H-bridge to drive the actuator motor.

3.) Use an LM1815 or MAX9924 to condition the VR sensor and generate a clean digital speed signal.

4.) Start with a Teensy 4.0 or maybe a Pi Pico for the controller — probably using Arduino IDE?

5.) Goal is to get the actuator moving under control of the MCU and reading the pot correctly. Then read speed input and build out the outer PI loop to control speed.

6.) Great point re: runaway, had not even considered that: so, add fail-safes (brake switch, watchdog timer, limits) so I don't travel into the future.

I’m still a few weeks out from being back in LA where my car is, but I’m planning to order parts soon so they’re waiting when I get there. Again I have zero knowledge or experience in this department but it feels valuable to attain!
__________________
1981 240D 4sp manual. Ivory White.
Reply With Quote
  #6  
Old 06-02-2025, 10:26 AM
ykobayashi's Avatar
Registered User
 
Join Date: Jun 2005
Location: Irvine, CA
Posts: 1,400
This is a great DIY project. You will learn a lot. The secret is just breaking it down into its individual elements and once they’re stable start linking it together. There certainly are a lot of inspiring videos of people doing this on YouTube with cheap cars without CC.

I thought about the sensor an actuator and I’m starting to think your way of using the existing stuff is probably the smarter way. Using a toy car actuator doesn’t have the necessary failsafes built in. The solenoid for example will disengage the actuator if you lose electrical power…at least I think that’s how it works. An RC car servo will work but I think it will just lock up if you disconnect it from power or control. And then there’s the whole question of how to disengage it if you cancel cruise. That’s just one example.

Those VR amps will work to signal condition the sensor. I know some simpler circuits to deal with this thing. Let me check my notes for the TDC sensor. Alternatively I recall the LM2907 datasheet had an application circuit for a VR to voltage converter. As I said previously that approach will avoid frequency measurement on the digital side. Juggling simultaneous frequency measurement and PID on your processor is slightly more complex than just sampling a speed dependent voltage. A V/F scheme can really push the burden on to the LM2907 and make the coding more approachable.

I think the majority of the work will be getting a clean speed input and controlling the actuator. The signals will have to be appropriate for the I/O on the Arduino. The PID algorithm is literally ten lines of code. There are tons of examples of how to implement the ten lines at the Arduino forum.
__________________
79 300TD “Old Smokey” AKA “The Mistake” (SOLD)
82 240D stick shift 335k miles (SOLD)
82 300SD 300k miles
85 300D Turbodiesel 170k miles
97 C280 147k miles
Reply With Quote
  #7  
Old 06-02-2025, 10:50 AM
777funk's Avatar
Registered User
 
Join Date: Dec 2006
Posts: 1,051
I use those little servos and have hundreds of hours with them. They work well, but on something like a throttle control, there needs to be some kind of glitch detection implemented that will shut it off if something goes wrong. Of course the brakes will overcome the throttle, but... at least n my case, I'd be hesitant to trust the servo at all. They wear out and the reading within the servo (an internal potentiometer tells it where it's at in degrees of travel) will become erratic and the motor will act up. This likely would be a problem if this "acting up" gives the rack a full throttle motion at the wrong time.

My thinking is that some sort of feedback that confirms ok travel allows the servo system to continue. Then if this feedback reports travel that isn't commanded, power to the servo is killed. This all is in hopes that killing the servo power still allows the throttle spring to pull the rack back to zero throttle. I'd think MB's cruise system fails to an inactive uninterrupting state.

All of this contains risk like anything in a vehicle system. But there's much more risk for someone doing this for the first time. When MB designs such a system, they have a history of design improvements and failure assessments which in turn form standards. I don't know that I'd mess with it personally as someone who doesn't have this history. The idea is fun of course.

__________________
-E300d '99 350k
-Suburban '93 220k
-TDI Jetta '03 350k
Sold
-F250 '96 7.3
-Dodge Ram 12V
-E320 '95 200k
-E320 Wagon 1994 155k
-300d Turbo '87 187k miles
-E320 1994 200k
-300d Turbo '84 245k (sold to Dan62)
-300d Turbo '84 180k
-300sd '80 300k
-7.3 Powerstroke Diesel 15P Van 500k+ miles
-190d '89 Non Turbo 2.5 5cyl 240k (my first MB)
Tom's Imports of Columbia MO Ruined the IP in changing leaky delivery valve O-Rings - Refused to stand behind his work. Mid-MO MB drivers-AVOID Tom's.
Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 01:49 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0
Copyright 2024 Pelican Parts, LLC - Posts may be archived for display on the Peach Parts or Pelican Parts Website -    DMCA Registered Agent Contact Page