Kapitel 1: Überblick über das System
Kapitel 2: Sensormodul 1
Kapitel 3: Sensormodul 2/3
Kapitel 4: Anzeigemodul 1
Kapitel 5: Anzeigemodul 2
Kapitel 6: Anzeigemodul 3
Kapitel 7: Datenkommunikation
Kapitel 8: Software "TAnz"
Kapitel 9: Software "AnzKom"
Die Schaltung des Sensormoduls ist trotz des etwas unübersichtlichen Schaltplans gar nicht so kompliziert: Als zentrales Bauteil kommt hier ein ATmega8L (IC2) zum Einsatz, der mit einer Taktfrequenz von 4 MHz
arbeitet. Über die Portanschlüsse PC0-PC3, PD4-PD7 und die Pull-Up Widerstände R1-R8 erfolgt die Kommunikation mit den Temperatursensoren. Die Ports PB0, PB1, PD2 und PD3 werden als Alarmeingänge
verwendet, die Widerstände R9-R12 sollen die Portanschlüsse vor Spannungsspitzen schützen. Die Ports PB3-PB5 und Reset sind an den Steckverbinder K3 geführt, über diesen Anschluss kann der
Controller programmiert werden (ISP).
In der oben gezeigten Beispielbeschaltung sind 3 Sensoren an Bus1, weitere 3 Sensoren an Bus2 und 2 Sensoren an Bus6 angeschlossen. Weiterhin sind die Alarmeingänge 1 und 2 mit Arbeitskontakten beschaltet. Eine
2-drähtige Leitung überträgt die Daten zum Anzeigemodul oder zu einem anderen Datenempfänger. Die Stromaufnahme der gesamten Schaltung liegt unter 20mA, so dass die benötigte Spannung von 10-20V
aus einem kleinen Steckernetzgerät bezogen werden kann.
Alle für das Sensormodul benötigten Bauelemente können dieser Stückliste entnommen werden. Zu einigen Bauteilen möchte ich allerdings noch etwas sagen:
LCD DSM-0822A: Dieses LCD war zum Zeitpunkt der Texterstellung für 1,95€ bei Pollin-Elektronik erhältlich. Es basiert auf dem I²C-Chip PCF8576 und kann 8
alphanumerische Zeichen sowie einige Sonderzeichen darstellen. Dieses LCD ist zum Betrieb des Sensormoduls nicht notwendig und kann problemlos weggelassen werden. Mir hat es aber während der Testphase gute Dienste
geleistet und es ist auch im laufenden Betrieb recht praktisch: Neben der zyklischen Anzeige der Temperaturwerte aller Sensoren werden einige der Sonderzeichen genutzt, um den Status der 4 Alarme und die eingestellte
Betriebsart anzuzeigen.| Sensortyp | Temperaturbereich | Genauigkeit | Auflösung | Bemerkung |
|---|---|---|---|---|
| DS1820 | -55 bis +125°C | 0,5°C | 9 Bit | wird nicht mehr produziert |
| DS18S20 | -55 bis +125°C | 0,5°C | 9 Bit | |
| DS18B20 | -55 bis +125°C | 0,5°C | 9-12 Bit | Sensormodul arbeitet im 12 Bit-Modus |
| DS1822 | -55 bis +125°C | 2°C | 9-12 Bit | Sensormodul arbeitet im 12 Bit-Modus |
| DS1920 | -55 bis +100°C | 0,5°C | 9 Bit | iButton Bauform |
Mein Prototyp entstand auf einer Lochrasterplatine. Fast im Mittelpunkt befindet sich der Mikrocontroller IC2, gleich darunter der Quarz. Oben links ist der Spannungsregler IC1 angeordnet und rechts daneben befindet
sich der Steckverbinder K2, der hier in einer 22-poligen Version verwendet wurde (weil zufällig vorhanden).
Die Unterseite besteht (wie zu erwarten) aus vielen Drähten. Für Masse und Stromversorgung habe ich Drahtmaterial mit einer Stärke von 0,5 mm verwendet. Für die Signalleitungen verwendete ich 0,3mm
Kupferlackdraht. Die gesamte Verdrahtung ist relativ unkritisch, allerdings sollten sich die 100nF-Stützkondensatoren möglichst nah an den ICs befinden.
Das LCD besitzt leider keine Möglichkeit zum Verschrauben und kann deshalb nur ins Gehäuse geklemmt oder geklebt werden. Ich habe es mit einem schnell härtenden 2-Komponenten-Klebstoff befestigt. Auf
keinen Fall sollten lösungsmittelhaltige Kleber wie z.B. Sekundenkleber verwendet werden, da sonst die empfindliche LCD-Oberfläche beschädigt werden kann.
Hier ist das fertige Sensormodul zu sehen. Als Gehäuse habe ich ein einfaches und preiswertes Kunststoff-Gehäuse mit den Maßen 123 x 30 x 70 mm³ verwendet. Dieses besteht aus 2 Halbschalen und
lässt sich recht gut bearbeiten.
So sieht die Einstellung im AVR-Studio für den ATmega8 aus.
So sieht die Einstellung in PonyProg für den ATmega8 aus.
| Zeitpunkt | Aktion | Anzeige (LCD) |
|---|---|---|
| Sekunde 0 (Start) | An allen Sensoren wird eine Temperaturmessung gestartet, der aktuelle Status der Alarmeingänge wird über RS-232 gesendet. | MESSUNG |
| Sekunde 2 | Auslesen von Sensor 1 und Senden des Temperaturwertes über RS-232 | 1: 22.5° |
| Sekunde 3 | Auslesen von Sensor 2 und Senden des Temperaturwertes über RS-232 | 2: 21.9° |
| Sekunde 4 | Auslesen von Sensor 3 und Senden des Temperaturwertes über RS-232 | 3: -4.2° |
| Sekunden 5-16 | Auslesen von Sensor 4-15 und Senden der Temperaturwerte über RS-232 | n: 23.0° |
| Sekunde 17 | Auslesen von Sensor 16 und Senden des Temperaturwertes über RS-232 | H: 18.3° |
| Sekunde 18 | Siehe Sekunde 0, Beginn einer neuen Programmschleife | MESSUNG |
| Zeitpunkt | Aktion | Anzeige (LCD) |
|---|---|---|
| Sekunde 0 (Start) | An allen Sensoren wird eine Temperaturmessung gestartet, der aktuelle Status der Alarmeingänge wird über RS-232 gesendet. | MESSUNG |
| Sekunde 1.2 | Auslesen aller Sensoren und Senden der Temperaturwerte über RS-232 | SENDEN |
| Sekunde 2 | Siehe Sekunde 0, Beginn einer neuen Programmschleife | MESSUNG |
Kapitel 1: Überblick über das System
Kapitel 2: Sensormodul 1
Kapitel 3: Sensormodul 2/3
Kapitel 4: Anzeigemodul 1
Kapitel 5: Anzeigemodul 2
Kapitel 6: Anzeigemodul 3
Kapitel 7: Datenkommunikation
Kapitel 8: Software "TAnz"
Kapitel 9: Software "AnzKom"