Problem med mätning av pulser från halleffektswitch
Re: Problem med mätning av pulser från halleffektswitch
Jag ränkar accelerationen mellan varven och sedan med hjälp av tröghetsmoment så räknar jag fram motoreffekten vid olika varvtal, jag vill alltså få en kurva t ex i exel sedan som visar effekten över varvtalet. Magneten sitter på ett modifierat svänghjul så därför så får jag en puls för varje varv som svänghjulet roterar. Behöver inte ha så många punkter men jag antar att det är lättare att få datorn att ta hand om alla punkter än att bara ta varannan. dessutom går accelerationen ganska snabbt så jag behöver ha så många punkter som möjligt.
Re: Problem med mätning av pulser från halleffektswitch
Du initialiserar serieporten till 9600 bps, eller hur?
Samtidigt skriver du ca. 45 byte data på serieporten för varje puls... 1000 ggr per minut, eller 16,7 ggr/sekund.
Denna överföring kräver (med 8N1) 45*10*16,7 = ~7500 bps överföringshastighet.
Så man får väl anta att överföringen är flaskhalsen som gör att resten beter sig konstigt.
När du nu har en MCU bör du låta den jobba i realtid med det den är bra på, dvs kolla när pulser kommer och att sampla tiden.
Buffra mätvärdena i MCU'n och låt den göra en del av beräkningarna så inte all data behöver skickas kontinuerligt... eller skicka data effektivare...
Samtidigt skriver du ca. 45 byte data på serieporten för varje puls... 1000 ggr per minut, eller 16,7 ggr/sekund.
Denna överföring kräver (med 8N1) 45*10*16,7 = ~7500 bps överföringshastighet.
Så man får väl anta att överföringen är flaskhalsen som gör att resten beter sig konstigt.
När du nu har en MCU bör du låta den jobba i realtid med det den är bra på, dvs kolla när pulser kommer och att sampla tiden.
Buffra mätvärdena i MCU'n och låt den göra en del av beräkningarna så inte all data behöver skickas kontinuerligt... eller skicka data effektivare...
Re: Problem med mätning av pulser från halleffektswitch
Läs i databladet om Input Capture Unit, som hör till 16-bit timern. Det är den enheten du ska använda för att mäta avståndet mellan pulserna.
Din nuvarande lösning kommer leda till förhållandevis stort gitter.
Din nuvarande lösning kommer leda till förhållandevis stort gitter.