WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Home Cockpit - Das Forum für die "Bastler" (http://www.wcm.at/forum/forumdisplay.php?f=55)
-   -   PWM-Generator (http://www.wcm.at/forum/showthread.php?t=218014)

philharmony 19.06.2007 17:08

PWM-Generator
 
Moin,
Ich suche und suche, und finde einfach KEIN Bauteil mit dem ich ein PWM-Signal erzeugen kann.
Mit den AVR-Controllern habe ich riesig Zittern an den angehängten Servos was auch nicht das Optimale ist.
Gibt es denn eine einfache Schaltung oder ein IC mit dem ich ein PWM-Signal erzeugen kann?

philharmony 19.06.2007 17:28

Bis jetzt gefunden:
den M66240
Aber wo bekomme ich den her?
Bei Conrad und Farnell habe ich nichts gefunden...

philharmony 19.06.2007 20:23

Aaah, Leute helft mir, es wird doch auf diesem Planeten ein IC geben mit dem man ein Hundsordinäres PWM-Signal erzeugen kann?!?!

dirkan 19.06.2007 20:58

Hallo,

mit den AVR's kriegst du das schon hin. Du darfst es nur nicht mit PWM machen. Teile die Zeit in 4us Intervalle, rufe dann einen Timer Interrupt auf und generiere die Signale mit ordinärem sbi und cbi. Auf diese Art habe ich als FSBUS Modul einen 8 Kanal Servo controller mit einem ATTINY2313 entwickelt.

Gruss Dirk

philharmony 19.06.2007 22:21

hm, das klingt mal nach ner richtig brauchbaren Idee ;)
Damit kann ich theoretisch alle an jedem I/O-Pin aller Ports parallel ein unabhängiges PWM-Signal erzeugen oder?

dirkan 19.06.2007 22:32

jo dat jeht!

Verwende einen 16MHz Takt, dann gibts mit dem Timing keinen Knuddel.
In jdem Interrupt 1 Kanal berechnen und dann reihum.

Viel Spass

Dirk

philharmony 19.06.2007 23:04

wieso nicht bei jedem Interrupt überprüfen ob sich an einem der X Ausgänge nach der vergangenen Zeit etwas ändern muss und dann alle gleichzeitig?
bei reih um bekomme ich doch dann kein 2ms langes, durchlaufendes Signal pro Kanal hin oder übersehe ich grade was?

dirkan 19.06.2007 23:57

Hallo,

ich will dir nur meine Erfahrungen mitteilen. Du musst sehen, so schnell wie es geht aus dem Timerinterrupt herauszukommen. Wenn du bei jedem INT 8 mal die Zähler überprüfst, dauert das zu lange.

Das kommt dann bei allen 8 Signalen zu einem Versatz, der aber uninteresant ist. Wichtig ist die Konstanz eines einzelnen Signals.

Nochwas: Ich habe den USART für diesen Fall nicht mit Interrupt betrieben, damit der nicht den Timer INT stören kann.

Gruss
Dirk

philharmony 20.06.2007 09:18

Wie lange muss denn ein Signal am Sevo anliegen damit er reagiert? Bzw würde es genügen zb nur jedes 2. Signal am Servo ankommen zu lassen?
Ich denke ich werde als Servo-Treiber irgendwelche kleinen AVRs benutzen die wie alle anderen Treiber-Bausteine über 8 Pins verbunden sind.
Die ATiny´s kosten ja nichts.
UART nehme ich nur für die Verbindung USB-Controller<->Master-AVR und Master AVR<->Slave AVR (also die Funktions-Boards) dann über TWI.
Werde aber glaube ich mit den Servo-Boards mal noch warten und erstmal Switches und Annunciators ansteuern und mal schauen was es da noch so an Erfahrungen zu machen gibt, bis jetzt hab ich jede menge Code geschrieben aber noch nichts gelötet...
Danke für deine Hilfe Dirk
lg
Phil

kefali 20.06.2007 09:29

RC-Servo
 
Zitat:

Wie lange muss denn ein Signal am Sevo anliegen damit er reagiert?
Die üblichen RC-Servos (Modellflug) arbeiten wie folgt:
Sendeimpuls von 1 msec bringt Servo an linken Anschlag,
Sendeimpuls von 1,5 msec positioniert den Servo in Mittelstellung,
Sendeimpuls von 2 msec jagt Servo an den rechten Anschlag

oder vice versa!

:hallo:


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag