Forum: Mikrocontroller und Digitale Elektronik Frage zum Stm32f4Discovery und PPM Erzeugung


von Philipp M. (lord-maricek)


Lesenswert?

Hi,

ich möchte mit meinem STM32F4Discovery 3 PPM Signale erzeugen die dann 
von jeweils 1 Decaden Zähler wieder in die PWM Signale für die einzelnen 
Servos aufgeteilt werden.
So muss das PPM Signal aussehen:
http://www.pabr.org/pxarc/doc/opwm_ppm.gif

Das ganze wollte mit einem Timer machen. z.b. mit TIM1. Der hat 4 Output 
Compare Channel. Von denen wollte ich 3 nutzen. Die Servos sollen mit 
einer Auflösung von 10bit angesteuert werden und der Timer wird so 
eingestellt, dass er nach 20ms überläuft. In den 20ms wird er bis 20480 
Zählen. (1024=10bit pro ms).

Im "Überlauf-Interrupt" werden die Output Compare Channel eingestellt 
für die steigende Flanke des ersten Servo-Channels. Beim ereichen des 
Output Compare gehen die Pins automatisch auf High. In dem dazugehörigen 
Interrupt wollte ich dann das Output Compare Register für die nächste 
Steigende Flanke beschreiben. Aber wie bekomme ich den Output Pin nach 
ca. 0,5ms wieder auf LOW?

Ich hab gesehen, dass man noch die Puls länge bei der Konfiguration 
einstellen kann. Kann man die Puls länge nur im PWM Betrieb verwenden? 
Wo ist der unterschied zwischen PWM1 und 2? Das konnte ich noch nicht 
wirklich rausfinden.

Laut Datenblatt wird bei einem Output Compare das die Puls länge in das 
Output Compare Register mit drauf addiert. Hätte ich dann theoretisch 
0,5ms später wieder ein Output Compare Interrupt, wenn die Flanke wieder 
sinkt?

ich hoffe es war einigermaßen verständlich, und es kann mir jemand 
helfen.
MfG
Philipp

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.