Forum: Mikrocontroller und Digitale Elektronik verhalten von servo?


von Ludwig W. (lordludwig)


Lesenswert?

hallo,

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

von Ludwig W. (lordludwig)


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

von Ludwig W. (lordludwig)


Lesenswert?

kann mir keiner sagen ob er kaputt is???

bei conrad is es die artikelnummer 227726 - 62

von Hannes L. (hannes)


Lesenswert?

Deine Informationen sind zu dürftig...

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

...

von Ludwig W. (lordludwig)


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???)

von Hannes L. (hannes)


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.

...

von thkais (Gast)


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.

von Weihnachtsmann (Gast)


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.

von Edd (Gast)


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

von Fritz G. (fritzg)


Lesenswert?

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

von Ssss S. (sssssss)


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!
1
void main(){
2
portinit();
3
char delay = 1;
4
int count = 0;
5
while(1){
6
 servo_pin_high();
7
 delay_ms(delay);
8
 servo_pin_low();
9
 delay_ms(15);
10
 count++;
11
 if (count == 66){
12
  //63*16ms = ~1s
13
  count = 0;
14
  delay = 3 - delay; //abwechselnd 2,1,2,1,2,... ms
15
  }
16
}
17
}

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

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

von Ludwig W. (lordludwig)


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

von Ssss S. (sssssss)


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

von hans dieter (Gast)


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)!!!

von Ludwig W. (lordludwig)


Lesenswert?

besser ned :-)

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

von Ludwig W. (lordludwig)


Lesenswert?

mein servo ist aber afaik digital. Ein problem???

von Ludwig W. (lordludwig)


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

von Hannes L. (hannes)


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.

...

von Ludwig W. (lordludwig)


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

von Ssss S. (sssssss)


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

von Ludwig W. (lordludwig)


Lesenswert?

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

von Hannes L. (hannes)


Lesenswert?

Mein C-Billigservo hat die Pinfolge GND, +5V, Impuls...

...

von Ssss S. (sssssss)


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-

von Ludwig W. (lordludwig)


Lesenswert?

sind laut messgerät 5,03V

von Ludwig W. (lordludwig)


Lesenswert?

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

von Ludwig W. (lordludwig)


Angehängte Dateien:

Lesenswert?

das ist der JR stecker

von Ludwig W. (lordludwig)


Lesenswert?

du hast warscjeinlich den Conrad stecker

von Ludwig W. (lordludwig)


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^^

von hans dieter (Gast)


Lesenswert?

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

von Ludwig W. (lordludwig)


Lesenswert?

(schwarz rot weiss)
(braun rot orange)
(schwarz rot gelb)
(blau rot schwarz)
nichts sondern:
(gelb rot schwarz)X

von Ludwig W. (lordludwig)


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.

von hans dieter (Gast)


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

von hans dieter (Gast)


Lesenswert?

was für einen takt, µC hast du?

von Ludwig W. (lordludwig)


Lesenswert?

7,372Mhz

von Ssss S. (sssssss)


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 ;)

von Ludwig W. (lordludwig)


Lesenswert?

wird gemacht

von Hannes L. (hannes)


Lesenswert?

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

...

von Ludwig W. (lordludwig)


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

von Ssss S. (sssssss)


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 ;)

von Ludwig W. (lordludwig)


Lesenswert?

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

von Ludwig W. (lordludwig)


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)

von Hannes L. (hannes)


Lesenswert?

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

...

von Ludwig W. (lordludwig)


Lesenswert?

ja, sonst würde es bei 460k baud auch probleme geben^^

von Ludwig W. (lordludwig)


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!!!!!

von Ludwig W. (lordludwig)


Lesenswert?

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

von Ssss S. (sssssss)


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;

;)

von Ludwig W. (lordludwig)


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

von Ludwig W. (lordludwig)


Angehängte Dateien:

Lesenswert?

mit anhang

von hans dieter (Gast)


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.

von Hannes L. (hannes)


Lesenswert?

Exakte Zeiten sind ohne Timer eh' nicht erreichbar.

Guten Rutsch...
...

von Rahul (Gast)


Lesenswert?


von Ludwig W. (lordludwig)


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

von Ludwig W. (lordludwig)


Lesenswert?

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

von Ssss S. (sssssss)


Lesenswert?

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

Gruss, Simon

von Ludwig W. (lordludwig)


Lesenswert?

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

von Hannes L. (hannes)


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.

...

von Asterix-007 (Gast)


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

von Ludwig W. (lordludwig)


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???

von Hannes L. (hannes)


Lesenswert?

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

...

von Ludwig W. (lordludwig)


Lesenswert?

reichen 470µF???

von Ludwig W. (lordludwig)


Lesenswert?

muss AVCC und AREF auch gepuffert werden???

n guten rutsch :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.