View Single Post
Old 09-10-2020, 01:55 PM   #43
Second Series
Registered User
 
Second Series's Avatar
 
Join Date: May 2015
Location: Tukwila Washington
Posts: 373
Re: Mechanical speedometer drive solution

I am still working on this. Since the connection between motor and speedometer is so critical, I now have a drill bit, and Tap to make a plate the speedometer can thread onto. Currently in the process of restoring the speedometer, it seems the odometer is the major load. When the speedometer ready and bolted to the motor, I’ll calculate the torque curve, and smoothing curve. I added a 5v regulator to the Arduino for the 12v 2000ppm signal. It works on the bench with the signal generator output set to 12v, so it should work connected to my truck. My plan is to tap into the 2000ppm wire that goes to the ECM. I hope it doesn’t effect the ECM, or blow anything up! If that works, I’ll be able to see the mechanical speedometer, and the stock speedometer working simultaneously. That will be time for a video… My truck has the DRAC integral to the cluster, so I need an external DRAC. I’ve been to a few wrecking yards, but haven’t found a DRAC yet. I’m looking at building a DRAC. At the very least a schmitt trigger would be needed to hook up to VSS, and modify the code for that signal. Id like to get ahold of a DRAC so I can reverse engineer, but for now I’m building one from scratch. I found some pictures that show the Ics, but I’m not locating those chips. I did find the AD7845, the middle one in the picture. It is a 12-bit multiplying DAC, digital to analog converter. I’m not sure how it is implemented in the DRAC, I could use a picture of the back side of the DRAC to see where the traces go. The DRAC will have one IC to convert the VSS signal to a nice square wave, the shmitt trigger, one IC to convert that VSS signal to the 128,000ppm, and an IC for the 4kppm, and 2kppm, divide by 32, and divide by 2. Maybe that can be handled by one IC, a divide by N. I have been looking at posts about calibrating the DRAC, and trying to understand how it all connects. There is a formula to determine the Divide Ratio, and a chart that shows a binary number for the pins on the DRAC. The AD7845 does have a dozen pins that can be set hi, or low. It’s still a mystery to me. This is a break down of the VSS to 128k signal.
Pi x tire diameter, 3.1416x29.88= 93.87” circumference of my tire.
63,360 inches per mile.
Formula
63360/circumference x axle ratio x 40 /128000
This gives what they refer to as the divide ratio.

Tire revolutions per mile: mile/tire circumference
63360/93.87=674.97603068072866730584851390221
Driveshaft revolutions per mile: Tire rpm x diff ratio
674.97603068072866730584851390221 x 3.73 = 2,517.6605944391179290508149568552
VSS(reluctor) pulses per mile: Driveshaft rpm x reluctor teeth
2,517.6605944391179290508149568552 x 40 = 100,706.42377756471716203259827421
Divide ratio: VSS ppm / DRAC ppm target
100,706.42377756471716203259827421 / 128000 = 0.78676893576222435282837967401726
DRAC ppm: VSS ppm / Divide ratio
100,706.42377756471716203259827421 / 0.78676893576222435282837967401726 = 128,000
That is a lot of decimal places, let’s see how two decimal places looks:
100,706.42/0.78= 129,110.79 that’s about 1%off, don’t know how acurrate it needs to be, but this could be done in the code on the Arduino. Look at a couple different examples:
100,706.4237/0.7867=128,011.21
100,706/0.7867=128,010.67
100,706.423777/0.786768=128,000.15 six decimal places are needed to get the 128k signal. That might require some coding acrobatics on the Arduino, probably best handled with hardware.
Attached Images
  
__________________
'47 Panel to '88 K2500 Frame Swap
Mechanical Speedometer Drive Solution
1947.2 1 ton Chevy Panel
1955.2 Chevy 6700 Bus/RV
1990 Chevy K1500
Second Series is offline   Reply With Quote