Logo Dennis' Tech Blog

Erstes eigenes Board für Sensorknoten

Dennis Schwerdel  Sensorknoten  Smart home  Iot  Esp8266  Pcb
Post Image

Heute ist es soweit. Mein erstes eigenes Board für meine Sensorknoten wurde geliefert: 30 Exemplare frisch aus China. Ich habe mich direkt hingesetzt und die Bauteile auf das erste Board aufgelötet. In diesem Post erkläre ich den Aufbau des Boards und führe meine ersten Messungen durch.

Aufbau des Boards

Das Board hat als Prozessor den ESP-12E, die gleiche Version des ESP8266 wie auch der NodeMCU. Dadurch sollten die Programme 1:1 übertragbar sein. Die wesentlichen Pins habe ich nach außen geführt damit man mit Jumperkabeln arbeiten kann. Ein paar unwesentliche Pins, die man sowieso nicht sinnvoll einsetzen kann habe ich nicht nach außen geführt.

Da man für den Deep-Sleep Modus die Pins D0 und Rst verbinden muss, habe ich die beiden direkt nebeneinander gelegt, sodass man einen Jumper setzen kann.

Für die Stromversorgung von Sensoren und anderen Zusatzkomponenten werden die 3.3V sowie GND des Boards auf jeweils 3 Pins nach außen geführt.

Außerdem gibt es noch einen Jumper mit dem man zwischen normalem Boot und Programupload wählen kann.

Spannungsversorgung

Zur Spannungsversorgung verwende ich den Spannungsregler MCP1700. Dieser liefert maximal 250 mA und verbraucht minimal nur ca. 1,6 µA. Dadurch sollte der Verbrauch im Deep-Sleep bei ca. 22 µA liegen. Der Chip verbraucht im normalen Betrieb ca. 70 mA, kann aber beim Senden über WLAN für einige Nanosekunden bis zu 400 mA verbrauchen. Daher habe ich zwei Kondensatoren eingebaut: einen 10 pF Kondensator der schnell auf Lastspitzen reagieren kann und einen 1000 µF Elko, der die 400 mA Spitzen abfängt und den kleinen Kondensator schnell wieder auflädt. Durch diese beiden Kondensatoren sollte der Spannungsregler mit seinen 250 mA ausreichen.

Programmieren des Chips

Das Board verzichtet auf einen sogenannten UART-Chip, der von USB auf die serielle Schnittstelle des Chips übersetzt. Dadurch ist zwar der Strombedarf des Boards extrem gering aber es lässt sich nun nicht mehr ganz so einfach programmieren.

Um einen Sketch auf den Chip zu spielen benötigt man nun einen externen UART-Adapter. Ich habe mir ein Modul der Serie "CP2102" für ca. 2€ bestellt. Der Adapter hat auf der einen Seite einen USB-Anschluss und auf der anderen Seite ein Kabel mit 5 Anschlüssen. Zwei davon können zur Stromversorgung des Boards genutzt werden und zwei weitere werden für die Datenverbindung genutzt. Die Anschlüsse müssen einfach auf die entsprechenden Pins des Boards gesteckt werden und schon hat man Kontakt zu dem Chip.

Will man den Chip nun programmieren, muss man das Board per Jumper in den Programmiermodus ("Flash") versetzen. Die Entwicklerboards können das automatisch, benötigen dafür aber recht komplexe Schaltungen.

Messungen

Im normalen Betrieb verbraucht das Board weiterhin 70 mA. Das war soweit keine Überraschung.

Während des Sendens über WLAN bleibt der Knoten stabil. Man kann zwar einen kleinen Spannungsabfall sehen aber die Lösung mit den Kondensatoren funktioniert wie geplant. Der Spannungsabfall sollte kein Problem sein, da der Chip mit 3.3 V betrieben wird aber noch bis 2.6 V stabil laufen soll.

Im Deep-Sleep verbraucht das Board ca. 23 µA wobei das nur ein grober Schätzwert ist. Mein Multimeter liefert unterhalb von 1 mA nur noch falsche Werte sodass ich mit einem großen Vorwiderstand arbeiten musste an dem ich dann die Spannung gemessen habe.

Mit diesem Board kann ich auf jeden Fall einen Batteriebetrieb wagen. Mehr dazu im nächsten Post.

Wenn Ihr Interesse an meinem Board (roh oder fertig bestückt) habt, schreibt mir einfach eine Mail. Ein paar Boards sind noch übrig.