Weird Speedometer Question

Introduction and miscellaneous that we haven't created categories for, yet
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 May 12, 2019 4:39 pm No harm in asking :). Would you want the same frequency output on a different pin, or a different frequency on the other pin?
I think what he means is to use this software not only to fool the ECU but to interface the dash of those non-CAN cars with the same circuit.
Me too please.

tnx

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

Re: Weird Speedometer Question

Post by doobedoobedo »

The 328p has three timers,two 8bit and one 16bit. I'm currently just using the 16bit timer. All 3 timers have pwm pins available for use.

I'd need to do some calculations as to whether using an 8bit timer for a second output would be practical. There would certainly be a loss in resolution.

It may be easier just to use two arduinos, both wired to the same input signal, they're only $1.50->$2 delivered from China (pro-mini or nano).
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'll go for two arduinos. Problem solved :)
I'm going to need a hacksaw
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 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.
I have to dissapoint you. I setup the connector for the RPM counter yesterday nad tried to simulate 58 holed by pulse generator. It didnt work. RPM gage didnt even blink.
Is it possible for you to program a delay after 57 holes that is 3hole periods long? That would be the best bet on geting the signal through.
I need the RPM to regulate power steering. Also 1kW internal PTC heaterstarts to work when RPM is on and some other stuff also.

I did managed to get seat heaters and internal fan to work on command. Also speedo works beautifuly and only needs some 13Hz per 10Km/h.

tnx

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

Re: Weird Speedometer Question

Post by doobedoobedo »

So it's working for the speedo, but not for the interface to the ECU, which needs the additional gap as either a high or low signal for the duration.

I'm sure it will be possible, but I'm going to have to think of the best way to achieve it.
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 »

Here you go :
/**
crank signal simulator
Input from a 2 pulse per rev signal on digital 2
Output (60-2) on digital 10
min rpm 250
max rpm 4000
*/

#define PULSE_PIN 10

volatile float time = 0;
volatile float time_last = 0;
volatile int rpm_array[5] = {0,0,0,0,0};
int rpm = 0;
float val = 0;

void setup() {
pinMode(PULSE_PIN, OUTPUT);
//Digital Pin 2 Set As An Interrupt
attachInterrupt(0, tach_interrupt, FALLING);
Serial.begin(9600);

}

/**
Simulate the high of a tooth on a
reluctor wheel
*/
void triggerHigh(unsigned long val) {
digitalWrite(PULSE_PIN, HIGH);
delayMicroseconds(val);
digitalWrite(PULSE_PIN, LOW);
delayMicroseconds(val);
}

/**
Simulate the reference marker on a
reluctor wheel
*/
void triggerReference(unsigned long val) {
// pin should be low already
delayMicroseconds(val);
delayMicroseconds(val); // two delays for two missing pulses.
delayMicroseconds(val);
delayMicroseconds(val); // two delays for two missing pulses.
}


/**
Simulates a 58 tooth reluctor wheel
with a 2 tooth reference
*/
void loop(){
if(time > 0)
{
//5 Sample Moving Average To Smooth Out The Data
rpm_array[0] = rpm_array[1];
rpm_array[1] = rpm_array[2];
rpm_array[2] = rpm_array[3];
rpm_array[3] = rpm_array[4];
rpm_array[4] = 60*(1000000/(time*2));
//Last 5 Average RPM Counts Eqauls....
rpm = (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;
}
//val = rpm;
//val = 517; //1000rpm 517uS , 250rpm = 2068uS , 4000rpm = 129uS
rpm = constrain(rpm, 250, 4000);
//Serial.println(rpm);
val = ((rpm/60)*58);

val = 1/val;

val = val/2;
val = val*1000000;
//Serial.println(val);

//val = map(val, 250, 4000, 2068, 129);
//Serial.println(val);

for(int i = 0; i < 58; i++) {
triggerHigh(val);
}

triggerReference(val);
}


void tach_interrupt()
{
time = (micros() - time_last);
time_last = micros();
}
I'm going to need a hacksaw
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! I will try this asap.

tnx
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 finally managed to try and connect one Nano with your code. On the scope i got good square signal.
I removed RPM sensor and cut the connector. Then i lengthened the wires since i will need to put circuit in separate box.
I connected one of the wires to pin D10.... I left other one in the air
Well i got a fan relay to engage and everything worked without temperature too high warning which was nice.
BUT! There was no activity on RPM indicator.

How would i need to connect sensor leads to excite BSI to show RPM dial? I think i have a problem because sensor provided its own excitation for both wires, i only have one signal wire. Should i connect the other one to GND?
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 »

OK Damian how did you connect Arduino to your RPM sensor wires? Did you use push pull pair to simulate both sides of sensor?
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 used an npn transistor as a pulldown but it depends on how your crank sensor works. Might be worth checking the wiring diagram for your car.
I'm going to need a hacksaw
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: Mon Sep 30, 2019 7:47 pm I used an npn transistor as a pulldown but it depends on how your crank sensor works. Might be worth checking the wiring diagram for your car.
Yes i see it needs isolated pulses. Both sides need to be connected to some sinus signal. I need transistor connected to NPN transformer. Transformer will simulate pulse from sensor then.
Attachments
Transformer-Coupled-Class-A-Power-Amplifier.jpg
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 »

Darn! I tried everythink i know with transistors. I tried one NPN amplifier with pullup. I tried with pulldown also. I even made one transistor pair NPN PNP with pullups to 12V. They gave two inverted signals. But i dont get anything from the RPM dial.
I see Bosch explanation that sensor reads 60-2 zero crossings. So 58 pulses should be enough, except if it actually requires to go below 0V.
Then i should use one isolated +/- DCDC regulator.

Any suggestions?
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: Sat Feb 23, 2019 11:29 pm 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;
}
Hi Ron
Can you help me with your code? I am battling my speedo now. I cant get your code to work.
I am using Arduino Nano with a single magnet on my axle to count pulses on my driveshaft. For now i can get some pulses and they are nowhere near my design goal.

1. I count a single magnet pulse per rotation. Sensor is Hall type up to 40kHz... Should i use two magnets per rotation?
2. Signal from magnet sensor is NPN, so active LOW. This is quite narrow dip to GND and then most of rotation sensor is at 4.7V. Should i change sensing to falling edge?
3. My speedo needs a divider of driveshaft RPM by 6.5 to show correct speed from shaft RPM. How do i setup this in your equasion?

tnx

Arber
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Weird Speedometer Question

Post by joromy »

Maybe this is a stupid question, but can't you use the frequency output from the openinverter?

I use the "pwmfunc speed" for speedometer and servo steering. Works for me.
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
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 »

joromy wrote: Mon May 11, 2020 9:49 pm Maybe this is a stupid question, but can't you use the frequency output from the openinverter?

I use the "pwmfunc speed" for speedometer and servo steering. Works for me.
Err... you got me! I dont use Openinverter with this built. I use Lebowski since i got it as far as 100km/h on GPS goes :).
I just need speedo signal because of TUV. My speedo went out with AT funeral. Now i tried to built a simple frequency divider but i cant get it to count propperly...

Well i may go on the route with optical encoder and 6 holes in a disc. This would then just divide by 6... hopefully. Any ideas? I like the magnet since is all weather installation. Optical encoder will be more of a problem i am sure.
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

arber333 wrote: Mon May 11, 2020 9:23 pm
doobedoobedo wrote: Sat Feb 23, 2019 11:29 pm 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;
}
Hi Ron
Can you help me with your code? I am battling my speedo now. I cant get your code to work.
I am using Arduino Nano with a single magnet on my axle to count pulses on my driveshaft. For now i can get some pulses and they are nowhere near my design goal.

1. I count a single magnet pulse per rotation. Sensor is Hall type up to 40kHz... Should i use two magnets per rotation?
2. Signal from magnet sensor is NPN, so active LOW. This is quite narrow dip to GND and then most of rotation sensor is at 4.7V. Should i change sensing to falling edge?
3. My speedo needs a divider of driveshaft RPM by 6.5 to show correct speed from shaft RPM. How do i setup this in your equasion?

tnx

Arber
Hey Arber,

If you look at the second version of the sketch, which I documented better and has a larger frequency range, here: viewtopic.php?f=9&t=52#p369
Specifying a single pulse per revolution doesn't work, you could leave it as a single pulse but it'd need to count two revolutions before outputting the signal and the number of pulses output would need to be doubled too to take account of this.
It doesn't matter if your sensor is active low as the rising edge will just occur as the magnet leaves as opposed to when it arrives.

Hope that makes sense :).

I thought I'd put it up on my github, but obviously not :/
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 »

Ok, so then i would use a single (or dual) pulse per rev and coount pulses to get 6 (or 12) of them and then Arduino would change state and keep 5V ON and keep it HIGH for next 6 pulses? For the next 6 pulses signal would then be pulled low. Could that be done in current code?
I think my speedo needs to see 50% duty distribution. Currently i have a short pull to GND when it sees magnet and then long period of 5V signal as pullup is in effect.

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

Re: Weird Speedometer Question

Post by doobedoobedo »

If you define source pulses 2, target pulses 12 it will output 6 50% duty cycle pulses per revolution starting after the 2nd full revolution with a single input pulse per revolution. It'll adjust the output period after each subsequent pulse. I'd really recommend using the second sketch I linked to.
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 May 12, 2020 9:16 am If you define source pulses 2, target pulses 12 it will output 6 50% duty cycle pulses per revolution starting after the 2nd full revolution with a single input pulse per revolution. It'll adjust the output period after each subsequent pulse. I'd really recommend using the second sketch I linked to.
Well i hate to tell bad news, but yesterday i worked with your 2nd revision code and i put in exactly this settings... source pulse 2 and target 12. Result was a twitch in speedo to about 120km/h and then fall down to 0.

If i connect pulse generator i get true speeed by steady raise of frequency. Maybe 138Hz for 100km/h... I use 12V PP 50% square signal with +6/-6 teeth. Do you think my problem would be because Arduino signal only goes to GND and not further down?
https://leafdriveblog.wordpress.com/201 ... do-signal/
doobedoobedo
Posts: 260
Joined: Sat Jan 12, 2019 12:39 am
Location: UK

Re: Weird Speedometer Question

Post by doobedoobedo »

If it's doing zero crossing detection you could try putting the output from the arduino through a ceramic capacitor which would give +/- 2.5V square wave. If that isn't enough you could amplify the 5V to 12V with a transistor before the cap which would give you +/- 6V.
Have you scoped the output from the arduino to make sure it's giving the correct signals?
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 May 12, 2020 11:38 am If it's doing zero crossing detection you could try putting the output from the arduino through a ceramic capacitor which would give +/- 2.5V square wave. If that isn't enough you could amplify the 5V to 12V with a transistor before the cap which would give you +/- 6V.
Have you scoped the output from the arduino to make sure it's giving the correct signals?
Well i scoped it on desk when i put my frequency generator to pulses and i got good signal on it. I already use one NPN transistor with it to get signal to 12V level.
Your idea with capacitor is interesting. How would i wire that? And what value cap do i use? Like 1uF or more?

tnx

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

Re: Weird Speedometer Question

Post by doobedoobedo »

arber333 wrote: Tue May 12, 2020 12:30 pm
doobedoobedo wrote: Tue May 12, 2020 11:38 am If it's doing zero crossing detection you could try putting the output from the arduino through a ceramic capacitor which would give +/- 2.5V square wave. If that isn't enough you could amplify the 5V to 12V with a transistor before the cap which would give you +/- 6V.
Have you scoped the output from the arduino to make sure it's giving the correct signals?
Well i scoped it on desk when i put my frequency generator to pulses and i got good signal on it. I already use one NPN transistor with it to get signal to 12V level.
Your idea with capacitor is interesting. How would i wire that? And what value cap do i use? Like 1uF or more?

tnx

A
Something along these lines:
Screenshot_20200512_144058.png
Screenshot_20200512_144058.png (5.18 KiB) Viewed 3355 times
You might need to experiment with the cap value, the 10k resistor just makes sure it's referenced to the car's ground, anything around there or maybe higher would do.
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 »

Thanks. I just verified signal response. I used fixed signals with Arduino and there was nothing.
Then i applied 135Hz from my signal generator and speedo went directly to 100km/h. I see on scope my function generator signal dips a bit under 0V. Maybe -2V or so... this must be it. It should see zero crossing. Tomorrow i will make this circuit and try again.

EDIT: DANG! I just remembered i could also use this circuit with my RPM indicator. I think it would also need like +/-6V signal to display RPM.
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 May 12, 2020 11:38 am If it's doing zero crossing detection you could try putting the output from the arduino through a ceramic capacitor which would give +/- 2.5V square wave.
Hi Ron i was wondering, would your second sketch work with dual outputs?
For example i would input RPM of the driveshaft to D2 input. Then it would get converted to speedo frequency which would feed PWM on pin D9 and to speedo dial. Additionaly i would need another output, maybe D10 which would be active with live D2 input constant frequency of engine RPM, say 600RPM would be enough. Would that work with a single Arduino? If you agree i can make a quick prototype and test it. If it works i can make some modules for those conversions that need such outputs.

tnx

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

Re: Weird Speedometer Question

Post by doobedoobedo »

arber333 wrote: Wed May 13, 2020 11:15 am
doobedoobedo wrote: Tue May 12, 2020 11:38 am If it's doing zero crossing detection you could try putting the output from the arduino through a ceramic capacitor which would give +/- 2.5V square wave.
Hi Ron i was wondering, would your second sketch work with dual outputs?
For example i would input RPM of the driveshaft to D2 input. Then it would get converted to speedo frequency which would feed PWM on pin D9 and to speedo dial. Additionaly i would need another output, maybe D10 which would be active with live D2 input constant frequency of engine RPM, say 600RPM would be enough. Would that work with a single Arduino? If you agree i can make a quick prototype and test it. If it works i can make some modules for those conversions that need such outputs.

tnx

A
Not without modification. You'd either need to use a second timer, the other timer is only 8 bit though so much worse resolution, or if the frequency was low enough you could probably just bit-bang the second output, which would also be simpler.
Post Reply