Weird Speedometer Question

Introduction and miscellaneous that we haven't created categories for, yet
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Weird Speedometer Question

Post by Jack Bauer »

I am getting the Panzer back next week and have a problem with the speedometer. In the 8 series the speedo is fed by pulses from a reed switch and magnet mounted in the differential. As the diff is no longer there due to the Tesla drive unit swap I needed another way to feed the speedometer signal. So I mounted a hall sensor to the Tesla drive unit and pointed it at the heads of the 8 driveshaft bolts on one side. So now I get 8 pulses per turn of the wheel. Problem is the speedo expects 11 pulses per rev so naturally it reads low. So I want to use an arduino or similar to take in the 8 pulses and make them 11 if that makes sense? I am kind of confused though as to how to go about it in a way that will not create false speed signals. Any thoughts?

I'm guessing the car is using the frequency and number of pulses but for some reason I can't get my head around how to do this :roll:
I'm going to need a hacksaw
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

Use an interrupt to count pulses in and the time it takes to get 8, then send 11 pulses out evenly spaced in the time it took to get the last 8 in. You'll get some inaccuracies at very low speed, but I doubt that matters too much. You could either bit bang them or use a timer and pwm adjusting the period to suit.
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Weird Speedometer Question

Post by Peter »

Hi Damien. Maybe a crude method to try just to get you going before you work on doobedoobedos superior method :-) .... do an initial power on reset of counter then send 2 pulses each for the 2nd, 5th and 8th pulse input from the sensor, reset counter after 8th pulse input and start again. Might work ? Peter
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

Jack Bauer wrote: Wed Feb 20, 2019 7:18 pm I am getting the Panzer back next week and have a problem with the speedometer. In the 8 series the speedo is fed by pulses from a reed switch and magnet mounted in the differential. As the diff is no longer there due to the Tesla drive unit swap I needed another way to feed the speedometer signal. So I mounted a hall sensor to the Tesla drive unit and pointed it at the heads of the 8 driveshaft bolts on one side. So now I get 8 pulses per turn of the wheel. Problem is the speedo expects 11 pulses per rev so naturally it reads low. So I want to use an arduino or similar to take in the 8 pulses and make them 11 if that makes sense? I am kind of confused though as to how to go about it in a way that will not create false speed signals. Any thoughts?

I'm guessing the car is using the frequency and number of pulses but for some reason I can't get my head around how to do this :roll:
1. I would recommend putting a toothed wheel (11 teeth) to a driveshaft and one sensor to read that. Just have the wheel made and then saw it in two. A halfh flange for the driveshaft and mount the wheel to a flange. Two allen bolts on each side crosswise will clamp both sides to driveshaft securely. Select a good place to mount a fitting and mount a sensor to read pulses... https://www.aliexpress.com/item/Free-Sh ... 68401.html
I would use a magnetic pickup sensor since those sensors are durable and ferrous wheel would be fairly easy to get. You could also use optical sensor since those wheels are even easier to make. Its just that optical sensors have to be IP67!!! No water or dirt there and that is not easy to reach.

2. Another way you could do it is inverter CAN bus msg from motor speed and then have another CAN controller change the msg to multiples of 11.
I intend to do this for my peugeot 406 since i am still not sure what the diff sensor count is.
Maybe i will even use this to display motor RPM, but i expect motor to turn over 10000rpm and Pugs RPM dial goes to 7500rpm only...

EDIT:
3. There is another option i was lately considering. How about DC halfh bridge with small 12V DC motor with notched wheel and optical sensor? Whole assembly would be protected in a box. DC stage would be run by a pwm signal from mainboard. I am considering this due to a fact that my car needs to have at least 800rpm for interior systems to work. That way i could cheat a little by offsetting pwm a bit.
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

The Arduino sketch below will (should) do what you need. Input pulses go to pin2 output is pin9.

It does FP maths but that's OK for the speed it needs to run at. If anyone else wants to use it for a different reason and a different ratio just change SOURCE_PULSES and TARGET_PULSES.

You won't get anything until one full revolution of the wheel, then it adjusts itself on every incoming pulse. I've tested it with another arduino running as a signal generator using a pot to vary the incoming frequency. It matches up pretty well on a scope.

Output pulses are 50% duty cycle, it's triggered on the rising edge of input pulses.

Code: Select all

#define SOURCE_PULSES 8
#define TARGET_PULSES 11.00
#define CLOCK_OVER_DIVISOR 250000.00 // 16MHz clock with divisor = 64

volatile int pulIn = 0;
volatile unsigned long now;
volatile float freqIn;
volatile float freqOut;
volatile unsigned long startMicros[SOURCE_PULSES];
volatile unsigned long periodMicros;
volatile boolean turnF = true;

const int pulseInPin = 2;
const int pulseOutPin = 9;
unsigned long lastMicros = 0;

void setup()
{
  int i;
  //Disable interrupts
  cli();
  // Clear Timer1 registers
  TCCR1A = 0;
  TCCR1B = 0;
  
  // Set OCR1A (TOP): 0 to switch off pwm 
  OCR1A = 0;
  // Configure Timer/Counter 1
  // Select Phase & Frequency Correct PWM Mode, and OCR1A as TOP. 
  // Enable COM1A0 to toggle OC1A on compare match
  TCCR1A |= ((1 << WGM10) | (1 << COM1A0)); 
  TCCR1B |= ((1 << CS10) | (1 << CS11) | (1 << WGM13)); // Fcpu/64
  
  for (i=0; i < SOURCE_PULSES; i++){
    startMicros[i] = 0;
  }

  pinMode(pulseInPin, INPUT);
  pinMode(pulseOutPin, OUTPUT); // set pin 9 as output - it's this pin that get toggled by PWM

  // setup our interrupt for rising edge
  noInterrupts();
  attachInterrupt(0,countPulseIn, HIGH); // use interrupt 0 (pin 2) and run function countPulse when pin 2 goes HIGH
  interrupts();
}

void loop(){ 
  if (micros() - lastMicros > 1000000UL){
    // not had a pulse for 1 seconds so stop output pulses
    if (!turnF){
      OCR1A = 0;
    }
    lastMicros = micros();
    noInterrupts();
    turnF = false;
    interrupts(); 
  }
}

void countPulseIn() {
  now = micros();
  turnF = true;
  if (pulIn < SOURCE_PULSES -1){
    pulIn++;
  }else{
    pulIn = 0;
  }
  if (startMicros[pulIn] > 0){
    periodMicros = now - startMicros[pulIn];
    freqIn = (float)1000000/periodMicros;
    freqOut = (freqIn * TARGET_PULSES) / SOURCE_PULSES;
    OCR1A = ((CLOCK_OVER_DIVISOR / ((freqOut/2.00) ))/32 -1); 
  }
  
  startMicros[pulIn] = now;
}
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Weird Speedometer Question

Post by Jack Bauer »

Wow that's fantastic. Thank you so much:)
I'm going to need a hacksaw
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

Welcome. I just hope it works off the bench.
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

doobedoobedo wrote: Sun Feb 24, 2019 3:52 pm Welcome. I just hope it works off the bench.
@doobedoobedo, can this schetch be made to work with 0RPM input. Like say if you have 0rpm on the motor program would still give you 800rpm.
Better yet, for the range 0rpm to 800rpm system could just state 800rpm. A sort of neutral without neutral.... That would fool the systems in a car that need some minimal rpm to work. Like heated seats or interior blower etc...

tnx

Arber
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

Yes it would be fairly easy to change it to output at a minimum frequency. It might need some extra adjustment as it's currently scaled based on a wheel spinning at around 800 rpm (60mph).

Would you just want 1:1 in and out with a minimum frequency (rpm) and a maximum around 10k?

It would also be quite trivial just to output at either a fixed frequency or one which could be controlled with a pot, which is what I did to feed inputs to arduino to test it.
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

Well I thought I'd do something a bit more comprehensive. At the top of the file are a set of defines followed by a matching set of ifdefs. Pick one mode, by uncommenting one of the define statements at the top then set the values in the matching ifdef block. There's a comment at the top which hopefully explains everything.
In MODE_PULSE_IN I've set a cutoff for acting on incoming pulses at 1Hz although this could go lower, but it's a tradeoff for detecting when something has actually stopped (see line 123 if you want to change it).

This was a fun exercise :). If anything's not clear, let me know. Frequencies are always set at the highest possible resolution limited by the hardware.

Code: Select all

/*
 * © 2019 Ron Simpkin
 * Public domain - do with it what you will
 * 
 * Works on Arduino Uno and Pro-mini and probably any other 328p based Arduino running at 16MHz
 * 
 * Limitations:
 * lowest output frequency available is > 0.0595Hz
 * highest output frequency is 4MHz -> but very poor resolution up this high (next highest is 2MHz)
 * 
 * Digital Pins are _fixed_
 * Digital pin 2 for incoming pulses
 * Digital pin 9 for outgoing pulses
 * Default pin for analog in is A2
 * 
 * Un-comment ONE define to set the mode
 * 
 * 1. MODE_FIXED:
 *    outputs a fixed frequency = RPM * PULSES_PER_REVOLUTION / 60
 *    change the #defines to suit your needs - all values must be postfixed UL  
 * 2. MODE_ANALOG_IN:
 *    outputs a frequency with a settable minimum and maximum depending on
 *    the voltage on an analog pin (default pin A2)
 * 3. MODE_PULSE_IN
 *    takes an input signal on pin 2 and outputs a signal on pin 9
 *    set SOURCE_PULSES equal to the number of pulses in per revolution
 *    set PULSES_PER_REVOLUTION equal to the number of pulses you need to go out each full revolution
 *    set RPM_CUTOFF to the minimum RPM input you want to map directly to output pulses
 *    when the input drops below RPM_CUTOFF then the output is RPM_MIN
 *    NB. SOURCE_PULSES can't be set to 1. If it is actually 1 set it to 2 and double the other settings.
 */

//#define MODE_FIXED
//#define MODE_ANALOG_IN
#define MODE_PULSE_IN


const int pulseInPin = 2;
const int pulseOutPin = 9;
const int analogInPin = A2;
float fTarget, fMinimum, lastTarget;

#ifdef MODE_FIXED
  #define PULSES_PER_REVOLUTION 1
  #define RPM 2000UL
#endif

#ifdef MODE_ANALOG_IN
  #define PULSES_PER_REVOLUTION 8
  #define RPM_MIN 40
  #define RPM_MAX 800UL
  unsigned long analogValue;
  unsigned long lastValue;
#endif

#ifdef MODE_PULSE_IN
  #define SOURCE_PULSES 8
  #define PULSES_PER_REVOLUTION 11
  #define RPM_CUTOFF 40UL
  #define RPM_MIN 0
  volatile int pulIn = 0;
  volatile int lastPul = 0;
  volatile unsigned long now;
  volatile unsigned long startMicros[SOURCE_PULSES];
  volatile unsigned long lastPulMicros = 0;
  volatile float fIn = 0;
  volatile int suppressStart = 0;
  float fCutoff;
#endif

void setup()
{
  pinMode(pulseOutPin, OUTPUT); // set pin 9 as output - it's this pin that get togged by PWM

  noInterrupts();
  // Configure timer 1 (16bit resolution)
  TCCR1A = 0;
  TCCR1B = 0;
  OCR1A = 0;
  // Select Phase & Frequency Correct PWM Mode, and OCR1A as TOP. 
  // Enable COM1A0 to toggle OC1A on compare match (pin 9)
  TCCR1A |= ((1 << WGM10) | (1 << COM1A0));
   

#ifdef MODE_FIXED
  fTarget = (float) RPM * PULSES_PER_REVOLUTION / 60;
  setPWM(fTarget, fTarget);
#endif 
#ifdef RPM_MIN
  fMinimum = (float) RPM_MIN * PULSES_PER_REVOLUTION / 60;
#endif

#ifdef MODE_PULSE_IN
  fCutoff = (float)RPM_CUTOFF * PULSES_PER_REVOLUTION/ 60;
  for (int i=0; i < SOURCE_PULSES; i++){
    startMicros[i] = 0;
  }

  pinMode(pulseInPin, INPUT_PULLUP);
  // use interrupt 0 (pin 2) and run function countPulse when pin 2 goes HIGH
  attachInterrupt(digitalPinToInterrupt(pulseInPin), countPulseIn, RISING);
#endif
  interrupts();
}

void loop(){ 
#ifdef MODE_ANALOG_IN
  int pinVal = analogRead(analogInPin);  
  analogValue = map(pinVal, 0, 1023, RPM_MIN, RPM_MAX);
  fTarget = (float) analogValue * PULSES_PER_REVOLUTION / 60;
  if (lastValue != analogValue){
    setPWM(fTarget, max(fTarget, fMinimum));
    lastValue = analogValue;
  }
#else if MODE_PULSE_IN
  float f = fIn;
  fTarget = f * PULSES_PER_REVOLUTION;
  if (fTarget < fCutoff){
    fTarget = fMinimum;
  }  
  if (micros() - lastPulMicros > 1000000UL){
    fTarget = fMinimum;
  }
  if (lastTarget != fTarget){
    lastTarget = fTarget;
    if (suppressStart == SOURCE_PULSES){
      setPWM(fTarget, fTarget);
    }
  }
#endif
}

void setPWM(float fTgt, float fMin){
  float pwmClock;
  
  if (fTgt <= 0.0595){OCR1A = 0;return;}
  /* Set all of TCCR1B in one operation - Binary assignment!*/
  if (fMin > 61.1 ){
    //TCCR1B |= ((1 << CS10) | (1 << WGM13)); // Fcpu/4 61.1Hz -> 4MHz
    TCCR1B = B00010001;
    pwmClock = 4000000.00;
  }else if (fMin > 7.64){
    //TCCR1B |= ((1 << CS11) | (1 << WGM13)); // Fcpu/32 7.64Hz-> 500KHz
    TCCR1B = B00010010;
    pwmClock = 500000.00;
  }else if (fMin > 0.952){
    //TCCR1B |= ((1 << CS10) | (1 << CS11) | (1 << WGM13)); // Fcpu/256 952mHz->62.5KHz
    TCCR1B = B00010011;
    pwmClock = 62500.00;
  }else if (fMin > 0.239){
    //TCCR1B |= ((1 << CS12) | (1 << WGM13)); // Fcpu/1024 239mHz -> 16.25 KHz
    TCCR1B = B00010100;
    pwmClock = 15625.00;
  }else{
    //TCCR1B |= ((1 << CS10) | (1 << CS12) | (1 << WGM13)); // Fcpu/4096 59.5mHz -> 3.9 KHz
    TCCR1B = B00010101;
    pwmClock = 3906.25;
  }
  OCR1A = round(pwmClock/fTgt);

}

#ifdef MODE_PULSE_IN
void countPulseIn() {
  lastPul = pulIn;
  now = micros();
  if (pulIn < SOURCE_PULSES -1){
    pulIn++;
  }else{
    pulIn = 0;
  }
  if (suppressStart > SOURCE_PULSES -1){
    fIn = (float)1000000/(now - startMicros[pulIn]);
  }else{
    suppressStart++;
  }
  lastPulMicros = now;
  startMicros[pulIn] = now;
}
#endif
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

Wow! That was comprehensive.
Thanks doobedoobedo i will use this code definitely. If at least to supply correct pulses for engine ready state.
In best case i will be able to receive Leaf motor RPM and send the transmission speed sensor correct speedo data.

I would like to ask you another question. How would you go about simulating missing tooth pulse? I mean RPM sensor reads pulses from wheel with teeth and there is one teeth missing from the count on mine. Car uses it to count the turns obviously.
Would it be best to define absolute No. of pulses per rotation on input and then remove last pulse from output? Or use the timer to reset count, wait for one pulse duration and then continue outpout. Or how would you go about it?

tnx

Arber
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

Really 3 sketches in one :).

It actually doesn't matter if you have a missing tooth, or even if the teeth aren't evenly spaced. Just put in the correct number of pulses for a full revolution. The rotational speed is re-caclulated after each pulse based on that tooth's time for a full revolution, so if one is missing it'll just send out two at the same frequency before re-caclulating for the next real one.

So say you had a sproket which should have 9 teeth, but one is missing, you'd put 8 as the number of pulses in per revolution and 8 as the number out per revolution so the number of teeth is correct and the ratio of in to out is the same (it's the number of teeth and the ratio that matters), but it would actually send out 9 pulses just missing a calculation on the missing tooth.

Does that make sense?
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

doobedoobedo wrote: Tue Mar 05, 2019 10:27 pm Really 3 sketches in one :).

It actually doesn't matter if you have a missing tooth, or even if the teeth aren't evenly spaced. Just put in the correct number of pulses for a full revolution. The rotational speed is re-caclulated after each pulse based on that tooth's time for a full revolution, so if one is missing it'll just send out two at the same frequency before re-caclulating for the next real one.

So say you had a sproket which should have 9 teeth, but one is missing, you'd put 8 as the number of pulses in per revolution and 8 as the number out per revolution so the number of teeth is correct and the ratio of in to out is the same (it's the number of teeth and the ratio that matters), but it would actually send out 9 pulses just missing a calculation on the missing tooth.

Does that make sense?
I will definitely try this later this month thanks. It will help keeping my car in ECO mode without it having that in BSI. It may prove to be applicable for other vehicles also.
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

Well i took apart V6 engine and trannsmission in my Pug 406C and i see the main RPM sensor ring has holes arranged to 60 per turn. The last 3 holes are cut out and therefore there is actually 58 holes, the last one spanning across 3/60s periods. Would that be programmable?

Also there is a setback. Speedo uses a spindle in the gearbox and not ABS like i first thought. I will have to experiment with this to get the ratio.

A
Attachments
IMG_20190506_181240.jpg
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

58 holes = 58 pulses per revolution for the input parameter
jon volk
Posts: 572
Joined: Wed Apr 10, 2019 7:47 pm
Location: Connecticut
Been thanked: 2 times

Re: Weird Speedometer Question

Post by jon volk »

Another possible thought is motor speed should be directly proportional to ground speed. If you could take a canbus input of motor speed, wouldnt it then become a simple a/b = c output pulses equation?
Formerly 92 E30 BMW Cabrio with Tesla power
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

doobedoobedo wrote: Wed May 08, 2019 6:37 pm 58 holes = 58 pulses per revolution for the input parameter
Hi

Wouldnt i need to time those last three holes as single pulse that is three times as long?
I can imagine at 10000rpm this would make quite an error.

So for speedo i can use RPMx8 calculation for final drive speed but i still dont know the ratio of spindle sensor.
Hm... i can use my drill and turn it at known RPM and check what my speedo says 8-).
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Weird Speedometer Question

Post by Jack Bauer »

I did think of putting motor speed on CAN but I kinda like the idea of a seperate wheel speed pickup. I guess you have the same problem on the E30? Diff mounted speedo sensor?
I'm going to need a hacksaw
jon volk
Posts: 572
Joined: Wed Apr 10, 2019 7:47 pm
Location: Connecticut
Been thanked: 2 times

Re: Weird Speedometer Question

Post by jon volk »

Correct! Except mine is a 9 tooth wheel. Im undecided which route to take. I can buy a GPS sender for around $150 which would do the trick in relative plug and play fashion.
Formerly 92 E30 BMW Cabrio with Tesla power
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

arber333 wrote: Thu May 09, 2019 5:50 pm Wouldnt i need to time those last three holes as single pulse that is three times as long?
I can imagine at 10000rpm this would make quite an error.
No, it calculates the time for one complete revolution on the rising edge of each pulse, it doesn't matter how long the pulse is as it calculates the current rpm on each one.
arber333
Posts: 3265
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 234 times
Contact:

Re: Weird Speedometer Question

Post by arber333 »

doobedoobedo wrote: Thu May 09, 2019 10:01 pm
arber333 wrote: Thu May 09, 2019 5:50 pm Wouldnt i need to time those last three holes as single pulse that is three times as long?
I can imagine at 10000rpm this would make quite an error.
No, it calculates the time for one complete revolution on the rising edge of each pulse, it doesn't matter how long the pulse is as it calculates the current rpm on each one.
Then what is the use for the large hole? Why wouldnt they just use 60 holes. It would even be symetrical, as in 60*X/min(60s) = X....
kiwifiat
Posts: 99
Joined: Sat Dec 22, 2018 9:39 pm
Location: Vancouver, Canada
Been thanked: 10 times

Re: Weird Speedometer Question

Post by kiwifiat »

arber333 wrote: Thu May 09, 2019 10:15 pm
arber333 wrote: Thu May 09, 2019 5:50 pm Wouldnt i need to time those last three holes as single pulse that is three times as long?
I can imagine at 10000rpm this would make quite an error.
Then what is the use for the large hole? Why wouldnt they just use 60 holes. It would even be symetrical, as in 60*X/min(60s) = X....
The missing holes are detected by the ECU and that allows the ECU to know where TDC is which is a requirement for correct ignition timing and injection timing. Whether or not the ECU throws a fault if the missing teeth are not detected will be interesting. 60-2 timing wheels are pretty common and standard on most BMW's too.
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Weird Speedometer Question

Post by Jack Bauer »

Pushing my luck here but would it be possible to have another output pin to drive the tachometer?
I'm going to need a hacksaw
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

No harm in asking :). Would you want the same frequency output on a different pin, or a different frequency on the other pin?
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Weird Speedometer Question

Post by Jack Bauer »

A different frequency on a different pin would be great. Basically I'd like to drive the tachometer as well as the speedometer.
I'm going to need a hacksaw
Post Reply