mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Servos ansteuern - Tiny13 überlastet?


Autor: Namenslos (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte mit einem Tiny13 zwei Servomotoren steuern. Es handelt sich 
hierbei um die 5-Euro-Billigservos von Conrad (sind vermutlich nicht die 
besten aber zum testen reicht es). Nun habe ich das Programm für den 
Tiny geschrieben und unbelastet (Servos abgesteckt) an den Pins zur 
Ansteuerung geschaut, ob die Impulse richtig sind - und das sind die 
(Periodendauer nahezu perfekt, um die 20.2 ms, Impulsdauer auch im 
zulässigen Bereich (1 bis 2 ms)).
Bei der Software werden die Servos zunächst als Initalisierung auf ihre 
maximale und dann auf ihre minimale Position gefahren (mit 1 Sek. Pause 
dazwischen) und nach einer weiteren Sekunde soll einer der Servos sich 
relativ häufig Bewegen (bei meiner Testanwendung wird die Position alle 
100ms etwas variiert).

Soweit so gut, solange die Servos abgesteckt sind, sehen die Signale 
auch prima aus und es verhält sich so, wie es sich verhalten soll.
Schließe ich allerdings die Servos an (bzw. es reicht auch nur der, der 
sich schnell bewegen soll), so arbeitet der Servo ein paar Sekunden und 
dann scheint der AVR neuzustarten, die Initalisierungsprozedur beginnt 
als wieder.

Nun vermute ich, dass der AVR überlastet ist und deswegen einen Reset 
ausführt... oder aber die Servos sonstige Störimpulse erzeugen. Nur was 
kann ich dagegen tun? Die Schaltung (sie ist recht minimalistisch 
gehalten, die drei Abblock C's sitzen zum einen am AVR und dann jew. 
einer am Servo-Stecker) befindet sich im Anhang.

Vielen Dank schon einmal.

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal den Code, so kann man wenig sagen.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist wohl nicht der TINY überlastet, sondern Vcc. Benutze mal 
testweise 2 separate 5V-Versorgungen; eine für den Tiny und eine für den 
Rest. Bitte auf saubere Masseführung achten!

Wenn das die Probleme löst:
- Stromversorgung stärker puffern (dicker Elko)
- Zuleitung zum Tiny mit zusätzlicher Drossel abblocken.

Viel Erfolg!
Bernhard

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Namenslos schrieb:

> Nun vermute ich, dass der AVR überlastet ist und deswegen einen Reset
> ausführt... oder aber die Servos sonstige Störimpulse erzeugen.

Servos können richtige Dreckschleudern auf der Versorgungsspannung sein. 
Wenn sie dir wirklich den Tiny ausser Tritt bringen, gibt es nur eine 
Möglichkeit: Die Versorgungsspannung der Servos vom AVR fernhalten bzw. 
möglichst gut sieben. 100nF an den Servoanschluessen werden da nicht 
reichen. Probier mal da einen etwas größeren Kondi jeweils parallel 
zuschalten.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal vom Einbrechen der Spannungsversorgung oder von heftigen 
Störimpulsen auf der Versorgungsleitung durch den Servo ausgehen. 
Überprüfe diese mal, am besten mit einem Oszilloskop.

Autor: Hallo1001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich schätze einmal dass bei Dir die Versorgungsspannung zusammen bricht. 
Ich hatte bei mir genau das gleiche Problem, wenn auch nicht mit einem 
Tiny. Und die Widerstände R2 und R3 sind auch viel zu Groß. Wenn Du die 
Tiny Ports schützen willst, dann reichen hier 500 Ohm bereits aus.

LG Jens

Autor: Namenslos (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Juhuuu es funktioniert :-)

Benutze weiterhin nur eine Spannungsquelle, allerdings bin ich etwas 
großzügiger mit Kondensatoren umgegangen und habe eine Drossel vor das 
VCC vom Tiny13 gesetzt. Nun läuft es ohne Zurücksetzer :-)

Im Anhang die Version, die Funktioniert. Die Induktivität der Drossel 
konnte ich nicht bestimmen, aber es ist eine Drossel aus einem alten 
PC-Netzteil.

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Trotzdem sollte der 100nF-Kondensator für den Tiny auf die andere Seite 
der Drossel, also direkt an den Tiny!

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.