Hey Thaniel
So I managed to try the program again. Seems like I am having a slight issue with the obd connector - perhaps because of its poor quality. None the less, managed to get it to work!
The file closed correctly. It looks like there are a number of messages sent, but only a few seemed to be saved to the file.
Anyway, I am happy that I am at least communicating on the CAN.
Looks like you are making progress!
Hey Thaniel
So after some more tinkering...
I have noticed that communication will only start if I move the obd cable around (even if it was working previously).
Also, the data stored on the memory card doesnt seem the full data that came through on the serial monitor. Are there some sort of filters to display only certain messages?
The reason I ask is that I would like to get RPM and speed etc and dont seem to be finding them.
Thanks in advance.
If the cable needs to be wiggled then sounds like a connection problem. fix that first. Did you solder the points where you tapped the can bus? I've read that poor connections can cause noise.
take a look at the program code. If it comes out on the screen (serial bus) it is sent to the card. If your card is not recieving it may be another connection problem between the arduino and the card (how well did you solder the header pins?). Or the type of SD card you have is not fast enough? If you only want a few messags then filter the data stream for those. Should help all around. Can't help you there but the documentation for the can shield has information.
Thaniel
Bloody outstanding! Keep plugging away. Thanks for keeping us posted on the progress.
Been driving the E46 with MegaSquirt and the cluster is working well via CANbus. We are broadcasting both temp and rpm at 20ms and it doesn't seem to impact the MS3 at all.
Hit the dyno today and everything is still working well.
One odd thing, the car owner noticed that the temp gauge acts more like a gauge now. Instead of having just a few positions.
Thanks again for providing this info; really put our project back on track.
Peter Florance
Last edited by pftuning; 01-21-2013 at 05:23 PM. Reason: add name
I tap into the Canbus using the OBD2 slot in my car. I measured a few of the voltages on the RS232 connector and noticed that the housing itslef was running at 2.4V. So rewired that... Going to test your code again tomorrow. Hopefully that can shed some light on things.
The solder of the header pins looks okay, so think its more of a cable issue.
How are you getting on?
Thaniel,
Have you come up with a good way to get the other information out of the GM ECU (such as oil pressure gauge/indicator light, charging indicator/voltage, etc.)?
I picked up both a T56 and an E46 M3 rearend last weekend, and just located a complete LS3 harness/computer/TB/pedal so I'm getting closer to being able to have a running engine system to test on.
Chris
Chris
Hi guys,
sorry to hijack this thread a little, but it is relevant, and with such a wealth of canbus experience on here, I thought I might try to pick your brains.
I'm not trying to drive the instrument panel, but I am trying to use the iDrive controller (CON) as an device on a project vehicle (non BMW, don't shoot me !) that I am working on.
CON is the only iDrive component I am using, so there is nothing to respond to CAN packets unless I program it that way.
When I first power on the CON, it lights up, and I see a current draw of around 28mA. I then see the following packets on the bus
ARBID DLC DATA
4E7 8 6701FEFFFFFFFFFF
5E7 8 99E1FE0006FFFFFF
4E7 8 6702FEFFFFFFFFFF
4E7 8 6701FEFFFFFFFFFF
4E7 8 6702FEFFFFFFFFFF
4E7 8 6701FEFFFFFFFFFF
4E7 8 6702FEFFFFFFFFFF
4E7 8 6701FEFFFFFFFFFF
4E7 8 6702FEFFFFFFFFFF
4E7 8 6701FEFFFFFFFFFF
5E7 8 99E1FE0106FFFFFF
4E7 8 6714FEFFFFFFFFFF
After this I get no further packets, the lights turn off and power consumption drops to around 2mA.
I am guessing that CON is expecting a reponse to what it is sending out, and after a few attempts, gives up and goes into shutdown.
Does anyone have any more information on the CON protocol or would be in a position to put a scanner on the bus and try to filter out what responses CON is expecting from amongst the other packets.
Thanks very much for any information anyone can offer
Glad to hear the project here has helped. Interesting about the temp needle. You could further improve the temp needle response by programming the output to skip from Values Hex A9 to DB. I've attached my notes from testing the Temp guage. Column A is the hex value sent to the guage, Column B is just the Decimal value of column A. Column C is the temp as reported from the instrument cluster (using one of the test modes to put it on the screen in numeric values) Column D is temp converted to F. Notes in Column E. you'l note the green highlighted area the needle is stationary in the guage even though the temp values change. So skipping that section via programing would remove the "dead spot" in the guage. (The program i posted few post back has that done in it)
Sorry I con't follow the RS232 connector information. V8Z4 and ZR6SBC did the e46 can bus sampling. I just know that the bus has to be Tapped and that it wasn't at the OBDII connector.
I've not done much else lately. I did turn on my equiptment again and I read through my notes on the MPG guage data. But I have what I need to make the Temp and RPM guages work for my EV project. Though we could definately make things much fancier with some more effort. Suppose I should say I have done things, Been to Germany, Switzerland, United Arab emirates (Dubai), Africa and of course Sweden. But nothing on the Can bus project :-)
No I've not had any opportunity to get any data. It's hard to tell what will work. I expect it will take some testing to see what works.
Great to hear you are getting parts collected for your car. Excellent on the E46 M3 rearend. I've been reading about E46 diffs and the other LSD options are $$.
Welcome to the world of BMW can bus. idrive I don't think is on E46's. So not able to offer much help. I did check the list of E65 codes I found on the internet http://www.carx24.de/E65_Codes.xls and it mentions Idrive but the ID's you have are not listed. You are probably correct that the system is wanting an acknowlegement from another device on the net. Many devices "register" themselves when they are first turned on so the car knows that that module exists and to use it.
Couple things to check:
Do you have the correct resistance on your can bus (60 ohms). There are usually 2 devices that have 120 ohm resistors in them (at least on the E46).
Do you have another can device on the system that can acknowlege reciept of can messages? Or in otherwords, is your can sampling device in listen only mode right now. (put it in Normal mode)
Other than I'm no help. A group that is using idrive is needed for more specific help. Good luck with your project.
Thaniel
Last edited by Thaniel; 01-22-2013 at 05:01 PM.
Yeah it's the cost that made me decide to switch to the E46 M3 rearend. If the 188mm LSD options were not so expensive I would have rather kept the smaller/lighter diff since I'm going to be tire limited.
I managed to find a local guy with a wrecked M3 and got the whole rearend (brake to brakes) for $700 and he delivered it to my door. Needless to say I was
Chris
Well...
I think I may have found the issue I have been having. I am going through the OBD2 slot. This requires for certain codes to be sent to the ECU in order for comunication to start.
As long as I send these codes, communication can be setup.
It would be alot easier just to tap into the CAN bus directly. So how exactly did you manage to tap into the CAN bus behind the instrument cluster?
Come on, update us with your progress.
Glad you have found it. Sounds to me like you are using PID's and/or accessing the diagnostic bus. This will not give a data stream. I would not expect the listener program to capture anything if that is the case.
Early in the thread I think there are pictures of the can bus wires. It's a yellow/Red and Yellow/brown twisted pair. Can be tapped at any of the modules that are on the can bus (DME, ABS, AGS, IKE, etc.)
Unfortunately I'm still several thousand miles from my E46's and my LS1 (and it was -18 C today). So not much going on at the moment. I picture in the future, an E46 IKE hooked up to my Ls1 (while still in the E36) to demonstrate to all that it works..... The other improvements we have been discussing are just icing on the cake in my opinion.
Thaniel
WOW great thread! I am interested to start working on an E46 LSx swap after my current 911 swap is done.
ive got a e39 ike cluster Im not using if anyone needs to play with it, PM me... also have matching LCM.. thought about doing a retrofit or something for mine.. but decided not to
2006 X5 L83 5.3 6l80 swapped in progress
1999 528i 5.7L 4l60e swapped w/ 31 spline 8.8 cobra diff
2007 ZX-10r - sold
1987 R-10 SWB L83 5.3L 6L80e swapped
thaniel, what parts of the gm class 2 message structure are you interested ?
well, gmn class 2 won't handle oil pressure. I have never seen a p66 series ecu with a oil pressure sensor input. however tempature, charging voltage , etc yeah, you can have those over class 2, the big problem is that at every key up you will have ti intiailize the mode you want, the pids you want to poll and the buad speed. GM class 2 has 2 different buad speeds. I can get the info.
GM can stuff is different, and starts phase in around 2003 give or take.
Looking at my GM service manual (01 Camaro and 04 Silverado/Tahoe), the gauge cluster shows oil pressure signal coming in over the class 2. The ECU is certainly aware of oil pressure since it connects to an oil pressure sensor on the back of the block and pressure can be read out of a scanner (ex: HPTuners).
Ideas?
Chris
Actually I don't think oil pressure reading exists on camaros. I have 2002 TransAm/Camaro LS1 and the only thing that exists is oil pressure switch not a sensor, which is just a dummy light. I know that 05 LS2 from GTO has actual oil pressure sensor and can get read through OBDII, but I don't think the 01-02 LS1 has the actual pressure readings.
- 96 328is 6.0L. (LS1 to LS2 build thread: http://forums.bimmerforums.com/forum...ad.php?2098938)
- 96 328is 5.7L. (LS1 build thread: http://forums.bimmerforums.com/forum....php?t=1289987)
- 95 ///M3 6.0L. (LS2 build thread: http://forums.bimmerforums.com/forum....php?t=1619249)
- 97 ///M3. (e46 Fender Flares/track car build thread: http://forums.bimmerforums.com/forum....php?t=1727098)
- 96 328is (Dual Fuel Pump to Surge Tank thread: http://www.bimmerforums.com/forum/sh...ad.php?1964025)
I KNOW that ALL LS1s have an oil pressure sensor.
That is a screen shot of a 2002 Camaro gauge cluster. 2nd gauge in from the left is the oil pressure gauge.
That is the oil pressure sensor (in an F-body).
I used to own one of these cars and I have replaced the oil sensor (they were easy to snap off when pulling the manifold.... GM later relocated them).
The ECU plugs directly into this and receives a variable resistance/voltage signal that correlates to a pressure range. I have watched the pressure on HPTuners and a scanner (used it to calibrate the gauge cluster after pulling the needles off).
Last edited by V8Z4; 02-06-2013 at 03:59 PM.
Chris
That is wierd why I was not able to read it through OBDII scanner. I need to try to connect different/more advanced scanner to double check it again...
- 96 328is 6.0L. (LS1 to LS2 build thread: http://forums.bimmerforums.com/forum...ad.php?2098938)
- 96 328is 5.7L. (LS1 build thread: http://forums.bimmerforums.com/forum....php?t=1289987)
- 95 ///M3 6.0L. (LS2 build thread: http://forums.bimmerforums.com/forum....php?t=1619249)
- 97 ///M3. (e46 Fender Flares/track car build thread: http://forums.bimmerforums.com/forum....php?t=1727098)
- 96 328is (Dual Fuel Pump to Surge Tank thread: http://www.bimmerforums.com/forum/sh...ad.php?1964025)
Bookmarks