Impuls mit doppelter Polarität mit einer einzigen Stromquelle und virtuellem SPDT-Schalter

Ich habe ein Problem im Design oder in meiner Schaltung. Ich muss Daten mit einer maximalen Bitrate von 12000 Bit / Sekunde senden. Der hohe Wert sollte +12 V und der niedrige Wert -12 V betragen, was mindestens 35 mA Strom liefert. Ich dachte zunächst, dass ich diese Werte leicht mit dem max232-Chip erreichen könnte. Aber als ich einige Tests durchführte, konnte ich nur -7,25 V bekommen, weit entfernt von den -12 V, die ich brauche. In der restlichen Zeit sollten keine Daten durch die Leitung gesendet werden, also sollte der Strom logischerweise gestoppt werden. Ich habe ein Diagramm des Konzepts meiner Schaltung erstellt, damit es einfacher zu verstehen ist:Geben Sie hier die Bildbeschreibung einIch werde bei Bedarf eine 12-V-Batterie verwenden, aber ich würde lieber einen Weg finden, eine 9-V-Batterie zu verwenden. Ich würde einen 5-V-Regler verwenden, um die für meinen Mikrocontroller erforderlichen 5 V zu erhalten, und dann würde ich mit meinem Mikrocontroller Daten senden. Diese Daten würden dann in (+12/-12 V hoch/niedrig) umgewandelt. Der S6-Schalter wird verwendet, um den Strom zu stoppen, wenn ich keine Daten übertragen möchte.

Ich habe über eine Möglichkeit nachgedacht, all das zu erreichen, aber ich habe technische Schwierigkeiten, einen logischen SPDT-Schalter zu erreichen, und im Großen und Ganzen frage ich mich, ob es funktionieren würde und ob es nicht ein besseres Design als meins geben würde. Hier ist ein Diagramm meines ersten Entwurfs: Geben Sie hier die Bildbeschreibung einIch verwende also ein Wechselrichterschema mit dem IC MC34063, das mir -12 V mit 100 mA liefert. Dann verwende ich für die +12 V direkt die Stromquelle. Ich bin sicher, es ist eine gute Idee. Dann würde ich ein elektronisches Äquivalent eines SPDT-Schalters (S1) verwenden, der sowohl mit +12 V als auch mit -12 V verbunden ist und von einem oder zwei Pins des Mikrocontrollers (vorzugsweise einem) angesteuert wird. Das sollte mir schöne quadratische -12 / -12-V-Signale geben (da bin ich mir auch nicht sicher), und dann hätte ich einen elektronischen Schalter (S2), um das Signal bei Bedarf zu öffnen oder zu stoppen.

Also zusammenfassend meine Fragen:

1) Wird mein Design funktionieren, was wäre problematisch?

2) Gibt es ein besseres Design, vielleicht effizienter und mit weniger Komponenten, die abgebaut werden.

3) Wie erreiche ich das elektronische Äquivalent des SPDT-Schalters (S1)? Ich habe bereits einen Thread für S2 eröffnet, der gelöst wurde (siehe Elektronischer Schalter mit negativer und positiver Spannung )

4) Bekomme ich mit meinem Design ein schönes quadratisches -12 V / + 12 V nutzbares Signal, das mich mit den 35 mA versorgt, die ich brauche?

5) Kann ich mit einer 9-V-Batterie anstelle einer 12-V-Batterie arbeiten?

6) Kann ich weniger Mikrocontroller-Pins verwenden? Idealerweise 1, aber 2 wäre auch okay.

Danke für eure Hilfe und Inputs.

RS232-Treiber erledigen genau diese Arbeit bereits mit Ladungspumpen für Sie
das dachte ich auch, aber welcher chip? Denn wenn Sie sich das Datenblatt des Max232 ansehen, gibt es tatsächlich -8,5 V und + 8,5 V mit vier 0,1-uf-Kondensatoren aus.
Niemand sagt, dass Sie die +/- 12 V bekommen müssen, diese Geräte wurden wahrscheinlich in zig Millionen Anwendungen verwendet. Mit 3,3 V Spannung an Vcc geben sie etwas in der Nähe von +/- 5 V aus und arbeiten immer noch treu. Der Standard, wenn ich mich gut erinnere, spricht von Mindestspannungspegeln von +/- 2,5 V
Okay, ich verstehe, wie dem auch sei, es ist nicht gut für meine Schaltung, ich suche kein solides -12 V / + 12 V und leider scheint das Maximum 232 nicht gut zu passen.
Nur um zu verstehen, was ist dieser Empfänger, der so viel Strom zieht? Und warum braucht es feste +/-12V? Das geht weit über die RS232-Spezifikationen hinaus. RS232 gibt an, dass der Empfänger eine Impedanz von mindestens 3 k haben und +/-3 V akzeptieren sollte.
Und wie hoch ist die Baudrate? Weil ich befürchte, dass kein integrierter RS232-Treiber 35 mA liefern kann, selbst diejenigen, die keine Ladepumpe enthalten (wie SN75188). Wenn wir also diskret vorgehen, wird das Timing wichtig.
Dies ist eigentlich kein Empfänger. Um das Diagramm zu vereinfachen, habe ich einen Empfänger eingefügt. Der Empfänger ist Teil eines anderen Designs. Es handelt sich tatsächlich um einen Sender mit etwa 400 Ohm. Daher habe ich berechnet, dass bei 12 V 30 mA zum Betrieb erforderlich wären, obwohl dies möglicherweise der Fall ist nicht der richtige Weg, das zu berechnen. und vielleicht braucht es nicht einmal die soliden +/-12v, ich hatte noch keine Gelegenheit, es zu testen. Ich wollte nur sicherstellen, dass der Unterschied groß genug ist, um auch bei etwas Rauschen Höhen von Tiefen zu unterscheiden.
Was die Baudrate betrifft, muss ich noch einige Tests durchführen, aber sie würde von 500 Bit / Sekunde bis 10000 reichen.
Ok, letzte Frage, denn das würde die Dinge vereinfachen: Brauchen Sie wirklich die -12 V auf Masse bezogen oder könnten Sie den Sender in eine H-Brücken-Konfiguration versetzen?
Ich habe mir die H-Brückenkonfiguration angesehen und sehe, wie dies in meiner Schaltung helfen könnte. Aber ich bin mir nicht sicher, ob es funktionieren würde. Ich fürchte, ich brauche die -12 V vorerst auf Masse bezogen.
Sie wissen, ich habe mir die H-Brückenkonfiguration angesehen und egal, was ich gesagt habe, ich denke, das sollte tatsächlich funktionieren. Dies würde meine Schaltung mit weniger Komponenten und einem einfacheren Design erheblich vereinfachen. Ich habe mir den l293d-IC angesehen, der mit einer Schaltzeit von 1 µs den Job zu erledigen scheint, aber ich bin gespannt, wie Sie es machen würden. Ich bin auch an der anderen Variante interessiert, bei der die -12 V auf Masse bezogen sind.
Ok, ich werde heute Abend beides machen, als zwei verschiedene Antworten, denke ich. Beides sehr interessant muss ich sagen...

Antworten (2)

Die andere Lösung ist sehr schön, aber wie Sie erwähnt haben, könnten Sie Ihr Sendegerät tatsächlich in eine H-Brückenkonfiguration stecken, wir können das alles viel einfacher machen. Erstens ist dann keine -12-V-Versorgung erforderlich. Zweitens gibt es ICs, die wir verwenden können. Jawohl. Und ich behaupte, ich habe die Lösung mit einem einzigen Chip.

Der Trick besteht darin, einen einfachen MOSFET-Treiber zu verwenden, um das Sendegerät direkt anzusteuern. Wir müssen es an beiden Enden antreiben, damit der Strom schließlich in beide Richtungen fließen kann. Wir brauchen also einen Dual-MOSFET-Treiber. Wir werden einen verwenden, der eine interessante Konfiguration für das hat, was wir brauchen: den MCP14E8 . Es ist interessant, weil es einen nicht-invertierten und einen invertierten Ausgang hat und Freigabe-Pins hat. Das ist alles, was wir brauchen:

Geben Sie hier die Bildbeschreibung ein

Oh mein Gott, es ist wunderschön.

Dieser Chip akzeptiert 3,3/5-V-Logikpegel, selbst wenn er mit 12 V versorgt wird. Es kann so viel Strom liefern, wie Sie benötigen (spezifiziert für 2 A Spitze - kontinuierlich ist jedoch nicht spezifiziert, da dies nicht wirklich der Zweck dieser Chips ist, aber es ist sicherlich mehr als das, was Sie benötigen).

Andere Möglichkeit, mit FAN3223

Geben Sie hier die Bildbeschreibung ein

Für den Versorgungsteil, wenn Sie eine 12-V-Batterie verwenden, gibt es nichts weiter zu tun. Wenn Sie eine 9-V-Batterie verwenden möchten, kann der Ladungspumpentrick mit einem freien MCU-Pin angewendet werden. Hier ist eine Ladungspumpe, die 12 V von 9 V ausgibt und 1 W Leistung bei einem Wirkungsgrad von etwa 85 % liefern kann:

Geben Sie hier die Bildbeschreibung ein

Circuit Pastebin: http://pastebin.com/a3Mr7bq6 (Hinweis: Blaue Textbeschriftungen an Ein-/Ausgängen sind falsch, sollten "9V-Eingang" und "12V-Ausgang" sein)

Das ist genau das gleiche Prinzip wie in der anderen Antwort, außer dass ich mich hier für die Verwendung von Mosfets entschieden habe (dies führt zu höheren Übergangsströmen bei Zustandsänderungen, aber insgesamt ist der Verbrauch geringer) und die Ladungspumpe gibt 3/2 * VBAT aus statt -VBAT. Der Trick dabei ist, zwei Kondensatoren in Reihe über 9 V zu laden, dann "teilen wir sie", um zweimal 4,5 V zu erhalten, die wir parallel schalten und zur Batteriespannung hinzufügen. Insgesamt erhalten wir ungefähr 12 V (aufgrund der Diodenabfälle).

Diese ganze Sache mit der Ladungspumpe mag im Vergleich zur Verwendung eines billigen Aufwärtswandlers eine seltsame Lösung sein. Aber tatsächlich, wenn Sie ein kleines P-Kanal/N-Kanal-Paar in einem einzelnen Gehäuse (wie DMG6602) und Dreifach-Schottky-Dioden in einzelnen Gehäusen (wie BAT54TW) verwenden, ergibt dies eine kompakte Lösung mit 3 winzigen Chips, 4 Kappen und 4 nur Widerstände. Und supergünstig in Mengen.

Kommentare sind nicht für längere Diskussionen gedacht; diese Konversation wurde in den Chat verschoben .
Okay, ich verstehe also, wie es funktioniert und warum Sie OUTA auf INB setzen, damit wir nur einen Pin am Mikrocontroller verwenden. Ich habe nur eine letzte Frage, sind Sie sicher, dass ich die benötigten -12V/12V bekomme? Ich meine, ich verstehe etwas nicht, wenn ich 1 auf INA setze, bekomme ich NICHT 1 auf OUTA, was 0 ist? und dann wird 0 auf INB angewendet, was NICHT 0 ergibt, also 12 V? Wenn ich dann 0 auf INA lege, bekomme ich NICHT 0, also 12 V auf OUTA und so 0 V auf OUTB. Es sind also immer +12 V, aber ich habe nie die -12 V?
Du hast es. Wir haben also in beiden Fällen +12 V, aber in einem Fall wird es so angelegt und im anderen Fall wird es anders angelegt . Wenn Sie also nur die TX-Komponente und die Spannung daran berücksichtigen, erhalten Sie eine Potentialdifferenz von +12 V oder -12 V (12 V-0 V oder 0 V-12 V), was zählt.
Okay, jetzt habe ich es verstanden, vielen Dank für deine Hilfe.

Diese Antwort versucht, das Problem wie ursprünglich angegeben zu lösen. Was ich im Grunde als einen Pegelumsetzer verstanden habe, der 0/5 V als Eingang und +12/-12 V als Ausgang verwendet, mit einer Aktivierungs-/Deaktivierungsoption, die den Ausgang in einen hochohmigen Zustand versetzen würde. Wenn aktiviert, muss dieser Shifter mindestens 35 mA liefern/senken können. Die Timings sind jedoch nicht so kritisch (maximale Schaltgeschwindigkeit etwa 10 kHz).

Ausgangstreiber

Hier ist die Schaltung, mit der ich endete. Es verwendet nur Diskrete (gute alte BJTs), aber nicht viele davon. Es benötigt +12 V und -12 V als Versorgung und die ENABLE- und DATA-Signale als digitale 5-V-Logik. Das Signal wird um einige µS verzögert (es gibt einen kleinen Unterschied zwischen der Verzögerung bei Low-to-High- und der Verzögerung bei High-to-Low-Übergängen). Zur Vereinfachung der Schaltung muss der DATA-Eingang bei inaktivem ENABLE auf Low-Pegel liegen. Andernfalls wird der Ausgang weiterhin angesteuert. Die letzte wichtige Tatsache ist, dass Eingang und Ausgang entgegengesetzte Polarität haben (wie alle RS-232-Treiber, soweit ich mich erinnere).

Geben Sie hier die Bildbeschreibung ein

LTSpice-ASC-Datei: http://pastebin.com/6hESR81u

Es gibt ein paar Tricks in dieser Schaltung:

  • Die Art und Weise, wie die erste Stufe von Transistoren verdrahtet ist: Anstatt das Signal an die Basis anzulegen, legen wir es an die Emitter an. Aber das Ergebnis ist eigentlich einfach: Wenn das Signal niedrig (und ENABLE hoch) ist, ist Q1 eingeschaltet und Q2 ausgeschaltet, und wenn das Signal hoch ist, ist Q2 eingeschaltet und Q1 ausgeschaltet. Wenn Q1 eingeschaltet ist, ist Q4 eingeschaltet und liefert +12 V. Wenn Q2 eingeschaltet ist, ist Q3 eingeschaltet und liefert -12 V. So einfach ist das.
  • Der C1-Kondensator: Dieser Trick eliminiert das Durchschießen bei Übergängen. Wenn sich das Signal ändert, gibt es eine kurze Zeit (aufgrund der damit verbundenen Ungenauigkeiten, Verzögerungen, ...), während der sowohl Q4 als auch Q3 leiten. Dadurch entsteht ein Kurzschluss von +12 V auf -12 V, und es kann ein ziemlich hoher Strom verschwendet werden. C1 zwingt Q4 und Q3, den Zustand gleichzeitig zu ändern, wodurch dieser Effekt auf ein Minimum reduziert wird.
  • Es ist das ENABLE-Signal, das als Spannungsquelle verwendet wird, um die Q1-Basis zu speisen. Wenn sowohl DATA als auch ENABLE niedrig sind, wird überhaupt kein Transistor eingeschaltet.

Beachten Sie, dass dieser Stromkreis ordnungsgemäß entkoppelt sein muss. Bringen Sie eine 1-µ-Keramikkappe in der Nähe der Q3- und Q4-Versorgung an.

Diese Schaltung kann mindestens 50 mA Strom liefern, wenn man die minimale Hfe der vorgeschlagenen Transistoren berücksichtigt. Die Basis von Q3/Q4 ist mit etwa 1mA vorgespannt. Sie könnten darüber hinausgehen, indem Sie R2-R9-R8-R4 verringern, aber die Schaltung würde mehr verbrauchen und der Strom, der vom DATA-Eingang bezogen/gesenkt wird, wäre größer (derzeit etwa +/- 2 mA).

Sie können es viel schneller machen, indem Sie kleine Kappen (im Bereich von 100 pF) über die Basiswiderstände legen. Aber dies ist hier angesichts der erforderlichen Zeitvorgaben nicht notwendig.

Liefern

Nun, dies war nur die Ausgangssignal-Treiberschaltung. Wie sieht es mit den Vorräten aus? Nun, die Verwendung des MC34063 ist eine gute Idee. Ich habe noch einen, aber es lohnt sich nur, wenn Sie einen freien Pin am Mikrocontroller haben, auf dem Sie eine PWM mit 50% Tastverhältnis bei etwa 100 kHz ausgeben können (muss nicht genau sein). Wenn dies der Fall ist, gibt es eine kleinere Schaltung, die billiger und einfacher abzustimmen ist und mit der Sie die -12 V aus den 12 V der Batterie erzeugen können. Es ist eine einfache Wechselrichter-Ladepumpe (eigentlich das, was im MAX232 gemacht wird).

Lasst uns wieder Spaß mit BJTs haben:

Geben Sie hier die Bildbeschreibung ein

LTSpice-ASC-Datei: http://pastebin.com/QrumUYN3

Der Teil zwischen dem Eingang und C3 ist noch eine weitere Pegelverschiebungsschaltung: Sie nimmt 0-5 V und gibt nur 12-0 V aus (invertierende Polarität). Aber dieser ist mit weniger Transistoren gemacht, weil... Nun, weil. Dann machen C3, D2, D3 und C4 die Spannung tatsächlich invertierend.

Vergessen Sie auch hier nicht die Entkopplung (mindestens 1µ am 12V-Eingang).

Diese Schaltung liefert problemlos 70/80 mA Strom. Beachten Sie jedoch, dass es nur eine Transistorstufe gibt, sodass der Eingang etwa 5/10 mA (Senke/Quelle) Strom benötigt.

Wenn Sie nun wirklich +12 V und -12 V aus 9 V erhalten möchten, wird dies unpraktisch. Verwenden Sie sowohl einen Boost- als auch einen Inverter-Schaltregler.

Eigentlich habe ich endlich eine Ladungspumpe gemacht, die 9V in +12V und -12V umwandelt: pastebin.com/1y4qKwjU . Es scheint mehr als 90% Wirkungsgrad zu haben. Oh mein Gott, ich liebe Ladungspumpen.