Ik ban al enige tijd aan het proberen om een PWM signaal van een (RC)ontvanger in te lezen met een ATTiny26L. Het PWM signaal versterken en aanbieden op een ADC werkt niet, deze gaat flippen (natuurelijk omdat het PWM is).
Weet iemand hoe ik het PWM signaal versterkt in stabiele vorm krijg zodat de ADC het kan inlezen of hoe ik het PWM signaal rechtstreeks met de Tiny kan inlezen.
M.V.G. Ruben
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Servo's zijn wel populair de laatste tijd. Het PWM signaal van de ontvanger zou een mooie blokgolf moeten zijn. Die blokgolf kan je rechtstreeks zonder versterking aanbieden op je AVR. Is het geen mooie blokgolf haal het dan eerst door een schmitt trigger.
Zet bijvoorbeeld het PWM signaal op een interrupt ingang. Geef een interrupt bij opgaande en neergaande flank. Bij de opgaande flank start je een timer, bij de neergaande flank stop je de timer. Zo meet je de tijd dat het signaal hoog is. Een servo signaal varieert van 1ms tot 2 ms en herhaalt om de 20ms. 1,5ms is de middenpositie van je stuurknuppel. Sommige RC merken gebruiken een inverse servo signaal. Je meet dan juist de tijd dat de puls laag is.
RES
RES
Aanbieden op de externe interrupt pin? Of rechtreeks op een i/o aanbieden?
Anders op de analog comparator aanbieden, dan kan je lagere spanningen mee meten dan een i/o en toch schakelt een bit. (ACO)
Achter elke i/o zit overigens al een schmitt-trigger.
[Bericht gewijzigd door RES op ]
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Is dat een vraag aan mij of meer een suggestie richting ThunderKing?
Ik zou zeggen op een externe interrupt pin, dan hoef je niet steeds te pollen en houd je +/-18ms per 20ms over voor je AVR om andere dingen te doen.