Hi, ich will mit einem kleinen Board periodisch i2c Sensorwerte ins Netz schicken. Die Idee ist einen Attiny13 + ESP8266 zu benutzen[1]. Ersterer soll einen Buck/Boost Converter alle 10 Minuten einschalten. Es soll der Bus gelesen und die Batteriespannung gemessen werden. Ich habe dafür einen "ein/ausschaltbaren" Schaltkreis für einen Voltage Divider gefunden[2] und für meine Volt Werte (max 3x 1,5 AA ~ 5,1V) angepasst. Der ADC des Esp kannt analog zwischen 0 bis 1V entscheiden, weshalb für eine saubere Messung maximal 1V ankommen darf. Der Converter ist ein TPS63031[3]. Die Besonderheit an dem Board soll sein, dass man den ESP und den Attiny direkt darauf programmieren kann. Sprich die Pins für ISP und die UART Schnittstelle des Esp sind freigelegt. Damit der Attiny nicht von zwei Stromquellen gespeist wird, kann man mittels Jumper zwischen Batterie oder den 5v aus dem ISP Interface entscheiden. Ich habe einen Schaltplan und dazu ein Board gemacht und würde mich freuen wenn ihr da mal drüber schauen könnt. Ich hab dem ESP einen 10uF Glättungskondensator vorgesetzt. Ist dieser ausreichen? Der Esp kann bis 200mA ziehen. Ist der Voltage Divider in Ordnung? Durch EN_ADC auf High wird der P-Mosfet ausgelöst, der wiederum den N-Mosfet schaltet, wodurch die externe Batteriespannung zwischen den beiden Widerständen gemessen werden kann. Gibt es dafür Besonderheiten, die es auf dem Platinenlayout zu berücksichtigen gilt? Für den Konverter hab ich aus dem Datenblatt ein empfohlenes Layout übernommen. (Es sind noch nicht alle Routen geroutet) Noch einen schönen Abend. [1]http://homecircuits.eu/blog/battery-wifi-iot-temp-hum-soil-moisture-sensors/ [2]https://www.electricimp.com/docs/hardware/power_story/ [3]http://www.ti.com/lit/ds/symlink/tps63031.pdf
Je seltener WiFi angemacht werden muss, umso groesser ist der
Spareffekt. So ein "Winz"-AVR ist da voellig fehl am Platz.
Ich wuerd da eher zu einem STM8 tendieren. Selbst die kleinsten
haben 2 kB RAM und koennen damit viel mehr Daten bis zum
Versand zwischenpuffern.
10 bit AD-Wandler haben sie ausserdem.
Fuer 12 bit AD-Wandler: STM8L.
> Ich hab dem ESP einen 10uF Glättungskondensator vorgesetzt.
Viel zu wenig. Eher 500 - 1000 uF.
Zum Schalten von irgendwelchen Stromversorgungen wuerde ich
einen IRML6402 nehmen.
Betriebsspannungen kann man einfach mit einem Spannungsteiler
ohne komplizierte Mimik messen.
--- schrieb: > Je seltener WiFi angemacht werden muss, umso groesser ist der > Spareffekt. So ein "Winz"-AVR ist da voellig fehl am Platz. > > Ich wuerd da eher zu einem STM8 tendieren. Selbst die kleinsten > haben 2 kB RAM und koennen damit viel mehr Daten bis zum > Versand zwischenpuffern. > 10 bit AD-Wandler haben sie ausserdem. > Fuer 12 bit AD-Wandler: STM8L. Mir hat es den Anschein, und ich denke so ist es auch gewollt, ist der AVR ausschließlich dafür da den Buck Booster ein und auszuschalten. Mehr muss und braucht er auch nicht zu tun, und wenn man es ganz genau nehmen würde: dafür ist er dann auch schon völlig überdimensioniert - da würde auch schon ein Tiny10 6-Pin mit 1kb reichen.
Danke für das Feedback. Der Tiny10 klingt super und hat noch weniger Verbraucht im DeepSleep,top. Genau, der Avr soll lediglich den ESP hoch und runter fahren, indem der Converter über den EN Pin eingeschaltet wird. Nachdem der ESP seine Aufgabe erledigt hat, schickt er einen Interrupt an den AVR, der dann den Konverter ausschaltet und nach 10min wieder aufwacht und EN wieder auf high setzt. Wenn ich den Spannungsteiler ohne die Mosfets mache, wird direkt Strom verbaucht, sobald der Konverter Saft auf die Leitung gibt. Da ich möglichst lange mit den Batterien auskommen will, sollte die Spannungsmessung effizient laufen. Der Mosfet sieht interessant aus, werde später mal die Datenblätter gegenchecken, danke!
Jonathan schrieb: > Genau, der Avr soll lediglich den ESP hoch und runter fahren, indem der > Converter über den EN Pin eingeschaltet wird. Der ESP8266 benötigt im Deep Sleep 20µA. Du bist ganz sicher, dass sich das lohnt? Normale AA Zellen mit 2 Ah haben bei 20µA eine Laufzeit von nominell 100.000h, also 11 Jahre. Da ist die Selbstentladung grösser.
:
Bearbeitet durch User
Hallo Jonathan, habe ein ähnliches Projekt realisiert... Warum lässt du den zusätzlichen µC nicht einfahc ganz weg und schickst den ESP in den DeepSleep? Aufwecken kannst ihn dann indem du den GPIO16 mit dem Reset Pin verbindest. Was mir noch auffällt zu deinem Layout, die Spannungsversorgung (Leiterbahnen) zum ESP sind für meinen Geschmack deutlich zu dünn. Ich hatte immer wieder Probleme, daß der ESP, trotz dickem Elko, unregelmäßig Resets durchführte. Erst seit ich die Leiterbahnen zur Stromversorgung des ESP mind. 1mm breit mache ist damit Ruhe. Gruß Andreas
- Die GND-Plane sollte nicht unter der Antenne sein - Die drei blauen Leiterbahnen können auch noch auf TOP geroutet werden - Unbenutze Pins des ESP könnte man auf separate Header-Pins legen
Deep Sleep dürfte bei 4,5V nicht gehen. Dann müsste die Spannungsversorgung (Buck Boost) immer eingeschaltet bleiben. Insofern ist der AVR schon sinnvoll (in dem Fall hätte ich es auch so gemacht). Allerdings hätte ich auf den Buck Boost verzichtet und einen Ultra Low Drop verwendet. Das ist deutlich einfacher aufzubauen. Auch verstehe ich die komplizierte Messschaltung für die Batterie nicht. Wenn man sowieso immer nur kurz einschaltet, kann man die Batterie auch direkt messen. Wenn die 4,5V aus Batterien kommen, dann kann man einfach nur 2 einsetzen. Der ESP arbeitet auch bei 2,5V noch, auch wenn es nicht im Datenblatt steht. Alternative wäre ein LiFePO4-Akku mit günstigem Spannungsbereich. Für Batteriespannungsmessung lege ich das obere Ende immer auf einen PortPin und schalte den für die Messung auf H. Das war bisher genau genug und ich kann den Spannungsteiler trotzdem abschalten. Letztlich ist doch in dem Port auch nur ein MosFET, der nach VCC schaltet. Geht aber natürlich nicht, wenn die Batteriespannung erst heruntergesetzt wird. Solder
:
Bearbeitet durch User
A. K. schrieb: > Du bist ganz sicher, dass sich > das lohnt? Da ich den Strom umwandeln muss und der Konverter die ganze Zeit laufen würde, ja. Mit dem Attiny sinkt der Verbrauch dann effektiv auf unter 5uA. Andreas K. schrieb: > Erst seit ich die Leiterbahnen zur Stromversorgung des ESP mind. 1mm > breit mache ist damit Ruhe. Danke für den Tipp, das werde ich ausbessern! Zum DeepSleep, der Konverter müsste parallel dazu die ganze Zeit laufen, wodurch die Batterien nicht lange mitmachen würden. Pete K. schrieb: > - Die GND-Plane sollte nicht unter der Antenne sein Danke! Wäre es besser für die Antenne, wenn sie gänzlich freistehen würde, also das ich den GND Plane möglichst weiträumig um sie herum rausnehme? Oder reicht auch nur der Bereich den sie bedeckt? Christian S. schrieb: > Deep Sleep dürfte bei 4,5V nicht gehen. Dann müsste die > Spannungsversorgung (Buck Boost) immer eingeschaltet bleiben. Genau. Ich habe noch nicht viele Batterie Anwedungen umgesetzt, deswegen denke ich das LDOs eher für Anwendungen mit Netzteilen ausgelegt sind. Außer den etwas komplexeren Aufbau spricht doch eigentlich nichts gegen den BuckBoost.
Jonathan schrieb: > Der Esp kann bis 200mA ziehen. Das reicht noch nicht. Bei Betrieb eines ESP-01 an einem Linearregler mit 100µF am Eingang (U_in 7V), geht der Eingangsstrom in Peaks von 2..3ms Dauer durchaus auf 300mA hoch.
würde erstmal dem Schaltplan einen ERCverpassen. Oder sind die nicht angebunden (auch ohne gelbes Gummiband) Kondensatorpins links neben dem 4pol Stecker Absicht? > Wäre es besser für die Antenne, wenn sie gänzlich freistehen würde .. Die Antenne muss frei von Kupfer sein, besser noch ganz in der Luft. Unter der Antenne also min. rectangels auf den keepout und restrict layern legen. Besser noch an den Rand und ausfräsen (wenn's nix extra lostet) Jonathan schrieb: > Die Besonderheit an dem Board soll sein, dass man den ESP und den Attiny > direkt darauf programmieren kann. Sprich die Pins für ISP und die UART > Schnittstelle des Esp sind freigelegt. Ähem, gibt es irgendjemanden der den anderen Weg geht (fertig programmierte OTP's aufzulöten)? > Ich habe einen Schaltplan und dazu ein Board gemacht und würde mich > freuen wenn ihr da mal drüber schauen könnt. Meine Empfehlung wäre 2 Netzklassen anzulegen (class befehl) - Power 0.4 in vias 0,8mm - Signal 0.2 in vias 0,6mm und mit ch class die Leitungen im .sch zuzuordnen Dann das board aufrippeln ( ri * ;) und neu routen. Dann bekommst du wie von Zauberhand vernünftige Leiterbahnbreiten.
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.