Forum: Mikrocontroller und Digitale Elektronik Servo LF-20 an AVR zickt. C 577 funktioniert!


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 versuche krampfhaft einem LF-20 Servo vernünftiug zum laufen zu 
bringen.
Mit einem C 577 von Groupner funktioniert alles wie es soll.
Ich verwende einen Atmega 8  und programmiere in Bascom.
Vier verschiende Ansteurmöglichkeiten funktionieren mit dem C 577, aber 
mit dem LF-20 nicht. Ich brauche unbedingt diesen Typen wegen der hohen 
Kraftübertragung.
Ich habe es über PWM probiert, dem Servo-Befehl, einfacher Code mit 
Wait-Befehlen und eigene Routine - Timer als Interrupt (16-20ms 
probiert)

Wenn ich z.B. folgenden Code eingeben (funktioniert mit dem C577 
bestens)
fährt der LF-20 nur kurze Strecken hin und her, bzw. zuckt nur. Ab und 
an fährt er tatsächlich den Weg, den er soll. Gefühlt nach jedem 20en x 
hin und her zucken.
1
do
2
3
for i = 1 to 50
4
portb.1 = 1
5
waitus 600
6
portb.1 = 0
7
waitms 19
8
next i
9
10
wait 3
11
12
for i = 1 to 50
13
portb.1 = 1
14
waitus 2400
15
portb.1 = 0
16
waitms 19
17
next i
18
19
wait 3
20
21
loop

lass ich nur den obereb Teil laufen, geb einen neuen Wert für Waitus ein 
und überspiele das PRG, fährt der Servo hin wo er soll.

Ich versteh es nicht !!

Bitte um Hilfe

Hucky

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
warum die wait 3?
der servo braucht ein kontinuierliches signal.
mach aus den 50 schleifendurchläufen 200 und schmeisse das wait 3 raus.

: Bearbeitet durch User
von Jörg W. (hucky3000)


Bewertung
0 lesenswert
nicht lesenswert
Wait 3 ist ne Pause, erst dann soll er in die andere Richtung.
Ich hab es mit 50,100,500 und sogar 1000 probiert.
Das Problem bleibt !
Hab vorhin irgendwo  gelesen, dass manche Servos zicken, wenn ich es 
ruchtig verstanden habe einen längeren Weg nur über "Teilstrecken" 
zurücklegen können.
Ich versuch es morgen mal mit einer Schleife oder einer Tabelle.

Hucky

von H.Joachim S. (crazyhorse)


Bewertung
0 lesenswert
nicht lesenswert
LF-20 ist doch ein sog. Digitalservo? Eigentlich sollten die auch das 
alte 20ms-Format beherrschen - wer weiss?, normalerweise werden die aber 
deutlich schneller angesteuert. Versuch es mal mit 5 oder 7ms frame. Es 
ist auch besser mit konstanter Periodendauer als mit konstanter 
Impulspause zu arbeiten.
In deinem Fall:
0,6ms Puls 19,4ms Pause
2,4ms Puls 17,4ms Pause

Ansonsten ist das mit den delay-Kram natürlich sowieso Mist, für nen 
Test gehts aber. Soll der MC aber nebenbei auch was anderes machen, geht 
es so nicht.

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Wait 3 ist ne Pause

und die interpretiert der servo vermutlich als 'fahre an das eine ende'.
mach halt mal probeweise die wait 3 raus. so ne arbeit ist das ja nicht.

von Thomas W. (thomas_w808)


Bewertung
0 lesenswert
nicht lesenswert
Allseits beliebter Fehler bei Anfängern: Spannungsquelle für Servo und 
uC nicht separat. Wenn der Servo zu viel Strom zieht bricht die Spannung 
ein, und eventuell resetet dein uC.
Hast  du Abblockkondensagoren am uC?
Probier doch mal die Bascominterne Servo routine.

von Stefan W. (swessels)


Bewertung
0 lesenswert
nicht lesenswert
Thomas W. schrieb:
> Spannungsquelle für Servo und
> uC nicht separat. Wenn der Servo zu viel Strom zieht bricht die Spannung
> ein, und eventuell resetet dein uC.

Das wird es sein. Ein C577 kann (ohne Last!) problemlos mit dem µC 
zusammen aus ner 500mA Wandwarze versorgt werden. Die Digitalen 
benötigen eine niederohmige Spannungsquelle. Da kommen schon mal 
Stromspitzen von mehreren A  beim Anlauf zustande.
Am besten ist die Versorgung aus einem Akku mit geringem Innenwiderstand 
und vor Allem Pufferelkos in der Spannungsversorgung des Systems.

von Jörg W. (hucky3000)


Bewertung
0 lesenswert
nicht lesenswert
So.
Der Servo läuft ;)
Dachte schon ich wäre doof...
Es lag tatsächlich an der Spannung.
Hätte ich auch selber drauf kommen können - ich hatte neulich erst 
ähnliche Probleme bei der Ansteuerung einer kleinen Pumpe.
Zur Zeit hab ich ein 1,5A Steckernetzteil an der Schaltung, dazu 1000uF 
parallel. Ohne Elko geht es nicht.
Netzteil mit mehr Leistung werde ich morgen bestellen. Dickeren Elko 
auch.

Vielen Dank für eure Hilfe :)

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.