Om man vill få ut ungefärligt varvtal 0-8000 rpm skulle följande principexempel kunna fungera?
Förstår att det kanske inte blir helt "vetenskapligt" korrekt men
kanske nära nog för lite lek.
Tänkte testa att tjyva in mig på varvtalssignalen i bilen och
räkna/sampla med en Microchip PIC 12F675.
Fråga mig inte vad det blev för slags språk men ni kanske förstår
vad jag menar.
------------------------------------
INTERUPT ON RPM GOES LOW SIGNAL:
SIGNALINCOUNT++;
------------------------------------
START:
SAMPLETIME=1000ms
LOOP:
SAMPLETIME--
TEST SAMPLETIME ZERO SKIP IF ZERO
GOTO LOOP:
SAMPLEDONE:
RPMAPROX=SIGNALCOUNT*60
SIGNALINCOUNT=0
GOTO START:
Räkna ungefärligt RPM
Vad ska du med signalen sedan?
Ska det vara en "shift-light"?
Om du vill räkna det "exakt" ska du välja en PIC med CCP-enhet i, då kan du få exakta tal, PIC12F615 och PIC12F683 har det.
Min erfarenhet(!) med detta är även att man ska mäta över ett antal pulser för att få stabil utläsning, i min 245'a dög det bra med att fånga tiden för 4 pulser och sedan räkna om, det blev trevligt och stabilt.
Ska det vara en "shift-light"?
Om du vill räkna det "exakt" ska du välja en PIC med CCP-enhet i, då kan du få exakta tal, PIC12F615 och PIC12F683 har det.
Min erfarenhet(!) med detta är även att man ska mäta över ett antal pulser för att få stabil utläsning, i min 245'a dög det bra med att fånga tiden för 4 pulser och sedan räkna om, det blev trevligt och stabilt.
jag har gjort liknande grejor i bilen och jag gjorde att jag räknade tiden mellan pulserna och på så sätt räknade ut varvtalet. funkade kanon
Elektroniskt så tog jag varvtalssignalen som gick ut från ecu'n (fyrkantsvåg +12V) med en spänningsdelare ner till 5V och sen in på en interruptingång i pic'en.

Elektroniskt så tog jag varvtalssignalen som gick ut från ecu'n (fyrkantsvåg +12V) med en spänningsdelare ner till 5V och sen in på en interruptingång i pic'en.
CCP betyder Compare - Capture - PWM och är en bit hårdvara som man kan mäta tiden mellan 2 flanker med bra noggrannhet.
Sedan är RPM = Faktor_X/tiden.
Detta system har jag använd sedan länge, jag gjorde min första trip-dator 1993 eller 1994 och använde det princip redan då.
För varje puls får man då en interrupt och hårdvaran sparar ett 16 bitars värde som anger tiden. Sedan får man göra vad man måste göra med det värde och resten är enkel.
Men om du ska ha det som en varv-gräns avkänning duger det fint att du bara jämför tiden med en annan fast tid: är den mätta tiden under är varvet över "det fasta".
Sedan är RPM = Faktor_X/tiden.
Detta system har jag använd sedan länge, jag gjorde min första trip-dator 1993 eller 1994 och använde det princip redan då.
För varje puls får man då en interrupt och hårdvaran sparar ett 16 bitars värde som anger tiden. Sedan får man göra vad man måste göra med det värde och resten är enkel.
Men om du ska ha det som en varv-gräns avkänning duger det fint att du bara jämför tiden med en annan fast tid: är den mätta tiden under är varvet över "det fasta".