Forum: Mikrocontroller und Digitale Elektronik Probleme mit Servo am AVR Atmega8


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jörg W. (hucky3000)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich bin mit meinen Ideen so ziemlich durch.
Meine Schaltung wird mit einem getakteten Netzteil (5V/5A)
Versorgt. Parallel zur Spannung hab ich noch einen 4700uF Elko sitzen.
Servo und Atmel hängen an einer Spannungsquelle.
Das Programm läuft soweit ganz gut.
Stecker rein, Servo läuft nach Position A - paar Sekunden später nach B 
- für die Anwendung die Ausgangsposition.
Nach Sensorbetätigung fährt der Servo brav nach A - nach ein paar 
Sekunden wieder zurück nach B.

Ziehe ich in der Ausgangsposition den Stecker vom Netzteil und steck es 
wieder rein (Stromausfall simuliert)
fährt der Servo zu einer Position X.  Positionen A und B sind dann 
verschoben ?!
Resete ich den Atmega über Bascom (ISP Kabelverbindung)
Läuft der Servo wieder brav nach A, nach ein paar Sekunden zurück nach 
B.

Stöpsel ich die 5V vom Netzteil ab - also die Sekundärseite fährt der 
Servo in 90% der Fälle wieder nach A und dann nach B - manchmal spinnt 
er auch wieder und fährt nach X um dann wieder mit verschobenen A und B 
Werten zu arbeiten.

Ich bin leider zu doof das zu verstehen - evtl. hat ja jemand eine Idee 
wie ich es verhindern kann dass das Ding nach X fährt.
X ist komischerweise auch immer gleich.

Ich habe nur noch die Idee am Rsseteingang des Atmega eine 
Kondensator/Widerstand Kombi anzuschliessen, sodass der Servo erst 
Spannung bekommt und der Atmega später startet.
Vielleicht hilft es ja.

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Ziehe ich in der Ausgangsposition den Stecker vom Netzteil und steck es
> wieder rein (Stromausfall simuliert)
> fährt der Servo zu einer Position X.  Positionen A und B sind dann
> verschoben ?!

Ich kann mir vorstellen, dass das an deiner Programmierung des µC liegt, 
insbesondere an der Brown-Out Auswertung.

von Patrick J. (ho-bit-hun-ter)


Bewertung
-2 lesenswert
nicht lesenswert
Hi

Wird das Servo vom µC versorgt?
(Wobei ein Servo normal 6V haben will, vom µC aber nur 5V bekommen würde 
- von den Ampere ganz zu schweigen und den armen Port-Treibern)
Abblock-Kondensatoren verbaut?
Spannungswandler, Dessen Kondensatoren?

MfG

von Frickelfritze (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Ich bin mit meinen Ideen so ziemlich durch.

Dann wird "man" wohl mal deinen Schaltplan anschauen müssen.

von Klaus (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Patrick J. schrieb:
> (Wobei ein Servo normal 6V haben will, vom µC aber nur 5V bekommen würde
> - von den Ampere ganz zu schweigen und den armen Port-Treibern)

Eigentlich nicht. Sie wurden erfunden um an 4 NiCad Zellen zu 
funktionieren. Mit 6V ist man da schon ganz nah an den Maximum Values 
der gängigen Servo-ICs. Der Steuereingang ist typisch TTL kompatibel 
(>2V high, <0,8V low), unabhängig von der Versorgung.

MfG Klaus

von Christian K. (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
Bau mal einen richtigen Reset Controller ein.

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Christian K. schrieb:
> Bau mal einen richtigen Reset Controller ein.

Weil Millionen von AVR Controllern ohne Reset Controller
auskommen soll er jetzt einen verwenden?

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
Es scheint, dass dein Mikrocontroller sich nach dem simulierten 
Stromausfall nicht resetted sondern das Programm an einer zufälligen 
Stelle fortsetzt. Dann enthalten variablen zufällige Werte und auch die 
Konfiguration der PWM Ausgänge ist ungewiss.

Häufig genügt es schon, eine LED zur Anzeige der Stromversorgung 
hinzuzufügen, wie das z.B. bei den meisten Arduino Modulen der Fall ist. 
Einfach LED+Vorwiderstand an das Netzteil hängen.

Diese bewirkt, dass die Restladung der dicken Kondensatoren schneller 
abgebaut wird. Außerdem kannst du an der LED schön sehen, dass noch 
Restladung vorhanden ist und wie lange das Entladen dauert.

Der Automatische Reset im µC funktioniert nur, wenn die Spannung tief 
genug absinkt. Die Schwellenspannung einer roten LED passt dazu ganz 
gut.

Durch das Aktivieren des Brown-Out Detektors (in den Fuses) kannst du 
eine Höhere Schaltschwelle bestimmen, unterhalb der ein Reset Signal 
erzeugt wird. Zum Beispiel 4,3 Volt. Allerdings solltest du dann deine 
Servos mit einem separaten Netzteil bzw. Spannungsregler betreiben, denn 
ihre zeitweise hohe Stromaufnahme kann sonst leicht dazu führen, dass 
die Versorgungsspannung kurz unter 4,3V absackt und dein µC dann einen 
unerwünschten Reset macht.

Bei meinen Versuchen mit Servos an einem ATtiny kamm ich ziemlich 
schnell zu der Erkenntnis, dass man die Servos besser nicht mit den 
selben 5V versorgt, die auch den Mikrocontroller versorgen.

Was völlig Ok ist, ist die Spar-Variante in den R/C Modellautos: ein 
7,2V Akku und dahinter ein 3,3V Spannungsregler für die Elektronik sowie 
ein 6V Spannungsregler für die Servos.

Oder du betriebst die Servos an 4 Mignon Zellen (Akkus oder Alkaline) 
und den µC an einer separaten Batterie (z.B. 3 Micro Zellen oder eine 
Lithium Zelle). Dann brauchst du gar keine Spannungsregler.

von Jörg W. (hucky3000)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten :)
Ich musste erstmal nach Brown-Out googlen - der Tipp war Gold wert !
Ich hab die entsprechenden Fusebits für 4V gesetzt. Es funktioniert 
jetzt so wie es soll :)
Wieder was gelernt.

Danke :)

Hucky

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]
  • [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.