Benutzer:Atuschen: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Geplante Erweiterungen:)
(Geplante Erweiterungen:)
Zeile 51: Zeile 51:
 
Nicht akzeptabel ist für mich, wegen jeder Änderung den Controller neu flashen zu müssen (begrenzte Flash-Zyklen, bei Verwendung des Bootloaders ist ein laufender Rechner notwendig).  
 
Nicht akzeptabel ist für mich, wegen jeder Änderung den Controller neu flashen zu müssen (begrenzte Flash-Zyklen, bei Verwendung des Bootloaders ist ein laufender Rechner notwendig).  
 
Auch die Lösung mit dem dynamischen Cron ist mir nicht ganz recht, da ich im Idealfall mindestens 2x7 Schaltzeiten benötige (1 Woche Spät, 1 Woche Frühschicht im Wechsel + Wochenende).
 
Auch die Lösung mit dem dynamischen Cron ist mir nicht ganz recht, da ich im Idealfall mindestens 2x7 Schaltzeiten benötige (1 Woche Spät, 1 Woche Frühschicht im Wechsel + Wochenende).
Dafür ist mir der RAM im ATMega zu knapp. Also müssen die Schaltbefehle in einen externen nichtflüchtigen Speicher verlagert werden, den ich im laufenden Betrieb ändern kann. Prädestiniert dafür wäre der 4Kbit High-Endurance-Block eines 24C65 I2C-EEPROMS, welcher laut Datenblatt ca. 10 Mio Schreibzyklen verträgt. Da dieser Block nur 512 Byte groß ist, müssten die auszuführenden Befehle (welche sich nur selten ändern) in einem anderen Bereich gespeichert werden. Nur die Schaltzeiten/Tage müßten im High-Endurance-Block stehen.  
+
Dafür ist mir der RAM im ATMega zu knapp. Also müssen die Schaltbefehle in einen externen nichtflüchtigen Speicher verlagert werden, den ich im laufenden Betrieb ändern kann. Prädestiniert dafür wäre der 4Kbit High-Endurance-Block eines 24C65 I2C-EEPROMS, welcher laut Datenblatt ca. 10 Mio Schreibzyklen verträgt. Da dieser Block nur 512 Byte groß ist, müssten die auszuführenden Befehle (welche sich nur selten ändern) in einem anderen Bereich gespeichert werden. Nur die Schaltzeiten/Tage müßten im High-Endurance-Block stehen. 3-4 byte reichen zur Codierung der Schaltzeiten aus, wodurch sich mindestens 128 Schaltzeitpunkte speichern lassen. Das wäre mehr als ausreichend für meine Zwecke.  
  
  

Version vom 6. Februar 2010, 22:21 Uhr

Name: Alex

Alter: 34

Beruf: Angestellter

Mail: atuschen (ät) web (punkt) de

Linux-Nutzer (Sidux/Debian/Ubuntu), Hobbyelektroniker, C-Anfänger, Pascal-Progammierer (seit Turbo Pascal 3.0, mittlerweile FreePascal)


Mein Ethersex-Setup:

- Pollin AVR-NetIO
- ATmega644/20MHz
- RFM12 (433 MHz)
- 4x Tevion Funkschalter
- 4x Tevion Funkdimmer
- 4x 2272 Funkschalter
- 3x Pollin UP-Funkdimmer
- Pollin K8IO Relaiskarte über PCF8574 am I2C-Bus
- 2x20 LCD über PCF8574 am I2C-Bus
- 24C256 32KB EEPROM am I2C-Bus

Alles zur Zeit im fliegenden Aufbau auf mehreren Lochrasterplatinen.

Geplante Erweiterungen:

- RFM12 (868 MHz) oder FS20 Sender/Empfänger
- Heizkörper-Thermostate (Funk/868 MHz)
- Rolladen-Gurtwickler (Funk/868 MHz)
- Türschließer (z.B. Keymatic von ELV, Funk/868MHz)
- Selbstbau-Fernbedienung(en) für alle Funktionen (z.B. ATmega8L+RFM12)
- Selbstbau-Funk-Codeschloß an der Eingangstür
- diverse Sensoren zur Steuerung, z.B. Fotozelle für die Rolläden, Temperaturfühler für Heizung...

Angedacht ist folgende Haus-/Wohnungssteuerung:

An Arbeitstagen mit Frühschicht:

Morgens zur Weckzeit(5:00-5:30) im Schlafzimmer langsam das Licht hochdimmen (funktioniert bereits). Ca. 30 Minuten bis 1 Stunde danach und/oder ab einem gewissen Schwellwert des Außen-Lichtsensors die Rolläden hochziehen.


An Arbeitstagen mit Spätschicht oder arbeitsfreien Tagen :

Ab einem gewissen Schwellwert des Außen-Lichtsensors (evtl. in Kombination mit der Uhrzeit) die Rolläden hochziehen.


Da sich die Verteilung von Früh- bzw. Spätschicht manchmal kurzfristig ändern kann, benötige ich eine flexible Lösung, welche sich mit "wenig" Aufwand ändern lässt. Nicht akzeptabel ist für mich, wegen jeder Änderung den Controller neu flashen zu müssen (begrenzte Flash-Zyklen, bei Verwendung des Bootloaders ist ein laufender Rechner notwendig). Auch die Lösung mit dem dynamischen Cron ist mir nicht ganz recht, da ich im Idealfall mindestens 2x7 Schaltzeiten benötige (1 Woche Spät, 1 Woche Frühschicht im Wechsel + Wochenende). Dafür ist mir der RAM im ATMega zu knapp. Also müssen die Schaltbefehle in einen externen nichtflüchtigen Speicher verlagert werden, den ich im laufenden Betrieb ändern kann. Prädestiniert dafür wäre der 4Kbit High-Endurance-Block eines 24C65 I2C-EEPROMS, welcher laut Datenblatt ca. 10 Mio Schreibzyklen verträgt. Da dieser Block nur 512 Byte groß ist, müssten die auszuführenden Befehle (welche sich nur selten ändern) in einem anderen Bereich gespeichert werden. Nur die Schaltzeiten/Tage müßten im High-Endurance-Block stehen. 3-4 byte reichen zur Codierung der Schaltzeiten aus, wodurch sich mindestens 128 Schaltzeitpunkte speichern lassen. Das wäre mehr als ausreichend für meine Zwecke.


An allen Tagen:

Ab einer bestimmten Uhrzeit oder über Lichtsensor die Rolläden runterfahren.

Immer beim Verlassen der Wohnung am Tür-Code-Schloß außen die Codenummer eingeben: Alle elektrischen Geräte die über Funkschalter laufen, werden abgeschaltet (nur zur Sicherheit). Ebenso alle Lampen abschalten, sowie Computer per Script herunterfahren. Haustür verschließen.

Vorm Betreten wieder Code eingeben: Haustür wird aufgeschloßen. Falls es bereits dunkel ist bzw. zu unterschiedlichen Urhzeiten, werden bestimmte Beleuchtungsprogramme aktiviert.

Diverse Beleuchtungs-/Schaltprogramme per Fernbedienung abrufbar. z.B.: "Heimkino" -> Wohnzimmerlampen herunterdimmen oder Rolläden runterfahren, Anlage+Beamer einschalten (funktioniert bereits teilweise).

Heizkörper je nach An-/Abwesenheit (wird ja über Code-Schloß festgestellt) und Raum- bzw. Außentemperatur regeln.

Prinzipiell möchte ich soviel über Funk (RFM12-Module) machen, wie möglich/sinnvoll: z.B. Außentemperatur/Helligkeit. Bevor ich mit den Platinenlayouts anfange, möchte ich Versuchsaufbauten auf Lochrasterplatinen (zur Zeit) oder besser Steckboards (waren mir bisher zu teuer) machen.

Alex