www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik verhalten von servo?


Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

sollte ein servo(unabhängig vom signal)sich nach dem einschalten
bewegen oder zumindest zucken???

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das signal vom servo ist zwar unsauber(22ms zwischen den impulsen)aber
es liegt an. trozdem kein kleinster MUX vom servo. drehen lässt er sich
von hand, mehr aber auch nciht

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir keiner sagen ob er kaputt is???

bei conrad is es die artikelnummer 227726 - 62

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Informationen sind zu dürftig...

Und bei C schau ich jetzt nicht nach, mit Denen bin ich vorerst
fertig.

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu C: Ich auch^^

also ich hänge den servo an strom OHNE signal: es passiert nix.
NORMAL??? sollte es nicht zucken???

Wenn ich ihn an ein 8,8ms signal häng(weit außer der 20ms
spezifikation)dann passiert genau so nix(sollte er sich nich bewegen
oder wenn er es ned verträgt ruckeln???)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die üblicherweise erlaubte Impulsbreite liegt zwischen 1ms und 2ms. Der
Impulsabstand liegt bei 20ms, 22ms sollten kein Problem sein.

Was ein Servo beim Anlegen der Betriebsspannung und fehlendem Impuls
macht, weiß eigentlich (vor dem Ausprobieren) nur der Konstrukteuer.
Meine Eigenbau-Servoelektronik mit Tiny15 fährt bei Ausbleiben der
Impulse in Neutralstellung.

...

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Servos, mit denen ich bislang gearbeitet habe, haben ohne Ausnahme
beim Anlegen der Betriebsspannung zumindest mal kurz gezuckt (auch ohne
ein Impulssignal).
Es gibt bei Servos unterschiedliche Anschlußbelegungen, man kann das
teilweise weder am Stecker noch an den Farben der Adern erkennen.
Ich gehe mal davon aus, daß Du den Servo falsch angeschlossen hast -
oder daß er defekt ist.

Autor: Weihnachtsmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für irgendwas gibt es Servotester.

Servo an Servotester anschliesen. Mit dem Servotester verschiedenen
Positionen anfahren und schauen ob das Servo das richtig macht.

Wenn das Servo alles mitmacht ist alles ok.

Autor: Edd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi auch,

ich kenn das auch so von Servos, dass sie mal zucken, wenn man die
Versorgungsspannung einschaltet. Ansonsten kannste ja mal testen und
die Steuerleitung (an der Du die PWM anlegst) von Hand an 5V legen und
diese gleich wieder zurücknehmen (dran - ab - dran - ab...). Meine
Erfahrung ist, dass der Servo dann auch zuckeln sollte.

Bei großen Servos (in Deinem Fall wohl eher egal) würde ich aufpassen,
was für ein PWM-Signal anliegt. Hatte mal mit einem großen Servo mit
Metallgetriebe zu tun, der sich dann selbst 'kaputtgefahren' hat,
weil das PWM-Signal außerhalb der Spezifikation lag. Das Signal sagte
dem Servo dann 'dreh dich weiter' aber dann kam der mechanische
Anschlag (begrenzt durch das Poti)... aber der Servo war so stark, der
hat sich an dem mechanischen Widerstand nicht gestört. Danach lief er
nur noch rund und hörte nicht mehr auf ;)

--Edd

Autor: Fritz Ganter (fritzg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Miss mal die Stromaufnahme.
Mein Servor zucken auch alle, vorallem lassen die sich nicht mit der
Hand drehen wenn Spannung und Signal anliegen.

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

>Impulsabstand liegt bei 20ms, 22ms sollten kein Problem sein.
Nein, 22ms kann probleme machen (hin und herzucken).
Soweit ich weiss muss das signal spätestens alle 20ms wiederholt werden
;)
Deshalb lieber mit 8.8ms testen.

@Ludwig:
hast du meinen Servotestcode im mca thread nicht gesehen ? teste den
mal!
void main(){
portinit();
char delay = 1;
int count = 0;
while(1){
 servo_pin_high();
 delay_ms(delay);
 servo_pin_low();
 delay_ms(15);
 count++;
 if (count == 66){
  //63*16ms = ~1s
  count = 0;
  delay = 3 - delay; //abwechselnd 2,1,2,1,2,... ms
  }
}
}

Aber der Servo sollte auch beim anlegen von der Spannung zucken.

Wie hast du ihn verdrahtet ? (welche farbe geht wohin)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rot:VCC schwarz:GND gelb:signal, habs auch schon mit der steckerbelegung
von einigen seite verglichen, passt. JR heißt der anschluss glaub ich.

ich kann ihn bei angelegtem strom ohne probleme drehen.

Den code probier ich gleich mal aus

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Hmm sieht gut aus eigentlich...

kein strom, kein signal = leicht drehbar
strom an, kein signal = immer noch leicht drehbar
strom an, gültiges signal = nur mit größerem aufwand drehbar bzw dann
machste eher das getriebe kaputt...

wenn sich immer noch nichts tut tausch mal signal und
Versorgungsspannung... (normalerweise halten die und der avr das aus)
Oder mach mal gnd an schwarz und gelb an plus...
Aber keine Garantie wenns dann qualmt ;)
Aber normalerweise sind servos nicht so emfpindlich, hab denen schon
einiges angetan g

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es sind definitv normal, das ein analoges servo nach dem einschalten
kurz zuckt!!!
die steuer-elektronik ist ein mmv mit einpaar opvs, die nach dem
einschalten erst einschwingen müssen (deshalb das zucken)!!!

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
besser ned :-)

kannste mir beim code helfen???(seihe MCA-Thread)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein servo ist aber afaik digital. Ein problem???

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab doch ein analogen puh

da zuckt nix -> KAPUTT?????

Währe typich großes C

die krigen was zu hören wenn der code von Ssssss dann nicht läuft

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann gibt es zu deinem Servo doch bestimmt auch eine Dokumentation, in
der du nachlesen kannst, welche Impulse es erwartet und was es tut,
wenn diese nicht vorhanden sind.

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne nur so billigst doku wo die zugelassenen spannungen drinn sind. Kennt
jemand ne bessere duku für den ES-030??? Is ja auch egal hauptsache der
code läuft dann

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei conrad is auch noch nen link zum Schaltplan ;)
da steht aber leider nicht welche farbe signal hat. laut skizze würde
ich sagen signal = in der mitte

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann ned sein! das ist ein JR standart stecker und da is signal links
wenn die beiden abgeschliffenen ecken oben sind!!!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein C-Billigservo hat die Pinfolge GND, +5V, Impuls...

...

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du evtl ausversehen die 3.6V von der cam auf den servo gegeben
anstelle von 5v?
der servo bracht 5v. bzw 4-6v laut datenblatt-

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sind laut messgerät 5,03V

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes: meiner auch nur andersrum(abgeschliffene ecken oben und JR!!!
Stecker)

Autor: Ludwig Wagner (lordludwig)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
das ist der JR stecker

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du hast warscjeinlich den Conrad stecker

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die frag die bei der conrad hotline sagt das ich außer der
geschäftszeiten anruf hat ja nen lustigen dailekt^^

Herrrrrrzlich willkommen bei Conrrrrrrrrrrad elektrrrrrrrrrrrrrronik^^

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welche kabel kommen aus dem ding raus?
zutreffendes ankreuzen!!!!
(schwarz rot weiss)
(braun rot orange)
(schwarz rot gelb)
(blau rot schwarz)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(schwarz rot weiss)
(braun rot orange)
(schwarz rot gelb)
(blau rot schwarz)
nichts sondern:
(gelb rot schwarz)X

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem code von Ssssss gehts aber er dreht sich nur 90 grad in die eine
richtung und versucht weiter zu kommen geht aber nicht und dann wieder
in ausgangsstellung und manchmal bleibt er dann auch stehen und macht
erst nach strom neu anlegen wieder was.

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo?! die richtung der stecker ist egal (3. punkt)!
egal jetzt...

gelb = signal
rot = +5V
schwarz = masse

anschlisn und guckst du ob es zuckn dud.
wenn nich dan warscheinlich gabudd.
kleiner scherz am rande ;)

dann nimm mal einen avr oder so her und rechne einen prescaler für
einen timer aus, der so bei über 10ms liegt
dann stellst du einen output compare wert ein, der bei ca. 1.5 ms leigt
und schausst, ob sich das ding dreht oder nicht.

dann abstecken, am horn etwas drehen und wieder anstrecken, dann müsste
es sich eigentlich bewegen

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was für einen takt, µC hast du?

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
7,372Mhz

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuch mal

servo_pin_high();
_delay_ms(1.5);
servo_pin_low();
_delay_ms(15);

dann sollte er zu einer pos fahren.

dann compilier nochmal neu und mach _delay_ms(1.8)

1ms/2ms mögen nicht alle servos ;)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wird gemacht

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls du einen 4433 rumliegen hast, kannst du ja mal meinen Code
ausprobieren: http://www.hanneslux.de/avr/7ksend/7ksend01.html

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne hab ich leider ned.

bei 1,5ms fährt er etwas nach rechts, bei 1,8ms noch etwas weiter aber
immer noch ned anschlag. ich probier grad weiter

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>bei 1,5ms fährt er etwas nach rechts, bei 1,8ms noch etwas weiter aber
>immer noch ned anschlag. ich probier grad weiter
perfekt ;)

Also ich hatte bei meinem Servo 1ms bis 2ms als fast maximalen
Schwenkbereich.
Machs nicht zuweit, dann machts evtl "Knack" wenn der Servo stark
genug ist und er ist hinüber ;)
Also grenzen ausprobieren, bissl weniger nehmen und dann ists gut ;)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also meine grenzen sind anscheinend bei 1,9 und 0,7 jetzt probier ichs
mal mit weniger als 15ms zwischen den impulsen

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also mein servo mag 8,8ms sogar viel lieber als 20ms. Da ist er viel
stabiler(hat deutlich mehr kraft)

aber irgendwas is noch komisch weil wenn ich 0,9ms und 1,9ms als grenz
nehm das er immer hin und her soll dann fährt er immer bis über die
grenze hinaus. Gut das der servo innen einen anschöag hat das der poti
nicht kaputt gehen kann(hab ihn schon aufgemacht)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist du sicher, dass dein AVR auch exakt mit der Frequenz rennt, die du
vermutest?

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, sonst würde es bei 460k baud auch probleme geben^^

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie sau komisch. Bei folgendem quelltext dreht sich der servo nur
auch eine position und macht dann nix mehr. ich hab so meinen compiler
oder meinen quelltext im verdacht. kann mal bitte einer compilen und
mit der angehängten .hex vergleichen oder mir sagen wo mein fehler im
quelltext liegt???

quelltext und video vom servo unter folgender adresse:
www.ludwigspowerseite.de/servo.zip

ich hoffe es hat keiner ISDN 3,4mb

EIN DICKES DANKE FÜR ALLE DIE SCHON GEHOLFEN HABEN UND ES NOCH MACHEN
WERDEN!!!!!

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
komisch mit meinem grad geschriebenen assembler programm läufts. Also
liegts am programm oder am compiler???

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein C Code ist falsch:
>unsigned char   delay = 1.2;
>unsigned char   delay2 = 8.8;
>unsigned short count = 0;
char und short sind nur ganze zahlen ;)
Also in dem Fall wird delay=1 und delay2=8 glaub ich.
Mach mal
double delay = 1.2;

;)

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
servo zeigt zwar komisches verhalten aber geht.
So jetzt die nächste frage: wieso geht es in meinem assembler programm
aber in diesem oder noch viel wichtiger im MCA-Code nicht???

mein assembler programm fährt den servo schön hin und her aber
komischer weise mit verschiedenen zwischenzeiten(?).

Das angehängte C programm fährt den servo zuerst in die 1,4ms position,
bleibt dort ca. ne sekunde und fährt dann entweder nach links oder nach
rechts wie er grad will. manchmal stößt er an den anschlag und macht
dann gar nichts mehr und manchmal ändert er seine richtung einfach
wieder wie er will

Autor: Ludwig Wagner (lordludwig)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mit anhang

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das liegt wahrscheinlich daran, dass die delay-funktionen nicht wirklich
die x ms machen, deshalb sagte ich ja bereits nimm einen timer und
schließe den servo dort an.
Tovfl = 2 ^ bit-anzahl * prescaler / fclk  (sollte hier bei 10 ms oder
so liegen)
Tcapt = wert * prescaler / fclk (sollte um 1.5ms sein)

dann ist das mit den zeiten der servos so eine sache normal sind 1ms
bis 2ms für 120° (bin mir mit den grad nicht so sicher) alles andere
ist glücksache (und vom hersteller abhängig - ich hab hier einpaar
hitec die drehen von 0.75 bis 2.3 ca. 160°)

Aber bei allem was du machst, lass die dinger nicht in den anschlag
drehen!!! entweder brennt dir der motor durch, das getriebe geht
hinüber oder der poti geht kaputt.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Exakte Zeiten sind ohne Timer eh' nicht erreichbar.

Guten Rutsch...
...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so ich habs jetzt raus.

Mein assembler programm funktioniert richtig aber der servo braucht
einfach zu viel strom!!!

Speziell wenn ich etwas größeres auf den servo lege resetet der AVR
immer wieder oder spinnt sogar(setzt einfach mal beliebig pins auf hi)

ich denke da hilft nur eine extra stromversorgung für den servo

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei einer kleinen gegenlast zieht der servo über 0,5A!!!!!

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist normal ;)
Meine 9g schweren miniservos ziehen 1.5A wenn sie sich verstellen ;)

Gruss, Simon

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm wo soll die extra stromversorgung hin??? brauch ich ne extra
stromquelle oder reichen 2 7805(oder die 2A variante) an einer
stromquelle???

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst nur den AVR von deiner Spannungsquelle entkoppeln, so dass die
vom Servo verursachten Einbrüche den AVR nicht treffen...

Getrennte Spannungsregler sind da schonmal ein Ansatz.

...

Autor: Asterix-007 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @ all,

Modellservos ziehen in Abhängigkeit von ihrer Last unterschiedlichen
Strom. Man spricht hier von Haltestrom, bei xxkg Last => yyA !
Ist ja auch logisch, weil der Servomotor der Kraft oder auch dem Moment
etwas entgegen setzen muss. Da hier Leistung aus Strom * Spannung
gewonnen wird bleibt nur der Weg, den Strom zu erhöhen, damit die
Gegenkraft kompensiert wird!
Du hast sicher im Leerlauf gemessen, bei einem Standardservo ca. 0,5A.
Unter Last wird die Sache ganz anders. Hier hilft dir nur ein Blick ins
Datenblatt, wenn denn das dort drin steht.

Du bist da gerade auf ein Problem gestossen, welches die Modellbauer
gern übersehen: Hauchdünne Drähte vom Akku zum Empfänger (0,35mm²) und
dann 4-8 Servos im Flugzeug oder Hubi!!!

Denkt mal darüber nach!

Einen Guten Rutsch @ all!!

mfg

Asterix-007

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich denke da werden die drähte glügen oder durchglühen. Der arme
Hubschrauber :´(

Was gibt es für einen weg um die normale versorgungsspannung
unangetastet zu lassen???
Reicht ein extra Spannungsregler oder muss da ne extra spannungsquelle
her???

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Z.B.: AVR über Diode und Elko betreiben, um Spannungseinbrüche zu
überbrücken.

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
reichen 470µF???

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
muss AVCC und AREF auch gepuffert werden???

n guten rutsch :-)

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.