Hallo Ich habe einen Schrittmotortreiber, der auf Impulse reagiert. nun habe ich mir überlegt, die PWM dazu zu nutzen. Beim normalen Mega gibt es ja die emulierte PWM. Also das Ein-Signal bleibt gleich und der Abstand/Frequenz ändert sich. Wie würde dazu der Code aussehen? Das ich einfach sage, Abstand(OCC1B)=..... Programmiere mit C und habe den ATXmega128A3
Wolfgang Karner schrieb: > Hallo > > Ich habe einen Schrittmotortreiber, der auf Impulse reagiert. > nun habe ich mir überlegt, die PWM dazu zu nutzen. Der Threadtitel sagt, das du ein Servo benutzt, das ist ein erheblicher Unterschied zu einem Schrittmotor. > Beim normalen Mega gibt es ja die emulierte PWM. Die ist sogar echt, nicht nur emuliert. > Also das Ein-Signal bleibt gleich und der Abstand/Frequenz ändert sich. > Wie würde dazu der Code aussehen? Du wirst wohl den Timer initialisieren müssen. Die XMega Timer haben auch noch ein PERBUF Register, das die Gesamtlänge eines Durchlaufes bestimmt - ideal zum Grundfrequenz einstellen. > Das ich einfach sage, Abstand(OCC1B)=..... > Programmiere mit C und habe den ATXmega128A3 Zum Beispiel so:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Die Register heissen natürlich beim XMega anders. Statt OCCBLA sinds nun CCA, CCB usw. Die obige Initialisierung setzt keine Portpins auf Ausgang, das musst du anderweitig erledigen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.