Schaltung für PWM Ausgang

OP #5325125
Lesenswert?

Hallo Experten,

ich habe einen Teensy 3.2, der am PWM Ausgang 3,4 V bringt.
Nun möchte ich einen Servo anschließen, der aber 5 V PWM Spanung möchte, 
Frequenz 100 Hz. Eine Externe Spannungsquelle liefert 5 VDC für den 
Teensy. Für die Schaltung Brauche ich eine NPN Transistor, einen 
Basiswiderstand, der den PWM Ausgang mit der Basis des Transitors 
verbindet. Leider hört hier mein Elektronik Wissen auf. Der 5V Ausgang 
sollte gegenüber dem PWM Ausgang nicht invertiert sein. Könntet ihr mir 
bitte bei der Auslegung der Widerstände und Schaltung helfen? Ist 
wahrscheinlich für Euch ein Klacks.

lg Frank
#5325176
Lesenswert?

Frank K. schrieb:
> ich habe einen Teensy 3.2, der am PWM Ausgang 3,4 V bringt.
> Nun möchte ich einen Servo anschließen, der aber 5 V PWM Spanung möchte,

Erstmal würde ich in Frage stellen, ob das Servo überhaupt 5V am 
Signaleingang braucht - nur, weil es mit 5V versorgt wird, heißt das ja 
nicht, daß der Signaleingang für "High" auch auf 5V gehen muss. Die 
üblichen (Modellbau-)Servos sind mit TTL-Pegeln glücklich - da genügt >= 
2.4 Volt als High-Pegel.

Sonst braucht man einen NPN-Transistor und zwei Widerstände (z.B. je 4,7 
kOhm): einen zwischen Basis des Transistors und +3,3V 
Versorgungsspannung, Emitter wird direkt an den Teensy-Ausgang 
geschaltet, und zwischen Kollektor und +5V kommt der andere Widerstand. 
Am Kollektor liegt dann das Servo-Signal (0 und 5V) an.
OP #5325246
Lesenswert?

Hab die Schaltung von Thomas mal so zusammen gelötet, als Transistor 
einen BC 560 genommen. Statt den Servo habe ich nur einen Oszi dran, der 
Pegel Vrms ist nun 4,11 V aber der Pegel wird nicht mehr auf 0 sondern 
3,9 gezogen. Liegt das daran, dass der Oszi zu hochohmig ist und ich 
daher eine Last parallel zu Oszi brauche? Wie groß müßte der Widerstand 
sein?

Die FET Variant ist interesant, falls das mit dem Bipolaren Transistor 
nicht geht, werde ich diese dann ausprobieren.

lg Frank
OP #5325621
Lesenswert?

So, nun muß ich trotzdem noch mal fragen. Der Servo ist nämlich ein 
ziemlich cleveres Kerlchen:

Am Steueranschluss legt er aller 2 sec. 12 V an. Das Motor Steuergerät 
(ECU) scheint damit zu überprüfen, ob der Motor angeschlossen ist. Das 
wäre ein interesantes Feature für mich, indem ich das Signal über einen 
Spannungsteiler auf einen Eingang des Teensy lege und auswerte. Aber das 
ist der 2. Schritt.

Der Drehwinkel des Servos wird gesteuert wie folgt:
ein Zylkus dauert 10 ms (also 100 Hz).
Auf-Stellung: 9 ms auf Masse
Zu-Stellung: 1 ms auf Masse

Nun ist mein Schaltplan ja völlig falsch, da ich an den Setueranschluss 
5 V triggere. Außerdem müßte ich meine Schaltung mit einer Diode vor der 
12 V Kontrollspannung schützen.

Wie müßte ich nun die Schaltung mit dem Transitor bauen?
OP #5325765
Lesenswert?

Hab das nun so gemacht, das Steuerkabel wird für 1 ms auf Masse gezogen 
und für 9 ms offen gelassen. Nach 3 Sekunden für 9 ms auf Masse und dann 
für 1 ms offen gelassen. Der Transistor zieht, wenn die 12 V vom Servo 
kommen sauber auf 210 mV herunter. Leider macht außer einem Selbsttest 
der Motor nichts :-(
Im Oszi sieht's sauber aus, auch die Zeiten stimmen.

Das PWM Signal erzeuge ich mit "analogWrite(9, 26);" Im Setup habe ich 
die PWM Frequenz auf 100 Hz gesetzt: "analogWriteFrequency(9, 100);"

Macht es für den Servo ein Unterschied, ob ob erst 1 ms high und dann 9 
ms LOW oder erst 9 ms LOW und dann 1 ms hight kommt? Falls ja, wie kann 
ich im Sketch das dann umkehren?

lg Frank
#5326556
Lesenswert?

Frank K. schrieb:
> Wenn ich nun am Ausgang mein PWM Signal mit 12 V möchte, reicht es statt
> 5V nun 12V anzulegen

Ja, das reicht. Da bei dieser Schaltung der Low-Ausgangsstrom auch über 
den Teensy-Ausgang fließt, muß man das bei der Dimensionierung beachten. 
Kenne jetzt die Spezifikation des Teensys nicht, aber hier fließen ca. 3 
mA (ca. 2,5 mA durch den Pull-Up Widerstand an 12V, plus 0,5 mA durch 
den Basis-Widerstand), was der Teensy vermutlich problemlos kann. Hinzu 
kommt ggf. noch ein unbekannter Strom durch den Eingang des Servos - 
evtl. hat das ja auch schon einen Pull-Up Widerstand eingebaut und man 
könnte auf den externen R verzichten. In dem Zusammenhang wäre 
interessant, wie die Sache mit dem Keep-Alive funktioniert - d.h. wie 
wird auf 12V gezogen? Vermutlich auch über einen Widerstand, sonst 
könnte der Teensy das ja nicht auf 200 mV herunterziehen, wie Du oben 
schreibst. Also evtl. schaltet das Servo seinen internen Pull-Up 
Widerstand zwischen 5V und 12V, das wäre ja logisch, um einerseits durch 
Ziehen auf Masse ein Steuersignal anzulegen, und andererseits durch 
Messen der Spannung bzw. Messen des Stroms bei Low die Rückmeldung vom 
Servo zu haben, daß es noch da ist.

Frank K. schrieb:
> eigentlich doch am Teensy Ausgang einen 4,7k an die Basis des
> Transistors, Kollektor auf das Steuerkabel und Emitter auf Masse?

Aber dann wäre das Ausgangssignal invertiert!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren