Mikro-USV-Ionistoren

Guten Tag an alle angesehenen Communitys. Ich beehre mich, den an Funkelektronik interessierten Hubroviten einige Argumente und eine spezifische Implementierung der Notstromversorgung für Ionistoren (sie sind Superkondensatoren mit einer doppelten elektrischen Schicht) anzubieten, um die korrekte Fertigstellung des Prozessormoduls auf einem ARM-Mikrocontroller unter Standard-Linux-Debian sicherzustellen.

Das Problem trat vor Ihrem bescheidenen Diener in folgender Form auf: Sie müssen das Linux-Betriebssystem (das auf der Embedded-Lösung ausgeführt wird) korrekt löschen, wenn die externe Stromversorgung ausgeschaltet wird. Diese Energie wurde von einem Standard-USB 2.0-Anschluss über mindestens einen Standard-USB-B-Anschluss an ein zuvor hergestelltes Box-Gerät geliefert. Der unerfahrene Benutzer dieses Geräts zog es vor, das USB-Kabel nach dem Prinzip "UnPlug-NoPlay-NoProblem" blöd herauszuziehen. Es ist klar, dass eine eingebettete Lösung ohne Festplatten und mit während der Konfiguration auf Null gesetztem virtuellem Speicher gegen solche höhere Gewalt resistent ist. Einige Tausend Benutzerstunden haben jedoch gezeigt, dass sie nicht immer „ohne Probleme“ funktioniert.

Ich musste mein Gehirn falten und in eine kreative Trance geraten. Beim Verlassen der Trance stellte sich der erste Weg zur Lösung des Problems ein - der psychologische, der zunächst am attraktivsten schien. Der Gedankengang war ungefähr wie folgt: Warum ruckelt der normale Benutzer einen Stock, der mit einer unerschütterlichen Hand in den USB-Anschluss steckt? Wahrscheinlich, weil weder er selbst noch seine engsten Bekannten auf diese Weise ihre These, Dissertation oder ihren Jahresbericht verloren haben. Warum hat derselbe Benutzer in den Tagen von ona kein Druckerkabel von einem funktionierenden Drucker gezogen? Wahrscheinlich, weil er entweder gesehen oder von jemandem gehört hat, wie er einen neuen MB oder Centronics auf ISA (PCI) kaufen musste. Ich möchte nicht (vom Wort im Allgemeinen), dass meine Schachtel kurzerhand herausgezogen wurde. Was ist dafür zu tun? Richtig, bilden Sie das erforderliche Benutzerverhalten.

Ich musste die Fähigkeiten der Schaltung und Nachverfolgung erschüttern, und die nächste Version der Box erhielt eine RGB-LED und einen Knopf auf der Vorderseite sowie ein Piezosignal mit einem bösen Timbre im Inneren. Ein einfaches Programm stellte fest, ob das extreme Herunterfahren korrekt durchgeführt wurde. Wenn es falsch war und das Fehlverhalten der Benutzerin das erste in ihrem Flash-Speicher war, folgte die Kontrollaktion: Anstelle der Anzeige in Gelb und Grün blinkte die Box mit einem schneidenden Auge rot und quietschte ein paar Minuten, bevor sie sich beruhigte und zu laden begann. Rückfall wurde mit fünf Minuten bestraft, ein noch abscheulicheres Heidekraut und eine Zeile im Handbuch, die die Box, die aufgrund wiederholten fehlerhaften Herunterfahrens blockiert wurde, aus der Garantie entfernt, hier.

Sie wissen, die Methode erwies sich als überraschend effektiv. Aber hier hat der liebe Kunde den Wunsch geäußert, dass der Server vor dem Trennen der Box noch darüber informiert wird, dass es einige Zeit dauert. Nun einige, aber eine Energiequelle war erforderlich. Das Gehirn aus der nächsten kreativen Trance kehrte mit dem Gedanken zurück: Eine Lithium-Polymer-Batterie ist unser Alles! Das allgemeine Denken hat diesem Gedanken viel Skepsis verliehen: Ich wollte den Akku nicht jedes Mal aufladen, wenn ich ihn einschaltete, da die Anzahl der Lade- und Entladungen eine verbrauchte Ressource ist und von Batterieherstellern unschuldiger Kunden zynisch getäuscht wird. Laden Sie nicht jedes Mal auf, wenn Sie es einschalten, sondern wenn es entladen wird? Es ist also notwendig, den gesamten Garten einzäunen, die Batterie zu kalibrieren und die Spannung genau zu messen. Im Allgemeinen kam dies und das und dann das Samsung Galaxy mit seinen Brandbatterien auf die Bühne. Als ich mir ein Feuer an der Stelle vorstellte, an der die Kiste stehen sollte, musste ich freiwillig mit einem Säbel winken und die schmerzhafte Überlegung der zweiten Idee stoppen.

Zum dritten Mal in Trance, brachte ein kreatives Genie Ionistoren ans Licht. Und was, es scheint nicht schlecht. Die Kapazität ist in Farad, die Anzahl der Lade- / Entladezyklen ist nicht begrenzt, sozusagen ist das Volt wirklich nicht genug - maximal 2,7 pro Zelle, und sie sind nicht sehr kaskadiert. Es gab bereits nichts über den Mangel an Optionen nachzudenken, und wieder musste ich die Schaltung zusammen mit der Spur angehen.

Das Durchsuchen der riesigen Weiten des Internets brachte einige Probleme mit sich, und für einen Moment des Nachdenkens wurde beschlossen, den linearen LTC3110-Mikrokreislauf zu stoppen. Mit Blick auf die Zukunft werde ich sagen, dass einige weitere Optionen getestet wurden, aber nicht besonders erfolgreich. Wenn der Leser an den Details der Auswahl interessiert ist, sind Sie in PM willkommen. Von den verfügbaren Optionen enthält der LTC3110 fast alles, was Sie zum Aufbau einer Notstromquelle auf Ionistoren benötigen:
- Es verfügt über einen Aufwärtswandler, wodurch der Konstrukteur bei der Auswahl der Versorgungsspannung nicht besonders eingeschränkt ist.
- Dieser Wandler verwendet eine Induktivität zur Energiespeicherung, was den Wirkungsgrad erheblich erhöht und es ermöglicht, der Last einige Ampere zu geben.
- Es ist möglich, den während des Ladevorgangs verbrauchten Strom im Bereich von 125 mA - 2 A zu begrenzen, was besonders wichtig ist, wenn er über USB mit Strom versorgt wird.
- Es gibt eine eingebaute Schaltung zum individuellen Ausgleich von in Reihe geschalteten Ionistoren, um die gespeicherte Leistung und Zuverlässigkeit zu erhöhen.
- Der Chip ist mit Leitungen ausgestattet, die den Ladungsgrad der Ionistoren anzeigen.
- und zum Nachtisch gibt es einen zusätzlichen Komparator, dessen Schwellenwerte vom Benutzer festgelegt werden.

Für Details und Anwendungsbeispiele sende ich den neugierigen Leser an das Datenblatt auf der Mikroschaltung, das allmächtige Google mit dem Zauber "LTC3110 pdf", um Ihnen zu helfen.

Theoretisch muss der LTC3110 selbst eine Schaltung hinzufügen, die die Box im normalen Modus mit Strom versorgt, wenn eine Verbindung zu einem funktionierenden USB besteht, um eine funktionsfähige Mikro-USV zu bauen. Der IC ST1S10PHR wurde für diese ehrenwerte Rolle ausgewählt, deren unprätentiöse Disposition und niedriger Preis seit langem bekannt und getestet sind. Ich musste auch einen Schlüssel hinzufügen, der den Stromversorgungskreis der Hauptverbraucher während des anfänglichen Ladens der Ionistoren unterbricht. Mit dieser Taste können Sie zwei Probleme lösen: Erstens wird die anfängliche Ladezeit reduziert (da fast alles, was über USB verbraucht wird, an die Ionistoren geht), und zweitens wird die unangenehme Möglichkeit eines Stromausfalls beseitigt, wenn die USV so unterladen ist, dass die Energieversorgung für die richtige immer noch nicht ausreicht Herunterfahren. Darüber hinaus ermöglicht der „hohe Start“ von voll geladenen Ionistoren, dass die Schaltung manchmal (aber nicht sehr oft) mehr Strom verbraucht, als der USB-Anschluss ausgeben kann - das Defizit wird von den Ionistoren aufgefüllt. Eine solche Situation kann beispielsweise auftreten, wenn ein großer Informationsblock auf einem großen USB-Flash-Laufwerk aufgezeichnet wird, das zusammen mit der Box mit Strom versorgt wird.

Ich denke, dass der einleitende Teil dazu abgeschlossen werden und zu einem bestimmten Arbeitsschema übergehen kann.

Bild

So sieht die Mikro-USV-Schaltung der Ionistoren aus.

Die Stromversorgung erfolgt über den USB 2.0-Anschluss (obere linke Ecke des Stromkreises). Auf DA1 wird gemäß dem empfohlenen Schema ein Abwärtswandler 5V -> 3,3V aus einem Datenblatt zusammengesetzt. Das einzige Merkmal ist ein zusätzlicher Filter aus dem Hochfrequenzklingeln auf L2 und C7. Falls gewünscht, können diese Elemente ausgeschlossen werden. Die Widerstände R3 ... R5 werden zum Beispiel zum Notentladen von Ionistoren vor dem Transport oder vor dem Einrichten der gesamten Platine verwendet. Andernfalls bleibt die Stromquelle darauf und ist stark genug, um alles zu verbrennen. Die Entladungswiderstände werden durch den Jumper SA1 verbunden oder getrennt. VT1, C16, R17 und R18 - der Schlüssel zur Stromversorgung der Hauptverbraucher. Er wurde bereits oben erwähnt und muss im Folgenden einige Worte hinzufügen. Alles andere ist der Standard-LTC3110-Kabelbaum aus dem Datenblatt.

3V3SBY ist die Standby-Leistung der Steuerschaltung. In der Box ist sie auf der CPLD EPM240T100 von Altera implementiert, aber nichts hindert sie daran, auf einem Mikrocontroller oder einer diskreten Logik ausgeführt zu werden. 3V3 ist die Hauptstromversorgung der von UPS reservierten Box. Micro-UPS-Statusinformationen werden auf PWRFAIL, BATFULL und BATLOW mit selbsterklärenden Namen angezeigt. PWRFAIL wird aktiviert, wenn ein Stromausfall über USB auftritt. BATFULL zeigt an, dass die Ladung den Pegel von 95% (5,2 V) erreicht. BATLOW zeigt einen Rückgang des Ladepegels auf 40% (2,1 V) an. Falls gewünscht, kann dieser Pegel durch Auswahl von R6 und R7 angepasst werden, die vom Datenblatt geleitet werden. Leider funktioniert ein solcher Trick mit dem BATFULL-Level nicht - er wird mit Nägeln in den IC gehämmert.

Die Mikro-USV steuert zwei Signale: PWRON und BATOFF. PWRON schaltet die Hauptstromversorgung ein, BATOFF schaltet die USV als Ganzes aus.

Die allgemeine Logik des Mikro-USV-Betriebs lautet wie folgt:

  1. im Ausgangszustand sind C8 und C9 vollständig entladen, der Jumper SA1 befindet sich in der linken Position, es wird keine 5-V-USB-Stromversorgung geliefert;
  2. Das Gerät wird an einen USB-B 2.0-Anschluss angeschlossen.
  3. Der Wandler an DA1 beginnt, die 3V3SBY-Leitung mit Strom zu versorgen, wodurch der Steuerkreis an CPLD erregt wird, der wiederum die Taste VT1 öffnet und das PWRON-Signal entfernt. Zusätzlich entfernt die Steuerschaltung das BATOFF-Signal, einschließlich DA2;
  4. DA2 beginnt die Ionistoren aufzuladen; Während des Ladevorgangs wird das BATLOW-Signal deaktiviert (bei 2,1 V) und dann BATFULL aktiviert (bei 5,2 V bei Ionistoren).
  5. Beim Auftreten des BATFULL-Signals prüft der Steuerkreis die Betriebsbereitschaft der Mikro-USV und schaltet VT1 ein, um den Hauptstromkreis mit Strom zu versorgen. Gleichzeitig überwacht DA2 weiterhin die Ionistoren, und wenn die Ladung unter 95% fällt, beginnt sie mit dem Laden. Durch Anschließen von VT1 an den RSENS DA2-Pin wird sichergestellt, dass ein solcher Strom zum Aufladen verwendet wird, der den USB-Grenzwert unter Berücksichtigung des verbrauchten Hauptstromkreises nicht überschreitet. Wenn der Verbrauch des Hauptstromkreises diese Grenze überschreitet, beginnt die Entladung von Ionistoren unnötige Kosten zu kompensieren.
  6. Beim Trennen von 5 V USB wird die PWRFAIL-Leitung aktiviert, sodass das Steuergerät weiß, dass die externe Quelle verschwunden ist. Die Steuerschaltung generiert eine Anforderung zum Unterbrechen des ARM-Prozessors, um das richtige Abschaltskript auszuführen. Während dieser ganzen Zeit wird der Strom von DA2 geliefert.
  7. Nach Abschluss des Abschaltvorgangs gibt ARM ein Signal aus, dass alles zum Löschen bereit ist, und der Steuerkreis setzt BATOFF, wodurch DA2 deaktiviert wird. In diesem Zustand befindet sich die Box vor der Stromversorgung des 5-V-USB (siehe Punkt 1 mit Ausnahme der Restladung an C8 und C9).
  8. Wenn ARM viel gezögert hat und bis zum BATLOW-Signal nicht alles schließen konnte, muss der Stromkreis gewaltsam abgeschaltet werden.

Wenn Sie möchten, können Sie jede andere Steuerlogik für Mikro-USVs einfach organisieren, indem Sie beispielsweise den BATLOW-Aktivierungspegel auf 60% erhöhen (Auswahl von R6 und R7). Verwenden Sie ihn als Signal zum Stoppen und zum gewaltsamen Trennen von der Vollentladung C8 und C9.

Gehen Sie am Ende schnell die konfigurierbaren Parameter der Schaltung durch. R1 und R2 bestimmen die Ausgangsspannung von DA1, eine andere Spannung kann den Austausch von C1, C2, C4-C6 und L1 erfordern. Die Nennwerte von C8 und C9 bestimmen nur die Lade- und Entladezeiten der USV. Ich persönlich habe versucht, von 4,7 auf 100 Farad zu gehen. Theoretisch gibt es keine Einschränkungen. R6 und R7 bestimmen die Aktivierungsstufe von BATLOW. Die Spannung der maximalen Ladung der Ionistoren hängt vom Verhältnis R8 / R9 ab. R11 bestimmt den von 5 V USB verbrauchten Strom, bei dem angegebenen Widerstand verbraucht die Schaltung 0,5 A. Das R12 / R14-Verhältnis legt einen Abfallpegel von 5 V USB fest, der als Stromausfall (PWRFAIL) definiert wird. R15 / R16 bestimmt die Ausgangsspannung von DA2 im Entlademodus.

Die Ausgangssignale des LTC3110 werden nach dem "Open Drain" -Schema erzeugt, um nicht an eine bestimmte Versorgungsspannung gebunden zu sein. In meiner Schaltung sind Pull-up-Widerstände für sie an der CPLD beteiligt. Es ist kein Problem, sie in einem modernen Mikrocontroller zu verwenden. Wenn Sie sich entscheiden, einen Steuerkreis an K155 zu montieren, müssen Sie sich selbst um die Widerstände kümmern.

Ein paar Worte zum C16. Um dieses Wissen zu erlangen, habe ich die meiste Zeit auf dem UPS Prototyp Board verbracht. Was ist das Problem? Im Datenblatt bedeutet schwarz auf Englisch, dass Sie den Hauptstromkreis über den RSENS-Ausgang mit Strom versorgen möchten, wenn die Summe aus dem vom Hauptstromkreis verbrauchten Strom und dem Ladestrom der Ionistoren garantiert nicht den von R11 festgelegten Grenzwert überschreiten soll. OK, stimmte zu. Und dann interessanter. Da Ihr Stromkreis bis zu einem Kurzschluss (Kurzschluss, Kurzschluss, Kurzschluss) alles haben kann, ist der LTC3110 laut Datenblatt mit einem speziellen Schutzkreis ausgestattet. OK, sehr schön. Und jetzt zum lustigen Teil. Wir lesen das Datenblatt weiter: Damit das Schutzschema nicht falsch ist, geben Sie bitte die Gesamtkapazität der Stromleitung NICHT MEHR an, Karl, 10 microFarads. Goofy ... Für alles über alles, und verweigern Sie sich nichts. In der Tat, jede Last größer als 10uF, wenn Keile verbunden sind ... Lassen Sie sich nicht täuschen, Basurman. Ich musste den Schlüssel auf VT1 etwas verzögern, was C16 ergibt. Ich verstehe, dass VT1 für einige Zeit nicht im Schlüsselmodus sein wird, sondern zwischen Himmel und Erde (im Sinne von VCC und GND), was überhaupt nicht großartig ist. Aber zumindest funktioniert es. So ist das "neue hawa". Für Eiferer der Reinheit der Schlüsselmodi möchte ich hinzufügen, dass ich versucht habe, nicht C16, sondern eine Induktivität von 1,5 μH in Reihe mit VT1 zu schalten - alles funktioniert hervorragend.

Im Folgenden gebe ich ein Bild einer Leiterplatte mit der beschriebenen Schaltung. Natürlich unterscheidet sich die Nummerierung der Komponenten von der im Schaltplan angegebenen - sie ist für die gesamte Box übergreifend.

Bild

Wenn Sie Fragen haben - bitte.

Source: https://habr.com/ru/post/de402243/


All Articles