PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] PWM für Servosteuerung mit Atmel AtMega 16



anno-fan
30.12.2004, 20:56
Hallo

ich bin Newbie, was die Programmierung von Atmel-µCs angeht, und brauche bitte folgendes erklärt :)

1) Wie kann ich den AtMega 16 programmieren?
2) Wie kann ich einen Servomotor per Pulsweitenmodulation mit einem AtMega 16 ansteuern?
Ich habe bis jetzt noch keinen Code extra für sowas gefunden.
Die Sache ist die, dass der Mikrocontroller von dem PC aus (RS232 oder LPT) mitgeteilt bekommen soll, wie lange die Pulse sein sollen.

Danke schonmal im Voraus :-)

Mit freundlichen Grüßen
anno-fan

talentraspel_kai
30.12.2004, 22:12
Hab ich hier http://www.talentraspel.de/portal/index.php?id=68&type=1 beschrieben (Versuch Nr. 6). Ist in WinAVR-C, für ATMega32 und macht PWM mt RS232 Menüsystem. Sollte also für dich genau passen.

Doku und Sourcecode sind auf den Links im Text.

Grüße,
Kai.

31.12.2004, 15:21
Hallo und Danke erstmal für deine Antwort.
So ganz weiterhelfen tut das mir aber leider auch nicht.

Ich brauche im Prinzip folgendes :

PC > RS232-Ausgang > Atmel AtMega16 > Servo-Motor

Ich will dem AtMega dann über die Serielle Schnittstelle ein Byte übertragen, welches bei einer 0 beispielsweise den AtMega dazu veranlasst, ein Signal von 1ms Länge auszugeben und bei 255 ein Signal von 2ms Länge.

Dazwischen soll der AtMega 20ms warten.

Nun meine Frage, wie geht das? :-)

Danke im Voraus :-)
anno-Fan

talentraspel_kai
03.01.2005, 01:25
Hallo.

Das musst du schon selber programmieren. Die von mir empfohlene Programmversion bietet dafür eine gute Basis.

Es ist sowohl eine interruptgesetuerte PWM-Routine mit anpassbarem Timing, als auch eine RS232-Kommunikation dabei.

Der Umstellungsaufwand hält sich in Grenzen.


Grüße,
Kai.

FoCus
03.01.2005, 08:50
das sollte dir helfen: http://users.4finger.net/~smay/avr/servomaster/
Ich kann auch daheim nochmal schaun ob ich meine alten Sourcen noch habe...hab vorm halben Jahr genau sowas gemacht....

Gruss
Michael