mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Servo Ansteuerung mit ATMega128


Autor: Jens Kaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen

Ich vesuche schon seit ca. 3 Wochen einen Servo anzusteuern direkt über
den OC1 Ausgang. Ich verwende dazu den Phase+Frequency correct Modus und
erzeuge damit Pulse zw. 0.8 bis 1.9ms. Solange ich den Servo nicht
anschliesse funktioniert auch alles (mit KO gemessen). Sobald ich den
Servo anschliesse, resettet sich der Prozessor ständig. Meine
Stromversorgung sollte ausreichend sein (DC/DC Converter max.2A
Steckernetzteil max. 2A), ich habe auch schon eine elko(10u)+einen
weiteres C (100n) direkt beim Anschluss des Servos von + nach -
geschaltet um allfälige Störungen und Spitzenströme abzufangen. Hat
jemand eine Idee was ich falsch mache?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe in einer ähnlichen Schaltung (allerdings ohne uC) auch sehr
starke Spannungsschwankungen gemessen, sobald der Servo läuft. Habe sie
ebenfalls abzufangen versucht, aber vergeblich. Die Spanung schwankt
dauernd um +- 1 V.

Autor: Jens Kaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, in diesem Fall ist geteiltes Leid nicht gleich halbes Leid. Hast
Du das Projekt gestoppt?? Falls Du noch Tips hast ich wäre dankbar.

Autor: Kupfer Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Lies dir mal die ATMEL Note AVR040 und ebenso AVR042 durch.

Für dich ist wichtig dass die Servo Stromloop nicht uber das Controller
Board läuft.
Block die Controller Stromversorgung zusätzlich mit einem LC Glied ab
und beschalte den RESET Pin wie angegeben.

Autor: Jens Kaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das tönt doch schon vielversprechender. Das werde ich mal probieren.
Noch eine Frage, hattest Du das gleiche Problem? Wenn ja hat es
anschliessend funktioniert?

Autor: Jens Kaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt den Servo separat an die Speisung angehängt, jetzt klappts
auch mit dem Servo! Besten Dank an Michi Kupfer.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Servo verursachte bei mir einfach starke Schwankungen in einer
A/D-Messung (via Parallele Schnittstelle und TLC547 A/D-Wandler). Für
meine Anwendung störte das nicht, da ich dann einfach den Mittelwert
über einige Messungen genommen habe, klappte hervorragend.

Aber ja, wenn wir gleich beim Thema sind: Wie einfach bzw. schwer ist
es eigentlich, einen Servo per Microcontroller (In meinem Fall wird es
schon bald ein ATmega8 sein freu) anzusteuern?

Gruss

Michael

Autor: Jens Kaiser (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne den ATMega8 überhaupt nicht aber vielleicht hat er ja auch
einen sogennanten phase+frequency correct mode im Timer eingebaut. Bei
diesem Modus zählt der Timer von 0 auf max Wert(welcher vorgegeben
werden kann) und danach vom max. Wert auf 0 usw. Mit dem max Wert kann
man die Periodendauer angeben (so ca. 20ms für einen Servo) und mit dem
compare match Wert kannst Du die Pulsbreite bestimmen, denn wenn der
Timer von 0 auf max zählt und den compare match Wert erreicht wird z.B.
OC1 gesetzt und wenn der Timer von max auf 0 zählt und und den compare
match Wert erreicht wird OC1 gelöscht usw. In diesem Modus kannst Du es
relativ einfach programmieren. Ich habe dir meinen C Code beigelegt,
kannst ja mal reinschauen (ist aber nicht so schön programmiert).

Gruss Jens.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.