Jag har nu förstått(tror jag) att en 16f84 med 4Mhz kristall gör 1000000 instruktioner per sekund.(4000000(xtal)/4=1000000/4=25Khz)
Om jag då matar in 200pulser så kan man dela dom med 100 och få
2pulser/0,1sekund. Tar man då 2 *6000 så blir det 12000.
Vad får jag då på output?
Skall jag dela summan med 4 tro?
Man lär så länge man lever även felaktigheter tyvärr.
Kanske man skall ta och inhandla några böcker om piccisar.
Någon som har någon länk till en site med lite mer info ang inmatningar på en 16f84 eller 16f628?
Jag har sökt med google men har tyvärr tömt mina ideer på sökord ang detta projekt.
Har kollat en massa Bas,Asm och Basic filer men har inte hittat någon riktig
förklaring till dessa. Flera av dessa är varvräknare men uträkningarna har hela tiden varit helt olika fast dom gör samma sak.
Jag har nog läst det mesta av vad som länkats och sagts i detta forum.
Klart är väl att något som är jätte intressant i ämnet har missats med min
otur. Jag skall gå igenom allt igen efter helgen.
Jag har testa en program ide från en person på detta forum men tyvärr så fungerade inte detta och jag kan tyvärr inte se varför det inte skulle fungera.
Troligtvis så var det för enkelt.
Jag har oxo gjort flera försök att lista ut programmets uppbyggnad genom att testa detta praktiskt men utan att lyckas.
Hur får du till 1 000 000 / 4 = 25KHz, borde det inte bli 250K. Varför gör du över huvudtaget en division till?
Vad är det för kod du försöker lura ut? Skicka över det som ett PM (om dom kan va så långa) så kan jag ju alltid kolla på't. Jag är rätt ny jag med (det kanske inte du är?) så det är inte säkert att jag kan hjälpa dig men man kanske alltid lär sig något på kuppen.
Jag är deffinitift(?) en nybörjare på piccisar.
Som jag skrev i pm.et så blev det felräkning. Då jag läste databladet
så stod det att Pulsin på 16f84 med 4Mhz klocka kunde räkna
till max 25Khz = 25000Hz och som jag oxo skrev "tror jag".
Ingen har sett detta fel och ej heller kunnat lämnat info hur detta skall
räknas ej heller har någon lämnat någon teori om hur beräkningarna görs i piccen.
De var ett tag sedan man gick i skolan så jag skall nog försöka leta
matematiska länkar att läsa oxo.
Jag vill ha en 16f84 eller en 16f628 att räkna pulserna från min tändspole på bilen. När det finns rätt antal pulser så skall en led lysa och sedan slockna när pulserna sjunker.
Jag fick denna program ide från mullemek
input var byte
frekvens var byte
frekvens = 333
loop:
Count portb.0,1000,input
If input => frekvens then
high portb.1
else
low portb.1
endif
goto loop
end
Men jag har satt Pulsin istället för Count pga att jag testat denna ide i bilen och inte fått detta att fungera. Pulsin fungerar inte heller. Jag har ändrat
frekvens upp och ner utan positivt resultat.
Jag har läst någonstans att ingången delas med 4 men vet ej om dessa
program rader räcker eller om jag måste ha ett interupt för att kolla eller räkna det som lagts minnet.
Jag har heller inte lyckats läsa mej till om svaret jag får vid en fråga om vad som finns i minnet är 1 eller 0 eller om det går att få ut en siffra som tex 266.
Jag hittade något liknande progam som ser ut så här.
' Listing 1: TACH.BAS
' The BASIC Stamp serves as a tachometer. It accepts pulse input through
' pin 7, and outputs rpm measurements at 2400 baud through pin 0.
input 7
output 0
Tach: pulsin 7,1,w2 ' Read positive-going pulses on pin 7.
let w2 = w2/100 ' w2/100 divided into 60,000 equals
let w2 = 60000/w2 ' 6,000,000/w2 (60 seconds in 10-us units).
' Transmit data followed by carriage return and linefeed.
serout 0,N2400,(#w2," rpm",10,13)
pause 1000 ' Wait 1 second between readings
goto Tach
Men jag tror att någon skrivit fel på andra LET raden.
Skall väl var så här:
let w2 = 6000*w2
Då skulle 266.666 pulser / 100 bli 2.66 och detta * 6000 blir 15999,96
Delas ingången med 4 så blir 266.666 = 66,6665 / 100 = 0,666 * 6000 = 3999,99 Varv per minut
Delas utgången med 4:a så blir resultatet lika.
Jag är inget mattegeni och jag har inte kunnat lista ut vad piccen gör,
så det här ovan är bara en ren gissning på funtionen.
Programmet tach.bas har jag inte testat i bilen.
Uträkningen för antal pulser från tändspole.
Antal pulser = ( Antal cylindrar * Varvtalet) / 120 = pulser per minut.
Ex. (8*4000) / 120 = 266,666
Jag har aldrig användt basic så jag vet inte om detta fungerar där, men jag skulle använda clock-in (RA4/T0CKI) på Timer0 som en räknare...
Läs om Timer0 i databladet.
Hmmmmmmmmmmm detta kan inte stämma, 8 pulser per varv?
En fyrcylindrig fyrtaktsmotor tänder väl bara 2 ggr per varv, borde då inte en åttacylindrig fyrtaktsmotor tända 4 ggr per varv.
En fyrtaktsmotor behöver två varv, Insug/Komp i första varvet Arbetstakt/Avgas i andra varvet.