Halvera frekvensen från en pulsgivare.
Halvera frekvensen från en pulsgivare.
I min bromsbänk (bild på bänken, in action) har det visat sig vara problem när varvtalet på drivrullen går över ca 4000 rpm.
Jag har en Basic Stamp 2 som räknar frekvensen på ett pulståg från en givare som ger 1024 pulser/varv och skickar värdet seriellt till en PC.
Det verkar som att BS2:an missar pulser vid lite högre varv.
Nu vill jag halvera frekvensen på pulserna.
Hur gör jag det enklast.
Jag har några D-vippor och lite NAND- och NOR-kretsar liggande.
/Klas
PS. Skippa alla påpekanden om att BS2 är kass.
Jag har en Basic Stamp 2 som räknar frekvensen på ett pulståg från en givare som ger 1024 pulser/varv och skickar värdet seriellt till en PC.
Det verkar som att BS2:an missar pulser vid lite högre varv.
Nu vill jag halvera frekvensen på pulserna.
Hur gör jag det enklast.
Jag har några D-vippor och lite NAND- och NOR-kretsar liggande.
/Klas
PS. Skippa alla påpekanden om att BS2 är kass.
4000 rpm med 1024 pulser per varv ger ju 68 kHz, så PICen hinner bara 73 instruktioner per puls vid 20 MHz.
Vet inte vad du mäter, eller hur BS2 mäter. Hur det än görs tror jag det kan gå att i mjukvaran använda timers (ev tillsammans med deras interna prescaler) för att lösa problemet utan externa kretsar.
Vet inte vad du mäter, eller hur BS2 mäter. Hur det än görs tror jag det kan gå att i mjukvaran använda timers (ev tillsammans med deras interna prescaler) för att lösa problemet utan externa kretsar.
Som min fritid ser ut just nu så är elektroniken bara ett nödvändigt verktyg för att få min bromsbänk att funka bra. Jag har inte tid att sätta mig in i PIC-programmering även om jag hemskt gärna vill.
BS2:an räknar pulserna under en viss tid och skickar värdet till en PC seriellt.
Koden ser ut såhär:
START
count 10,0.03,PULSER räkna pulser under 0,03s på pinne 10
serout 1,serieconfig, PULSER skicka till PC
goto START
BS2 klarar inget avancerat. Inga timers eller prescalers eller interrupt.
Jag provar med en D-vippa eftersom jag har några liggande.
/Klas
BS2:an räknar pulserna under en viss tid och skickar värdet till en PC seriellt.
Koden ser ut såhär:
START
count 10,0.03,PULSER räkna pulser under 0,03s på pinne 10
serout 1,serieconfig, PULSER skicka till PC
goto START
BS2 klarar inget avancerat. Inga timers eller prescalers eller interrupt.
Jag provar med en D-vippa eftersom jag har några liggande.
/Klas
Vad kan du läsa ut av datan som skickas till Pc´n ?.
skickas det lika många bitar var gång ?
Man behöver väl få reda på "hastighetsökning/tidsenhet" för att göra något användbart av det ?
Har själv funderat på att göra en liknande konstruktion , men skulle då nöjt mig med 1-2 pulser per varv och mäta tiden mellan dem
skickas det lika många bitar var gång ?
Man behöver väl få reda på "hastighetsökning/tidsenhet" för att göra något användbart av det ?
Har själv funderat på att göra en liknande konstruktion , men skulle då nöjt mig med 1-2 pulser per varv och mäta tiden mellan dem
Min lösning är väldigkt "quick and dirty" tycker jag själv.
BS2:an skickar endast antalet pulser/0.03s som ASCII-tecken.
Det blir olika många bitar beroende på hur snabbt rullen snurrar.
Mycket osnyggt löst. Säkert hur många felkällor som helst, men apparaten har hjälpt oss att trolla fram åtskilldga hästkrafter ur våra tävlingshojar.
Ja, man måste veta accelerationen för att kunna räkna om till effekt.
I PC-programmet har jag skrivit in "sampeltiden" och kan på så sätt räkna fram varvtalet och accelerationen.
Förmodligen så är det bättre att göra som du skriver. Jag har själv varit inne på det spåret. Har du kollat in www.votid.com?
BS2:an skickar endast antalet pulser/0.03s som ASCII-tecken.
Det blir olika många bitar beroende på hur snabbt rullen snurrar.
Mycket osnyggt löst. Säkert hur många felkällor som helst, men apparaten har hjälpt oss att trolla fram åtskilldga hästkrafter ur våra tävlingshojar.
Ja, man måste veta accelerationen för att kunna räkna om till effekt.
I PC-programmet har jag skrivit in "sampeltiden" och kan på så sätt räkna fram varvtalet och accelerationen.
Förmodligen så är det bättre att göra som du skriver. Jag har själv varit inne på det spåret. Har du kollat in www.votid.com?
3 sekunder är det då inte för lite belastning ?
Men det är klart 0-100 på 3 sekunder är rimligt på en tävlingshoj om man vill simulera verkligheten
Man kunde få lite mer tid på sig ,en mätning på 10 - 15 sekunder vore väl inte fel med tanke på att det är accs i "högsta växlen".
Kan klart också hänga på hur stor trumma man kan svarva till.
"Man haver vad man tager som skurken sa"
Nej jag tävlar inte med något "kul" men har ändå ett stort motorintresse
Men det är klart 0-100 på 3 sekunder är rimligt på en tävlingshoj om man vill simulera verkligheten
Man kunde få lite mer tid på sig ,en mätning på 10 - 15 sekunder vore väl inte fel med tanke på att det är accs i "högsta växlen".
Kan klart också hänga på hur stor trumma man kan svarva till.
"Man haver vad man tager som skurken sa"
Nej jag tävlar inte med något "kul" men har ändå ett stort motorintresse
68kHz x 0,03s = 2040 pulser, det fyller inte ett word, som jag använder.
BMI: Jo, min rulle är alldeles för liten egentligen. Den har ett masströghetsmoment som är ca 1/10 av vad en Dynojet-bänk har.
Tidsbrist. Annars har jag alla kontakter som behövs för att fixa en riktig rulle.
Den enda fördelen med att en körning går snabbt är att motorn hinner inte bli så förfärligt överhettad trots att jag saknar kylfläkt i riggen.
BMI: Jo, min rulle är alldeles för liten egentligen. Den har ett masströghetsmoment som är ca 1/10 av vad en Dynojet-bänk har.
Tidsbrist. Annars har jag alla kontakter som behövs för att fixa en riktig rulle.
Den enda fördelen med att en körning går snabbt är att motorn hinner inte bli så förfärligt överhettad trots att jag saknar kylfläkt i riggen.