Hallo, angenommen ich würde mir eine Schaltung mit einem µC bauen wollen, die regelmäßig auf einen "Massenspeicher" schreibt, evtl. ein NVRAM, FERAM oder eine µSD-Karte. Schreibzyklen sind jetzt nicht das Problem, aber es sind viele. Die Platine soll mit einem Schaltnetzteilmodul von Meanwell, Recom o.ä. versorgt werden, weil Trafos doof sind: zu schwer & zu groß. Ich brauche auch keine höhere Spannung, 5 oder gar 3,3V reichen aus sofern es ein NT gibt das 3,3V kann. Es gibt leistungsmäßig auf jeden Fall passendes, das ist schon getestet. Eine zweite Versorgungsspannung liegt nicht vor, das neue Dings möchte ich in ein vorhandenes Bums einbauen, das nur 230V hat, die würde ich einfach abzweigen und fertig. Dummerweise kann dem Originalgerät jederzeit der Strom abgedreht werden, so das meine Zusatzmaschine damit klarkommen muss. Der Schalter ist extern und die Bedienung kann und möchte ich nicht ändern. "Runterfahren"-Knopf-einbauen geht also nicht. Das Risiko ist ja das ausgerechnet während eines Schreibvorgangs der Strom zuende ist und im besten Fall sind dann nur die Daten korrupt, was schon ärgerlich genug wäre. Wie macht man das heutzutage? Früher™ hatte man einen Abgriff nach dem Gleichrichter, getrennt vom Stützelko durch eine Diode, und wenn der Pegel versackt ist wusste der Controller: Aufpassen, gleich ist Ende und konnte mit der Energie des Elkos noch eben alles in Sicherheit bringen. Das war so vor 20 Jahren oder so, und ich hab sogar noch Basteleien zuhause die das so machen und es funzt immer noch. Heute hab ich vergossene 5V und kein Signal "Power good". Oder gibt es Module für Leiterplatte die das ausgeben können? Ich hab nix gefunden, aber vielleicht bin ich ja auch nur blind... Danke für Ideen...
Du könntest die 50/60Hz Netzfrequenz mit einem Nulldurchgangsdetektor überwachen. Wenn der nächste Nulldurchgang überfällig ist, weißt Du, dass es Zeit ist. fchk
Du koppelst den Pufferelko (der den µC versorgt) per Diode von der Spannungsversorgung ab. Wenn nun die Spannungsversorgung zusammenbricht, bekommt der µC das per Portbit mit, während er durch den Elko noch versorgt wird.
Für eine EEPROM artige Anwendung könntest du z.B. EERAM von Microchip verwenden. Habe ich selber schon in Entwicklungen verwendet und mit richtiger Auslegung des Stützkondensators ist das auch stabil im Betrieb bzw. bei Spannungsausfall. Ansonsten Stichwort Brown-Out-Detection könnte dir weiterhelfen.
:
Bearbeitet durch User
Johannes M. schrieb: > EERAM von Microchip Die sind schick, aber abgekündigt: > Status: Not Recommended for new designs. > This product is no longer available. Please see EOL PCN# CAAN-21DKPT068 https://www.microchip.com/en-us/product/48LM01
Frank K. schrieb: > Du könntest die 50/60Hz Netzfrequenz mit einem Nulldurchgangsdetektor > überwachen. Da müsste ich ja mit meiner µC-Schaltung an die Netzseite fassen. :( Weißt du einen Optokoppler, der das einfach und lange mitmacht? Also wenig Teile, wenig Verlustleistung, lange Lebensdauer, Sicher? Peter N. schrieb: > Du koppelst den Pufferelko (der den µC versorgt) per Diode von der > Spannungsversorgung ab. Das wäre wie früher. Blöd nur das ich eigentlich vorhatte, direkt 5V aus dem NT zu bekommen (oder gar nur 3,3), da ist nicht viel Luft. Die Diode nimmt nochmal was ab so das noch weniger Reserve bleibt. Da müsste ich dann ein 12V-NT nutzen und einen Spannungsregler verbauen. Platz und Aufwand... Johannes M. schrieb: > Habe ich selber schon in Entwicklungen verwendet und mit > richtiger Auslegung des Stützkondensators ist das auch stabil im Betrieb > bzw. bei Spannungsausfall. Naja, so oder so egal wie schnell oder wenig ich schreibe, ich würde es immer irgendwann hinbekommen genau im Schreibmoment abzuschalten. Außer bei einer Vorwarnlösung wie oben von Peter und Frank beschrieben. Johannes M. schrieb: > Ansonsten Stichwort Brown-Out-Detection könnte dir weiterhelfen. Der Brownout würde doch einen Reset machen? (AVR und PIC machen das jedenfalls so...) Damit hätte ich zwar einen sicheren Betriebszustand, aber eben auch einen unkontrollierten Schreibabbruch. Für eine Vorwarnung (gesetzt den Fall der BOD würde nur einen Int auslösen) ist bei 5V System und 5V NT nicht genug Luft. Bei 3,3V noch weniger.
:
Bearbeitet durch User
Émile schrieb: > Die sind schick, aber abgekündigt: Danke für den Hinweis, wenn ich das richtig sehe sind wohl die SPI Varianten abgekündigt. Die mit I2C Schnittstelle scheinen noch ganz normal in Produktion zu sein. https://www.microchip.com/en-us/product/47C16
Jens M. schrieb: > Frank K. schrieb: >> Du könntest die 50/60Hz Netzfrequenz mit einem Nulldurchgangsdetektor >> überwachen. > > Da müsste ich ja mit meiner µC-Schaltung an die Netzseite fassen. :( > Weißt du einen Optokoppler, der das einfach und lange mitmacht? > Peter N. schrieb: >> Du koppelst den Pufferelko (der den µC versorgt) per Diode von der >> Spannungsversorgung ab. > > Das wäre wie früher. > Blöd nur das ich eigentlich vorhatte, direkt 5V aus dem NT zu bekommen > (oder gar nur 3,3), da ist nicht viel Luft. Die Diode nimmt nochmal was > ab so das noch weniger Reserve bleibt. Da müsste ich dann ein 12V-NT > nutzen und einen Spannungsregler verbauen. Platz und Aufwand... Wenn die Schaltung nicht allzu viel Strom benötigt (und im Alarmfall kann ja alles unnötige abschaltbar sein) sollte die Diode dich nur so 0.3V kosten. Dann hast du von 4.7V bis BOD bei 2.7V Zeit. Wird dir dafür der Elko zu gross? LG, Sebastian
Peter N. schrieb: > Du koppelst den Pufferelko (der den µC versorgt) per Diode von der > Spannungsversorgung ab. > Wenn nun die Spannungsversorgung zusammenbricht, bekommt der µC das per > Portbit mit, während er durch den Elko noch versorgt wird. Dazu muss der µC und das Drumrum mit einem weiten Versorgungsspannungsbereich auskommen. Ein Elko funktioniert als Pufferspeicher nur effektiv, wenn die Spannung über einen möglichst weiten Bereich absinken darf. Besser: 12V oder 24V Versorgung, Entkopplungsdiode, Elko, Step-Down auf µC-Spannung. Vor der Entkopplungsdiode kann man zur Spannungsüberwachung die schnell einbrechende Spannung abgreifen (oder natürlich am Netzeingang). Ob ein Elko oder doch besser eine USV mit Akku, hängt vom Energiebedarf für einen Herunterfahrvorgang ab.
Wolfgang schrieb: > Dazu muss der µC und das Drumrum mit einem weiten > Versorgungsspannungsbereich auskommen. Ein Elko funktioniert als > Pufferspeicher nur effektiv, wenn die Spannung über einen möglichst > weiten Bereich absinken darf. Hängt von der Kapazität des Elkos (GoldCap) ab, und der soll ja nur µC und das allernötigste Drumrum solange versorgen, bis alle nötigen Schreibvorgänge beendet sind. Statt Elko könnt man auch einen Akku oder Batterie verwenden...
Beitrag #7270354 wurde vom Autor gelöscht.
Jens M. schrieb: > Weißt du einen Optokoppler, der das einfach und lange mitmacht? Eigentlich so gut wie jeder. Der VDE verlangt allerdings eine Isolation auf 2500V bei Geräten mit Steckern, sonst 4000V. Das ist das Hauptkriterium, auf das du achten solltest. Es gibt Optokoppler für Wechselspannung, die haben zwei anti-parallel geschaltete LEDs im Eingang.
Jens M. schrieb: > Frank K. schrieb: >> Du könntest die 50/60Hz Netzfrequenz mit einem Nulldurchgangsdetektor >> überwachen. > > Da müsste ich ja mit meiner µC-Schaltung an die Netzseite fassen. :( > Weißt du einen Optokoppler, der das einfach und lange mitmacht? > Also wenig Teile, wenig Verlustleistung, lange Lebensdauer, Sicher? Sowas z.B. https://www.vishay.com/docs/83722/sfh628a.pdf Du willst AC Input haben, damit Du jeden Nulldurchgang bekommst. Auf >8mm Kriechstrecke zwischen Netz und Schutzkleinspannung achten. Passendes Package wählen. Spannungsfestigkeit der Vorwiderstände beachten. Besser mehrere kleinere Vorwiderstände in Serie verwenden. fchk
Wieviel Daten sind es denn? Durch geschickte doppelte Speicherung kann man erreichen, das mindestens eine Datei (oder Speicherblock) gültig ist. Im Höchstfall geht dann die letzte Änderung verloren. Beide Dateien werden beim Start anhand einer Prüfsumme kontrolliert, eine evtl. defekte Datei wird repariert bevor irgendetwas anderes gemacht wird. Allerdings gibt gerade bei einer SD-Karte durch das in die SD-Karte verlagerte Speichermanagement so einiges zu beachten. Bei Verwendung eines Dateisystems muss natürlich auch sichergestellt sein, dass dieses nicht durch einen Spannungsausfall abgeschossen werden kann.
Peter N. schrieb: > Hängt von der Kapazität des Elkos (GoldCap) ab, und der soll ja nur µC > und das allernötigste Drumrum solange versorgen Deshalb gilt trotzdem, dass ein Kondensator nicht in der Lage ist, Ladung zu liefern, ohne dass die Spannung entsprechend abnimmt. Je kleiner der für die Versorgung nutzbare Spannungsbereich ist, umso größer ist der unnutzbare Teil der gespeicherten Ladung. (-> Fehldesign)
Jens M. schrieb: > Das Risiko ist ja das ausgerechnet während eines Schreibvorgangs der > Strom zuende ist und im besten Fall sind dann nur die Daten korrupt, was > schon ärgerlich genug wäre. Mach den Elko doch einfach so groß das der Schreibvorgang Zeit und Energiemäßig sicher abgeschlossen werden kann, zur Sicherheit mit Faktor 2-3. Das Ding läuft, einer dreht den Strom ab --> alle alten Daten sicher Das Ding läuft, schreibt gerade Messdaten, einer dreht den Strom ab --> Schreibvorgang wird beendet mit Energie aus dem Elko und dann kommt der Brownout. Wenn der Saft wiederkommt schreibst du noch in die Initialisierung deines Controllers, dass der Saft weg war und er neu gestartet hat. Noch ne RTC dazu und du weißt sogar wann es war. Oder versteh ich das Problem einfach nicht, was hier gesucht wird? VG Paul
Wolfgang schrieb: > Peter N. schrieb: >> Hängt von der Kapazität des Elkos (GoldCap) ab, und der soll ja nur µC >> und das allernötigste Drumrum solange versorgen > > Deshalb gilt trotzdem, dass ein Kondensator nicht in der Lage ist, > Ladung zu liefern, ohne dass die Spannung entsprechend abnimmt. Selbst ein Elko, meinetwegen auch Goldcap, hat ja eh schon (im Vergleich mit einem Akku) eine sehr bescheidene Ladung. Die wird noch sehr viel bescheidener, wenn man mal die Formel mit Start- und Endspannung anwendet. Man könnte einen Elko auf eine sehr viel höhere Spannung bringen, damit man dennüberhaupt etwas sinnvoll nutzen kann.
Sebastian schrieb: > Wenn die Schaltung nicht allzu viel Strom benötigt (und im Alarmfall > kann ja alles unnötige abschaltbar sein) sollte die Diode dich nur so > 0.3V kosten. Dann hast du von 4.7V bis BOD bei 2.7V Zeit. Wird dir dafür > der Elko zu gross? Einer der Chips hat 4,5V minimum, oder als 3,3V-Alternative 2,7. Nicht viel Luft... Wolfgang schrieb: > 12V oder 24V Versorgung, Entkopplungsdiode, Elko, Step-Down auf > µC-Spannung. Das würde ich des Aufwands wegen vermeiden wollen, aber ich ahne das es nicht anders geht. Wolfgang schrieb: > Ob ein Elko oder doch besser eine USV mit Akku, hängt vom Energiebedarf > für einen Herunterfahrvorgang ab. Naja, Kirche im Dorf und so. Eben schnell ein paar zig oder -hundert Byte wegsichern sollte weniger als ne Sekunde dauern. Eher ne Halbe oder noch weniger. Stefan F. schrieb: > Der VDE verlangt allerdings eine Isolation > auf 2500V bei Geräten mit Steckern, sonst 4000V. Das ist das > Hauptkriterium, auf das du achten solltest. > > Es gibt Optokoppler für Wechselspannung, die haben zwei anti-parallel > geschaltete LEDs im Eingang. Das ist mir schon klar, nur: ich komme jetzt in einem vergleichbaren Projekt mit weniger als 0,5W im aktiven Zustand aus. Wenn ich einen OK mitbetreibe, nimmt der alleine ja schon deutlich Leistung aus dem Netz, Keine Ahnung wie viel, aber sicher so das man das signifikant merkt. 20% von 0,5W sind nur 0,1W (also ca. eine kWh im Jahr) aber eben 20%. Wenn ich die vermeiden könnte würd ich das tun. Ähnliches gilt für die Lösung mit dem zweiten Wandler... Frank K. schrieb: > https://www.vishay.com/docs/83722/sfh628a.pdf Mal eben zum Verständnis: IF 0,5mA, min CTR 32% heißt das ich am uC maximal 160uA ziehen kann, also Pullup von mindestens 33k bei 5V? Welche Vorwiderstände für die LED? Insgesamt so 470k? PC-Freak schrieb: > Was hälst Du von einer USV? Geht nicht. Das Gerät das ich pimpen will hat einen externen Netzschalter (der Raum wird quasi komplett Stromlos gemacht wenn nicht genutzt) und zusätzlich einen lokalen Schalter. Platz ist nicht viel da, aber wie oben geschrieben reicht eine Sekunde oder weniger. Harald A. schrieb: > Bei Verwendung > eines Dateisystems muss natürlich auch sichergestellt sein, dass dieses > nicht durch einen Spannungsausfall abgeschossen werden kann. In einem EEProm o.ä. könnte deine Idee mit dem Doppelpuffer gehen, obwohl ich mir vorstellen könnte das auch da ein amoklaufender Schreibvorgang den anderen Speicherblock ebenfalls killt (z.B. wegen falsch übertragener Adressbits) und dann wär das alles sinnlos. Aber da ich so schon auf 500kByte käme wenn ich Zeitraum und Datengröße erwünsche, wären das eine Menge Chips. Ist halt pro Vorgang nur wenig an Daten, aber eben oft. Außerdem will ich das ja nicht nur aufzeichnen sondern auch auslesen, da wäre SD dann geiler. Aber wenn da sowas passiert ist die Karte sofort im Eimer... Kennt man ja von Fotoapparaten usw.: Einschalten, Karte rausrupfen, in den PC stecken, "dieser Datenträger muss formatiert..."
Jens M. schrieb: > Das würde ich des Aufwands wegen vermeiden wollen, aber ich ahne das es > nicht anders geht. Solange du nicht mit irgendwelchen Fakten zur erforderlichen Energie für den Speichervorgang und Spannungstoleranzen deiner Komponenten rüber kommst, kann man da vortrefflich spekulieren.
Harald A. schrieb: > Durch geschickte doppelte Speicherung kann > man erreichen, das mindestens eine Datei (oder Speicherblock) gültig > ist. Das ist auf jeden Fall nützlich, da man nie weiß, ob die Zeit reicht um alles sauber zu speichern. Der User muß etwas merken, wenn der Ersatzspeicher beim Neustart benutzt wird. Sonst ist beim nächsten Aussetzer der auch noch fehlerhaft. Ein Journaling Filesystem ist auch schön. Ansonsten z.B. 2 Netzteile benutzen: Eins mit großem Elko zur Speisung und eins mit Trafo und Wechselspannung, die man flink auswerten kann.
Stefan F. schrieb: > Es gibt Optokoppler für Wechselspannung, die haben zwei anti-parallel > geschaltete LEDs im Eingang. Zur Erkennung, ob sich auf der Wechselspannungsseite noch was wechselt, reicht auch die Erkennung einer einzigen Halbwellenpolarität. Und das SNT hat dann ja noch einen Zwischenkreiselko, der ein paar ms Pufferzeit hergibt.
Wolfgang schrieb: > Solange du nicht mit irgendwelchen Fakten zur erforderlichen Energie für > den Speichervorgang und Spannungstoleranzen deiner Komponenten rüber > kommst, kann man da vortrefflich spekulieren. Es gibt ja noch nix, ich überlege ja wie ich es am besten mache. Aus einer technisch ähnlichen Bastelei kann ich sagen: -5V Nennspannung +-10% -4,5V Mindestspannung nach DaBla (abs Max eines ICs) -knapp 100mA Spitze -ca. 50mA "Notstrom" wenn außer Speichern alles schläft -Schreibvorgangsdauer kann ich nur schätzen, angenommen 250ms.
Bzgl. falscher Adressbits: einem erratisch agierenden uC kann man mittels Voltage Supervisory vorbeugen, da passiert nichts. Karten, die plötzlich neu formatiert werden müssen, sind i.d.R. FAT-formatiert. Müsste man ein besseres Format vorhalten. Kaputt gehen SD, wenn die aus schrottiger Quelle stammen, Intenso und so Kram. „Viele Daten“ kann man auch mit einem Doppelpufferkonzept umsetzen. Man muss eben nicht eine Datei sondern kleinere Dateien schreiben. Die Sicherungsdatei der vorhergehenden Datei könnte man löschen, wenn diese endgültig abgeschlossen ist. Nützt natürlich alles nichts, wenn das Dateisystem nicht nullspannungssicher ist. Aber da gibt es ja was.
Jens M. schrieb: > oder eine µSD-Karte. Mein Tipps: schreib microSD, dann musst du nicht hinterher die ganze Doku nochmal durcharbeiten. * https://de.m.wikipedia.org/wiki/MicroSD Und nimm Karten von Speicherherstellern (Samsung, Kioxia,...). Mit den Consumer-Karten von Verbatim, Intenso usw. wirst du nicht lange Freude haben.
Jens M. schrieb: > Frank K. schrieb: >> https://www.vishay.com/docs/83722/sfh628a.pdf > > Mal eben zum Verständnis: > IF 0,5mA, min CTR 32% heißt das ich am uC maximal 160uA ziehen kann, > also Pullup von mindestens 33k bei 5V? Welche Vorwiderstände für die > LED? Insgesamt so 470k? Du darfst nur Option 6, 7 oder 8 nehmen (sonst kommst Du mit den min 8mm Kriechstrecke nicht hin), und da ist der minimale CTR 63, 100 oder 160 je nach Typ. Zum Vorwiderstand: drei 150k sollten passen. Eventuell 130k, wenn der Ausgangsstrom knapp wird. > In einem EEProm o.ä. könnte deine Idee mit dem Doppelpuffer gehen, > obwohl ich mir vorstellen könnte das auch da ein amoklaufender > Schreibvorgang den anderen Speicherblock ebenfalls killt (z.B. wegen > falsch übertragener Adressbits) und dann wär das alles sinnlos. > Aber da ich so schon auf 500kByte käme wenn ich Zeitraum und Datengröße > erwünsche, wären das eine Menge Chips. Dann halt kein EEPROM, sondern beispielsweise 4* 23LCV1024 (128kByte) SPI-SRAMs mit extra Batteriepufferung. Wenn die Teile auf VBat umschalten, werden die read-only, und dann ist das der Inhalt sicher. Und das Schreiben geht VIEL schneller als in ein EEPROM, und die Gefahr, dass da was passiert, ist viel geringer. https://ww1.microchip.com/downloads/aemDocuments/documents/MPD/ProductDocuments/DataSheets/23LCV1024-1Mbit-SPI-Serial-SRAM-with-Battery-Backup-and-SDI-Interface-20005156B.pdf fchk
Habe die beiden Threads wieder gefunden: * Powerfail erkennen: Beitrag "Re: 230V erkennenn nach Wiki an Atmel geht nicht" * microSD: Beitrag "Re: SD-Karte mit Raspian zerschossen? fdisk zeigt falsche Größe"
Jens M. schrieb: > -knapp 100mA Spitze > -ca. 50mA "Notstrom" wenn außer Speichern alles schläft Spitzenstrom ist völlig egal. Relevant ist, wie hoch nach Netzspannungsunterbrechung der mittlere Strom ist, bis auf Notspeicherbetrieb umgeschaltet wird. Die 50mA für Speicherbetreib sind doch schon mal etwas greifbarer. > -5V Nennspannung +-10% > -4,5V Mindestspannung nach DaBla (abs Max eines ICs) Damit hast du im Worst-Case einen Bereich von 0.0V, den du für die Entladung eines Pufferkondensators auf 5V-Niveau nutzen kannst - also nichts. Und selbst mit 5V ließe sich nur 10% der Ladung eines Pufferkondensators nutzen.
I2C/SPI FRAM Speicher haben gleiche READ/WRITE Latenzen. Sie sind also den EEPROMS diesbezüglich beträchtlich überlegen. Wenn man einen Schaltregler mit höherer Eingangsspannung vorsieht, kann man den weiten Eingangsspannungspielraum ausnützen. Viele Schaltregler funktionieren bis unter 8V herunter. Bei 12-32V Eingangsspannung wird die noch vorhanden Elko-Energie daher wesentlich besser ausgenützt. Dann kommt noch dazu, dass zumindest gewisse Typen nicht bei Unterspannung plötzlich abschalten und den nutzbaren Spannungsbereich noch etwas verlängern. Allerdings sollte der Brownout-Detektor im uC schon eingeschaltet sein um ein mögliches Amoklaufen des uC bei Unterspannung zu verhindern. Wenn der uC dann noch regelmäßig die vorhandene Eingangsspannung zum Schaltregler misst, kann der uC noch rechtzeitig die SD-Karte sichern, falls es knapp wird. Wenn ein Trafonetzteil verwendet wird, lässt sich Netzspannung vor dem Gleichrichter bequem und von der Netzseite getrennt ohne O.C. erfassen. Gut, man wird wahrscheinlich aus Gründen der Leistungsbilanz natürlich einen SMPS Typ verwenden wollen. Dann muss man halt was dementsprechend etwas Funktionsgerechtes einbauen.
Jens M. schrieb: > 5V Nennspannung +-10% > -4,5V Mindestspannung nach DaBla (abs Max eines ICs) > -knapp 100mA Spitze > -ca. 50mA "Notstrom" wenn außer Speichern alles schläft > -Schreibvorgangsdauer kann ich nur schätzen, angenommen 250ms. Also 4700uF*1.4V (von 4.7V runter auf 3.3V) sind 6mA*s, also 24mA für 250ms. Drei solcher Elkos würden also reichen (wenn meine Rechnung stimmt). Aber: Bei manchen SD-Karten kommt es von Zeit zu Zeit zu internen Vorgängen die Zeit kosten. Erzeug also lieber mal ein Histogramm deiner Schreibzeiten und schau dir die Ausreisser an. LG, Sebastian
Jens M. schrieb: > Wie macht man das heutzutage? Mit eine Weitbereichsnetzteil (90V - 264V) , das einen ausreichend großen Zwischenkreiselko hat.
von Peter N. schrieb:
>Statt Elko könnt man auch einen Akku oder Batterie verwenden...
Das ist die einzig sinnvollste Lösung für dieses Problem.
Zum Beispiel könnte man so eine 3V Knopfzelle, wie sie
jeder Computer für die Uhr und Bios-Speicher hat,
dafür verwenden. Diese Spannung wird dem µC über eine
Diode zugeführt, damit nicht diese nichtladbare Knopfzelle
"geladen" wird. Der µC kann sich ja dann selbst ausschalten
oder in den Schlafmodus versetzen wenn er mit der Arbeit
fertig ist, damit die Knopfzelle nicht entladen wird.
Damit hat man dann im Prinzip eine USV.
Jens M. schrieb: > Die Platine soll mit einem Schaltnetzteilmodul von Meanwell, Recom o.ä. > versorgt werden, weil Trafos doof sind: zu schwer & zu groß. Schon mal getestet, wie viel Energie das gewünschte Schaltnetzteil nach Netzausfall noch liefern kann? Das müßte doch fürstlich sein.
Jens M. schrieb: > Wolfgang schrieb: >> Solange du nicht mit irgendwelchen Fakten zur erforderlichen Energie für >> den Speichervorgang und Spannungstoleranzen deiner Komponenten rüber >> kommst, kann man da vortrefflich spekulieren. > > Es gibt ja noch nix, ich überlege ja wie ich es am besten mache. > Aus einer technisch ähnlichen Bastelei kann ich sagen: > -5V Nennspannung +-10% > -4,5V Mindestspannung nach DaBla (abs Max eines ICs) > -knapp 100mA Spitze > -ca. 50mA "Notstrom" wenn außer Speichern alles schläft > -Schreibvorgangsdauer kann ich nur schätzen, angenommen 250ms. Sorry. aber da müssen noch viele Hausaufgaben gemacht werden.
Sebastian schrieb: > (von 4.7V runter auf 3.3V) Von 3.3V lese ich da nichts Jens M. schrieb: > -5V Nennspannung +-10% > -4,5V Mindestspannung nach DaBla (abs Max eines ICs)
Jens M. schrieb: > Wie macht man das heutzutage? Relevant ist vor allem Flash auf der SD Karte, die anderen von dir genannten Speichermedien sind eher schnell. Die Bauteile haben eine Spannungstoleranz, eine übliche 3.3V SD-Karte https://www.kingston.com/datasheets/SDCIT-specsheet-64gb_de.pdf Energiedaten Betriebsspannung : 2,7 V bis 3,6 V (Speicherbetrieb) Dann gibt es eine Bearbeitungszeit zum schreiben von Daten. Meist maximal 50ms und normalerweise 10ms. Und einen Strombedarf in der Zeit, maximal 250mA. Wenn nun deine 3.3V (+/-5%, also 3.15 bis 3.45V) vor Beginn des Schreibkommandos noch über 3.15V lagen, dann dürfen sie in den 50ms nur nicht unter 2.7V fallen, macht bei 250mA gut 25000uF. Leichter geht es wenn die 3.3V aus 5V per Spannungsregler gewonnen werden, vorher zumindest 4.6V überschritten haben und nicht unter 2.95V sinken dürfen (0.25V dropout). Dann reichen 8200uF. Noch leichter geht es natürlich, wenn man die 230V erfasst: Liegen sie an, haben die meisten Netzteile deutlich mehr als 50ms Stützungszeit. Der Rest ist Software: Man schreibt Blöcke bis alle Daten vorhanden sind, und nur der letzte Schreibzugriff klinkt diese Daten in die Struktur des SD-Karte ein. So macht es nichts, wenn vorher der Strom weg war, die letzten Daten sind nur nicht sichtbar, so als ob der Strom 1/100 Sekunde früher weg gewesen wäre. Aber nichts ist korrupt.
Wolfgang schrieb: > Damit hast du im Worst-Case einen Bereich von 0.0V, den du für die > Entladung eines Pufferkondensators auf 5V-Niveau nutzen kannst - also > nichts. > Und selbst mit 5V ließe sich nur 10% der Ladung eines Pufferkondensators > nutzen. Naja, ich denke das das NT eher an 5V ist wie an 4,5, eher sogar leicht drüber. Zumindest hab ich noch kein solches Dings gehabt das nicht "5," im Display hatte. Und mein Messgerät ist nicht das schlechteste. Immerhin werden das nur 1 oder zwei Geräte, keine Serie. Gerhard O. schrieb: > I2C/SPI FRAM Speicher haben gleiche READ/WRITE Latenzen. Sie sind also > den EEPROMS diesbezüglich beträchtlich überlegen. Egal wie schnell und worauf ich schreibe: sofern die Schaltung zu jedem beliebigen Zeitpunkt ausgeschaltet werden kann, ist es möglich das es genau dann passiert. Dieses Prinzip greift bei jedem Schreibvorgang egal wohin. Es muss so oder so eine Vorwarnung geben die akut einen Schreibvorgang auslöst der beendet ist bevor der Brownout greift. Sebastian schrieb: > 4700uF*1.4V (von 4.7V runter auf 3.3V) sind 6mA*s, also 24mA für > 250ms. Drei solcher Elkos würden also reichen (wenn meine Rechnung > stimmt). Aber: Bei manchen SD-Karten kommt es von Zeit zu Zeit zu > internen Vorgängen die Zeit kosten. Da kann ich was mit anfangen, danke. Als Notpuffer könnte ich ja ein schnelles FRAM einbauen, das wäre kein Ding. Grummler schrieb: > Mit eine Weitbereichsnetzteil (90V - 264V) , das einen > ausreichend großen Zwischenkreiselko hat. An den komm ich nicht ran wenn ich ein fertiges Netzteil verwenden möchte. Also gilt hier auch: irgendwann ist die Sekundärspannung weg. Wobei "irgendwann" eigentlich "jederzeit und ohne Warnung" heißt. Es ist egal, ob es in 500ms oder 10 Minuten nach ziehen des Netzsteckers passiert, wenn der uC das ziehen an sich nicht mitbekommt. Günter L. schrieb: > Zum Beispiel könnte man so eine 3V Knopfzelle, wie sie > jeder Computer für die Uhr und Bios-Speicher hat, > dafür verwenden. Lokaler Stützakku ist eine Lösung, aber wie "jeder" an Weihnachten feststellt sind fest eingebaute Akkus in Zeitschaltuhren extrem haltbar. noreply@noreply.com schrieb: > Schon mal getestet, wie viel Energie das gewünschte Schaltnetzteil nach > Netzausfall noch liefern kann? Das müßte doch fürstlich sein. Wenn ich ansehe wie langsam eine LED verlöscht: ja, es ist weit mehr als fürstlich ausreichend. Das Problem ist das die Maschine ja nicht früh genug merkt das bald Schluss ist. Wobei ich nicht verstehe warum es keine solchen Netzteile mit entsprechendem Signalausgang "Mains Fail" gibt... Der Netzteilcontroller könnte das für 3ct miterledigen. noreply@noreply.com schrieb: > aber da müssen noch viele Hausaufgaben gemacht werden. Welche zum Bleistift? Lerne gerne... Wolfgang schrieb: > Von 3.3V lese ich da nichts Ich könnte wie oben angedeutet mit anderen Teilen auf ein 3,3V-System umschwenken, aber ein 5V-NT benutzen. Dann hätte ich 4,7V am Stützelko (5V vom NT minus eine Diode) und "Platz" bis ca. 3,3V (zzgl. LDO-Drop) am Controller. Wäre eine Doppelnetzteilstrategie, die ich gern vermeiden würde aber: Ich seh schon, es gibt nur wenig Optionen... a) Ich baue eine Netzausfallerkennung, z.B. über Optokoppler der den Primärkreis beobachtet. Ausfall der Halbwellenpulse = Netzausfall. Einfach, aber ein Sicherheitsproblem (Abstände, Transienten) und "viel" Stromverbrauch/Platz/Bauteile im Vergleich zum Rest, für wenig Funktion. b) Ich benutze ein NT mit höherer Spannung als das System benötigt, schalte einen Spanungsregler nach und beobachte den Zwischenkreis vom NT zum Spannungsregler. Sicher, aber aufwändig. Das System entspricht technisch dem von früher bekannten. c) Abwandlung von B Eine wie auch immer geartete "Notstromversorgung" des Controllers und Speichers z.B. via Knopfzelle, Supercap, Akku oder Elko. Da muss man halt sehen wie es mit der Lebensdauer des Speichers aussieht. Danke schonmal für die Anregungen!
:
Bearbeitet durch User
Jens M. schrieb: > Wobei ich nicht verstehe warum es keine solchen Netzteile mit > entsprechendem Signalausgang "Mains Fail" gibt... Der Netzteilcontroller > könnte das für 3ct miterledigen. Jedes PC-Netzteil hat ein Power_Good bzw. Power_Fail.
Nimm für einen RPi oder Arduino einen Batterie/Akkupack, dann hast du keine Probleme.
:
Bearbeitet durch User
Vergiss Optokoppler. Die brauchen zuviel Strom und haben limitierte Lebensdauer. Ein Netzteil moechte man oft nicht im selben Gehaeuse haben, wegen CE vorschriften. Ich verwende deshalb immer externe Netzteile. Das macht sehr vieles einfacher. Ich speise gerne mit 12V und habe dann einen LT1777 ultra low noise regler fuer meinen Controller. Wenn die 12V weg gehen kann man ein Signal generieren.
:
Bearbeitet durch User
Purzel H. schrieb: > Vergiss Optokoppler. Die brauchen zuviel Strom und haben limitierte > Lebensdauer. Dein Schaltregler läuft auch nicht ohne Strom: 1mA aus den 12V sind 12mW. Plus 4,8mA aus 3,3V sind 25mW. In Summe also 37mW. So viel wie die OK-Lösung bei passender Auslegung auch. > Ich verwende deshalb immer externe Netzteile. Das macht sehr vieles > einfacher. Du verschenkst aber eben die Energie, die im Zwischenkreiselko des SNT gespeichert ist. Jens M. schrieb: > das neue Dings möchte ich in ein vorhandenes Bums einbauen Da ist ein externes Netzteil mit Gehäuse eher unpraktisch.
Purzel H. schrieb: > Vergiss Optokoppler. Die brauchen zuviel Strom und haben limitierte > Lebensdauer. So ein Quatsch. Die halten ewig, wenn man sie mit 1mA betreibt. Und das reicht auch locker für eine saubere Funktion.
Purzel H. schrieb: > Vergiss Optokoppler. Die brauchen zuviel Strom und haben limitierte > Lebensdauer. In den meisten Schaltnetzteilen ist ein Optokoppler im Feedback-Zweig. Und wenn das Netzteil ausfällt, ist es nach meinen Beobachtungen nie der Optokoppler. Kann also so schlimm nicht sein. fchk
Steve van de Grens schrieb: > wenn man sie mit 1mA betreibt. Und das reicht auch locker für eine > saubere Funktion. Da reichen auch schon 100µA, wenn man welche mit anständig hohem CTR nimmt.
Jens M. schrieb: > noreply@noreply.com schrieb: >> aber da müssen noch viele Hausaufgaben gemacht werden. - Primärspannung - Notwendige Sekundärspannungen - Zeitdauer eines geordneten Shutdowns - Parameter der Stromversorgung https://www.pollin.de/productdownloads/D352005D.PDF (hold up time 80ms@230 volt and full load)
Och joh. - Primärspannung ist im OP angegeben. - Sekundärspannung dito. - Zeitdauer des Shutdowns ist noch nicht bekannt (da ich ja noch in der Überlegungsphase stecke) und je nach Methode evtl. auch gar nicht relevant, außerdem wäre sie bei jeder Methode bei der sie wichtig wäre anpassbar durch größere Kapazität. - Parameter der Stromversorgung sind ebenso je nach Methode nicht relevant. Lies nochmal den OP. Die Frage ist wie man ein Gerät stromausfalltolerant macht wenn es Werte regelmäßig in einen Speicher schreiben muss. Genau so ein Modul wie du da genannt hast würde ich einsetzen wollen (vielleicht nicht unbedingt gleich in 5W aber du verstehst schon), aber auch da ist der Strom irgendwann zuende. Da es keine Vorwarnung ausgibt, muss ich selber ein Signal bauen, und drölfzig Elkos an den Ausgang des Netzteils zu bauen ermöglicht mir auch die Daten via Fax zu verschicken wenn es sein muss: die Stützzeit des Netzteils ist vollkommen irrelevant. Wenn sie reicht isses gut, wenn nicht brauchts Elkos. aber: evtl. gibt es Methoden, bei denen es völlig egal ist wenn im Speichervorgang abgebrochen wird weil die Speicher das vertragen und die Daten nicht korrumpiert werden können. Die oben genannte Doppelspeichermethode wäre so eine. Ich trau der nicht, aber evtl. hätte jemand gesagt "da gibt's einen Beispielcode von x, der nutzt Chips von y, das klappt ganz ausgezeichnet"... Ich werde für meine 2 Basteleien aber in den sauren Appel beißen, ein 12V-Modul nehmen, einen Komparator und einen Schaltregler nachschalten und bingo ausreichend Nachlaufzeit mit Frühwarnung.
Jens M. schrieb: > Da es keine Vorwarnung ausgibt, muss ich selber ein Signal bauen, und > drölfzig Elkos an den Ausgang des Netzteils zu bauen ermöglicht mir auch > die Daten via Fax zu verschicken wenn es sein muss Die meisten Schaltnetzteile starten nicht, wenn sie zu sehr kapazitiv belastet werden. Sie interpretieren das als Kurzschluss.
Jens M. schrieb: > Die oben genannte > Doppelspeichermethode wäre so eine. Ich trau der nicht, aber evtl. hätte > jemand gesagt "da gibt's einen Beispielcode von x, der nutzt Chips von > y, das klappt ganz ausgezeichnet"... Ich hatte einen Logger zunächst mit Dataflash ausgestattet. Da aber bei Stromausfall (ggf durch Schalter) zu viel Historie verloren ging, weil das Dataflash immer erst schrieb, wenn eine Zeile voll war, hatte ich später ein FRAM nebengeschaltet, das bei viel geringerer Kapazität zusätzlich jeden Wert live schrieb. Dadurch hatte ich beides, ein kurzes up-to-date Protokoll und ein langes, bei dem evtl etwas fehlte.
:
Bearbeitet durch User
Jens M. schrieb: > evtl. gibt es Methoden, bei denen es völlig egal ist wenn im > Speichervorgang abgebrochen wird weil die Speicher das vertragen und die > Daten nicht korrumpiert werden können Wenn du damit meinst, dass der Speichervorgang mangels Versorgungsspannung abbricht, muss ich dir widersprechen. Dazu bräuchtest du Bauteile, die ein sauber definiertes Verhalten bei Unterspannung haben. Selbst wenn du solche Speicher findest, kannst du dich nicht darauf verlassen, dass der Mikrocontroller tut was er soll. Ich hatte mal einen, der in so einem Fall regelmäßig seine eigene Firmware zerstörte. Dagegen hilft der Brown-Out Detektor, falls vorhanden.
Jens M. schrieb: > Genau so ein Modul wie du da genannt hast würde ich einsetzen wollen > (vielleicht nicht unbedingt gleich in 5W aber du verstehst schon), aber > auch da ist der Strom irgendwann zuende. Na dann nehme ich die Holzhammermethode. - LiFePO4-Akku mit Strom/Spannungs-Überwachung und Ladeschaltung im Controller in Schwebeladung halten. Der Controller macht gleichzeitig noch BMC. Bevorzugt LiFePO4 in 320 Ah. - Parallel dazu 2 x 3000 F Supercap mit Balancer als Sicherheitsnetz - Das ganze mit dem STMG7xx. Der hat ganz sicher Unterspannungsüberwachung. - ... (aber du verstehst schon)
Jens M. schrieb: > Die Frage ist wie man ein Gerät > stromausfalltolerant macht wenn es Werte regelmäßig in einen Speicher > schreiben muss. Was spricht dagegen, einen kleinen Li-Akku als Puffer zu verwenden? Damit kann man rel. lange stromausfalltolerant SD-Karten betreiben. (eigene Erfahrung) Vielleicht habe ich etwas überlesen?
Stefan F. schrieb: > Selbst wenn du solche Speicher findest, kannst du dich nicht darauf > verlassen, dass der Mikrocontroller tut was er soll. Ach kuck. Weiter oben steht das man das sogar mit SD-Karten machen kann... Kann ich mir auch kaum vorstellen, aber nu... Wolle G. schrieb: > Was spricht dagegen, einen kleinen Li-Akku als Puffer zu verwenden? Der altert und ist irgendwann auf. Viel Reserve brauchts ja auch nicht, ne halbe Sekunde oder so reicht. Das sollte mit einem verschleißfreien Elko klappen. Muss ich wohl mal testen...
Jens M. schrieb: > Der altert und ist irgendwann auf. Richtig. Ich betreibe nun schon über 10 Jahre einen Datenspeicher, bei welchem ein NiMH-Akku als Puffer zur Stromausfallüberbrückung verwendet wurde. Bisher sind noch keine Daten "verloren" gegangen.
Jens M. schrieb: > das neue Dings möchte ich in ein vorhandenes Bums einbauen, > das nur 230V hat, die würde ich einfach abzweigen und fertig. > Dummerweise kann dem Originalgerät jederzeit der Strom > abgedreht werden, Hast Du, um das zu erkennen, schon an einen Stromwandler oder Stromsensor gedacht? Kommt natürlich vor allem darauf an wieviel Strom Dein eingeschaltetes Bums ständig fließen läßt, wie sinnvoll das wäre, weil nur den netzseitige Verbrauch Deines Dings allein zu erkennen wäre natürlich eher aufwendig. Frank K. schrieb: > Wenn der nächste Nulldurchgang überfällig ist, weißt Du, > dass es Zeit ist. Hmm… also irgendwie scheint mir ein ausbleibender Nulldurchgang eher ein ungeeignetes Kriterium, denn nach dem Ausschalten hat man einen verlässlichen, sehr ausdauernden Nulldurchgang.
mIstA schrieb: > Frank K. schrieb: >> Wenn der nächste Nulldurchgang überfällig ist, weißt Du, dass es Zeit ist. > Hmm… also irgendwie scheint mir ein ausbleibender Nulldurchgang eher ein > ungeeignetes Kriterium, denn nach dem Ausschalten hat man einen > verlässlichen, sehr ausdauernden Nulldurchgang. Gemeint war wohl eher, dass man mit dem Erkennen einer beliebigen Änderung an diesem Pin den Zähler zurücksetzen kann. Und wenn der dann mal auf 35ms hochgezählt hat, sind schon 3 Habwellen verschütt gegangen, was auf einen badrigen Spannungsausfall hindeutet.
Jens M. schrieb: > Aber da ich so schon auf 500kByte käme wenn ich Zeitraum und Datengröße > erwünsche, wären das eine Menge Chips. Warum dann kein NOR-Flash? 500kB sind 4Mbit, oder? Da würde ein einziger Chip im SO-8 reichen. Der erste Treffer bei Digikey ist zufällig doppelt so groß, der AT25SF081B-SSHB-T, 45 Cent/Stück, >100'000 auf Lager. Braucht zum Schreiben von 1 bis 256 Byte 16mA für max. 2ms, 30µA im Standby. Aber das Beste ist der definierte Schreibvorgang per SPI:
1 | The Byte/Page Program command allows one to 256 bytes of data to |
2 | be programmed into previously erased memory locations. |
3 | |
4 | The three address bytes and at least one complete data byte must be |
5 | clocked into the device before the CS pin is deasserted, and the CS |
6 | pin must be deasserted on even byte boundaries (multiples of eight |
7 | bits); otherwise, the device aborts the operation and no data is |
8 | programmed into the memory array. |
Es gibt diverse ähnliche Chips, die doppelt so schnell oder 16MByte groß sind oder ein breites SO-16 oder mehr Strom brauchen, aber im Prinzip funktionieren alle gleich. Mit so einem Chip sollte doch ein beliebiges 5V-Netzteil mit 3.3V-LDO dahinter reichen. Wenn die 5V kleiner als 4.5V sind, fängt man nicht mehr an zu schreiben. Der Elko muss dann die 4.5V bis 3.5V für länger als 2ms+Angstzuschlag überbrücken.
Servus, hab sowas in meinem Motorrad Kettenöler auf ESP8266 Basis. Nach "Bordspannung Aus" läuft der ESP8266 über einen Goldcap 1f/3.3V noch gut 3 Sekunden weiter. In dieser Zeit werden diverse Daten (ODO's, Zeit/Datum, 14 Setup Parameter, einige GPS Daten etc.) ins EEPROM geschrieben. Die Bordspannung wird über den ADC überwacht. Isoliert ist der Goldcap über einer Schottky Diode (wg. dem niedrigeren Spannungsabfall in Durchlassrichtung). Hilft hoffentlich ein bisschen weiter. Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.