FlaschOmat
Die Schaltung
Reden wir kurz über die Schaltung. Es wird etwas technisch werden. Wer nicht so tief in die Einzelheiten einsteigen will, der kann die Ausführungen auch überspringen. Für alle anderen kommen ein paar Details.


FlaschOmat V4.0

Es wurde ja schon gesagt, dass das Herz des FlaschOmaten in einem ESP32-Modul schlägt. Das Modul wird als 38-polige PCB geliefert und ist im Grunde schon ein voll funktionsfähiger Mikrocontroller mit aller notwendigen Peripherie. Dank der integrierten 3,3-V-Spannungsversorgung reicht ihm der Strom aus der USB-Buchse. Um den Verbrauch so niedrig wie möglich zu halten, läuft der ESP in unserem Fall nur mit 80 MHz statt der maximal möglichen 240 MHz. Damit braucht die ganze Schaltung im aktiven Betrieb weniger als 30 mA. Einen dedizierten Sleep-Mode gibt es nicht, weil der FlaschOmat für den Client (also das Handy) dauernd erreichbar sein muss.
Wer schon mal mit einem ESP32 gearbeitet hat, kennt vermutlich die Zicken, die manche Module machen, wenn man in den Boot-Mode wechseln will (Stichwort RTS/DTR von der UART). Um das Modul sicher in den Bootmodus zu schicken, ist am Reset-Pin ein 10-µF-Kondensator vorgesehen. Dieser verlängert den Reset-Puls, der von der seriellen Schnittstelle ausgelöst wird.
Die Module, die auf der vorherigen Seite schon beschrieben wurden, können direkt mit den passenden Pins des ESP32-Moduls verbunden werden. Die SD-Karte wird per SPI-Bus mit 20 MHz Takt beschrieben und gelesen. Das BMP180-Modul und das ADS1015-Modul werden per I2C mit 100 kHz angesteuert. Die Module bringen die notwendigen Pull-up-Widerstände auf den kleinen Platinchen auch schon mit. Die auf dem ESP32-Dev-Modul integrierte blaue LED wird benutzt, um die verschiedenen Betriebszustände anzuzeigen.
Eigentlich bringt der ESP32 schon eingebaute AD-Wandler mit, die auch direkt an den Modul-Pins zugänglich sind. Leider sind diese aber sehr ungenau und zeigen eine auffällige Nichtlinearität. Gerade in den Bereichen am Ende der Gärung wären damit nur sehr ungenaue Druckwerte ermittelbar. Details zu diesem Problem könnt ihr
hier nachlesen.
Der Drucksensor wird an Stecker J1 angeschlossen. Es handelt sich um eine aktive Messbrücke, die eine dem Druck proportionale Spannung ausgibt. Wie alle anderen Module auch, funktioniert er mit 3,3 V Betriebsspannung. Wie es sich gehört, bekommt die 3,3-V-Versorgung noch einen Puffer-Kondensator, ebenfalls mit 10 µF. Viel mehr gibt es zur Schaltung auch gar nicht zu sagen. Für die Freaks habe ich den Schaltplan für das ESP32-Dev-Modul noch in den Download-Bereich gepackt.

Wer schon mal hier vorbei geschaut hat wird bemerken, dass sich die Schaltung leicht geändert hat. Ich hatte ursprüngllich nicht bedacht / bemerkt, dass der ESP32 ziemlich stromhungrig ist. Je schwächer das WLAN Signal wird, desto mehr erhüöht er seine Sendeleistung und damit den Stromverbrauch. DIese Stromspitzen finden sich leider auf der 3,3V Versorgung wieder und stören die Messung des Flaschendrucks so sehr, dass keine verlässliche Messung mehr möglich ist.
Um das Abzustellen, gibt es nun einen eigenen Spannungsregler für die Schaltungsteile und den Drucksensor. Die Spannungsversorgung ist nun absolut konstant! Das war eine wichtige Voraussetzung für die präzise Druckmessung. Leider ist der Teufel manchmal ein Eichhörnchen. Es gab nämlich ein weiteres Problem, das mich tatsächlich eine ganze Woche Forschungsarbeit gekostet hat. Die Druckmessung zeigte immer noch unerklärliche Schwankungen, aber nicht etwa auf dem Labortisch, sondern ausschließlich wenn der Fllaschomat im Keller stand. Um es kurz zu machen... Die Ursache war die Einstreuung des WLAN Signals auf den Sensor selbst. Es ist deshalb notwendig das Edelstahlgehäuse mit PCB Masse zu verbinden.
So, nun da alle Probleme erkannt waren läuft der FlaschOmat endlich zuverlässiug und Präzise.


Module vorbereiten
Im ersten Schritt müsst ihr die Module mit passenden Stiftleisten versehen. Meist ist es günstiger, eine lange Stiftleiste zu bestellen, als mehrere kurze. Der hier verwendete Typ kann von euch mit einem kleinen Seitenschneider selbst auf die passende Länge gekürzt werden.

Es gibt drei Punkte auf die ihr achten müsst:
  • Beim BMP180 müssen die kurzen Beinchen der Stiftleiste in die Platine.
  • Beim ADS1015 und dem SD-Karten-Modul müssen die langen Beinchen in die Platine.
  • Die Stiftleisten sollten möglichst gerade im Modul stecken. Das ist besonders für das SD-Karten-Modul wichtig! Am besten lötet ihr erst mal nur einen Stift fest und kontrolliert die Ausrichtung noch einmal. Wenn alles passt, folgen die restlichen Stifte.

BMP180 Modul

ADS1015 Modul
SD Karten Modul


HINWEIS: Wenn die Stiftleisten einmal verlötet sind, bekommt ihr sie ohne eine spezielle Heißluft-Lötstation nie mehr heraus. Falls ihr beim BMP und ADS1015 versehentlich die kurze Seite im Modul stecken habt, kann man diese am Ende trotzdem noch verbauen. Ihr müsst dann aber die zu langen Pins nach dem Einlöten auf der Hauptplatine abknipsen. Fehler beim SD-Karten-Modul führen hingegen zum Komplettausfall – in diesem Fall könnt ihr direkt neues Material bestellen.

Hauptplatine vorbereiten
Auf der Hauptplatine müssen - neben den Modulen - noch ein paar weitere Bauteile eingelötet werden. Bis auf den 3,3V Spannungsregler ist alles in Bauform 0805, Die Werte können dem Schaltbild oben entnommen werden.



Module einlöten
Weiter geht es mit dem Einlöten der Module in die Hauptplatine. Am besten beginnt ihr mit dem SD-Karten-Modul. Wie schon beim Vorbereiten des Moduls müsst ihr auch hier unbedingt darauf achten, dass es gerade und parallel zur Hauptplatine sitzt. Nur dann trifft die Karte später durch den Gehäuseschlitz genau in den Slot. Auch hier ist es sinnvoll, erst einmal nur einen Stift zu verlöten und die Ausrichtung zu prüfen. Erst wenn alles perfekt sitzt, folgen die restlichen Stifte.
Tipp:
Legt eine Buchsenleiste für den ESP32 als Abstandshalter zwischen PCB und SD Modul. Damit sitzt es nachher garantiert richtig.

Beim ADS1015 ist die Position auf der Platine nicht ganz so entscheidend. Wer ein Auge für Ästhetik hat, geht genauso vor wie oben beschrieben. Für die Funktion ist es jedoch egal, ob das Modul leicht gekippt oder perfekt gerade sitzt. Kommen wir nun zum BMP180. Hier gibt es für die abgewinkelte Stiftleiste keine passenden Löcher in der Platine. Dafür befinden sich vier Lötstreifen am Rand auf der Unterseite der Hauptplatine. Auf diese Streifen werden die Stifte aufgelegt (!) und vorsichtig nacheinander verlötet. Das Ganze ist ein wenig kniffliger als bei den vorangegangenen Modulen. Damit am Ende alles gut ins Gehäuse passt, muss das BMP180-Modul gerade und mittig auf den vorgesehenen Löt-Pads sitzen. Wie gewohnt wird erst der erste Pin mit etwas Lötzinn angeheftet und danach die Lage kontrolliert. Bei Bedarf kann der Pin noch einmal erhitzt und nachjustiert werden. Wenn die Position stimmt, werden die restlichen Pins fixiert.


uch mag die abgesetzte Position und die Art des Einbaus vielleicht ein bisschen seltsam vorkommen. Tatsächlich war eines der Probleme bei den frühen Prototypen, dass die Eigenerwärmung des Moduls den Temperatursensor auf dem BMP180 beeinflusst hat. Um das zu verhindern, waren folgende Maßnahmen notwendig:
  • Eine Trennwand im Gehäuse zwischen BMP180 und Prozessor einzufügen.
  • Den Bereich um das BMP-Modul großzügig mit Luftschlitzen auszustatten.
  • Den Takt des Prozessors (und damit die Verlustleistung) auf 80 MHz zu reduzieren.

Daher resultiert die abgesetzte Position auf der Hauptplatine.


Buchsenleisten einlöten

Jetzt fehlen nur noch die beiden Buchsenleisten, in die das ESP32-Modul eingesteckt wird. Da es keine 19-polige Version zu kaufen gibt, müsst ihr diese selbst auf die passende Polzahl – 19 – kürzen. Wieder ist der Seitenschneider das Werkzeug der Wahl.
Achtet auch hier darauf, dass die Buchsenleisten rechtwinklig und gerade auf der Hauptplatine sitzen, sonst lässt sich am Ende das ESP32-Modul nur schwer einsetzen. Wer einen ESD-sicheren Arbeitsplatz hat, kann das Modul vor dem Löten in die Buchsenleisten stecken und so sicherstellen, dass am Ende alles perfekt passt.



Drucksensor anschließen
Der letzte Schritt ist das Kürzen und Anschließen des Drucksensors. Er wird mit einem ca. 30 cm langen Anschlusskabel mit drei offenen Litzen geliefert. Da es ein aktiver Sensor ist (also mit eingebauter Elektronik), benötigt er eine Betriebsspannung von 3,3 V.
Im Internet wird der Sensor oft mit 5 V Betriebsspannung beworben. Hier dürft ihr euch nicht verwirren lassen: Ja, man kann ihn mit 5,0 V betreiben, aber eben auch mit 3,3 V, wie in unserem Fall. Prinzipiell kann jeder die Zuleitung so weit kürzen, wie er mag – oder auch gar nicht. Da die Leitungen relativ dick sind und kaum nennenswerter Strom fließt, wird eine Verlängerung sehr wahrscheinlich auch funktionieren. Ausprobiert habe ich das allerdings noch nicht.


An die Litzen wird noch ein passendes Gegenstück zum 3-poligen Stecker J1 gelötet. Dazu knipst ihr euch ein passendes Stück vom Rest der oben verwendeten Buchsenleiste ab und lötet die Litzen entsprechend dem Bild oben an. An
Rot kommt 3,3V Betriebsspannung, an Schwarz kommt GND und auf der Grünen Litze liegt das Signal an.



ACHTUNG:
Die Beschriftung der Anschlüsse auf der Leiterplatte ist nicht korrekt. Der Stecker muss wie hier im Bild angeschlossen werden. Verpolen macht nichts kaputt, nur der Sensor würde nicht funktionieren.

Der blaue Einzeldraht wird später mit edem Haltering an den Sensor geklemmt.



Damit wäre der praktische Teil erledigt. Ich hoffe, jeder konnte der Anleitung folgen und hat sich nicht verlötet. Wenn alles glattgelaufen ist, dann ist jetzt der Zeitpunkt für den ersten „Smoke-Test“ gekommen.

Smoke-Test
Damit wäre der praktische Teil erledigt. Ich hoffe, dass die Lötarbeiten problemlos abgelaufen sind und jeder der Anleitung bis hierher folgen konnte. Das Kabel für den Drucksensor wird erst mal nicht angeschlossen, und das Gehäuse brauchen wir auch noch nicht.
Wenn alles glattgelaufen ist, dann ist jetzt der Zeitpunkt gekommen, euren Hyper-Super-Geilomatico-FlaschOmat das erste Mal an ein USB-Netzteil zu stecken. Wir riskieren nichts und gehen erst nach bestandener Vorprüfung damit an den PC.
Nun sollte … traraaaa … nichts passieren.
Wenn die rote LED (ziemlich hell) leuchtet, dann hast du vermutlich schon mal keine gröberen Fehler beim Aufbau gemacht. Der ESP32 wird nun mit Strom versorgt und ist betriebsbereit. Wer ein Multimeter hat, kann mal die 3,3-V-Betriebsspannung an Pin 1 des ESP32-Moduls messen. Ggf. könnt ihr mit dem Finger am Spannungsregler prüfen, ob dieser nicht heiß wird.

Mikro-SD Karte vorbereiten
Die SD-Karte ist das zentrale Speichermedium für den FlaschOmat. Damit der FlaschOmat später funktioniert, ist eine eingesteckte SD-Karte mit einer bestimmten Ordnerstruktur Pflicht. Ich habe ja schon erwähnt, dass die Bedienoberfläche, alle Einstellungen, Kalibrierwerte und natürlich die Messwerte darauf gespeichert werden.
Ihr könnt alle Karten ab 1 GB bis maximal 32 GB verwenden. Wichtig ist, dass ihr die Karte am PC mit FAT32 formatiert. Andere Dateisysteme werden vom FlaschOmat nicht erkannt. Gebt beim Formatieren auch einen Namen an (ich habe meine immer „BOOT“ genannt).
Im Download-Bereich gibt es einen Ordner /gui und einen Ordner /settings. Kopiert beide auf die SD-Karte – das war’s auch schon. Steckt die Karte nun mit der Beschriftung nach oben in den Slot.