Hauptseite/MotorLeinwand: Unterschied zwischen den Versionen

Aus C3MAWiki
(Halterung)
(Software Schnittstelle hinzugefügt)
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
= Motor Leinwand =
= Motor Leinwand =


[[Datei:leinwandsetup.png]]
== Benutzer-Schnittstelle ==
=== Eingabe ===
Die Steuerung hat folgende Taster, über die Eingaben gemacht werden können:
{| border="1"
! align="left"| Taster
! Funktion
|-
| Hoch
| Muss für mindestens 100ms gedrückt werden um die Leinwand einzurollen
|-
| Stop
| Muss für mindestens 100ms gedrückt werden um jegliche Bewegungen zu stoppen
|-
| Runter
| Muss für mindestens 100ms gedrückt werden um die Leinwand abzurollen
|}
 
=== Ausgabe ===
Der Schalter hat eine LED, welche mit folgenden Farben Status ausgibt
{| border="1"
! align="left"| Farbe
! Zustand
|-
| Blaues Blinken
| Nach einem WLAN wird gesucht
|-
| Rotes Blinken
| Achtung! Leinwand fährt nach unten
|-
| Grünes Blinken
| Achtung! Leinwand fährt nach oben
|}
 
== Software Schnittstelle ==
 
Neben den physikalischen Knöpfen kann die Leinwand auch über MQTT gesteuert werden:
mosquitto_pub -h bigbrother -t "/room/screen/command" -m "up"
mosquitto_pub -h bigbrother -t "/room/screen/command" -m "down"
mosquitto_pub -h bigbrother -t "/room/screen/command" -m "stop"


== Controller Beschaltung ==
=== Zustände der Leinwand in MQTT ===
Die Leinwand gibt ihre aktuelle Zustand über MQTT mit folgender Abfrage
mosquitto_sub -h bigbrother -v -t "/room/screen/state"
aus


Die Steuerung nutzte einen Atmega8 16PU.
Leinwand rollt sich ab
Jetzt ist ein Atmega8 8U im Einsatz. Dabei werden die folgenden Pins verwendet:
/room/screen/state movingdown
# PC5 '''Motor abwärts'''
Durch Benutzer oder MQTT angehalten
# PC4 '''Motor hoch'''
/room/screen/state stop
# PB5 '''Pin1''' Triggert ''hochziehen'' der Leinwand
Leinwand rollt sich auf
# PB4 '''Pin2''' Triggert ''herunterlassen'' der Leinwand
/room/screen/state movingup
# PB3 '''Pin3''' Triggert ''Stop'' der Leinwand
Leinwand ist komplett aufgerollt
# VCC 5V
/room/screen/state up
# GND 0V ;-)
Leinwand ist komplett abgerollt
/room/screen/state down


Die Pins1-3, GND und VCC werden dann über das Netzwerkkabel zur Verfügung gestellt. (sieh nächstes ''Kapitel'')
=== Fortschritt der Leinwand in MQTT ===
Während die Leinwand sich bewegt kann die aktuelle Höhe abgefragt werden:
mosquitto_sub -h bigbrother -v -t "/room/screen/percent"
Wenn die Leinwand heruntergefahren wird:
/room/screen/percent 100
/room/screen/percent 98
/room/screen/percent 97
...


== Elektronik ==
=== Schalten ===
=== Schalten ===
Die Pins (Pin1 - 3) müssen auf GND gezogen werden, um geschaltet zu werden.
Die Releais müssen auf GND gezogen werden, um geschaltet zu werden.
(Die Eingänge im Mikrocontroller sind via Pull-up nach oben gezogen)
(Die Eingänge im Mikrocontroller sind via Pull-up nach oben gezogen)


Zeile 31: Zeile 82:
! Funktion
! Funktion
|-
|-
| 1
| 2
| PB4
| 14V
| Herunter
| Saft
|-
|-
| 3
| 3
| PB3
|  
| Stop
| Runter
|-
| 5
| AVCC
| Saft
|-
|-
| 6
| 6
Zeile 48: Zeile 95:
|-
|-
| 7
| 7
| PB5
|  
| Hoch
| Hoch
|}
|}
Zeile 54: Zeile 101:
[https://de.wikipedia.org/wiki/RJ-Steckverbindung#Zuordnung_von_RJ-Beschaltungsvarianten_zu_in_Europa_gebr.C3.A4uchlichen_Modularstecker-Bauformen Erklärung zu RJ45 (8P8C) Pinbelegung]
[https://de.wikipedia.org/wiki/RJ-Steckverbindung#Zuordnung_von_RJ-Beschaltungsvarianten_zu_in_Europa_gebr.C3.A4uchlichen_Modularstecker-Bauformen Erklärung zu RJ45 (8P8C) Pinbelegung]


== Notabschaltung ==
== Software ==
 
=== Notabschaltung ===


Die Motorsteuerung ist über Mechanische Endschalter (Endstopps) gelößt. D.h. die Software kann die "Hoch" oder "Runter" Befehle ewig senden.
Die Motorsteuerung ist über Mechanische Endschalter (Endstopps) gelößt. D.h. die Software kann die "Hoch" oder "Runter" Befehle ewig senden.
Zeile 74: Zeile 123:
[[Datei:LeinwandZustaende.png]]
[[Datei:LeinwandZustaende.png]]


== Hardware ==
== Aufbau ==
 
=== Version 2.0 ===
Hier wird die Steuerung komplett im Schalter mit einem ESP realisiert.
<gallery>
Datei:IMG_20160518_190923_small.jpg | ESP8266-Schalter
</gallery>
 
=== Version 1.0 ===
Diese Version hatte das originale Board mit einer neuen Software verwendet
<gallery>
<gallery>
Datei:leinwandcontroller.jpg | Orginal Mikrocontoller
Datei:leinwandcontroller.jpg | Orginal Mikrocontoller
Zeile 84: Zeile 142:
== Halterung ==
== Halterung ==
<gallery>
<gallery>
Datei:IMG_20150616_190635.jpg | Konstruktion
Datei:IMG 20150616 190635.jpg | Konstruktion
Datei:IMG_20150616_173055.jpg | Halterungs Winkel
Datei:IMG 20150616 173055.jpg | Halterungs Winkel
Datei:IMG_20150616_190615.jpg | Frontal Ansicht
Datei:IMG 20150616 190615.jpg | Frontal Ansicht
</gallery>
</gallery>



Aktuelle Version vom 23. Juni 2016, 19:05 Uhr

Dies ist ein Projekt, an dem momentan aktiv gearbeitet wird. Wenn du Fragen hast oder mitarbeiten möchtest, wende dich an Ollo.


Motor Leinwand

Benutzer-Schnittstelle

Eingabe

Die Steuerung hat folgende Taster, über die Eingaben gemacht werden können:

Taster Funktion
Hoch Muss für mindestens 100ms gedrückt werden um die Leinwand einzurollen
Stop Muss für mindestens 100ms gedrückt werden um jegliche Bewegungen zu stoppen
Runter Muss für mindestens 100ms gedrückt werden um die Leinwand abzurollen

Ausgabe

Der Schalter hat eine LED, welche mit folgenden Farben Status ausgibt

Farbe Zustand
Blaues Blinken Nach einem WLAN wird gesucht
Rotes Blinken Achtung! Leinwand fährt nach unten
Grünes Blinken Achtung! Leinwand fährt nach oben

Software Schnittstelle

Neben den physikalischen Knöpfen kann die Leinwand auch über MQTT gesteuert werden:

mosquitto_pub -h bigbrother -t "/room/screen/command" -m "up"
mosquitto_pub -h bigbrother -t "/room/screen/command" -m "down"
mosquitto_pub -h bigbrother -t "/room/screen/command" -m "stop"

Zustände der Leinwand in MQTT

Die Leinwand gibt ihre aktuelle Zustand über MQTT mit folgender Abfrage

mosquitto_sub -h bigbrother -v -t "/room/screen/state"

aus

Leinwand rollt sich ab

/room/screen/state movingdown

Durch Benutzer oder MQTT angehalten

/room/screen/state stop

Leinwand rollt sich auf

/room/screen/state movingup

Leinwand ist komplett aufgerollt

/room/screen/state up

Leinwand ist komplett abgerollt

/room/screen/state down

Fortschritt der Leinwand in MQTT

Während die Leinwand sich bewegt kann die aktuelle Höhe abgefragt werden:

mosquitto_sub -h bigbrother -v -t "/room/screen/percent"

Wenn die Leinwand heruntergefahren wird:

/room/screen/percent 100
/room/screen/percent 98
/room/screen/percent 97
...


Elektronik

Schalten

Die Releais müssen auf GND gezogen werden, um geschaltet zu werden. (Die Eingänge im Mikrocontroller sind via Pull-up nach oben gezogen)

RJ45 Pinbelegung

RJ45 Pin Mikrocontroller Pin Funktion
2 14V Saft
3 Runter
6 GND
7 Hoch

Erklärung zu RJ45 (8P8C) Pinbelegung

Software

Notabschaltung

Die Motorsteuerung ist über Mechanische Endschalter (Endstopps) gelößt. D.h. die Software kann die "Hoch" oder "Runter" Befehle ewig senden. Daher muss eigentlich nie der Zustand Hoch / Runter verlassen werden. Um die Relais und zu Entlasten wurde folgende Rechnung durchgeführt: Maximale-Leinwand Länge sei 200cm

Achse auf der die LW aufgerollt ist hat einen Durchmesser von 6cm U = 2*pi*r = pi*d => ca 10 Umdrehungen fürs komplette Ab/ Aufrollen

Motor hat 10 r/min

Nach 1min ist die Leinwand komplett ausgerollt Nach 1min x sec kommt man immer in den Timeout

Aufbau

Version 2.0

Hier wird die Steuerung komplett im Schalter mit einem ESP realisiert.

Version 1.0

Diese Version hatte das originale Board mit einer neuen Software verwendet

Halterung

Software

Der aktuelle Stand der Software-Entwicklung ist in unserem Github zu finden: https://github.com/C3MA/MotorLeinwand