Aufbau eines Spannungsumschalters für eine H-Brücke mit Bipolartransistoren

Ich versuche, eine H-Brücke mit Bipolartransistoren zu bauen, und es fällt mir wirklich schwer, herauszufinden, wie ich die Eingangslogik zusammenstellen soll. Ich verwende ein Intel Galileo, um die PWM-Steuerung zu handhaben. Die Schaltung arbeitet mit festen Eingängen, aber das eigentliche Problem ist hier das Umschalten zwischen zwei Spannungen (27 V und 0 V) ​​basierend auf dem digitalen Ausgang des Galileo (5 V/0 V). Hier ist die Skizze: skizzierenDie rechte Seite der Brücke ist auf 27 V fixiert und ich versuche, mit diesem Transistor 0 V als Spannung auf der anderen Seite einzustellen. Ich habe viele verschiedene Möglichkeiten ausprobiert, dies zu verdrahten, und hatte bisher kein Glück.

Ich verwende vier Controller-Pins, um eine Brücke anzusteuern und alle vier Quadranten unabhängig voneinander zu steuern.

Antworten (1)

Sie haben mehrere Probleme.

Q21 ist der falsche Weg, um Q1 zu steuern, vorausgesetzt, die 5-V-Steuerung vom Gallileo
Q21 sollte Q2 nicht steuern, Sie benötigen einen anderen Transistor oder
Q21/R34 ist die falsche Konfiguration, um Q2 auszuschalten, R34 wird von R28 "überwunden".

Was Sie zu tun versuchen, ist schwieriger als es aussieht, weshalb es so viele vorgefertigte H-Brückenlösungen gibt.

Versuchen Sie ...
a) zu lernen, wie man H-Brücken baut, oder
b) versuchen Sie, etwas zum Laufen zu bringen, um eine Last von Ihrem Gallileo zu fahren?

Wenn (b), dann würde ich Ihnen dringend empfehlen, einen H-Brückentreiber oder ein Paar Halbbrückentreiber zu kaufen. Ihr bisheriger Versuch zeigt ein tiefes Missverständnis dessen, was erforderlich ist.

Wenn (a), dann gibt es mehrere Möglichkeiten, dies zu tun.

Sie können BJTs verwenden, aber FETs sind etwas einfacher zu fahren.

Betrachten Sie Folgendes für die linke Seite Ihrer Schaltung. Bitte beachten Sie, dass dies eine Skizze ist, bei der zumindest die Logik funktioniert und die Ebenen plausibel sind. Die Widerstandswerte könnten etwas angepasst werden, insbesondere wenn die Last und die Transistortypen definiert wurden. Es wäre für die statische Steuerung von bidirektionaler Leistung zu einer Last geeignet. Ich habe mir das Timing nicht angesehen, das Durchschießen wird mit ziemlicher Sicherheit ein Problem sein.

Wenn Sie PWM verwenden möchten, führt jedes übermäßige Durchschießen zu großen Verlusten und sollte behoben werden. Die Hauptschalttransistoren arbeiten in Sättigung und müssen hart ausgeschaltet werden, um das Timing zu steuern. Möglicherweise müssen Sie Beschleunigungskondensatoren und -dioden hinzufügen sowie die Widerstandswerte anpassen, um ein gutes Ergebnis zu erzielen. Wenn Sie nicht wissen, wovon ich hier spreche, und/oder Sie kein Oszilloskop haben, um zu sehen, was passiert, dann bedeutet das wirklich, dass Sie kaufen sollten, anstatt zu bauen, zumindest für etwas so Kompliziertes. Vielleicht ist ein besserer Weg, um Shoot-Through zu kontrollieren, Q21 zu duplizieren, wie ich in den „Dingen, die damit nicht in Ordnung sind“ erwähnt habe, und jedes Ausgabegerät unabhängig zu steuern. Dann können Sie das Timing auf der Ebene des Logiktreibers implementieren, um die Leitung des Leistungsgeräts zu überlappen.

Vergessen Sie keine Lastfangdioden, wenn Ihre Last wie ein Motor induktiv ist. Sie sind kostenlos, wenn Sie übrigens FETs verwenden.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Ich habe, wo zutreffend, dieselben Referenzbezeichnungen verwendet und sie als 1xx geschrieben, wo sie mit xx verwandt sind.

Die Widerstände R128 und R129 verringern nun die Basisansteuerung zu den Ausgangstransistoren, was bedeutet, dass sie vollständig abschalten können.

Q121 verstärkt den +ve-Stromausgang von R34, was bedeutet, dass es Q2 vollständig ausschalten kann, selbst wenn es von R28 geladen wird. D1 ist erforderlich, damit R34 Q121 einschalten kann. Dies ist eine ziemlich standardmäßige Anordnung, um einen niederohmigen Antrieb in beide Richtungen zu erhalten.

Sie fragten: "Wenn Sie PWM beabsichtigen?" Und das OP plant definitiv, dies zu tun. Er schrieb: "Ich benutze ein Intel Galileo, um die PWM-Steuerung zu handhaben."
@jonk gut entdeckt, behoben.
Noch ein Detail, das interessant sein könnte. Die E/A-Pins des Intel Galileo sind SCHRECKLICH LANGSAM! Siehe: drdobbs.com/embedded-systems/… wo er über einen 400-MHz-Prozessor spricht, der nur E/A-Raten von etwa 250 Hz verwaltet und nichts anderes tut, als Pins umzuschalten. Angesichts dessen müssen Sie sich möglicherweise nicht so viele Gedanken über Beschleunigungen machen. ;)
@jonk Ich wette, ihre Pins sind schnell, wenn Sie sie am Bare Metal programmieren. Wenn Sie eine Arduino-Emulation durch ein Nicht-Echtzeit-Betriebssystem schieben, bevor es an die Pins gelangt, habe ich überhaupt kein Problem damit, 250 Hz zu glauben.
Nein. Ich habe den genauen Grund vergessen, aber es ist tatsächlich eine HARDWARE-Beschränkung. Ich glaube, sie haben einen langsam getakteten seriellen Datenpfad zwischen dem 400-MHz-Prozessor und den IO-Pins verwendet. Etwas in der Art, soweit ich mich erinnere. Ich erinnere mich, dass nichts dagegen getan werden konnte. Soweit ich mich an das Problem erinnere, liegt es nicht am Betriebssystem. Eine wirklich dumme Sache.
Fand es. "Die GPIOs auf dem Galileo werden durch den Cypress CY8C9540A-Chip geleitet, was die Leistung dieser Pins drastisch verlangsamt." Es gibt jedoch zwei I/O-Pins, die dieser Beschränkung entgehen. Die "Gen 2" ist besser. Vielleicht verwendet das OP das.
Ich würde wahrscheinlich vier Dioden zu den Schienen hinzufügen, über die v C E jedes BJT. Der Motor ist ein Induktor. (Und ich möchte eine unabhängige Kontrolle über jeden BJT. Aber das ist eine andere Geschichte.)
@jonk Ich hatte einmal einen TI99/4-Computer für meine Sünden. IIRC, es war alles Video-RAM und Hardware-Videocontroller, und das Programm stahl einen Teil davon über eine langsame serielle Verbindung, sodass sich Sprites in Echtzeit bewegten, und es dauerte 2 ms, um ein paar Ganzzahlen hinzuzufügen. Bizarr.
Ich glaube, so einen habe ich hier noch in einer Kiste. Ich habe zufällig zwei der Intel Galileo-Systeme hier, weshalb ich eine Reaktion hatte. Ich verwende das Odroid, ein 1,5-GHz-Quad-Core-Board mit integriertem Gigabit-Ethernet und 4k-HDMI zum halben Preis eines neuen Galileo der 2. Generation. Der erste Intel Galileo hat bei mir einen faden Beigeschmack hinterlassen.