Hallo, ich möchte mir Platinen erstellen, an die ich Sensoren anschließen kann (sowohl Digitale als auch Analoge). Bei gewissen Grenzwertveränderungen soll das Ergebnis per WLAN auf einen Server übertragen werden. Das Ganze soll per Batteriebetrieb laufen, also stromsparend sein. Als Architektur habe ich mir einen ESP8266 für die WLAN Funktionen vorgestellt. Um den Stromverbrauch gering zu halten (der ESP8266 unterstützt kein interruptgesteuertes Aufwachen) habe ich einen ATTiny13A davor geschaltet. Dieser kann die Signale auslesen, auswerten und bei Bedarf per Resetimpuls den ESP8266 aufwecken. Per Software-UART übermittelt der ATTiny13 dann seine ausgelesen Daten, und der ESP8266 schickt sie an den Server. Dazu habe ich den angehängten Schaltplan erstellt. Folgende Pinheader verwenden verwendet: - ESP_ISP (Programmieren und Debuggen des ESP8266) - DISPLAY_PWR (an einem Sensor soll ein Display hängen, welches zeitgesteuert Inhalte anzeigt. Über diesen Pinheader kann es komplett ein- und ausgeschaltet werden) - ESP_I2C (für spätere Erweiterungen: I2C Schnittstelle des ESP) - AVR_DW (zum Debuggen möchte ich einen ATTiny am Anfang mit aktiviertem Debugwire auflöten. Hier würde ich den AVR Dragon verbinden.) - SENSOR1/SENSOR2: Anschlussmöglichkeiten für die Sensoren - PWR (hier kommt die Stromversorgung in Form eines Step-Down Converters dran) Könnt ihr bitte mal drüberschauen, ob es aus eurer Sicht noch Fehler oder etwas zu verbessern gibt, bevor ich Platinen erstelle und in Auftrag gebe? Danke :)
Jan schrieb: > Dazu habe ich den angehängten Schaltplan erstellt. Da hat was mit dem Anhang nicht geklappt. Ich sehe nur eine graphisch unterstützte Netzliste.
Q? steht auf dem Kopf. Und Gnd zu schalten, gibt meist nur Probleme.
Dr. No schrieb: > Wieso hängen beide MCUs an SENSOR1/2? gerade für die (Software-) Entwicklungsphase möchte ich, dass der ESP das Signal vom Sensor ebenfalls erfassen kann, und der ATTiny nicht alles per Software-UART an den ESP über den einen Kommunikationspin schicken muss. Wolfgang schrieb: > Q? steht auf dem Kopf. Und Gnd zu schalten, gibt meist nur Probleme. Oh, da habe ich vergessen den Plan zu annotieren. Wie genau meinst Du das mit "steht auf dem Kopf"? Ich habe hier in der Artikelsammlung Transistor gelesen, dass es zum Schalten sinnvoll ist die Last an den CKllector zu hängen (Emitterschaltung). Was genau habe ich falsch gemacht?
Jan schrieb: > Um den Stromverbrauch gering zu halten (der ESP8266 > unterstützt kein interruptgesteuertes Aufwachen) Naja Interrupt nicht direkt, aber über den Reset-Pin kannst du ihn wieder aus dem Deep-Sleep (~20µA) aufwecken. Oder er weckt sich selbst über die interne RTC via GPIO16 (an Reset) auf. Dabei geht natürlich der RAM-Inhalt verloren. Wichtige Variablen kannst du aber im RTC Memory ablegen (512 Bytes)
:
Bearbeitet durch User
Wenn du schon einen AVR mit On-Board hast, würde ich damit die Stromversorgung des ESP Chips komplett unterbrechen. Denn auch wenn Espressif immer wieder mit der angeblich niedrigen Standby Stromaufnahme prahlt: Das Ding braucht viel mehr Strom als jeder andere Mikrocontroller. Mir ist da noch aufgefallen, dass da alles an 3,3V hängt. Für Batteriebtrieb würde ich den AVR direkt an die Batterie hängen. Dann sparst Du Dir die Stromaufnahme des Spannungsreglers.
Jan schrieb: > Wolfgang schrieb: >> Q? steht auf dem Kopf. Und Gnd zu schalten, gibt meist nur Probleme. > > Oh, da habe ich vergessen den Plan zu annotieren. Wie genau meinst Du > das mit "steht auf dem Kopf"? Üblicherweise zeichnet man Schaltungen so, dass die Spannungen von oben nach unten abnehmen, d.h. ein NPN-Transistor in Emitterschaltung mit Emitter unten und Kollektor oben. > Ich habe hier in der Artikelsammlung Transistor gelesen, dass es zum > Schalten sinnvoll ist die Last an den CKllector zu hängen > (Emitterschaltung). Was genau habe ich falsch gemacht? Das kommt auf die Last drauf an. Das Label "Display_Pwr" deutet darauf hin, dass es sich um ein Display handelt. Wenn das Ding noch über irgendwelche Datenleitungen mit der Schaltung verbunden ist, kann ein Auftrennen der Masse üble Folgen haben, i.e. Versorgung über Datenpins o.ä. Was schaltest du da genau?
Timmo H. schrieb: > Naja Interrupt nicht direkt, aber über den Reset-Pin kannst du ihn > wieder aus dem Deep-Sleep (~20µA) aufwecken. das funktioniert leider für analoge Daten schlecht. In einem Szenario hängt an dem einen Sensor ein Fotowiderstand, und der ESP soll Helligkeitsabhängig schalten. Hier benötigte ich also einen ADC und eine "Logik" ob der ESP aufwachen soll oder nicht. Bei rein digitalen Signalen hast Du natürlich recht. Stefan U. schrieb: > Wenn du schon einen AVR mit On-Board hast, würde ich damit die > Stromversorgung des ESP Chips komplett unterbrechen. Denn auch wenn > Espressif immer wieder mit der angeblich niedrigen Standby Stromaufnahme > prahlt: Das Ding braucht viel mehr Strom als jeder andere > Mikrocontroller. gut zu wissen, danke, ich dachte das würde keinen Unterschied machen (und ich spare mir so einen Transistor). Stefan U. schrieb: > Für > Batteriebtrieb würde ich den AVR direkt an die Batterie hängen. Dann > sparst Du Dir die Stromaufnahme des Spannungsreglers. guter Hinweis, danke! Wolfgang schrieb: > Üblicherweise zeichnet man Schaltungen so, dass die Spannungen von oben > nach unten abnehmen, d.h. ein NPN-Transistor in Emitterschaltung mit > Emitter unten und Kollektor oben. war mir nicht bewusst, aber darum schreibe ich ja hier um solche guten Hinweise zu bekommen, danke! Wolfgang schrieb: > Das kommt auf die Last drauf an. Das Label "Display_Pwr" deutet darauf > hin, dass es sich um ein Display handelt. Wenn das Ding noch über > irgendwelche Datenleitungen mit der Schaltung verbunden ist, kann ein > Auftrennen der Masse üble Folgen haben, i.e. Versorgung über Datenpins > o.ä. > > Was schaltest du da genau? Das ist ein OLED mit SSD1306 Controller, welches über I2C gesteuert werden kann. Sollte ich hier besser die Masse trennen? Hier würde dann doch aber der Basisstrom durch die Last fließen, was man laut Transistorartikel hier vermeiden sollte, oder?
Jan schrieb: > Sollte ich hier besser die Masse trennen? In deine Schaltung trennst du mit dem Transistor die Masse vom Display.
Wolfgang schrieb: > In deine Schaltung trennst du mit dem Transistor die Masse vom > Display. Du hast vollkommen recht. Aber was ist mit den beiden I2C Pins, die mit einem Pullup verbunden sind? Ist es da nicht sinnvoller die Masse zu trennen? Oder sollte ich doch besser die Versorgungsspannung trennen (und was ist dann mit der Regel von der Transistorseite, oder kann ich das vernachlässigen?)
Jan schrieb: > Könnt ihr bitte mal drüberschauen, ob es aus eurer Sicht noch Fehler > oder etwas zu verbessern gibt, bevor ich Platinen erstelle und in > Auftrag gebe? Ich würde zusätzlich für das ESP Board noch einen entsprechenden Kondensator vorsehen. Die Dinger sind ja nach wie vor extrem pingelig bei der Betriebsspannung und wenn diese durch das Senden per WLAN mal etwas absinkt geht das Ding schnell durch den Reset. Bei meinen Spielerein mit dem ESP haben sich zur Puffern der Spannung für den ESP 1x 100nf + 1x 10uf Keramisch und 1x 470uf als normaler Kondensator bewährt.
Pingelig sind sie nicht. Bei meinem letzten Versuch lief das Ding bis 2,5V runter noch problemlos weiter. Problem sind eher die extremen Stromschwankungen, die zusammen mit Leitungswiderständen, Induktion und trägen Spannungsreglern zu starken Einbrüchen der Versorgungsspannugn führen. Wie dem auch sei, ein Elko ganz nahe zum ESP Modul platziert hat sich bewährt, um sporadische Aussetzer loszuwerden. Ich nehme immer 100µF. Und da wir hier aber kein fertiges Modul haben, sondern einen losen Chip, würde ich Markus Vorschlag folgen, noch einen weiteren kleinen Elko und einen Keramik-Kondensator zu verwenden.
Jan schrieb: > Wolfgang schrieb: >> In deine Schaltung trennst du mit dem Transistor die Masse vom >> Display. > > Du hast vollkommen recht. Aber was ist mit den beiden I2C Pins, die mit > einem Pullup verbunden sind? Ist es da nicht sinnvoller die Masse zu > trennen? Oder sollte ich doch besser die Versorgungsspannung trennen > (und was ist dann mit der Regel von der Transistorseite, oder kann ich > das vernachlässigen?) Ich würde die Betriebsspannung des Displays und die beiden Pullups des I2C verbinden und abschaltbar machen. Den Transistor kannst du dir sparen die paar mA die so ein OLED braucht liefert auch der Portpin. Sascha
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.