You know, sometimes it's never easy. I finished the speed control mod, fixed my tripminder, and then my speedo stopped working. I took a look at one of the spares (yes, I have several), and I found that the wires in the thin ribbon cable had broken right where they enter the speedo. To make matters worse, it looked like they were really susceptible to shorting together as well. Just in case this was the problem with the one in the car, I repaired the cable (pics to follow), and bench-tested the speedo.
I pulled the one from the car today, and sure enough, it was exactly the same problem. So I soldered in the repaired cable from last night, bench-tested it, and put it in the car. Problem solved in a few hours, but I wanted to document it for everyone. I have the distinct feeling that this will become a common problem with our cars. Luckily, it's a fairly easy fix. You need to have decent soldering skills, some Radio Shack braided wire, and general soldering tools. A *full* set of precision screwdrivers (e.g. the Radio Shack 15-piece set) is a huge help toward poking out wires from solder points and widening the holes for the braided wire, by the way.
I used electrical tape and a non-conductive wire clamp to hold the wires together and protect the solder joins. Everything works well, though the clamp didn't want to fit behind the cluster when I went to put it in the car. Something thinner would probably be a better solution.
And of course, I did the 199 W2 mod while I was at it. Haven't tested it though.
Now I just need to figure out why my turn signals don't work when I have the parking lights on. That one has me stumped.
EDIT: I figured out the turn-signal issue. I had switched everything over to LED's, and they weren't drawing enough current to trip the flasher. The solution was to switch in a bulb on each side and order a flasher that will work for a pure LED system.
Okay, some pics:
What did you use for bench testing? You have a frequency generator? Would love to know how many hz/mph if you can give me some idea. I'd love to put my original back in (after running up some miles, of course). I had to quickly find an old cluster because the Ford dealership hooked my battery up backward and fried EVERYTHING including the original stereo, the alternator, and the cluster.
I used a 556 dual-timer chip to generate pulses, where I'm only using one of the timers. Actually I could use some help with this: I could only get the speed to increase by tapping the VSS input to the pulse output. There must be something more complex about the VSS signal than pure square pulses.
My output pulses have a very low duty cycle, about 9% on, 91% off. I later added an NPN transistor and CMOS hex inverter to isolate the speedo from the generator circuit. I can get the speedo to register 6MPH without tapping the wires together, but when I try increasing the frequency the readout drops to 0. If anyone has any insight, I'd appreciate it.
I wonder if you could hook it up to your sound card. Then run frequencies through a software freq generator. I think the VSS generates a sine wave. It might be looking for zero crossings. It should see some from your 555 timer as your square wave isn't perfectly square.
http://www.e30tech.com/forum/showthread.php?p=863873
-dz
did the same thing about 4 years ago. The damage occures dead center of the dash and the root cause would be the removal of the top steering column cover. There is a rubber lip made to the top column cover and if its broken off it will allow the hard plastic cover to knick and tear the flex print. I used 20awg telecom wire for my splices.
Why would you need a freq counter or the like to test? just plug it back up and turn the key forward.
To make sure it actually registers speed, to test the W2 mod, to make sure it remembers odometer changes, basically to put it through its paces.
I think danzajax nailed it: the VSS outputs an AC (sine wave) signal. It's not really a pulse generator, but a simple electric generator that produces AC current. Its voltage varies depending on speed, but the frequency is what the speedo looks for. An AC signal may go from +12V to -12V, whereas a 555 only goes from +12V to 0V (actual voltage numbers weer simply pulled out of my ass, true VSS voltages may be much higher at high speed and much lower at low speed).
It's easier to draw than explain, so here's a quick drawing I did up:
The easiest way to make a pulse generator that would work with a speedometer would be to use a VSS. You could drive it by a variable speed electric motor. Crude, but it would be guaranteed to work...
Actually, it makes sense for it to be an AC signal. Just an AC tachometer of sorts, or perhaps a Hall Effect tach. As for the voltage increasing, not likely. The higher the frequency, the more impedance the pickup coils in the VSS are going to have, the lower the voltage. But the variation probably isn't much. Just guessing though.
Need to borrow the Fluke scopemeter from work one day and have a look-see at the VSS (connected and disconnected, of course) to see what the loading of the speedo/odo does to it, as well as the Cruise module and ECM.
As for it driving up to 6 mph, then disappearing, that sounds more like a duty cycle problem to me. Probably want duty-cycle to be something close to 50%. A small isolation transformer and a capacitor would round that square wave nicely, and permit the zero crossing, if that is indeed necessary.
It would just be nice to know the hz/mph calcs on these things, albeit, that can be calibrated too depending on tire size, etc. At least it can on a '92 F-150. Up to 5 times on that, then you're stuck with what you have. The PSOM only allows 5 recals. Dunno 'bout these old digital speedo's, though.
Here's what I finally managed to get. Apparently a pure sine wave will get the speedo to respond. I would have been done hours ago had it not been for the fact that someone at Digi-key had apparently put PNP transistors in my NPN bag. I was scratching my head for a while wondering why my base voltage was 4V instead of 1V when the light bulb came on in my head. Luckily I had some known-good NPN transistors handy.
The large breadboard in the pic was my first attempt, using a square-wave signal from a 556 timer. I'm not using it here, it's only for power and ground. The small breadboard on the left is a simple common-emitter transistor amplifier circuit. It's taking speaker output from my laptop and amplifying it so the sine wave varies between +5V and -5V. The laptop is running a freeware tone generator program called NCH Tone Generator that I found. It's supplying a 240Hz sine wave, and you can see the speed ;)
According to a net search, VSS is 8000 "pulses" (yeah, whatever) to the mile. It comes to 2.2 pulses per second per mph, so driving at 1mph should require a 2.2Hz signal. So 240Hz should give 109mph, which is what I get :D
I'm tempted to build a small board to handle this, so I can test any speedo. I certainly have everything I need to do it. Maybe later in the week.
EDIT: The maximum stable frequency for a sine wave seems to be 308Hz, that is, after that the speedo doesn't read the correct speed. When I tell the laptop to output square waves instead of sine waves (still being amplified so they're between +5V and -5V), the highest stable frequency is 350Hz, which reads 158mph on the speedo. This makes me wonder if VSS really does output square waves, but perhaps they go between +6V and -6V rather than +12V and 0V.
This is the highest I could get it to stably read. Still, it's weird seeing the tenths tick up about once a second...
Here's the really frightening thing...at 158mph, I could completely roll it over in about 26 days. With a little coding I could type the current and desired mileage in a program, have it start generating pulses, and let it run until it reaches an elapsed time. I don't know if it's good or bad, but I suppose it means that I can always have a spare with the correct mileage. That said, it wouldn't *really* be correct, since the km distance would show, of course. It's scary nonetheless.
it only rolls over to 100000.
I know. I mean, say I get JY piece with higher mileage than the one I'm replacing. If both are over 100k, the JY one would have to be rolled over to match the original.
I had a flash of insight this morning (while in the shower, of course) and went back to the 556 circuit. I added a 100uF cap and 1M resistor to remove the DC portion. Now I can peg the speedo at 199mph using the right resistors for the 556. I'm wondering just how much it can take, now.
I dunno about the Ford VSS, but I do know the GM VSS does vary widely in voltage. When I was doing GM ASEP training we connected a VSS to a Fluke meter and ran it up, and the voltage actually hit somewhere near 30 volts AC at higher speeds.
The VSS is actually just a simple AC generator, a magnet spinning inside a wire coil. Kind of a miniturize version of a bike light. The faster it spins, the higher the voltage goes.
Here's another interesting (if not equally scary) thought: it's a digital speedo, but who says it has to read only speed? With the right inputs it could represent volts, RPM's, or any other numeric value. You'd want to stop the odometer from ticking while reading anything other than speed, of course. If you want to get really crazy you could leave the speedo alone and intercept the signals going to the LCD. Then you could even use the odometer display area to show simple text for what it's displaying. Or, split the functionality -- leave the speed display alone, but toggle the odometer throgh, say, distance, volts, RPM's, etc.
This helps me out on another project. I was building a soft mph adjustment box. I know you can buy them but I wanted to build one FOSS so everyone could give it a try. I never bothered to find out what the VSS Signal looked like though. I just assumed that it was detecting zero crossings. Maybe I will actually get off my hump and finish that project now.
This is sort of going beyond the original thread topic (speedo cable repair, and I have another cable to repair, by the way), but I'm really intrigued by the thought of intercepting the LCD signals. It would be neat if we could toggle the odometer between things like:
Distance
RPM
Volts
Inside temp
Outside temp
Engine temp
Compass/heading in degrees
Can anyone think of any others?
O2 Volts, TPS Volts, Injector Pulse width, boost. I might have to pull a cluster from the yard now. I always wanted to wire a Radar detector into my dash. Hide the sensor up high and wire the lights into the cluster for that "Oh no officer, I don't have a radar detector" look.
It's sounding like there are some real possibilities here. Maybe we need to ping our resident electrical engineers ;) if we had something that had a simple CPU, memory-mapped I/O, was modular in the sense that we could add input sources at will, and had ease of software upgradability (flash card?) we could do a heck of a lot. Except for the programming aspect this is rapidly going beyond my expertise.
I'll grab one next time I'm in 'da yard and see what I can do with it. If nothing else it would make a stoss clock for my office.
I wonder if we could have it show EEC codes...
You'd need something that spoke EEC-IVese to register the marker pulses and know what it's looking at. Something external that would capture the codes, store them, then show them one at a time. That would be extremely tricky.
I'm going to look into a mod to use one of the unused sockets to put a lamp in the dash and have it blink like the CEL on my F-150. It's either that, or build a box with LED's and some toggle switches to initiate the diagnostics and fuel pump test. I know EEC-IV readers are out there, but they're fiendishly expensive because there's so much variation in OBD-II standard between manufacturers and even models. I can count, so might as well just stick with the blinking light method.