If I disconnect my RPM signal my MD doesn't freeze at all.
Weird that it works at first and then freezes...
I guess it can't be a software problem, because the firmware still thinks the RPM is connected even when it's not, although its only random numbers since the frequency converter is only reading electrical noise.
By the way, this is the first time I have it installed in my car. Before I just had everything hooked up in the passenger seat.
EDIT: Marked it as solved as changing ethernet cable was the key to success...
you run the V2 with the seeeduino mega, right?
freezing from the LCD, and on the serial port?
are the RPM´s measured ok? whats the maximum RPM you have?
on the passenger seat it did not freeze?
Both serial communication & LCD freezes, I just tested the serial.
RPM figures seem to be OK. Most of my tests have been on idle. Some tests on slow driving as well, so engine speed below 2500 rpm or so.
Well, at least I didn't get any freeze from what I can remember. But I have noticed that the amount of time before I get a freeze can vary quite a lot, the other day it was running for about 10 minutes before it froze. And when I tested it in the passenger seat I didn't run it super-long, so I can't guarantee that I didn't have the problem back then...
What exact software are you running?
It's still a mystery to me how a bad network cable can lead to problems when rpm is connected but not when it's not. It's still the same amount of data to transfer since the frequency to voltage voltage converter will read noise.
Then I thought maybe it's an issue of too long cable, because the cable I had when it worked in the passenger seat was a short cable (less than 0.5m) and the one that's installed is about 4m. So I borrowed a 5m cable from my computer and hooked it up. No freezing.
But maybe there is a voltage drop over my cable, maybe the cable I have installed has a lower conductor cross-section area compared to the 5m cable? If the 5V line would be loaded more when the RPM signal is connected then I think this would make sense. Since ethernet cables are generally not designed for currents (power over ethernet is not that common yet) I guess the cross-section area can vary between different cable manufacturers.
The cable I have installed is also the cheapest cable I could find on Reichelt, I thought I could go for a cheap cable since I don't need high frequency properties (I guess our MD data is communicating at way lower frequencies than a gigabit LAN), but maybe cheap cable also means smaller cross-section area as copper is expensive...
I connected it together with the female-female adapter next to the sensor unit / MD02/MD03 and measured the voltage for the different ethernet cables:
Code: Select all
Ethernet Cable RPM connected Freezes Voltage Pin1-8 Comment ============== ============= ======= ============== ======= Installed cable Yes Yes 4.96 V Engine not running Installed cable Yes Yes 4.94 V after freeze 5m cable fr comp Yes No 4.96 V short (<0.5m) Yes No 4.99 V Installed cable Yes Yes 4.95 V before freeze Installed cable Yes Yes 4.93/4.94 V after freeze Installed cable No No 4.95/4.96 V
There seem to be a trend that the setups that work have the higher voltage readings, and the ones that freezes have the lower voltage readings. Does it sound reasonable that 4.93/4.94 V is too low then?
BUT then I was watching the markings on the cables, and found that (amongst other markings) the installed cable is marked 26AWGX4P, whereas the 5m cable from my computer is marked 24AWGX4P. Some googling and this seems to indicate 4 pairs of 26AWG / 24AWG.
According to http://en.wikipedia.org/wiki/American_wire_gauge 26AWG has 0.129 mm² conductor area with 134 mOhm/m, and 24AWG has 0.205 mm² with 84 mOhm/m.
I think I'm on to something here... The installed cable that gives freezing is the one with the smaller area, just as I suspected cheap cable => less copper. Time to get a new cable that is 24AWG or better then...
I bought a new cat5e UTP ethernet cable marked "4pairs 24AWG", removed the old 26AWG cable and installed the new 24AWG cable instead. Cable length installed in my car is about 3.8 m. I've run this new cable for a few days now, and it has been working perfectly so far.
Another thing I discovered is that the RPM numbers doesn't go higher than 3450 rpm, even if the engine speed is higher. My rpm signal source gives 2 pulses per revolution. I use the ignition coil input as rpm signal (my engine is a 4cyl with an old-school ignition system that has a central ignition coil combined with a distributor instead of separate ignition coils). Is there a limitation of maximum 1 pulse per rev for the MD electronics? I'll try to use the signal from one of the injectors instead, which would give me 0.5 pulses per rev.