Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

1

Donnerstag, 24. September 2009, 12:11

Servozucken beim einschalten unterdrücken?

Hallo zusammen,

ich baue gerade eine Schaltung, die 2 Servos über die Timer 1 Compare-Match Units eines ATMega 168 ansteuert. Beim einschalten der Spannungsversorgung zucken die servos kurz, teilweise bis zum Endanschlag.

Ich vermute das dieses Verhalten durch einen nicht vorhandenen Steuerinpuls beim einschalten verursacht wird.

Für meine Anwendung ist das nicht akzeptabel, daher suche ich eine Möglichkeit, dieses Verhalten zu eliminieren.

Mein Gedanke ist, die Spannungsversorgung der Servos mittels Leistungstransistor im ersten Overflow-Interrupt des Timers 1 einzuschalten, um einen definierten Steuerimpuls für die Servos garantieren zu können.

Wäre das praktikabel oder gibt es vielleicht eine einfachere Möglichkeit?

Danke für Eure Atworten,
Gruß,
Stefan

^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

2

Donnerstag, 24. September 2009, 13:26

Hallo Stefan,

Zitat

Für meine Anwendung ist das nicht akzeptabel, daher suche ich eine Möglichkeit, dieses Verhalten zu eliminieren.


Damit wirst Du leben müssen. Jedes Regelsystem hat eine Initialisierungsphase. Beim Servo muss zuerst der interne Impulsgenerator aufstarten. Ob nun ein Servoimpuls anliegt oder nicht spielt keine Rolle. Du kannst höchsten den Motor mittels geeignetem Schalter abtrennen. Dann muss aber das Poti genau auf der Referenzposition zum externen Impuls stehen, sonst zuckt es wieder.

Dass Deine Idee nicht funktioniert kannst Du eigentlcih daran sehen, dass es keinen Unterschied macht, ob Du nun das Servos am Empfänger anschliesst wenn eine Impuls anliegt oder nicht oder gar nur die Spannung ganz alleine anschliesst. Beides Mal zucken die Servos.

Gruss Bruno

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

3

Donnerstag, 24. September 2009, 13:33

Hallo Bruno,

danke für Deine Antwort. Wenn ich darüber nachdenke hast Du (leider) Recht.
Ich frage mich nur, warum das nicht Immer der Fall ist. Zumindest bei meinen älteren Empfängern ohne µC ist mir das Zucken noch nie aufgefallen.

Gruß,
Stefan

4

Donnerstag, 24. September 2009, 15:05

das Zucken der Servos kommt daher, dass im ersten Moment der Microcontroller selbst noch nicht initialisiert ist, die Resetroutine durchläuft und dann seine Ports setzt.

Analogempfänger sind da schneller unterwegs.

Du kannst ja mal die Signale am Ausgang mit dem Oszi anschauen. Ich denke, Du wirst sehen, dass der Puls direkt nach dem Anklemmen erstmal high sein wird (Ausgänge hochohmig, interner Pullup beim Servo). Und wenn die Initialisierungsphase abgeschlossen ist, wird er auf low gelegt... Solange dies im Bereich weniger Millisekunden bleibt, liest das Servo hieraus ein für sich gültiges Endanschlag-Signal.

Hardwaretechnisch lässt sich das ggf. durch einen Pulldown realisieren, der bis die Initialisierungsroutine abgelaufen ist, den Port auf einen für das Servo verträglichen Wert zieht.

^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

5

Donnerstag, 24. September 2009, 18:25

Hallo,

Es geht nicht nur um den Empfänger, auch das Servo alleine zuckt schon wenn man es mit Spannung versorgt.

Gruss Bruno

Space

RCLine User

Wohnort: Hasloh b. Hamburg

  • Nachricht senden

6

Donnerstag, 24. September 2009, 18:50

Zitat

Original von B. Eberle
Es geht nicht nur um den Empfänger, auch das Servo alleine zuckt schon wenn man es mit Spannung versorgt.
Eine Servo was teilweise bis Endanschlag läuft, wenn es Spannung aber kein Impuls bekommt, ist mir noch nie unter gekommen. Ich denke e-beaver hat recht, dass der Atmel beim Starten einen Impuls länger 2ms (= Endanschlag) erzeugt, bis der Pin das erste mal gecleart wird.
Optimieren kann man hier ggf., wenn gleich im Programm start/ablauf der Servopin ersteinmal auf 0 gesetzt wird.
Gruß

Thomas

^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

7

Donnerstag, 24. September 2009, 18:59

Hallo Space,

Lies doch bitte um was es geht und was Sven geschrieben hat. Dann sind solche Aussagen nicht nötig.

Zitat

Eine Servo was teilweise bis Endanschlag läuft, wenn es Spannung aber kein Impuls bekommt, ist mir noch nie unter gekommen.


Mir auch noch nie.

Gruss Bruno

8

Donnerstag, 24. September 2009, 19:49

Google, etc

http://www.opendcc.de/elektronik/opendec…r_sw_servo.html

"Beste Ergebnisse lassen sich mit Digitalservos erzielen - diese rucken auch nicht bei Einschalten. Futaba hat einen Artikel über die Vorteile eines Digitalservos veröffentlicht.

Einschaltruckeln

Analoge Servos zeigen oft beim Anlegen der Betriebsspannung ein Einschaltruckeln. "

Grüße
Malte

Space

RCLine User

Wohnort: Hasloh b. Hamburg

  • Nachricht senden

9

Donnerstag, 24. September 2009, 22:56

Zitat

Original von B. Eberle

Lies doch bitte um was es geht und was Sven geschrieben hat. Dann sind solche Aussagen nicht nötig.

Nicht zu verstehen, was du ausdrücken möchtest. ....wer heisst denn hier Sven in dem Thread ?
Gruß

Thomas

^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

10

Donnerstag, 24. September 2009, 23:03

Hallo,

Oh, sorry, ich meinte natürlich Stefan.

Gruss Bruno

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

11

Freitag, 25. September 2009, 07:50

Hallo zusammen,

zunächst mal danke an alle! :ok:

@e-beaver:

Zitat

das Zucken der Servos kommt daher, dass im ersten Moment der Microcontroller selbst noch nicht initialisiert ist, die Resetroutine durchläuft und dann seine Ports setzt.


Genau das habe ich mir auch gedacht. Mein Controller ist ein CRUMB168USB ( Mega168 ) mit 16MHz Quarz. Die Fuses habe ich sehr konserativ gesetzt, er wird so 80 - 100 ms benötigen bis er wirklich läuft. Deshalb auch der Gedanke die Servos erst nach anlaufen des Timers mit Spannung zu versorgen.

Zum testen habe ich 2 Simprop SES350. Die im endgültigen Projekt ( Modell eines Schubumkehrers TRENT 700 mit funktionsfähigen Pivotingdoors ) verwendeten Servos sind Hitec HS125MG zucken zum Glück nicht so stark.

@space:

Zitat

dass der Atmel beim Starten einen Impuls länger 2ms (= Endanschlag) erzeugt

Sollte der Port nicht nach setzen auf Ausgang standardmäßig auf LOW sein?

@Malte:
Danke für den Link, ist sehr interessant!

Ich werde einfach mal ein bisschen experimentieren, noch ist die Schaltung auf nem Breadboard.

Gruß,
Stefan

12

Freitag, 25. September 2009, 11:06

Zitat

Original von swessels
Sollte der Port nicht nach setzen auf Ausgang standardmäßig auf LOW sein?


aus dem Datenblatt (http://www.atmel.com/dyn/resources/prod_…nts/doc2545.pdf)
in Kapitel 13.2.1 Configuring the Pin steht:

Zitat

The port pins are tri-stated when reset condition becomes active, even if no clocks are running.


Zu diesem Zeitpunkt kannst Du machen was Du willst, solange der Prozessor nicht läuft, bleibt das so. Nach dem Konfigurieren als Ausgang (DDxn) kommt es darauf an, welcher Portzustand gesetzt ist (PORTxn), der ist nach dem Reset 0. Also geht der Port von Tristate auf Low und hier kommt es wie gesagt drauf an, was extern (auch im Servo) beschaltet ist.


Andere Frage: Wenn das Servo komplett unbeschaltet ist, also nur an + und an - ohne Signal angeschlossen ist, was macht es dann?

13

Freitag, 25. September 2009, 11:55

Zitat

Original von Space

Zitat

Original von B. Eberle
Es geht nicht nur um den Empfänger, auch das Servo alleine zuckt schon wenn man es mit Spannung versorgt.
Eine Servo was teilweise bis Endanschlag läuft, wenn es Spannung aber kein Impuls bekommt, ist mir noch nie unter gekommen.

Hat mich gerade ein Getriebe gekostet. Das HR Servo im MPX FOX. Ich habe (aus bestimmten Gründen) eingeschaltet ohne Sender, und schon sind die Servos Amok gelaufen.

RK

RudiRolf

RCLine User

Beruf: Mechaniker

  • Nachricht senden

14

Freitag, 25. September 2009, 12:31

Hallo
bist Du sicher dass deine Servos keinen Impuls bekommen haben wenn Du ohne Sender die Empfangsanlage einschaltest , zu früheren Zeiten hatten die Servos am Eingang noch einen Koppelkondensator der Gleichspannungsanteile vom IC ferngehalten hat aber heute ? wenn der Prozessor hochohmig ist könnte man ja extern einen Pulldown setzen
MfG
Rudi

15

Freitag, 25. September 2009, 12:37

Zitat

Original von RudiRolf
bist Du sicher dass deine Servos keinen Impuls bekommen haben wenn Du ohne Sender die Empfangsanlage einschaltest

Ich hab nicht gemessen, was der RX in dem Fall macht.

RK

^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

16

Freitag, 25. September 2009, 13:59

Hallo Reinhard,

Zitat

Ich habe (aus bestimmten Gründen) eingeschaltet ohne Sender, und schon sind die Servos Amok gelaufen.


Das kann man nicht ganz vergleichen. Es gibt immer noch Empfänger ohne Squelch und die geben ohne Empfangsignal wilde Impulsfolgen an die Ausgänge. Dies lässt die Servo's wild zittern und dann kann dabei schon mal ein Schaden entstehen.

@ Stefan

Du kannst allenfalls einmal probieren in die Impulsleitung einen Elko mit + gegen Empfänger von 2,2 uF zu schalten und am Servoimpulseingang einen pull down Widerstand von 10 KOhm schalten. Vielleicht hilft dies. Eventuell musst Du mit dem Widerstandswert etwas experimentieren.

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

17

Samstag, 26. September 2009, 09:51

Hallo zusammen,

@e-beaver:

Zitat

Wenn das Servo komplett unbeschaltet ist, also nur an + und an - ohne Signal angeschlossen ist, was macht es dann?

Es zuckt minimal immer in die selbe Richtung, also wird es irgendwann in den Endanschlag laufen. Getestet mit einem C577, die Hitecs und die SES 350 sind in Hamburg.

Zum Datenblatt: Ich hätte nochmal nachlesen sollen.... die Kapitel über die Ports habe ich länger nicht gelesen :nuts: . Ich gelobe Besserung.

@Bruno:
Den Kondensator und den Pulldown werde ich mal ausprobieren.

@alle:
Ich habe einfach mal verschiedene (analoge) Servos ohne Ipmpuls angeklemmt, zucken tun sie alle, mal mehr, mal weniger.

Gruß,
Stefan

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

18

Samstag, 26. September 2009, 23:47

Hallo,

die Initialisierung eines µCs läuft in wenigen µs ab; zumindest kann man die Programmierung so machen, daß die relevanten Programmsequenzen so schnell erledigt werden. Für mechanische Bewegungen ist das völlig irrelevant.

Wenn ein Servo nach dem Einschalten bis zum Anschlag läuft, dann sind dafür Ursachen verantwortlich, die 1 - 2 Größenordnungen länger andauern, und im Code ist irgendwas faul.

Beim Programmieren kommen solche Dinge in der Anfangsphase (wenn man nur das gewünschte Ziel im Auge hat) immer mal wieder vor. Aber (alte Weisheit...) man muß nicht nur an das denken und programmieren, was das Gerät tun soll, sondern auch das, was es nicht tun darf.

Eine Ferndiagnose ist imho nicht möglich. Meiner Meinung nach hilft da nur Fleißarbeit; d.h. mit Scope, Schaltplan und Programmlisting bewaffnet Schritt für Schritt den Code durchzusehen und vermutliche/mögliche Ursachen im Detail zu untersuchen. Signale an verschiedenen Stellen ansehen; wie sollen sie aussehen, wie dürfen sie nicht aussehen... "Rumprobieren" kann (durch Zufall) helfen; besser ist´s, sich in die Abläufe (quantitativ) reinzudenken.


Gruß,
Helmut

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »haschenk« (26. September 2009, 23:52)


^____

RCLine User

  • »^____« wurde gesperrt

Wohnort: anonymisiert

Beruf: anonymisiert

  • Nachricht senden

19

Sonntag, 27. September 2009, 00:06

Hallo,

ich glaube hier wird was falsch verstanden. Es ist nicht die Schaltung von Stefan welche das Problem darstellt, sondern der Servoverstärker. Auch er muss initialisieren, egal ob analog oder digital. In dieser Phase kommt es zu unerwünschten Bewegungen. Das Servo macht einen kleinen Ruck. Dass es in Anschlag läuft wurde nie geschrieben und ist auch nicht der Fall.

Gruss Bruno

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

20

Sonntag, 27. September 2009, 00:27

Hallo Bruno,

Zitat

ich baue gerade eine Schaltung, die 2 Servos über die Timer 1 Compare-Match Units eines ATMega 168 ansteuert. Beim einschalten der Spannungsversorgung zucken die servos kurz, teilweise bis zum Endanschlag.

Ich vermute das dieses Verhalten durch einen nicht vorhandenen Steuerinpuls beim einschalten verursacht wird.


Hab ich das wirklich falsch verstanden ?

Daß Servos beim Einschalten mehr oder weniger kurz zucken (oder auch garnicht), ist normal und dürfte Stefan bekannt sein.

Im Übrigen wäre es meine erste Maßnahme, das Verhalten des Servos für sich allein an einer bekannten, definierten Signalquelle zu untersuchen. In Varianten, z.B. nur Anlegen der Betriebsspannung ohne Impulssignal; mit Impulssignal mit einer zur Stellung passenden Impulslänge; mit einer davon abweichenden...

In meiner Aufzählung der "Waffen" hab ich noch das µC-Manual vergessen; rel. häufig kommt es z.B. vor, dass man beim schnellen Durchlesen wichtige Details übersieht.


Gruß,
Helmut

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »haschenk« (27. September 2009, 00:29)