Dieser Beitrag ist vor dem PCB Board entstanden und beinhaltet auch den alten Sensor. Bitte die neue Bestellliste beachten.  20.12.18

Dies ist ein Gastbeitrag zu der Erstellung eines PID Reglers auf  Basis des Nodemcu Controllers. Markus war so freundlich mir einen Zugang zu seiner Webseite zu geben, um meine Erfahrungen zu teilen. Ich habe den Quellcode soweit angepasst, da ich nur einen PID Regler ohne weitere Funktionen haben wollte. Vorweg ein wichtiger Hinweis:

Das Arbeiten mit 230 V kann tödlich sein! Diese Anleitung soll euch einen Eindruck geben, wie Ihr selbst einen PID Regler in eine Rancilio Silvia einbauen könnt. Bei Arbeiten mit 230 V immer den Netzstecker ziehen. Ihr handelt dabei auf eigene Gefahr.

Vorbereitung

Vor der eigentlichen Arbeit sollte Ihr den Schaltplan der Rancilio Siliva, den Ihr auf vielen Webseiten im Netz finden könnt, genau analysieren. Ein Abgleich mit einem Bild aus dem Inneren der Maschine zeigt euch, welche Kabel die stromführende sind und welche zum Leiter oder Schutzleiter gehören. 

Innenleben der Rancilio
Schaltplan der Rancilio

Das Thermostat mit dem roten Punkt ist das Brühthermostat, welches später durch ein Relais ersetzt werden soll. Der SSR wird später das Thermostat für das Brühen ersetzen. 

Bestellliste

Neben der vollständigen Bestellliste, beschreibe ich kurz den wesentliche Bauteile: Den Nodemcu, den SSR und den Temperatursensor und das Netzteil.

Nodemcu

Ich habe mich für einen Nodemcu entschieden, der nicht mehr gelötet werden muss. Später habe ich mir dazu ein passendes Board bestellt, um diesen sicher zu montieren. Bei mir kommt folgendes Modell zum Einsatz: NodeMCU Lua Amica Modul V2 ESP8266 ESP-12E Wifi Wifi Development Board mit CP2102  Link

Das Board ist folgendes: Lua NodeMcu ESP8266 CP2102 Development Board &L293D ESP-12E Wifi Motor Drive Link .

Als Randnotiz kann hier erwähnt werden, dass ein anderes bestelltes Board nicht gepasst hat. Der Grund ist, dass es nebem dem CP1202 auch noch andere Varianten gibt und auch beim CP2102 abgeänderte Bauweisen. Leider ist es teilweise sehr undurchsichtig, welche Board wofür geeignet sind.

Temperatursensor

Vor dem eigentlichen Einbau habe ich viel Zeit mit dem Nodemcu und dem Temperatursensor DS18B20 verbringen dürfen. Hierfür hatte ich flexible Steckbrücken und ein Breadboard verwendet. Der Sensor hat auf dem Board schon den notwendigen Widerstand. Es wird kein weiterer Widerstand benötigt. Bei den ersten Versuchen hat es nicht auf Anhieb geklappt mit Onewire eine Verbindung zu bekommen. Typische Fehlerquellen, die ich erlebt habe:

  1. Falscher Pin im Quellcode: Die Bezeichnung z.B. D6 entspricht nicht Gipo 6 im Quellcode. Es gibt Layouts, wo die Übersetzung von Pin zur Beschriftung aufgeführt sind.
  2. Falscher Pin für den Sensor: Es gibt Pins, die nicht genutzt werden können. Es gehen u.a. D1, D2, D6, D5
  3. Kaputtes Kabel / Kein richtiger Kontakt: Am Anfang habe ich ohne Breadboard und ohne angelöteten Pins am Nodemcu versucht zu experimentieren: Es war keine gute Idee. Kostet nur Zeit

SSR

Als SSR habe ich den RA 2425-D06 von CARLO GAVAZZI ausgewählt. Dieser schaltet bei 3 Volt diesen ein. Da der Nodemcu 3,3 Volt liefert reicht das für den Schaltvorgang. Wichtig ist hierbei der Widerstand vom SSR: Wenn dieser zu klein ist, dann fließt nach U=R*I ein zu großer Strom. Der Nodemcu hält nicht mehr als 12 mA aus. Bei 3,3 Volt und 1500 Ohm (laut Datenblatt SSR) sind dies rund 2mA. Bei der Wahl eines anderen SSR sollte dies beachtet werden. Ferner sollte auch je nach Position berücksichtig werden, da je nach Strom/Dauerbetrieb nicht der maximale Strom von 25A vom SSR genutzt werden darf oder/und ein Kühlkörper benötigt wird. Die Wärme im Gehäuse sollte nicht unterschätzt werden.

Netzteil

Die günstige Variante wäre ein reguläres Netzteil für ein USB Gerät gewesen. Da ich neben der Programmierung direkt an der Maschine den Nodemcu weiter mit Strom versorgen möchte, habe ich mir für ein 5 Volt Netzteil entschieden. Dieser wir über Vin mit dem Nodemcu verbunden. Neben dem gewählten Netzteil von Mean Well (SNT RS 15 5) gibt sich auch Hutschienennetzteile. Diese sind aber deutlich größer.

Bestellliste für den Einbau

BezeichnungArtikelnr. Menge
Schaltlitze H07V-K, 1,5 mm, 10 m, blauH07VK 1,5-10BL1
Flachsteckhülsen mit Schrumpfschlauch – 1,5 … 2,5 mm², blauWE F602638HS4
Flachsteckhülsen mit Abzweig – 1,5 … 2,5 mm², transp., vollisoliWE F606638.1N4
Kupferlitze isoliert, 10M, 1×0,14mm², braunLITZE BR1
Kupferlitze isoliert, 10M, 1×0,14mm², blauLITZE BL1
Kupferlitze isoliert, 10M, 1×0,14mm², orangeLITZE OR1
Crimpzange, 240 mm, isolierte Kabelschuhe + Kabelverbinder
KN 97 22 2401
Schaltlitze H07V-K, 1,5 mm, 10 m, schwarzH07VK 1,5-10SW1
Flachstecker mit Schrumpfschlauch – 1,5 … 2,5 mm², blauWE F616638HS4

Zusätzlich habe ich weitere Dinge nachträglich bei anderen Anbietern gekauft:

  • Wärmeleitkleber (nichtleitend): Link (Silverbead Wärmeleitkleber)
  • Dupont Stecker Kit: Link (Dupont Stecker Kit)

Bilder vom Einbau

Die eigentliche Idee war es, den Nodemcu in eine Kiste zu packen. Da in der Protoypenphase noch viel geprüft werden musste, habe ich mich entschieden den Nodemcu auf einen der bestellten Gehäusedeckel zu stellen. Das Netzteil für den Nodemcu ist rechts in der Ecke neben den Schaltern.

Die Flachsteckerabzweige habe ich genutzt, um an den Schalter die Spannungsversorgung für das Netzteil abzuzweigen. Ich habe dabei mich entschieden den Strom vor dem Schalter abzuweigen, sodass der Nodemcu auch bei geöffneten Schalter mit Strom versorgt wird. Mit einem weiteren Flachstecker ist der Schutzleiter vom Ventil mit dem des Netzteils verbunden.

Den SSR habe ich hinten neben der Pumpe platziert. Die Dupontstifte habe ich verwendet, um den SSR mit dem Board zu verbinden. 

Den Temperatursensor habe ich mit Wärmeleitkleber verklebt, dieser muss längere Zeit aushärten (1-2 h), dann sitzt der Sensor sicher auf dem Kessel. Der Sensor ist hier ungünstig eingebaut, da das Risiko besteht, dass bei fehlenden Kontakt mit dem Gehäuse erhebliche Messfehler passieren. Viel Wärmeleitkleber am Sensor oder eine umgedrehte Einbauposition kann hier helfen.

Vorgehensweise

Meine bisherigen Meilensteine im Projekt

  1. Nodemcu mit DS18B20 verbinden und testen. 
  2. DS18B20 in der Rancilio sicher verbauen
  3. Stromversorgung für den Nodemcu einbauen. 
  4. Mit der bestehenden Steuerung und den Temperaturwerten ein Gefühl für die Rancilio entwickeln
  5. SSR in der Rancilio verbauen
  6. SSR einmalig manuell schalten über den Gipo
  7. Den Quellcode anpassen
  8. SSR mit PID Regelung in Betrieb nehmen
  9. Eigenen lokalen Blynk Server in Betrieb nehmen
  10. PID Parameter bestimmen
  11. Nodemcu besser im Gehäuse der Maschine verbauen – Eigene Platine erstellen lassen