Forum: Mikrocontroller und Digitale Elektronik Komisches Verhalten bei Modellbauservoansteuerung


von Thomas W. (thomas0906)


Lesenswert?

Hallo

Ich habe eine Servosteuerung programmiert.

Ich habe nun das Signal am Oszi angesehen.
Bei einigen Servos ist es ok.

An der Software kann es also nicht liegen.
Die Zeiten sind auch ok. Die Flanken steil. Kein Jitter (hoffe ich).

Aber bei anderen Servos (mal mehr, mal weniger) bricht die Spannung 
etwas ein und nach der negativen Flanke des 1-2ms Impulses geht sie um 
einige mV nochmal kurz hoch für ca. 5ms dann fällt sie abrupt auf GND, 
wo sie auch sein sollte. Dadurch brummen diese Servos und ziehen viel 
Strom.

Ich habe die 10k Pulldown Widerstände gegen GND drin.
(ob es an denen liegt, dass sich da nochmal kurz ne Spannung aufbaut?)
Die Spannungsversorgung ist stabil.

Woran kann DAS denn bloß liegen?
Hat jemand eine Idee wo ich suchen soll?

Gruß
Thomas

von ServoMan (Gast)


Lesenswert?

Thomas W. schrieb:
> An der Software kann es also nicht liegen.

Dann zeig mal her den Schaltplan!

von Timmo H. (masterfx)


Lesenswert?

Und vielleicht noch den Quellcode

von Genervt (Gast)


Lesenswert?

Und das Oszillogramm

von Thomas W. (thomas0906)


Lesenswert?

:-)

Hab ich befürchtet.
Das dauert aber etwas...

Vorher versuche ich es mal zu beschreiben.
Glaube nicht, daß es an der Software liegt.

Also:
Mein PIC 18F2620 sendet am CCP Ausgang immer den gleichen Impuls mit 
1,5ms Länge und 20ms Abstand.
Darauf folgt 1/4 4011N NAND Gatter. Das wird immer für 4ms auf Durchlaß 
geschaltet.
Darauf folgt ein 1k Widerstand, der auf die Basis eines BC327 geht.
Der Transistor schaltet dann ganz einfach 5V auf den Signaleingang des 
Servos. Am Signaleingang hängt ein 10k Widerstand gegen GND, der den 
Pegel runterziehen soll, wenn kein Signal anliegt.

Versorgt wird das Ganze über ein Laptop Netzteil 14V, auf einen 7805, 
der normal verschaltet ist mit 470uF am Eingang und 2x100nF am Ausgang.

Mehr ist da nicht.

Und ich weiß nicht mehr was ich noch testen soll.
Die Servos, die nicht gehen laufen an einem Servotester einwandfrei.
Andere Servos haben dieses Verhalten nicht und keinen Spannungseinbruch 
und eine saubere Kurve/Impulse.

Jetzt versuch ich mal Fotos vom Oszi zu machen...

Bis dann.
Thomas

von STK500-Besitzer (Gast)


Lesenswert?

Thomas W. schrieb:
> Mein PIC 18F2620 sendet am CCP Ausgang immer den gleichen Impuls mit
> 1,5ms Länge und 20ms Abstand.
> Darauf folgt 1/4 4011N NAND Gatter. Das wird immer für 4ms auf Durchlaß
> geschaltet.
> Darauf folgt ein 1k Widerstand, der auf die Basis eines BC327 geht.
> Der Transistor schaltet dann ganz einfach 5V auf den Signaleingang des
> Servos.

Wozu den ganzen Schmökes?
Kann dein Pic keine 5V liefern?

von Ulli B. (ulli-b)


Lesenswert?

Wozu den Transistor?
Schliess den Servo doch einfach direkt an.
Aber daran wird es wohl eher nicht liegen.

Viel eher: Die Servos ziehen zu viel Strom und deine Spannunsversorgung 
bricht zusammen.
Gönne den 5 Volt mal probeweise einen dicken Kondensator, 3300µF oder 
so.

Gruß
Ulli B

von Ulli B. (ulli-b)


Lesenswert?

STK500-Besitzer schrieb:
>> Darauf folgt 1/4 4011N NAND Gatter. Das wird immer für 4ms auf Durchlaß
>> geschaltet.

uups. Habe ich grade erst gelesen.
Wird da etwas gemultiplext ?

von Thomas W. (thomas0906)


Lesenswert?

Weil ich 4 Servos gleichzeitig an dem Ausgang betreiben will und die 
alle nacheinander auf den Impuls geschaltet werden sollen. Das hab ich 
aber erstmal abgeschaltet und nur den ersten angeschlossen.

Gruß
Thomas

von Thomas W. (thomas0906)


Lesenswert?

Ulli B. schrieb:
> Wozu den Transistor?
> Schliess den Servo doch einfach direkt an.
> Aber daran wird es wohl eher nicht liegen.
>
> Viel eher: Die Servos ziehen zu viel Strom und deine Spannunsversorgung
> bricht zusammen.
> Gönne den 5 Volt mal probeweise einen dicken Kondensator, 3300µF oder
> so.
>
> Gruß
> Ulli B

Aber ich habe eine flinke 1A Sicherung drin.
Denke nicht, daß die Servos im quasi Stillstand (immer Mittenimpuls) 
soviel Strom ziehen. Und bei unter 1A bricht der 7805 doch nicht ein?
Das Servo zieht so viel Strom, weil da nach dem Impuls noch Dreck kommt, 
und es das auszuregeln versucht, denke ich. Aber wo kommt der her?

Gruß
Thomas

von Gelöscht (kami89)


Lesenswert?

Hast du auch ca. 20ms Pausenzeit drin?
Taucht das Problem vielleicht nur bei analogen Servos auf, nur bei 
digitalen oder bei beiden Typen?

von Karl H. (kbuchegg)


Lesenswert?

Thomas W. schrieb:

> soviel Strom ziehen. Und bei unter 1A bricht der 7805 doch nicht ein?

Wenn du ihm mit 14V kommst. Das geht dann schon schnell, dass der 
abschaltet.

> Das Servo zieht so viel Strom, weil da nach dem Impuls noch Dreck kommt,
> und es das auszuregeln versucht, denke ich. Aber wo kommt der her?

Wirf doch mal deinen ganzen Klimmbimm zwischen PIC Ausgang und 
Servoeingang probehalber raus.

von Thomas W. (thomas0906)


Angehängte Dateien:

Lesenswert?

So hier die Fotos.

Das eine Foto zeigt ein Servo, wo es funktioniert (Conrad S05)
Das andere Foto den Fehler (Graupner S261)


Aber jetzt kommts:
Ich habe statt des Servos mal die Spannungsversorgungsbuchsen eines 
Conrad Servotesters angschlossen. :-) Impulsausgang offen gelassen.
Ein am Tester angeschlossenes Problemservo läuft eigentlich normal. wird 
ja dann von der gleichen Spannungsversorgung wie der Decoder versorgt.
Aber in manchen Stellungen, nicht reroduzierbar, fängt es genau so an zu 
ruckeln wie am Ausgang des PIC.
Also kann es ja nur irgendwie mit der Versorgung zu tun haben?!?

Was kann ich denn da noch machen?

Gruß
Thomas

von Thomas W. (thomas0906)


Angehängte Dateien:

Lesenswert?

Versorgung:

von STK500-Besitzer (Gast)


Lesenswert?

Miss doch mal parallel zum Impuls die Versorgungsspannung (hinterm 
7805).
Ich vermute, dass dein Servo etwas mehr Strom als die anderen zieht, was 
den 7805 in die Knie zwingt.

von Der große Zampano (Gast)


Lesenswert?

Wieso ist am Fehlerservo eine größere Amplitude? Fehlt da irgendwo 
intern ein Pullup-, bzw. Pulldown-Widerstand?

von Thomas W. (thomas0906)


Lesenswert?

Neeee, da hab ich nur ne andere Auflösung eingestellt, damit man den 
Fehler besser sieht :-)

Gruß
Thomas

von Gelöscht (kami89)


Lesenswert?

Thomas W. schrieb:
> Versorgung:

Mach mal noch etwa 220uF hinter den 7805, die beiden 100nF bringen bei 
höheren Impulsströmen nicht mehr viel.

von Thomas W. (thomas0906)


Lesenswert?

Urban B. schrieb:
> Thomas W. schrieb:
>> Versorgung:
>
> Mach mal noch etwa 220uF hinter den 7805, die beiden 100nF bringen bei
> höheren Impulsströmen nicht mehr viel.

Ich befürchte fast, daß es sowas wie LOADDUMPS sind.
Könnte das sein?
Vielleicht einen Keramik 47uF gegen Masse an der +5V des Servos.
Aber habe ich leider nicht da...
Vielleicht auch mal statt Laptop Netzteil nur 7-9V Netzteil.
Hab ich aber auch nicht da...
Hmmm

Gruß
Thomas

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Thomas W. schrieb:
> Dadurch brummen diese Servos und ziehen viel Strom.

Das umgekehrte ist richtig, weil die Servos Brummen ziehen Sie Strom.

Versuch mal die Position um ein zwei Grad zu verändern, dann ist das 
brummen vermute ich mal weg.

von Ulli B. (ulli-b)


Lesenswert?

Hast du denn nicht IRGENDEINEN KOndensator an 220µF im Haus ?
Der Wert ist ja erst einmal egal, hauptsache recht gross.
Ist auf den Conrad-Servotester denn keiner drauf ?

...Ulli B

von Gelöscht (kami89)


Lesenswert?

Thomas W. schrieb:
> Urban B. schrieb:
>> Thomas W. schrieb:
>>> Versorgung:
>>
>> Mach mal noch etwa 220uF hinter den 7805, die beiden 100nF bringen bei
>> höheren Impulsströmen nicht mehr viel.
>
> Ich befürchte fast, daß es sowas wie LOADDUMPS sind.
> Könnte das sein?
> Vielleicht einen Keramik 47uF gegen Masse an der +5V des Servos.
> Aber habe ich leider nicht da...
> Vielleicht auch mal statt Laptop Netzteil nur 7-9V Netzteil.
> Hab ich aber auch nicht da...
> Hmmm
>
> Gruß
> Thomas

Hast du keinen einzigen Elko da? Dann bestell dir halt einen. Ich würde 
220uF an den 7805 Ausgang machen. Und zum Schutz vom 7805 besser noch 
eine Diode vom Ausgang zum Eingang (Damit sich die 5V beim Ausschalten 
der Versorgung entladen können).

Da du aber ja ein Oszi hast, wiso misst du nicht mal die Spannung auf 
der 5V-Leitung?

EDIT: Ulli war schneller...:-)

von Ulli B. (ulli-b)


Lesenswert?

Thomas W. schrieb:
> Das Servo zieht so viel Strom, weil da nach dem Impuls noch Dreck kommt,
> und es das auszuregeln versucht, denke ich. Aber wo kommt der her?

Das was auf dem Oszi-Bild zu sehen ist sieht der Servo eher nicht als 
Impuls. Den negativen Impuls sowieso nicht und das kurze Stück knapp 
über Null wohl auch nicht.
Sieht der Impuls bei den "Problemservos" bei jedem Impuls so aus oder 
nur sporadisch?

... Ulli B

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Urban B. schrieb:
> Hast du keinen einzigen Elko da?

Braucht doch nur ne Batterie, Servos arbeiten von 6V bis runter zu 
3V.Die Servo Stromversorgung kann er auch extra auf die Batt. legen. 
Geht auch.

Aber das ist nicht das Problem.
Das Oszillogramm ist ok. Das bisschen Verzerrung kümmert ihn nicht sonst 
würde es in fast keinem Modell laufen.

Es gibt nun mal Servos die auf einigen Positionen brummen, n bisschen an 
der PWM drehen und schon ist es weg.

von Thomas W. (thomas0906)


Lesenswert?

Also:

Elkos zwischen +5V und GND bringen keine Veränderung.
Hab es mit 1uF, 470uF und 1000uF probiert.
Hab ich noch irgendwo gefunden.

Das Servo (alles Analogservos) brummt nicht, sondern arbeitet knallhart 
immer um die eingestellte Position herum, egal welche Pulslänge ich 
einstelle. Wobei diese aber konstant bleibt.
Ja, es tritt bei JEDEM Impuls alle 20ms auf.
Morgen werde ich statt des 7805 mal ein 5V/2A Schaltnetzteil 
anschließen.

Die Servos funktionieren alle an einer Fernsteuerung problemlos.

Gruß
Thomas

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Thomas W. schrieb:
> Die Servos funktionieren alle an einer Fernsteuerung problemlos.

Dann liegt es vielleicht an deiner Software. Die Graupner Servos sind 
vermutlich schneller als die anderen und flattern wenn dein PWM nicht 
stabil ist.


Vorschlag:
Servos an die Spannungsversorgung der Fernbedienung, das Signal von 
deinem Prozessor (Gemeinsamer GND)

Wenn es mit den Fernsteuersignal nicht brummt aber mit deinem 
Prozessorsignal ist der Fehler doch schon ganz gut eingegrenzt.

von Thomas W. (thomas0906)


Lesenswert?

Wenn es doch an der Software liegt, dann müßte der Compare Mode des PIC 
18F2620 nicht richtig funktionieren oder der interne 8MHz Takt nicht 
stabil sein.

Denn dort wird nichts anderes gemacht, als ein Timer mit einem immer 
gleichen Wert geladen und wenn der abgelaufen ist, setzt ein Interrupt 
den Ausgang wieder auf GND.

Alles andere habe ich deaktiviert.

Keine Ahnung, was da nicht stabil sein sollte?
Sieht man auch nichts von am Oszi.

Gruß
Thomas

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Thomas W. schrieb:
> Keine Ahnung, was da nicht stabil sein sollte?
> Sieht man auch nichts von am Oszi.

Eine akademische Diskussion. Probiere es aus und dann weißt du
schon mal die Richtung aus der dein Fehler kommt.

Am Oszi kann man auch nicht alles sehen. Fehlende Pulse z.B. können wg. 
Trigger nicht dargestellt werden..

von Thomas W. (thomas0906)


Lesenswert?

Hallo

Danke für die Tips.
Aber ich habe eben den Fehler gefunden nachdem ich 2 Tage gesucht habe.
Es liegt an den 10k Widerständen gegen Masse, die als Pulldown am 
Servosignal sitzen. Habe ich von jemandem übernommen, der meinte daß die 
dann beiu abgeschaltetem Puls nicht in der Luft hängen.
Da wäre ich jetzt als letzte Möglichkeit draufgekommen, da ich sie als 
SMD eingelötet hatte auch zuletzt geprüft.
Jetzt habe ich sie entfernt und alle Servos schnurren wie Kätzchen.
Sogar besser, als an der original SAnD4 Platine.
Der "Dreck" am Servosignal kommt vom Servo und lässt sich irgendwie 
nicht erklären. Der ist immer noch da, stört aber nicht.
Der Strom ist auch nicht mehr erhöht.

Gruß
Thomas

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.