|
|
Unser Haus verfügt über eine Warmwasserzirkulation, die mittels
einer Zeitschaltuhr gesteuert wurde. Da dies nicht flexibel genug war,
wurde die Uhr durch eine MSP430 basiert Steuerung ersetzt. Diese Seite gibt
einen kurzen Überblick über das Projekt.
Den Kern der Steuerung bildet ein MSP430 auf dem MSP430-EasyWeb3 Module von
Olimex. Dieses Modul verfügt
bereits über einen Ethernet Anschluss und lies sich damit sehr leicht
in das vorhandene Netzwerk integrieren.
Darüber hinaus wurden die folgenden Standardkomponenten verbaut:
Module | Bezugsquelle | Preis |
MSP430 | Olimex | 65,- |
JTAG-Programmer | Olimex | 15,- |
EA DOG-M LCD | Conrad | 15,- |
5V Netzteil | ebay | 5,- |
elektronisches Lastrelais | Conrad | 44,- |
SMD Taster | Reichelt | 1,- |
Real Time Clock | Reichelt | 2,- |
Mini DIN Buchsen | Conrad | 5,- |
Kaltgeräte Buchsen | Conrad | 6,- |
Gehäuse | Conrad | 10,- |
|
|
Sie benötigen JavaScript um die Bilder zu sehen.
|
zurück |
|
0/0
|
|
vor |
|
|
Die Funktionsweise ist denkbar einfach. Das Module wird zwischen die Pumpe
und die Stromversorgung geklemmt. Die Temperatur wird mittels zweier PT500
Sensoren gemessen, die über die Mini DIN Buchsen mit dem Modul
verbunden werden. Außerdem ist hier auch ein Taster mit LED
angeschlossen.
Das Module schaltet die Pumpe bei den folgenden Ereignissen ein:
- drücken des Tasters,
- zu einem konfigurierbarem Zeitpunkt und
- durch ein Kommando per Netzwerk.
Die Pumpe wird wieder ausgeschalten, wenn die Temperatur des
Rücklaufes ungefähr der des Vorlaufes entspricht oder nach
spätestens n Minuten Laufzeit.
Das Konfigurieren des Moduls erfolgt entweder über das eingebaute
Display und vier Cursor Tasten oder durch ein Server-Programm im Netzwerk.
Dieses sendet eine Konfiguration, wenn es sich das erste Mal mit dem Modul
verbindet. Ist ein Server im Netz verfügbar, sendet das Modul bei
jedem Ein- und Ausschalten der Pumpe eine Signal an diesen. Zusätzlich
lassen sich die Messwerte jederzeit per Netzwerk oder über das Display
abfragen.
Anmerkung: Die Software ist eine Eigenimplementierung und als
Compiler wurde der
mspgcc
verwendet. Die auf dieser Seite zur Verfügung gestellten
Software-Module sind für diesen Compiler geschrieben und lassen sich
mit unter nur mit diesem übersetzen.
|
Da die Steuerung auch über ein Display verfügen
und eventuell ein paar Tasten für lokale Einstellungen vorhanden sein
sollten, habe ich zusätzlich eine Platine gefertigt.
Auf der Platine kann ein EA DOG-M Display verlötet werden,
welches bei
conrad
für ca. 15,- EUR erhältlich ist. Zusätzlich habe ich
auf der Platine vier + ein Taster, eine Real Time Clock und Stiftleisten für die externen Anschlüsse platziert. Die Platine wird im Wesentlichen mit dem Ext2 Anschluss des EasyWeb2 Moduls verbunden. Zusätzlich müssen nur noch drei AD und die RST Leitung von Ext1 angeschlossen werden.
Das Schematic ist
hier
zu finden und ein Verdrahtungsbeispiel (Testplatine aus den Abbildungen) für die externen Anschlüsse ist
hier.
Leider hat die aktuelle Version der Platine ein paar kleinere Fehler. So sind z.B. die Bohrungen für die Halterung zu weit außen und die Pads für die Real Time Clock für das Löten per Hand zu knapp. So würde ich bei einer neuen Version die folgenden Punkte noch einmal verbessern.
- Platine umlaufend um 1mm vergrößern
- Schiebeschalter statt Jumper JP1 für P1_2 Auswahl
- STDP des RTC4513 an P1_2 über Schalter
- RTC4513 Pads weiter auseinander schieben
- Lithum Zelle für RTC4513
|
|
Sie benötigen JavaScript um die Bilder zu sehen.
|
zurück |
|
0/0
|
|
vor |
|
|
Sollte jemand trotzdem Interesse an der Platine haben, kann er sich gern bei mir melden. Da die Bestellung nur einer Leiterplatte leider nicht möglich ist, lagere ich noch einige Exemplare.
|
|
Auf dem LCD-PCB wurde zusätzlich eine Realtime Clock RTC4513 von
Epson platziert. Den Chip kann man bei
reichelt
für ca. 2,- EUR bestellen. Die Clock benötigt lediglich 3
Datenleitung, 4 wenn man die IRQ-Leitung nutzt, und eignet sich damit
sehr gut für ein kleines Layout.
Für die Nutzung der Clock wurde im Rahmen des Projektes ein Treiber
implementiert, der die folgenden Funktionen anbietet:
- Initialisierung der Clock,
- Auslesen von Uhrzeit/Datum und
- Setzen von Uhrzeit/Datum
Sollte ich noch einmal ein neues Layout für das LCD-PCB machen,
würde ich den Treiber um die folgenden Funktionen erweitern:
- Unterstützung des IRQ-Signals und
- Einbindung der Lithum-Zelle (Init on demand)
Als Vorlage für den Treiber diente eine Implementierung für
einen ATmega128. Der Originaltreiber ist unter
http://www.microcontroller.net/top/68361
oder
hier
zu finden.
|
|
Da das Konfigurieren und teilweise die Steuerung des Systems über
das Netzwerk möglich sein soll, wurde für den MSP430 ein
IPv4 Stack implementiert. Der Stack unterstützt aktuell die
folgenden Protokolle:
- ARP,
- IPv4 (ohne Fragmentierung),
- ICMP (Code 0x03; Type 0x00, 0x03, 0x08) und
- UDP.
Der Stack wurde für das MSP430 EasyWeb3 Module erstellt und nutzt
den CS8900 Treiber aus der
EasyWeb3 Test Software
von olimex, die Dateien sind auch
hier
zu finden.
Warum nicht
uIP
? Ganz einfach, mein Projekt startete ungefähr zur gleichen
Zeit und da gab es nur die Test Software von olimex. Diese hatte
für mich die gleichen Limitierungen, wie sie auch beim uIP Projekt
aufgeführt werden.
Außerdem benötige ich immer noch kein TCP und ich finde UDP
ist für einen Sensor Knoten vollkommen ausreichend. Ach ja und der
wichtigste Grund ist, Not invented here. ;)
Todo - Abgesehen von Bugfixes ist geplant als nächstes die
folgenden Protokolle hinzufügen:
- Dynamic Host Configuration Protocol (DHCP)
- Network Time Protocol (NTP)
- Internet Protocol Version 6 (IPv6)
|
|
Für die Ansteuerung des Displays war die Erstellung eines Treibers
für den MSP430 notwendig. Als Basis diente die Implementierung von
Matthias Kahnt für eine 8051-Mikrocontroller, die
hier oder
hier
heruntergeladen werden kann.
Der Anschluss des Moduls ist über SPI, 4- und 8-Leitungen
möglich, zusätzlich kann zwischen 5V und 3,3 V unterschieden
werden. Da der Treiber für das LCD PCB genutzt
wird, wird hier nur der Modus mit 8-Leitungen und 3,3V unterstützt.
Eine Anpassung an die anderen Modi ist jedoch leicht möglich.
|
|
|
oben
15.08.2010
|