OpenBlind: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Zeile 5: Zeile 5:
 
|description = elektrische und mechanische Ergänzung zur Automatisierung der Fensterrollos
 
|description = elektrische und mechanische Ergänzung zur Automatisierung der Fensterrollos
 
|author      = Christian, Peter
 
|author      = Christian, Peter
|username    = tixiv
+
|username    = deaddealer, tixiv
 
|version    = 0.3
 
|version    = 0.3
 
|update      = 27.09.2009
 
|update      = 27.09.2009
Zeile 15: Zeile 15:
  
 
Die Rollos im Labor sollen automatisiert hoch- und runterfahren, deswegen arbeiten verschiedene Leute im Labor derzeit an der Realisierung.
 
Die Rollos im Labor sollen automatisiert hoch- und runterfahren, deswegen arbeiten verschiedene Leute im Labor derzeit an der Realisierung.
''Vieles ist nur durch- oder angedacht, Korrekturen oder Änderungen vorbehalten!!!''
 
 
==Ist-Zustand==
 
==Ist-Zustand==
 
[[Datei:Rollo.jpg|thumb]]
 
[[Datei:Rollo.jpg|thumb]]
Zeile 21: Zeile 20:
  
 
==Soll-Zustand==
 
==Soll-Zustand==
Ein Elektromotor bewegt das Rollo auf und ab. Eine Platine mit Atmega32 und Steuerhardware für jedes Rollo steuert den Motor, erfasst die Positionen des Rollos, empfängt/sendet Daten über den CAN-Bus und macht zusätzlich $aufgabe.<br>
+
<nowiki>*aufräum*</nowiki><br><br>
Das Rollo kann sich selbstständig kalibrieren. Eine Lichtschranke erkennt, ob es sich in der oberen Endstellung befindet, <s>ein Hall-Sensor</s> ein Reflexkoppler (Reichelt: CNY 70) in einer der Halterungen und <s>ein Magnet</s> eine aufgeklebte schwarz-weiss-Encoderscheibe auf der Rollo-Rolle liefern einen Drehimpuls. Ist aus irgendwelchen Gründen dem Rollo nicht bekannt welche Position es hat, fährt es langsam nach oben, bis die Lichtschranke nicht mehr unterbrochen ist. Der Zähler der Drehimpulse wird zurückgesetzt und das Rollo kann wieder normal verfahren.<br>
+
Der aktuelle Plan sieht so aus, dass die Rollos das volle Programm erhalten: Waschen, Schneiden, Fönen! Sprich, eine Menge Umbausachen ... von der wackelligen, unzuverlässigen Kunststoff-Halterungen möchte ich mich völlig verabschieden, da alle bis jetzt erdachten und getesteten Systeme zu großen Problemen - <i>finanzierungs- und konstruktionsbedingt</i> - führen würden. Wieso einen Umbau mit High-Tech Komponenten durchführen und dann mit den schlechten Befestigungen weiterleben? Ein No-Go!<br><br>
Der maximal verfahrbare Weg <s>wird entweder programmiert oder</s> kann per Taster auf der Platine oder per Lichtschranke bestimmt werden (s.u.), der Wert der Drehimpulse wird dann im EEPROM des Controllers gespeichert. Das Rollo kann dann von ganz oben diese x Impulse des <s>Hall-Sensors</s> Reflexkopllers abfahren und ist am unteren Ende des Fensters angekommen.<br>
+
Daher nun die neuen Bauschritte: aus Metall werden komplett neue Halterungen und Lager gebaut, die das Rollo an ihrer Position halten. Der Antreib kommt seitlich an das Fenster (Antriebsachse zeigt senkrecht nach oben). Über ein kleines Getriebe wird das Rollo und der Motor in einem 90° Winkel starr verbunden. Diese Lösung ist billiger und zuverlässiger als der zuerst angedachte Ansatz mit einem Adapter, der die Verwendung der Antriebskette weiterhin ermöglicht. Dies ist aber auch nur Plastik-Foo und würde wesentlich mehr Bauteile und Kompromisse erfordern als ein komplett neuer und elektrischer Antrieb.Zudem erleichtert das neue Konzept die einfache Anpassung an verschiedene Motoren - andere Bauformen können schneller in das Gesamtkonzept implementiert werden.<br><br>
''(Es wurde angedacht, die Lichtschranke auf das untere Ende des Rollos auf die Kunststoffstange zu montieren. Die Lichtschranke kann dann in der oberen und unteren Endlage durch eine optische Unterbrechung betätigt werden. Eine Kalibrierung kann nun vollautomatisch erfolgen mit der selben Anzahl Bauteile. Ebenso könnte man so eine Kollisionserkennung realisieren, die das Rollo im laufenden Betrieb wieder leicht hochfahren lässt, wenn etwas im Fahrweg ist. Kisten und sonstiges Zubehör können so auf die Fensterbank gelegt werden und werden nicht vom Rollo runtergekickt. Peter, meld dich bitte bei mir deswegen!)''<br>
+
Die Hauptsteuerung übernimmt ein Atmega8 (kein 32er mehr, bei der Menge der Rollos im Labor wäre das keinen Aufpreis wert). Jedes Rollo bekommt einen eigenen Mikrocontroller und einen CAN-Anschluss. Per SPI und dann CAN kommunizieren die Rollos untereinander und mit der Zentrale, so dass sie neue Positionen und Statusmeldungen senden / empfangen. So kann das Projekt mit dem bereits vorhandenen [[Powercommander]] verschmolzen werden, um die Automatisierung des Labors ein Strück weiter vorran bringen!
Eventuell wird das Rollo in eine Führung gesetzt, so dass es auch bei gekippten Fenstern am Fenster anliegt und das böse Außenlicht da lässt, wo es niemanden stört. ''So wäre auch die Funktion der Lichtschranke besser realisierbar ''.<br>
+
Die Drehung der Rolloachse wird von 2 Reflexkopplern und je einem Schmitt-Trigger erfasst. Somit kann die Schritterfassung genauer - und vor allem mit Angabe der Drehrichtung - erfolgen.<br><br>
Die Federmachanik <s>fliegt komplett rauß</s> wird abgeschwächt, indem die Feder gekürzt wird. So kann der Motor kleiner ausgelegt werden.
+
Für die obere und untere Endlage werden je 2 Endtaster eingebaut. Einer davon ist jeweils nur an den Mikrocontroller angeschlossen, die beiden übrigen schalten bei Erreichen der absoluten Bewegungsgrenzen den Motorstrom ab, um Fehler bei der Software auszuschließen. Bei beiden Erfassungen bekommt der Microcontroller jeweils ein Signal zur weiteren Auswertung.<br><br>
Wird der [[Hauptschalter]] vom Labor ausgeschaltet, sollen alle Rollos selbstständig runterfahren. Ebenso wird es möglich sein die Rollos über die geplante LAB-Steuerung manuell zu betätigen oder Programme für jeden Raum auszuführen (Präsentation, laoOola etc.)<br>
+
Bei dem folgenden Punkt gibt es 2 unterschiedliche Lösungsansätze, wovon einer komplexer ist und mehr Forschung und Arbeit bedeutet, aber dafür mehr Features bringt. Die Grundidee ist, das Beschwerungselement mit 2 Schraubösen und das Fenster selbst mit strapazierfähigen Kunststoffschnüren als Führungen zu versehen. So bleibt das Fenster auch bei gekipptem Zustand lichtdicht nach vorne. Der zweite Ansatz sieht vor, die Kunststoffschnüre durch Metallleitungen zu ersetzen, wobei ein Draht als Masse dient und der Andere als gemeinsamer Datenbus und Spannungsversorgung dient. Die Schraubösen könnte man dann als Stromabnehmer mitnutzen und am unteren Ende des Rollos z.B. einen kleinen Tiny AVR verbauen, der eigene Aufgaben erhällt. Angedacht ist dabei, dass die Rollos bei Vorträgen per Sperrbefehl für weitere Zugriffe gesperrt werden und am oberen und unteren Ende rote LEDs den gesperrten Zustand anzeigen. So hätte man auch eine Art Dekolichtquelle, die man am ganzen Rollo zur Verfügung hätte und für ein dezentes, indirektes Licht sorgen könnte. So müsste man auch keine zusätzlichen Leitungen neben dem Fenster/Rollo verlegen, was den Gesamteindruck trüben könnte - ist Geschmackssache, ich mag es :)<br><br>
Ein weiteres Feature bilden 2 Sensoren am Fenster(-rahmen). Diese erkennen, ob das Fenster zu, auf Kipp oder ganz auf ist. Wird das Labor ausgeschaltet und es ist ein Fenster noch offen, gibt's Alarm. So soll verhindert werden, dass ein Fenster offen bleibt beim Verlassen des Labors.
 
  
 
==Projektfortschritt==
 
==Projektfortschritt==
Mittlerweile ist ein Testrollo umgebaut. Der Motor wurde mit dem Rollo verbunden und wartet jetzt auf die weitere Ansteuerung. Ein Reflexkoppler + Encoderscheibe sind in einer der Halterungen verbaut und funktionieren bei den Tests einwandfrei. ''Bitte nicht zu sehr den neuen Antrieb austesten, das ganze ist noch nicht entgültig montiert und ist erstmal nur "proof of concept", d.h. die Kette springt schonmal ein bischen und eine Endlagenerfassung ist auch noch nicht eingebaut.''<br>
+
Der neue Antrieb wird derzeit per CAD geplant, der Aufbau wird danach schnell voran gehen. Der ursprüngliche Schaltplan von Peter wurde an die Bedürfnisse des Projekts angepasst, ist aber noch nicht vollständig.<br>
Peter hat mir freundlicherweise einen Schaltplan für den Atmega32 und den CAN-Kram gegeben, der jetzt noch um die Motorsteuerung und Sensorik erweitert wird. Danach fertigen wir eine Testplatine ''(ist in Arbeit!!!)''.
+
[[Datei:OpenBlind-Schaltplan_Beta.jpg|thumb]]
<br><br><br><br>
+
<br><br><br>
 
'''Updates'''<br>
 
'''Updates'''<br>
 
Das Projekt wird in einer Simulation, geschrieben in processing, virtuell aufgebaut und getestet. Zu finden ist die kompilierte, aktuelle Version auf [http://www.openprocessing.org/visuals/?visualID=4800].<br><br>
 
Das Projekt wird in einer Simulation, geschrieben in processing, virtuell aufgebaut und getestet. Zu finden ist die kompilierte, aktuelle Version auf [http://www.openprocessing.org/visuals/?visualID=4800].<br><br>
Hier eine kleine Vorabversion der Platine in der überarbeiteten Version:<br>
+
Die Platine für jedes Rollo wird beim ersten Prototypen auf einer Punktrasterplatine Platz finden. Sollte sich dieses Konzept als sinnvoll erweisen, werden alle Platinen händisch gebaut. Trotzdem lasse ich hier noch der alten Entwurf, der nicht mehr aktuell ist.<br>
[[Datei:Platine_rollo_alpha.jpg]]<br><br>
+
[[Datei:Platine_rollo_alpha.jpg|thumb]]<br><br>
  
 
==Aufgabenverteilung==
 
==Aufgabenverteilung==

Version vom 26. November 2009, 13:09 Uhr

     
OpenBlind

Release status: experimental [box doku]

OpenBlind.jpg
Description elektrische und mechanische Ergänzung zur Automatisierung der Fensterrollos
Author(s)  Christian, Peter (deaddealer, tixiv)
Last Version  0.3





Die Rollos im Labor sollen automatisiert hoch- und runterfahren, deswegen arbeiten verschiedene Leute im Labor derzeit an der Realisierung.

Ist-Zustand

Rollo.jpg

Die Rollos (folgend: das Rollo) werden mit einer Kugel-Kordel von Hand bewegt. Eine Federmechanik verhindert, dass das Rollo runterrasselt. Eine Kunststoffstange am unteren Ende der Bandbahn strafft dieses. Zu Reinigunszwecken kann an der "Nicht-Antriebsseite" ein Clip entfernt werden und das Rollo sammt Bewegevorrichtung aus den Halterungen genommen werden.

Soll-Zustand

*aufräum*

Der aktuelle Plan sieht so aus, dass die Rollos das volle Programm erhalten: Waschen, Schneiden, Fönen! Sprich, eine Menge Umbausachen ... von der wackelligen, unzuverlässigen Kunststoff-Halterungen möchte ich mich völlig verabschieden, da alle bis jetzt erdachten und getesteten Systeme zu großen Problemen - finanzierungs- und konstruktionsbedingt - führen würden. Wieso einen Umbau mit High-Tech Komponenten durchführen und dann mit den schlechten Befestigungen weiterleben? Ein No-Go!

Daher nun die neuen Bauschritte: aus Metall werden komplett neue Halterungen und Lager gebaut, die das Rollo an ihrer Position halten. Der Antreib kommt seitlich an das Fenster (Antriebsachse zeigt senkrecht nach oben). Über ein kleines Getriebe wird das Rollo und der Motor in einem 90° Winkel starr verbunden. Diese Lösung ist billiger und zuverlässiger als der zuerst angedachte Ansatz mit einem Adapter, der die Verwendung der Antriebskette weiterhin ermöglicht. Dies ist aber auch nur Plastik-Foo und würde wesentlich mehr Bauteile und Kompromisse erfordern als ein komplett neuer und elektrischer Antrieb.Zudem erleichtert das neue Konzept die einfache Anpassung an verschiedene Motoren - andere Bauformen können schneller in das Gesamtkonzept implementiert werden.

Die Hauptsteuerung übernimmt ein Atmega8 (kein 32er mehr, bei der Menge der Rollos im Labor wäre das keinen Aufpreis wert). Jedes Rollo bekommt einen eigenen Mikrocontroller und einen CAN-Anschluss. Per SPI und dann CAN kommunizieren die Rollos untereinander und mit der Zentrale, so dass sie neue Positionen und Statusmeldungen senden / empfangen. So kann das Projekt mit dem bereits vorhandenen Powercommander verschmolzen werden, um die Automatisierung des Labors ein Strück weiter vorran bringen! Die Drehung der Rolloachse wird von 2 Reflexkopplern und je einem Schmitt-Trigger erfasst. Somit kann die Schritterfassung genauer - und vor allem mit Angabe der Drehrichtung - erfolgen.

Für die obere und untere Endlage werden je 2 Endtaster eingebaut. Einer davon ist jeweils nur an den Mikrocontroller angeschlossen, die beiden übrigen schalten bei Erreichen der absoluten Bewegungsgrenzen den Motorstrom ab, um Fehler bei der Software auszuschließen. Bei beiden Erfassungen bekommt der Microcontroller jeweils ein Signal zur weiteren Auswertung.

Bei dem folgenden Punkt gibt es 2 unterschiedliche Lösungsansätze, wovon einer komplexer ist und mehr Forschung und Arbeit bedeutet, aber dafür mehr Features bringt. Die Grundidee ist, das Beschwerungselement mit 2 Schraubösen und das Fenster selbst mit strapazierfähigen Kunststoffschnüren als Führungen zu versehen. So bleibt das Fenster auch bei gekipptem Zustand lichtdicht nach vorne. Der zweite Ansatz sieht vor, die Kunststoffschnüre durch Metallleitungen zu ersetzen, wobei ein Draht als Masse dient und der Andere als gemeinsamer Datenbus und Spannungsversorgung dient. Die Schraubösen könnte man dann als Stromabnehmer mitnutzen und am unteren Ende des Rollos z.B. einen kleinen Tiny AVR verbauen, der eigene Aufgaben erhällt. Angedacht ist dabei, dass die Rollos bei Vorträgen per Sperrbefehl für weitere Zugriffe gesperrt werden und am oberen und unteren Ende rote LEDs den gesperrten Zustand anzeigen. So hätte man auch eine Art Dekolichtquelle, die man am ganzen Rollo zur Verfügung hätte und für ein dezentes, indirektes Licht sorgen könnte. So müsste man auch keine zusätzlichen Leitungen neben dem Fenster/Rollo verlegen, was den Gesamteindruck trüben könnte - ist Geschmackssache, ich mag es :)

Projektfortschritt

Der neue Antrieb wird derzeit per CAD geplant, der Aufbau wird danach schnell voran gehen. Der ursprüngliche Schaltplan von Peter wurde an die Bedürfnisse des Projekts angepasst, ist aber noch nicht vollständig.




Updates
Das Projekt wird in einer Simulation, geschrieben in processing, virtuell aufgebaut und getestet. Zu finden ist die kompilierte, aktuelle Version auf [1].

Die Platine für jedes Rollo wird beim ersten Prototypen auf einer Punktrasterplatine Platz finden. Sollte sich dieses Konzept als sinnvoll erweisen, werden alle Platinen händisch gebaut. Trotzdem lasse ich hier noch der alten Entwurf, der nicht mehr aktuell ist.



Aufgabenverteilung

Jeder, der beim Projekt ernsthaft hilft/helfen will, kann und soll sich hier eintragen:

  • DeadDealer: CAD-Planung, Mechanik, Schaltplan, Platine, Programmierung
  • Peter: Lichtschranke, Motortreiber, Programmierung, Schaltplan