Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Automation HAT

Hier handelt es sich um eine Zusatzplatine, die im Bereich Überwachung und Automation in einem Spannungsbereich von 0 - 24 Volt eingesetzt werden kann. Das ist besonders interessant im Bereich Homematic oder im Bereich der sensorischen Überwachung von naturwissenschaftlichen Projekten.

Abb. 1 - Automation HAT mit RPi 3 fertig zum Einsatz im naturwissenschaftlichen Bereich

Die vom Automation HAT belegten GPIO zeigt Abb. 2.

Abb. 2 - Auf dem RPi3 vom Automation HAT belegte GPIOs.

Bestückt ist das Automation HAT mit:

  • Digitale Eingänge - 3x Input (0 - 24 V)

Uein > 3 V entspricht HIGH oder 1, Uein < 1 V entspricht LOW oder 0. Das Verhalten bei Eingangs-spannungswerten zwischen 1V und 3V bleibt undefiniert. Die Eingänge sind mit einem 20 kOhm Widerstand und einer 3v3 Zenerdiode geschützt; der Strom wird auf ca. 1mA begrenzt. Die Eingänge werden in Python aufgerufen über:

  • state = automationhat.input.one.read() oder
    
  • state = automationhat.input[n].read() mit n = 0, 1 oder 2
    

Die indizierte Bezeichnung über [0], [1] und [2] ist etwas verwirrend, da sie im Widerspruch zum Aufdruck auf dem AUTOMATION HAT steht; also aufpassen !!!

  • Ausgänge - 3x Output

Die drei Ausgänge sind als Senke für maximal 24V/ 500mA ausgelegt. Sie müssen nach GND geschaltet werden; ihr Verhalten ist vergleichbar mit einem Schalter, der auf GND gezogen wird. Die Ausgänge werden über einen ULN2003A Darlington Array Treiber versorgt. Ausgänge werden in Python aufgerufen über:

  • automationhat.output.one.on() oder
    
  • automationhat.output[n].on() bzw. off() mit n = 0, 1 oder 2
    
  • Relais - 3x Relay

Die drei Relais lassen sich sowohl als NO (normally open) als auch als NC (normally closed) betreiben. Damit lässt sich eine Last schalten oder es kann zwischen zwei Lasten hin- und hergeschaltet werden. Das Relais sollte zwischen der Spannungsversorgung (Vdd) und der Last positioniert werden. Relais lassen sich in Python aufrufen über:

  • automationhat.relay.one.on() bzw.
    
  • automationhat.relay.one.off() oder
    
  • automationhat.relay.toggle() oder
    
  • automationhat.relay.write(1)  (1 -> ON, 0 -> OFF)
    
  • Analoge Eingänge - 3x ADC (12 Bit, 0 - 24 V)  

Drei der vier analogen Eingänge sind für Spannungswerte bis 24 Volt ausgelegt. Die Eingänge sind mit einem Spannungsteiler 120k und 820k versehen, über den maximal 25,8V auf maximal 3,3v heruntergeteilt und für den ADC bereitgestellt werden können. Ein analoger Eingang wird in Python aufgerufen über:

  • wert = automationhat.analog.one.read() oder
    
  • wert = automationhat.analog[n],read(), n = 0, 1 oder 2
    
  • LEDs

Automation HAT verfügt über drei vom Nutzer steuerbare LEDs: POWER, COMMS und WARN. Der Anwender kann diese LEDs ein- bzw. ausschalten oder ihnen einen Helligkeitswert zuordnen.

Über Python werden die LEDs aufgerufen über:

  • automationhat.light.comms.on() oder off(), toggle(), write()
    
  • automationhat.light.warn.on() oder off(), toggle(), write()
    
  • automationhat.light.power.on() oder off(), toggle(), write()
    

LEDs werden beim Aufruf von Eingängen, Ausgängen und Analogbefehlen automatisch gesetzt. Sie lassen sich aber auch manuell setzen; dazu muss der automatische Vorgang abgeschaltet werden über:

  • automationhat.analog.one.auto_light(False)
    

Eine LED kann dann über

  • automationhat.analog.one.light.on() bzw.
    
  • automationhat.analog.one.light.off()
    

geschaltet werden.

Mit Netzspannung (230 Volt) darf das Board auf keinen Fall betrieben werden oder in Berührung kommen.

 

Bevor man das Board sinnvoll einsetzen kann, muss die Treibersoftware für den HAT installiert werden.

Installation der Treibersoftware

Der Entwickler des Automation-HAT, die Fa. Pimoroni, hat eine Treibersoftware entwickelt, die über das Internet kostenfrei bezogen werden kann. Gib im Terminalfenster die folgende Zeile ein

  • curl https://get.pimoroni.com/automationhat | bash
    

Bestätige die Frage

  • "Do you wish to continue ..." und
  • "Do you wish to perform a full install?"

jeweils mit "y".

I2C wird, falls es vorher noch nicht aktiv geschaltet war, während des Installationsprozesses aktiv geschaltet. Um die Veränderungen wirksam werden zu lassen, sollte der RPi anschließend neu gestartet werden.

Beispieldateien aufrufen

Die heruntergeladenen fünf Beispieldateien befinden sich im Ordner

/home/pi/Pimoroni/automationhat/examples/
  • analog.py
  • input.py
  • lights.py
  • output.py
  • relay.py

Die Skripte lassen sich wie folgt über die Console oder das Monitorfenster aufrufen:

  • python ~/Pimoroni/automationhat/examples/<dateiname.py>
    

und mit Strg-C jeweils beenden.

Um einen Eindruck zu bekommen, wie es aussieht, wenn man die LEDs auf dem Board einschaltet, sollte man das Skript lights.py aufrufen.

Es schaltet die neun weißen Status-LEDs an ADC, OUTPUT und INPUT an, sowie die drei farbigen LEDs POWER(grün), COMMS(blau) und WARN(rot).

Übung 1 - Ausgänge beschalten

In dieser Übung liegt an jedem der drei Ausgänge eine LED-Schaltung. Die drei LEDs werden nacheinander ein- bzw. ausgeschaltet.

Übung 1 - Ausgänge beschalten
Material
  • 1x  Steckbrett
  • 3x  Widerstand, 470 Ohm
  • 3x  LED (rot, gelb, grün)
  • 4x  Steckdraht
  • 1x  Automation HAT
  • 1x  RPi 3
  • 1x  Tastatur
  • 1x  Maus
  • 1x  Steckernetzteil; 5V/2,5 A
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf. Überprüfe anschließend, ob alle Anschlüsse korrekt sind.
  • Lege die Spannungsversorgung an den RPi.
  • Übertrage das Python-Skript in den Pythoneditor und speichere es unter Automation_LED1.py ab.
  • Starte das Programm und überprüfe, ob alle drei LEDs nacheinander ein- bzw. ausgeschaltet werden.

Schaltskizze

Abb. 3 - Schaltskizze zu Übung 1

Das Programm automation_3LEDs.py

Übung 2 - Analoge Messungen mit dem ADC

In dieser Übung wird der Mittelabgriff eines Potenziometers an ADC-Kanal 1 des Automation HAT gelegt und die abgegriffene Spannung im Terminalfenster angezeigt.

Übung 2 - Spannungen messen
Material
  • 1x  Steckbrett
  • 1x  Widerstand, 10 kOhm
  • 1x  Potenziometer, 10 kOhm
  • 3x  Steckdraht
  • 1x  Automation HAT
  • 1x  RPi 3
  • 1x  Tastatur
  • 1x  Maus
  • 1x  Steckernetzteil; 5V/2,5 A
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf. Überprüfe anschließend, ob alle Anschlüsse korrekt sind.
  • Lege die Spannungsversorgung an den RPi.
  • Welche Spannungswerte (Maximal- und Minimalwert) sind zu erwarten? Begründe deine Antwort.
  • Übertrage das Python-Skript in den Pythoneditor und speichere es unter Automation_Poti1.py ab.
  • Starte das Programm und überprüfe, in welchem Bereich sich die Messwerte bewegen, wenn man den Mittelabgriff in die beiden extremen Randpositionen dreht. Notiere die Werte. Stimmen sie mit deinen Vorhersagen überein. Wenn nicht, wo lag der Gedankenfehler?

Schaltskizze

Abb. 4 - Schaltskizze zu Übung 2

Das Programm Automation_Poti1.py

Terminalausgabe der Messwerte

Wie zu erwarten, werden Spannungswerte zwischen maximal ca. 2,5 Volt und minimal 0 Volt angezeigt. Das ist zu erwarten, da der Spannungsteiler aus Widerstand (10 kOhm) und Potenziometer (10 kOhm) den Punkt P auf ca. 2,5 V zieht. Befindet sich der Mittelabgriff - bildlich gesprochen - ganz oben (s. Abb. 4), dann werden ca. 2,5 Volt gemessen. In der anderen Extremposition fällt die Versorgungsspannung über beiden Widerständen komplett ab und der Mittelabgriff - diesmal in der unteren Position - zeigt nur noch 0 Volt an. In jeder anderen Drehposition werden Zwischenwerte (0 - 2,5 V) angezeigt.

Übung 3 - Eingänge abfragen

In dieser Übung wird der Mittelabgriff eines Potenziometers (leicht veränderter Schaltungsaufbau aus Übung 2) an den Eingang INPUT 1 des Automation HAT gelegt. Eine zweite Schaltung besteht aus einer einfachen LED-Schaltung. Sobald die am Mittelabgriff des Potenziometers abgenommene Spannung unter einer bestimmten Wert fällt, soll die LED angehen, steigt sie wieder, soll sie ausgehen.

Übung 3 - Eingänge abfragen
Material
  • 1x  Steckbrett
  • 1x  Widerstand, 1 kOhm
  • 1x  Widerstand, 470 Ohm
  • 1x  Potenziometer, 10 kOhm
  • 1x  LED, rot
  • 4x  Steckdraht
  • 1x  Automation HAT
  • 1x  RPi 3
  • 1x  Tastatur
  • 1x  Maus
  • 1x  Steckernetzteil; 5V/2,5 A
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf. Überprüfe anschließend, ob alle Anschlüsse korrekt sind.
  • Lege die Spannungsversorgung an den RPi.
  • Übertrage das Python-Skript in den Pythoneditor und speichere es unter Automation_Poti_LED_input.py ab.
  • Starte das Programm und überprüfe, ob die LED eingeschaltet wird, wenn der Mittelabgriff in eine bestimmte Position gebracht wird und aus geht, wenn der Mittelabgriff in eine andere Position gedreht wird.
  • Erkläre das Verhalten der Schaltung.

Schaltskizze

Das Programm Automation_Poti_LED_input.py

Übung 4 - Relais

In dieser Übung wird - wie in Übung 3 - der Mittelabgriff eines Potenziometers (Schaltungsaufbau aus Übung 2) an den Eingang INPUT 1 des Automation HAT gelegt. Eine zweite Schaltung besteht aus einer einfachen LED-Schaltung. Sobald die am Mittelabgriff des Potenziometers abgenommene Spannung unter einer bestimmten Wert fällt, soll die LED über ein Relais eingeschaltet werden, steigt sie wieder, wird sie ausgeschaltet.

Übung 4 - Relais
Material
  • siehe Übung 3
Aufgaben

 

  • Baue die Schaltung nach Schaltskizze auf. Überprüfe anschließend, ob alle Anschlüsse korrekt sind.
  • Lege die Spannungsversorgung an den RPi.
  • Übertrage das Python-Skript in den Pythoneditor und speichere es unter Automation_PotiLEDRelais.py ab.
  • Starte das Programm und überprüfe, ob die LED eingeschaltet wird, wenn der Mittelabgriff in eine bestimmte Position gebracht wird und ausgeschaltet wird, wenn der Mittelabgriff in eine andere Position gedreht wird.
  • Erkläre das Verhalten der Schaltung.

Schaltskizze

Versuchsaufbau

Versuchsaufbau zur Übung; statt wie beschrieben an 9V wurde hier die LED an 5V angeschlossen.

Das Programm Automation_PotiLEDRelais.py

Die indizierte Bezeichnung über [0], [1] und [2] ist etwas verwirrend, da sie im Widerspruch zum Aufdruck auf dem AUTOMATION HAT steht.
Ich verwende deshalb in den Programmen lieber die Bezeichnung des Aufdrucks: input.one.. bzw. relay.one..

Wie arbeitet das Programm?

 

Über den Mittelabgriff des Potenziometers wird die am Eingang des AUTOMATION HAT anliegende Spannung verändert. Sie variiert je nach Stellung des Mittelabgriffs zwischen ca. 0V und der über dem Potenziometer anliegenden Betriebsspannung. Ist sie < 1V, liegt am Eingang eine "0", ist sie über 3V liegt eine "1" an.

In der Endlosschleife while True: werden diese beiden Zustände abgefragt: liegt am Eingang 1 eine "1" an, wird das Relais so geschaltet, dass die LED angeht; liegt eine "0" an, geht sie aus.

Druckversion | Sitemap
© Reinhard Rahner - Gettorf