Automatisierung des Labors

Aus LaborWiki
(Weitergeleitet von Lapcontrol)
Wechseln zu: Navigation, Suche


Wir haben das Labor mit einem CAN Bus Automatisiert. Dazu entwickelten wir das LAP Protokoll.

Die Grundidee ist, dass wir im Labor eine automatische und bequem zu bedienende Steuerung aller Lampen und von sonstigen Dingen erreichen wollten. Angedacht war die Bedienmöglichkeit sowohl über Lichtschalter an den Wänden als auch über Funkfernbedienung und LAN/Wlan.

Die Automatisierung wurde bis jetzt bei folgenden Punkten angewandt: Man verlässt am Abend (oder am frühen Morgen...) das Labor, betätigt den Hauptschalter und es werden die Hauptstromkreise, das Licht, und alle Geräte automatisch abgeschaltet.
Das Licht ist in Bastelraum, Lounge, Küche und Vortragsraum steuerbar und kann über Lichtschalter, www, rfm12 und Touchscreens gesteuert werden. Eine Erweiterung auf andere Räume ist vorgesehen.

Klingt praktisch, oder?

In Zukunft wollen wir, dass die Automatisierung auch noch weitere Tätigkeiten übernimmt.

Netzaufbau[Bearbeiten | Quelltext bearbeiten]

+----------------+             +-------------------+                 +------------+              +---------------------+
|  CAN-Device  <-|-> CAN-Bus <-|->  CAN-Gateway  <-|->  EIA-232  <-|->  Cand  <-|->  tcp/ip  <-|->  lapcontrol + UI  | 
+----------------+             +-------------------+                 +------------+              +---------------------+

Beispiele[Bearbeiten | Quelltext bearbeiten]

2. Lampe im Vortragsraum auf volle helligkeot stellen

./lapcontrol -s wl packet 0:2 0x02:2 0x01,0x01,255
                                      |     |   |-> Helligkeit
                                      |     |->Lampennummer(0-3)
                                      |-> Powercommander

Lampen in der Lounge steuern

./lapcontrol -s wl packet 0:2 0x60:2 0x01,0x00,0x00
                                      |     |   |-> Helligkeit
                                      |     |->Lampennummer(0-2)
                                      |-> Labnode Tür
./lapcontrol -s wl packet 0:2 0x61:2 0x01,0x00,0x00
                                      |     |   |-> Helligkeit
                                      |     |->Lampennummer(0-2)
                                      |-> Labnode Wand

Status[Bearbeiten | Quelltext bearbeiten]

Vergebene LAP Adressen[Bearbeiten | Quelltext bearbeiten]

Addresse Device Beschreibung
0x00 CAN-GW an Server KVM
0x02 Powercommander Zentrales Steuergerät
0x03 Powercommander Testboard
0x04 Hardware im Hauptschalter: Türklingel, Nachtmodus, Heizung
0x05 powermeter LAB
0x06 powermeter Drehstromkiste
0x10 canir
0x13 RaucherkellerNode
0x23 KuechenCAN
0x24 BORG Langer Laufschriftborg
0x25 Treppen Blink
0x26 Nixie-Uhr
0x2A Toiletten Status Anzeiger
0x31 MOODBAR Moodbar
0x35 LAMPE SpotControl (Metall-Gehäuse)
0x3D BORG-3D Martins 8x8x8 Blinken-Borg
0x42 BORG Andres kleines 16x16 Blinkenlights
0x43 Darios LaBORGjacke
0x51 Labor Moodlicht
0x53 can_rfm12
0x60 Lampe Lounge (früher Tür) labnodes lounge
0x61 (Lampe Lounge - Wand) labnodes lounge deprecated, zusammengefasst mit 0x60
0xa9 Lampen Bastelraum Bastelraum
0xC* OpenBlind Rollosteuerung (in Vorbereitung)
0xC0 OpenBlind.Control Rolloüberwachung mit Grafik-LCD
0xD0 Touchpannel testboard 1
0xF? BROADCAST Spezielle Broadcast Adressen
0xFF BROADCAST Alle LAP Geräte

Vergebene Ports[Bearbeiten | Quelltext bearbeiten]

Port Name Beschreibung
0x01 Powercommander Powercommander (u.a. Licht im Vortragsraum sowie Küche) und Bastelcmd?
0x02 Lampe Lichtsteuerung (mindestens Lounge: Labnodes_lounge
0x15 SDO ???
0x16 SDO Data ???
0x17 Mood Steuerung der Moodbar
0x18 "LAPD" ???
0x21 "REMOTE" CAN-IR, "Musicd"?
0x22 "GATE" ???
0x23 Borg Steuerung von Blinken_Borgs mit Borgware-2D
0x26 Chuck Pflanze? Lebt die noch?
0x30 Management Ping, Reset (generell unterstützt)

2.9.2005[Bearbeiten | Quelltext bearbeiten]

Zur Zeit können wir bereits über das Laborboard mit den CAN Controllern sprechen, und wir können CAN Pakete senden und empfangen. Wir haben schon Software für die Atmel Controller geschrieben, mit der man sie als CAN<->RS232 Gateway nutzen kann. Auf der PC haben wir auch schon Client-Software, mit der man dann vom PC aus CAN-Pakete verschicken und diese sogar durch das Ethernet tunneln kann.

CAN <-> RS232 Gateway[Bearbeiten | Quelltext bearbeiten]

CAN-GW-Roulette.jpg

Wir haben in ein 19' Rack Gehäuse, das mal aus dem Schrott gezogen wurde, ein CAN RS232 Gateway eingebaut. Empfangene CAN Pakete werden dabei über RS232 getunnelt, sodass eine Software auf einem Client PC diese wieder entkapseln kann. In den Gehäuse gibt es ein Netzteil für die 13V Bus Spannung (Es wurde von 24V umgebaut), und eine Menge Leuchtdioden, um diverse Betriebszustände signalisieren zu können. Außerdem ist eine Hauptplatine vorhanden, auf der ein Atmega8 werkelt. Auf dieser Platine befinden sich auch die Bausteine für den CAN Bus, und ein Max232 für die serielle Seite. Weiterhin gibt es Schieberegister und 16 Treiberstufen für die LEDs im Rest des Rack Gehäuses (Die waren schon so...).

Dimmer für Spotstrahler[Bearbeiten | Quelltext bearbeiten]

LAPDimmer.jpg
LAPSpots.jpg

Ich habe in ein kleines Metallgehäuse einen Dimmer für unsere Spotlampen gebaut.

Das sind 30W/6V PAR36 Spots. In dem Gehäuse befindet sich nicht die Leistungselektronik, sondern nur die Ansteuerung. Die wird von einem (viel zu kleinen...) AT90S2313 übernommen. Daneben sind auch wieder die Chips für den CAN Bus angeordnet. Ausserdem gibt es ein Relais, dass die Spots 230V seitig vom Netz trennen kann.

Laufschrift Borg[Bearbeiten | Quelltext bearbeiten]

LS-Borg.jpg

Der Laufschrift-Borg in der Lounge zeigt Animationen und Betriebszustände des Labors.

Moodbar[Bearbeiten | Quelltext bearbeiten]

Theke2.jpg

Die Theke hat einen eingebauten 3-Kanal leuchtstofflampen-Dimmer -- und mischt so fast beliebige, wundervolle Farben (um die Röhren zu schonen bleiben sie immer an)

Links[Bearbeiten | Quelltext bearbeiten]

Alternativen
Link Collection

Linux Home Automatisation

Open Source Automatisation System - Multiplatform Lots of supported protocolls

Linux - Server

Windows - Server

Can automatisierung

Abstraction Layer