-   OpenGauge / MPGuino FE computer (
-   -   VSS signal not being recognized? (

glug 03-20-2011 11:23 AM

VSS signal not being recognized?
I'm really impressed with mpguino. Thanks to everyone who has made it happen! I am so close to having my own duemilanove build working, but I need some help..

The snag is the VSS signal. I have verified that I am getting a nice, clean sine wave (at all speeds, at least up to the 35mph I have tested), but it seems it isn't being properly processed. It only starts to register VSS at speeds above 35 mph, and then increases too rapidly.

I think there is something wrong with the behavior of the VSS code as it relates to my signal. The injector pulse width measurement seems fine. I am debugging with the serial port output.

This is my second build. The first was on breadboard, and it had the same problem. My initial build had 100K resistors, and I assumed that was the issue. My perfboard version has 50K. I feel that the circuit is correct.

I am running mpguino.pde version 0.75 with arduino 022. I assume that is okay due to the at328. I tried the "required" 0011, but this sketch is too large to compile, and that version does not support the at328. I also tried 0016.

I have recorded (on an audio recorder) the VSS sensor output - both the raw sensor output, and also at pin 14/0 (after the resistor and diode). It's a great looking sine wave of approximately 10 hz per mph (approximately 36,000 pulse/mile). When sampling at pin 0, the bottom of the waveform is a bit flattened.

I considered that my arduino may have a bad pin 0, so I tried another duemilanove with the same result. Other code is reading signals on pin 0 just fine.

At rest, the sensor has an impedance of 1.25K.

The vehicle is a 1990 Ford F-250 truck, and my VSS source is the "RABS" sensor in the differential.

I have tried a variety of pulse/mile settings. At this point, I'm not sure where to go next. I know the vss code is quite mature, so I don't think I should need to tear into it.


glug 03-28-2011 11:50 AM

I'm still stuck and could really use some help. I'm not sure what to try next.

What could this be? Grasping at straws - bad diode? A simple in-circuit ohm test with a DMM shows them blocking in one direction. In the other, the INJ is 3.77 Mohm, and the vss is 4.06 Mohm (that is with the arduino and vehicle connections disconnected from my perf board).

bobski 03-28-2011 07:38 PM

Well for starters, the signal is supposed to be a square wave rather than a sine. ABS sensors tend to be simple coil-and-magnet setups that read a notched ring that spins with the axle. The VSSs that others have been using are switch-type sensors or have internal driving electronics that output a clean square wave. Is there a VSS sensor somewhere that isn't a part of the ABS system?
If not, an op-amp could turn your sine into a nice square wave.

glug 03-29-2011 09:39 AM

Thank you, Bob. That is very helpful, and does explain things.

There is another sensor, on the E40D transmission. However, I believe it is also a variable reluctance type of sensor that produces an a/c output. This truck has a mechanical speedometer. In '92, the trucks include a PSOM module that converted the differential VSS signal into something more appropriate for the electronic speedo and odometer. It also downsampled to 8000 pulses/mile.

So I need to process this signal. I found the LM1815. It looks nice, but I would need to order that. I've found a few circuits that might work, but not any that included a success story. Still looking, suggestions appreciated. Especially for 'shackable designs that won't require an order.

It'd be nice if we had an example of a working circuit in the wiki.

bobski 03-29-2011 10:15 AM

Ah yes, reluctor ring... That's the term I was looking for.
The LM1815 looks nice, though a tad pricey at $4 a piece +shipping. On the other hand, application-specific circuits tend to be less buggy and longer lived than something cobbled together, especially in automotive applications. I would also be worried about the electrical characteristics of a custom-made circuit. If it doesn't have enough input impedance, it could drag down the sensor signal and interfere with whatever else is using it. That shouldn't be a problem with an op-amp, but be careful with any kind of signal conditioning you might use to protect the amp's input.

glug 03-30-2011 12:28 PM

1 Attachment(s)
I can't help but wonder whether this could be done in software, maybe with limited hardware help. It'd be helpful if the existing code had more comments. They don't use any memory ;)

I am thinking of trying this circuit, and wondering if it will work. It is from this thread:

Sine to square wave using op-amp - Page 2 - All About Circuits Forum

glug 03-31-2011 12:34 PM

I tried that circuit yesterday, and drove it with the sound output of my laptop. The results weren't optimal - still a sine wave. Perhaps there was not enough gain in the circuit. It is also possible my laptop output was too weak.

I also tried a 741 based design I saw in a book while buying parts at the 'shack. Similar result. The schematics I see tend to be speculative, and not tested with automotive reluctors. It'd be easier if I had a scope, but even then, I'm not much of a hardware guy in regard to developing the circuit.

So I'm still not MPGuinoing :(

glug 03-31-2011 02:26 PM

I just re-tested the schematic posted above and the results were more encouraging. In the initial test, my laptop audio outputs weren't turned up all the way. Sure enough, the results improved with the output higher. Though the low speed output from the sensor is a bit low voltage, so that may be a concern.

The output is much closer to a square wave. However, at lower hz, I am getting sloped peaks, not flat. I guess I'll have to drive it with the actual sensor and record it again.

The square wave output is still very much a/c. Should I try and sink the negative component with a diode? Or is the zener in the MPG circuit going to take care of that?

bobski 03-31-2011 03:39 PM


Originally Posted by glug (Post 229054)
Or is the zener in the MPG circuit going to take care of that?

More or less. It should clamp the input to around -0.5 volts. A plain rectifier diode between your circuit and the mpguino should clean that up, but might affect low speed sensitivity.
If you're still seeing a sine wave on your circuit output, the amp isn't giving you enough gain. It should be so heavily amplified that the output is swinging from clipping negative to clipping positive with an almost immeasurably steep slope at the crossings. If you were using a single supply op-amp, that would be VCC and ground (or very near it) in response to 0V crossings on your sensor input.

glug 04-12-2011 10:53 AM

1 Attachment(s)
Thanks, Bob.

After bench testing three different circuit types, I finally settled on an lm339 based comparator (see below). Bench testing a breadboard version went well. An audio sine wave produced a TTL signal that the mpguino could track up until 488 hz. Though that is not enough - my truck vss produces 10hz per mph. So that is only 48 mph. I considered that it might be related to the perfboard layout, or perhaps my ttl isn't ideal.

I added the circuit to my perfboard, but the in-vehicle tests were a disappointment. I am apparently getting interference/feedback from within the mpguino circuit. I suspect the lcd driver is sending pulses into the ttl driver. My mph climbs, but then stays elevated at 25 or 40 mph - even after the ignition is shut off and the vss and inj inputs are disconnected from the mpguino.

So I think the next step is to cut the perfboard to separate the sine2ttl circuit from the rest of the mpguino. Any suggestions on other steps, like circuit mods, to otherwise improve the situation would be appreciated.

All times are GMT -4. The time now is 04:32 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Content Relevant URLs by vBSEO 3.5.2
All content copyright