Erhöhen der Arduino-PWM-Signalspannung von 5 V auf 10 V mit einem Transistor

Ich habe eine VEX 29-Motorsteuerung (u1 im Schaltplan), die ein PWM-Signal als Eingang verwendet, um einen Gleichstrommotor vorwärts oder rückwärts (mit unterschiedlicher Geschwindigkeit) anzutreiben. Leider ist VEX nicht sehr großzügig mit Informationen über seine Elektronik. Ich habe es geschafft, diesen Controller mit 5 V von einem Arduino-PWM-Pin zu betreiben. Aber die Motorsteuerung sollte in der Lage sein, mit höheren Spannungen als 5 V zu laufen, was auch die Motordrehzahl erhöhen würde. Daher möchte ich den Motorcontroller stattdessen mit 10 V betreiben, wobei das PWM-Eingangssignal 0 V-10 V betragen muss. Wie kann ich das Arduino-5-V-PWM-Signal verstärken, um ein 10-V-PWM-Signal zu werden?

Ich dachte daran, einen normalen NPN-Bipolartransistor zu verwenden, um die 10-V-Spannung mit der Frequenz des PWM-Signals ein- und auszuschalten und das 5-V-PWM-Signal in ein 10-V-PWM-Signal umzuwandeln. Ist das möglich? Und wenn ja, welche Art von Parametern brauche ich, um den richtigen Transistor auszuwählen (ich habe eine Tüte mit verschiedenen NPN- und PNP-Transistoren herumliegen)? Mein Motorcontroller nimmt nur etwa 10 Mikroampere oder etwas vom PWM-Pin auf, wenn er direkt an das Arduino angeschlossen ist (also bei 5 V).Schaltplan für Arduino/Motorsteuerung aktualisiert

Die meisten Motorsteuerungen werden durch Logikpegelsignale gesteuert und benötigen keine PWM-Spannung gleich der Motorversorgungsspannung. Welche Motorsteuerung verwendest du? Hast du einen Schaltplan dazu? Übrigens gibt es in Ihrem Fritzing-Schema keine gemeinsame Masse zwischen dem Arduino und der Motorsteuerung, und die 10-V-Versorgung ist mit umgekehrter Polarität an die Steuerung angeschlossen. Mit Nachlässigkeit kommt man in der Elektronik nicht weit - bitte korrigiert diese Fehler!
Ich habe gerade die Frage mit Informationen zum Controller bearbeitet und den Schaltplan aktualisiert. Glaubst du, ich muss die PWM-Spannung nicht erhöhen? Ein 5-V-Spannungspegel vom Arduino könnte also funktionieren, selbst wenn der Controller selbst mit 10 V versorgt wird? Ich denke, intern in der Motorsteuerung könnte der PIC µC tatsächlich mit einer viel niedrigeren Spannung laufen? Ich werde das überprüfen und auch die Lösung von @Çetin Köktürk.
@BruceAbbott du hast recht, ich muss die PWM-Spannung überhaupt nicht anpassen.
Mit der Platzierung Ihres Transistors erhält der PWM-Eingang am Controller immer noch nur etwa 5 V. Der Transistor leitet nur, wenn die Basisspannung höher ist als die Emitterspannung, die den Emitter auf etwas unter 5 V begrenzt. Suchen Sie nach Source Follower, um mehr zu erfahren. Aber wirklich würde ich zuerst versuchen, den Controller mit 10 V und den PWM-Pin mit 5 V zu versorgen. Sie werden überrascht sein, dass der Controller gut funktioniert.

Antworten (2)

Wie Bruce sagte, reichen normalerweise 5 Volt aus, um den Motortreiber zu steuern . Aber aus irgendeinem Grund, wenn Sie 10 Volt benötigen, und da dies eine einfache Schaltanwendung ist, sollte jeder Transistor funktionieren. Du solltest das tun:

[TOTE VERBINDUNG]

Der Wert des Widerstands beeinflusst den fließenden Strom und die Bandbreite.

ps wird die Modulation mit dieser Konfiguration invertiert, was bedeutet, dass Sie mehr Leistung mit weniger Impulsbreite und weniger Leistung mit mehr liefern. Sie müssen die PWM-Länge über die Software ändern.

Dadurch wird auch das Signal invertiert (dh der Eingang kann ein Tastverhältnis von 20 % haben, und der Ausgang hat ein Tastverhältnis von 80 %).
Ich habe immer noch ein bisschen Probleme, Transistoren sehr gut zu verstehen (obwohl ich sie ein paar Mal gelesen habe). Da ein BJT stromgesteuert ist, muss ich wohl sicherstellen, dass der Strom in die Basis hoch genug ist, um den Transistor vollständig zu öffnen, richtig (nicht im linearen Bereich)? Das wird also durch den 100-Ohm-Widerstand gesteuert. Welchen Strom meinst du mit "dem" fließenden Strom wird durch den anderen Transistor gesteuert. In den PWM-Ausgang? Welche Bandbreite meinst du? Der PWM-Spannungspegel oder Strom in PWM? Ich gehe auch davon aus, dass der Emitter des BJT mit GND verbunden ist, oder?
@DolfAndringa ja, Sie haben richtig geraten, und dieser Betriebsmodus wird als Sättigungsbereich bezeichnet. Meistens ist dies jedoch kein Problem, das Vorspannen im Sättigungsmodus ist ziemlich einfach, Sie müssen nur sicherstellen, dass genügend Strom durch den Basis-Emitter fließt. Der Basiswiderstand bestimmt diesen Strom. Übrigens möchten Sie vielleicht den Widerstandswert auf etwa 300 Ohm erhöhen, da ein 100-Ohm-Widerstand dazu führt, dass sich der Basisstrom (den Arduino liefert) dem Maximum nähert. Stromstärke eines Arduino-Pins. Und ja, ich meinte den Kollektorstrom.
Ich meinte beide Werte, als ich von Bandbreite sprach. Je höher der Widerstandswert, desto langsamer ändert das PWM-Signal die Pegel, was weniger Hochfrequenzkomponenten bedeutet. Übrigens werde ich heute den Widerstandswert bearbeiten.
@ÇetinKöktürk Du hast Recht, dass ich die PWM-Spannung überhaupt nicht anpassen muss. Ich kann es einfach auf 5 V halten und die Versorgungsspannung erhöhen. Ich denke, der PIC läuft intern mit einer viel niedrigeren Spannung als der Versorgungsspannung und sieht 5 V unabhängig von der Versorgungsspannung als hoch an.
@DolfAndringa Motortreiber verwenden normalerweise eine sogenannte "H-Brücke", die einfach Transistoren verwendet, um mehr Leistung an den Motor zu liefern und die Drehrichtung des Motors zu steuern. 5 Volt können die Basis- / Gate-Spannung seiner Transistoren sein.
Das ist glaube ich nicht, oder zumindest nicht nur eine H-Brücke. Ich habe irgendwo gelesen, dass dieser einen PIC µC enthält. Ich möchte aber nicht riskieren, es zu zerbrechen, indem ich es öffne.
@ÇetinKöktürk - Der Link zum Schaltplan in Ihrer Antwort ist jetzt tot. Bitte können Sie den Schaltplan erneut direkt in StackExchange hochladen (bearbeiten Sie Ihre Antwort und verwenden Sie Strg + G). Danke.

Ihr Schaltplan kann nicht funktionieren, da die Masse der MCU nicht mit der Masse der Motorsteuerung verbunden ist. Aus diesem Grund kann kein Strom vom MCU-Pin in fließen Q1.

Außerdem V2ist rückwärts angeschlossen: Minuspol an Vin+und Pluspol an Vin-.

Diese Probleme müssen gelöst werden, bevor eine Analyse der PWM-Signalamplitude durchgeführt werden kann. Momentan haben Sie einfach kein PWM-Signal.

Du hast recht, ich habe den Schaltplan korrigiert. Ich wusste das tatsächlich und war nur schlampig, wie @Bruce Abbot vermutete.