Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

2020 Mercedes Metris Speed controll install no working Properly

Status
Not open for further replies.

martinlg

New Member
I've installed a Rostra 250-9662 speed control and now when engaged it will accellerate pass the set speed to about 74 and then cut off. Can't find a good trouble shootin chart . in hopes someone here has had that problem and can help me solve it. Thanks for any help
 
The speed control device seems to find the road speed from the CANbus. It's possible that the connection isn't correct, or that the model of speed controller that you are using doesn't match the vehicle. The encoding of signals on the CANbus can change with each model year.
 
Not certain because I am not familiar with that car, but I wouldmassume because it is hooking into CAN BUS, that the car should be programmed so that it knows this new hardware is online. I doubt that it is plug and play and generates its own address when connected. I may be wrong but I would think you have to tell the ECM's that it has a new player on the field
 
Not certain because I am not familiar with that car, but I would assume because it is hooking into CAN BUS, that the car should be programmed so that it knows this new hardware is online. I doubt that it is plug and play and generates its own address when connected. I may be wrong but I would think you have to tell the ECM's that it has a new player on the field
I don't think that's correct.

Modules transmit information on the CANbus, and that information is transmitted whether or not anything is listening to it.

For the cruise control, the connection to the CANbus is just listening to existing information, primarily vehicle speed.

If a new module were to transmit information, at least one other module would have to listen to that information for the new information to have any use. However, other modules would just ignore the additional information that they are not programmed to respond to.
 
Every module on a CAN BUS must have an address. Otherwise it is an unkniwn entity that the system does not recognize. There are other factors put into play when cruise control is introduced. It involves engine, transmission and braking so I doubt that you can jus plug something random in and it just listens. In order for the vehicle to respond, the transceivers need to be in communication with each other and understand each others language. Otherwise the other modules will ignore it and set a code. A module that sits there and talks to itself is known s a lonely node. I may be wrong but I have studied a lot of CAN BUS. Like I said, I dont know the car or the add on so I could be in left field.
 
Every module on a CAN BUS must have an address.
Yes but it is the device's "FROM" address, to identify what the data being broadcast relates to.

That is the main concept that makes CAN different from other networking systems - the basic packets are not targeted, just identified as to where they originate.

Anything can listen to all the broadcast data, it just needs to know what it is listening for.

eg. Look at such as the "Torque" app for smartphones and tablets - that can snoop the vehicle bus and it allows you to create a virtual instrument panel, allowing you to display anything from road speed & fuel level through fuel & boost pressures, sensor temperatures, exhaust 02 level & a vast number of other bits of data, literally hundreds of data points in many vehicles.


And there are many others. The "just work", there is no configuration at the vehicle side.
 
Every module on a CAN BUS must have an address. Otherwise it is an unkniwn entity that the system does not recognize. There are other factors put into play when cruise control is introduced. It involves engine, transmission and braking so I doubt that you can jus plug something random in and it just listens. In order for the vehicle to respond, the transceivers need to be in communication with each other and understand each others language. Otherwise the other modules will ignore it and set a code. A module that sits there and talks to itself is known s a lonely node. I may be wrong but I have studied a lot of CAN BUS. Like I said, I dont know the car or the add on so I could be in left field.
You do not need an address for a module that just listens. However, to make use of the data, you need to find out the address and position within the data of the information that is received.

You can buy loggers that will receive on the CAN. I use one from Microchip.

Here is a single CAN frame that I received from my car, a 2009 Jaguar X-type:-

4B0 8 2A 73 2A BC 2A 30 2A 62

That is a frame with an ID (address) of 0x4B0 and it's 8 bytes long. That particular frame contains the four wheel speeds. Each is two bytes, and they are all in the range 0x2A30 to 0x2ABC when that particular frame was sent. I compared the log of that frame against GPS speed for some distance and worked out the speeds are in kph, in units of 0.01 kph. The four wheel speeds in that frame were in the range 108.00 to 109.40 kph.

I later worked out which speed was for each wheel by jacking the car and spinning the wheels by hand and seeing which bytes of the 0x4B0 frame changed.

I suspect that the device fitted by the OP is looking for the wrong CAN address, or in the wrong place within the 8 bytes, so it can't work out what the speed is.

Many of the CANbus readers that are available to read fault codes and stuff like that work rather differently. Fault codes, (DTCs) are not sent on the CANbus unless diagnostic equipment asks for them using a diagnostic request. In normal running on a car, there are no diagnostic requests.

When a DTC is read, the reader has to send a diagnostic request for the information, and the address that request is sent on will be for a particular module. That module will reply with the information. The reply can be several frames long.

It's possible to read things like vehicle speed in the same way, by asking a module using a diagnostic command. Many aftermarket devices do that, because the diagnostic commands are defined by international standards, and don't change from one make of car to another, or with model year, nearly as much as the the simple CAN data changes.

If a device is transmitting diagnostic requests on the CANbus, all sorts of things can go wrong that the rest of the car can detect, and possibly set a DTC. Different manufacturers will have different rules about what diagnostic requests are made at what times. If the device that is trying read data on the CANbus doesn't work correctly, it will interfere with other messages. I would never assume that aftermarket devices will stick to the rules about transmitting on the CANbus.

I have seen modules that transmit with nothing listening to them, what you call "lonely nodes". There is no problem with having CAN messages like that. Every time diagnostic equipment scans all the modules on a car, some of the optional ones may be missing. The diagnostic equipment just sends a message, receives no reply, and moves on to the next in the list.
 
Yes but it is the device's "FROM" address, to identify what the data being broadcast relates to.

That is the main concept that makes CAN different from other networking systems - the basic packets are not targeted, just identified as to where they originate.

Anything can listen to all the broadcast data, it just needs to know what it is listening for.

eg. Look at such as the "Torque" app for smartphones and tablets - that can snoop the vehicle bus and it allows you to create a virtual instrument panel, allowing you to display anything from road speed & fuel level through fuel & boost pressures, sensor temperatures, exhaust 02 level & a vast number of other bits of data, literally hundreds of data points in many vehicles.


And there are many others. The "just work", there is no configuration at the vehicle side.
I agree that CAN messages don't have a destination address, only a source address. However, I think that a lot of these apps read at least some of the information by sending diagnostic requests. It means fewer changes between different vehicles.

While the CAN message doesn't have a destination address, for diagnostics, modules will only respond to a single diagnostic address, which will be different for each module. When diagnostic equipment, or one of the CAN readers that uses diagnostics, wants to read something, it sets its source address to the one that the module it wants to talk to responds to.

When a scan of DTCs happens, the scanner tries every known address in the diagnostic range, normally 0x700 - 0x7FF

I used on of those "Torque" apps on a Rover 75 with a Bluetooth adaptor plugged into the OBD port. That car had a CANbus, but not one that carried diagnostics. There was a separate wire that went to the OBD port and to any module that diagnostics worked on. It was a communications system called K-line. I know that the "Torque" app didn't just listen on the CANbus, because the CANbus on the Rover 75 wasn't connected to the OBD port.
 
However, I think that a lot of these apps read at least some of the information by sending diagnostic requests. It means fewer changes between different vehicles.
I know there is a lot more to the overall system operation; I was just trying to get across the basic concept that the vehicle side does not need reprogramming to be able to work with additional devices.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top