ivar kirjutas:
Arduino teemal.
Olen üritanud rising interruptiga tach väljundist pöördeid lugeda aga hetkel veel tulemusteta.
Kood enamvähem sama, mis murjami poolt välja toodud ülevalpool. Mingisuguseid signaale loeb, aga mootori pööretest täiesti sõltumatult.
Samas käsitsi kontakti andes tundub toimivat.
Kas selle pöörete kalkulatsiooni tulemus on vähemalt kuidagi korrelatsioonis pööretega (kasvab/kahaneb nagu peaks)? Kas on enam-vähem stabiilne?
Kindlasti võid katsetada ka rising/falling katkestusega, aga usun, et oled seda juba teinud.
Seal koodis on mul märgitud üks konstant RPM_COUNT_COLLECT, mis tähistab, kui mitu katkestust registreeritakse enne pöörete arvutamist. Olenevalt, mitu katkestust Sul pöörde peale loetakse, võid panna selle suhteliselt suure arvu esialgu (kas või 50 pöördele vastava).
Kui neist asjadest ükski asja paremaks ei tee, tasub kood veel kriitiliselt 100x üle vaadata ja võib-olla isegi mingi lihtne test-pink (trelliga näiteks) tekitada. Kui miski selgust majja ei too, julgen arvata, et probleemiks on ebastabiilne sisend, mis ühe muutumise korral genereerib mitu katkestust. Seda saab ravida ainult elektrooniliselt (
pull-up takisti,
pull-down takisti või kondekas). Ma ei tea, kas Arduino puhul see niimoodi toimib, aga võib-olla õnnestub/peaks protsessori vastava jala sisemine
pull-up sisse lülitada koos katkestusega.