Worum geht es?
Hier geht es zum einen um eine
[ul]
[li]Temperaturregelung einer Espresso-Maschine mittels PID-Regler,
[/li][li]zum anderen um ein günstiges bidirektionales Funksystem (Verschlüsselung möglich) für eigene Projekte.
[/li][/ul]
Warum?
Warum man eine Temperatur-Stabilisierung braucht, verstehen wohl nur Espresso-Liebhaber…
Kurz zusammengefasst: Bei einem herkömmlichen Thermostaten treten Temperaturschwankungen von bis zu 20°C auf - PID-Regler ermöglichen eine Grad genaue Stabilisierung der Brühtemperatur.
Hardware
Der PID besteht aus:
[ul]
[li]einem µController ATmega328,
[/li][li]einem NTC-Widerstand (30 Cent z.B. bei Reichelt) zur Temperaturmessung
[/li][li]und einem Solid-State-Relais (ca. 10-20 EUR für eine Schaltleistung von 1000W) zur Heizungssteuerung.
[/li][/ul]
Als Basis-Platine eignet sich besonders gut der JeeNode. Er besteht aus:
[ul]
[li]einem ATmega328 mit Arduino-Bootloader (s.u.),
[/li][li]einem RFM12B 866MHz Sende-/Empfangsmodul
[/li][li]und Ports zu den analogen und digitalen In- und Output Pins
[/li][/ul]
(Nebenbei kann man damit direkt FS20-Geräte und InterTechno-Funksteckdosen und ähnliche 433MHz Systeme (hier sollte man die Antenne verlängern) steuern - entsprechende Programme sind bereits auf dem JeeNode vorhanden - auch X10 ist möglich).
Die gesamte Schaltung mit allen Bauteilen inkl. Platine kostet nur 17,50 EUR (versandkostenfrei).
Im IPS-Server steckt ein JeeLink: Er ist wie ein JeeNode , jedoch in einer sehr kompakten Bauform (USB-Stick, siehe Bild) und es gibt keinen Zugang zu den I/O Pins.
Der JeeLink selbst dient also nur als „Router“, der die Befehle von IPS über Funk an einen anderen JeeNode weiterleitet.
Software
Die Programme auf dem µC sind mit Arduino geschrieben. Arduino ist eine sehr einfache Entwicklungsumgebung, mit der man schnell Programme (Sketches) schreiben und sie ohne zusätzlichen ISP-Programmer direkt über USB an den µC senden kann.
Ein Quellcode für den PID-Regler braucht man nicht selbst schreiben, sondern ist hier zu finden:
BBCC: Bare Bones (PID) Coffee Controller.
Die Temperatur lässt sich aus dem Spannungsabfall am temperaturabhängigen Widerstand berechnen. Entsprechende Formeln findet man im Datenblatt, so dass man sie einfach ins µC-Programm integrieren kann (So könnte man sich auch einfach ein IPS-Funk-Thermometer bauen…).
Zum Schluss noch die Funk-Kommunikation schreiben - dank RF12-Bibliothek von JeeLabs so einfach wie die Kommunikation über serielle Schnittstellen - Fertig ist das Programm des µC.
IPS-Einbindung
Der JeeLink kann mit IPS über das FTDI-Modul kommunizieren. So können Steuerbefehle, wie Solltemperatur und PID-Einstellungenvon IPS an die Espresso-Maschine geschickt werden.
Die Maschine wiederum schickt die aktuelle Temperatur zurück.
Über das WebFront lässt sich nun die gewünschte Temperatur einstellen, und die PID-Regeleigenschaften anpassen. Der Temperaturverlauf ist im Graphen-Modul zu sehen.
Und zuletzt…
Auch wenn dies eine sehr spezielle Anwendung ist, lassen sich auf diese Weise sehr viele andere Projekte realisieren.
Weitere Informationen gibt es hier:
Jeelabs.org - ein Blog eines sehr ambitionierten Entwicklers, der seine Programme, µController-Bibliotheken und Hardware-Entwicklungen als OpenSource bereit stellt und diese sehr gut dokumentiert. Die
(Ich stehe übrigens in keiner Verbindung zu JeeLabs - bin aber sehr begeistert von den Soft- und Hardware-Entwicklungen)