Autor | Thema |
---|---|
FabianH
Grand Master of Rocketry
Registriert seit: Okt 2003 Wohnort: Gevelsberg Verein: Ramog, Solaris-RMB, FAR Beiträge: 4123 Status: Offline |
Beitrag 6711954
, Zeitsteuereinheit
[09. Januar 2008 um 19:26]
Hi,
nach der Weihnachtsbeleuchtung, habe ich nun eine neues Projekt. Eigentlich ganz ähnlich, nur größer: Eine Arbeitskollegin hat zuhause irgendwelche Reptilien(Sowas wie Echsen), und da die Tierchen nen Haufen Elektrische Verbraucher benötigen, wie etliche verschiedene Lampen, Pumpen, Beregnungsanlagen, Nebler, usw. hab ich mich auf der Weihnachtsfeier doch zur Verfügung gestellt, etwas zu konstruieren, das das ganze automatisch schaltet. Also das ganze sollte Folgender Maßen ausschauen: - ATmega16 - min. 12 230V-Ausgänge - umschaltbar auf manuelle Bedienung - Jedes Gerät sollte zu festen Uhrzeiten an und ausgeschaltet werden, teilweise auch Stündlich - Die Toleranz der Uhr sollte im Rahmen sein, denn es hängt shließlich das Leben der Tierchen davon ab. Ansich ist das ganze Hardware-technisch nicht das Problem, da es ähnlich ist, wie die WeihnachtsbeleuchtungSiehe auch: Weihnachtbeleuchtung Nur halt nicht über das Kurs-Borad gesteuert, sonder über einen eigenen µC. Meine Probleme sind: Wie programmiere ich die Uhr in Bascom? Wie lese Ich die Uhr aus? Wie stelle ich die Uhr am sinnvollsten ein(Hardware-technisch), bzw. ist eine Funkuhr schwirig zu realisieren, bzw. kostenaufwändiger? Wie könnte ich die Uhr ohne LCD einstellen und auslesen, bzw. wie geht es am günstigsten(7seg.?). Wie geht das genau wenn ich in Bascom nicht den ganzen Port sondern nur einen einzelnen Pin ansteuern will? Bsp: Porta = &B00110000 beinflusst ja alle Pins, ich möchte aber nur einzelne beeinflussen. Naja, viele Fragen, und wie ihr seht, spielt auch der Kostenfaktor eine Rolle, denn wenn das ganze zu teuer wird, lohnt es sich nicht, bzw. rechnet sich eine Professionelle Anlage evtl. eher. Ich danke euch schonmal im vorraus, wenn ihr mir weiterhelfen möchtet. erste Schaltpläne poste ich nachher. MfG Fabian Geändert von FabianH am 09. Januar 2008 um 20:16 |
FabianH
Grand Master of Rocketry
Registriert seit: Okt 2003 Wohnort: Gevelsberg Verein: Ramog, Solaris-RMB, FAR Beiträge: 4123 Status: Offline |
Beitrag 6711957
[09. Januar 2008 um 19:43]
Das sind also die ersten entwürfe für das Gerät. Die Ports C+D wollte ich als Ausgang nehmen, vom Prinzip bleibt der Rest für die Uhrzeiteinstellung und evtl. 7-segmentanzeige o.ä. über.
Das sollte dann der Ausgängtreiber sein: MfG Fabian |
Neil
99.9% harmless nerd
Registriert seit: Aug 2000 Wohnort: Delft Verein: SOLARIS Beiträge: 7776 Status: Offline |
Beitrag 6711960
[09. Januar 2008 um 21:03]
Hi,
schönes Projekt. Ich habe da evtl. auch interesse dran. Also nicht direkt an alles sondern nur an einem Kanal der bei einer bestimmten Zeit aufregelt und bei einer bestimmten Zeit dann voll aufgedreht ist. Sozusagen ein Lichtwecker + Dimmer. Das soll zum wach werden das beste sein. Ich weiß jetzt nicht ob deine Schaltung dimmen unterstützt. Zu deinem Uhrproblem. Es gibt kleien fertige Platinen wo eine Antenne drauf ist und das Signal dann für den MC lesbar raus kommt. Das DCF-77 Signal ist einfach zu entschlüsseln. Die Sekunden fangen alle pünktlich an, sind aber unterschiedlich lange an. Man muss also nur warten bis man ein high Signal am Eingang detektiert hat. Dann wartet man eine fixe Zeit mit wait(x). Dann schaut man ob es immer noch high ist oder nicht. Daraus kann man das Bit ableiten. Die erste, oder war es die letzte Sekunde, ist die längste. Man muss also nochmal eine fixe Zeit warten um die heraus zu finden. Ich denke bei Wiki gibt es dazu mehr. Wenn also die Elektronik an einem Ort steht wo Empfang ist, würde ich es darüber machen. Wenn der Spaß auf die Minute genau laufen soll, sollte es auf alle Fälle reichen. Du liest die Uhrzeit ein und schaust dann in eine Tabelle nach was gerade an sein muss. Ich würde dafür die Zeit in Minuten speichen. Macht 2 Byte pro Wert. Die Tabelle hat für jeden Kanal einen Eintrag wann er an sein soll und wann aus. Das kann man dann mit größer oder kleiner Abfragen lösen. Schwierig wird, wenn ein Kanal mehrmals am Tag an sein soll. Das sollte aber auch kein Problem sein. Ich würde dem Teil eine nette LC Anzeige spendieren. Ist nicht wirklich teuer. Dazu dann eine Menufunktion die mit 4 Tasten bedient werden kann. Da kannst du dann alle Kanäle einstellen ohne das Ding an einen PC zu klemmen. Ich vergaß, es gibt bei BASCOM einen Befehl um einzelne Bit (Kanäle) zu setzen. Gruß Neil Geändert von Neil am 09. Januar 2008 um 21:04 Die Erde ist eine Scheibe. Egal in welche Richtung sich die Menschheit bewegt, sie geht immer auf einen Abgrund zu. |
MarkusJ
Gardena Master of Rocketry
Registriert seit: Apr 2005 Wohnort: Kandel Verein: Beiträge: 2148 Status: Offline |
Beitrag 6711963
[09. Januar 2008 um 21:46]
PortA.Pinnummer
mfG Markus WARNUNG: Dieser Beitrag kann Spuren von Ironie beinhalten Ich bin weder eine Suchmaschine, noch ein Nachschlagewerk - PNs zu Themen die im Forum stehen oder dorthin gehören, werde ich nicht beantworten. Bilder bitte NICHT über Imageshack oder andere Imagehoster einbinden! |
FabianH
Grand Master of Rocketry
Registriert seit: Okt 2003 Wohnort: Gevelsberg Verein: Ramog, Solaris-RMB, FAR Beiträge: 4123 Status: Offline |
Beitrag 6711968
[09. Januar 2008 um 22:00]
Schonmal Danke, an Euch!
Also manche Kanäle sollen auf jeden Fall mehrmals am Tag geschaltet werden, daher würde ich halt gerne sowas machen wie: Wenn Uhrzeit 12:30 Dann tu dies 10minuten Wenn Uhrzeit 13:40 tu dies 5min. und das 15min. Die Genaue Struktur sowie den Zeitplan habe ich noch nicht. Ich wollte halt erst das Uhrzeitpropblem lösen. Minutengenau reicht aus. LCD wäre natürlich eine feine Sache, Ich bin mir halt noch nicht sicher wieviel Probleme das mit sich bringt, und wie aufwendig das ist, eine Menüstruktur zu programmieren. Habe seit meiner Lichtsteuerung nicht mehr wirklich was geproggt. LCD habe ich bisher null Erfahrung! MfG Fabian |
MarkusJ
Gardena Master of Rocketry
Registriert seit: Apr 2005 Wohnort: Kandel Verein: Beiträge: 2148 Status: Offline |
Beitrag 6711971
[09. Januar 2008 um 22:34]
Nimm dir ne externe Zeitquelle (so nen Uhrenquarz) und stelle dir dann einen Timer so ein, dass du jede Sekunde einen Interrupt bekommst ... der zählt dir die Uhrzeit hoch und überprüft, ob er dabei eine Zeitmarke in der Tabelle trifft ... wenn ja, setzt er sie programmierten Ausgänge.
mfG Markus WARNUNG: Dieser Beitrag kann Spuren von Ironie beinhalten Ich bin weder eine Suchmaschine, noch ein Nachschlagewerk - PNs zu Themen die im Forum stehen oder dorthin gehören, werde ich nicht beantworten. Bilder bitte NICHT über Imageshack oder andere Imagehoster einbinden! |
Dino
SP-Schnüffler Registriert seit: Feb 2007 Wohnort: Verein: Beiträge: 508 Status: Offline |
Beitrag 6711972
, Lästern
[09. Januar 2008 um 23:28]
Hi,
nachdem ich mich ja schon bei der Weihnachtsbeleuchtung unbeliebt gemacht habe, kann ein lästerlicher Beitrag hier nicht mehr Schaden Bei DER Aufgabenstellung kommt mir eigentlich eher eine lange Steckdosenleiste mit der entspechenden Anzahl Tageszeitschaltuhren vom Discounter oder Baumarkt-Wühltisch in den Sinn.... Aber ich will Keinem den Spaß verderben, also vergeßt das Ganze schnell wieder Gruß Dino Sicherheitskodex - short version: "Protect your privilege to fly rockets by not making the headlines or becoming a statistic. " |
FabianH
Grand Master of Rocketry
Registriert seit: Okt 2003 Wohnort: Gevelsberg Verein: Ramog, Solaris-RMB, FAR Beiträge: 4123 Status: Offline |
Beitrag 6713919
[10. Januar 2008 um 17:57]
Das mit den Zeitschaltuhren ist im Moment provisorisch realisiert, aber gerade davon möchte man ja weg, zum einen, da die Uhren nicht weniger wie eine Minute schalten, zum zweiten wegen dem vielen einzelnen Zeitschaltuhren, die einfach nicht sonderlich schön aussehen.
Klar, man kann das anders lösen, aber ein eigenes Steuergerät ist evtl. auch schöner, und läst sich ja auch beliebig zweckentfremden, wenn die Chameleons(hab ich heute erfahren) mal ins Graß beissen sollten. Mfg Fabian |
FabianH
Grand Master of Rocketry
Registriert seit: Okt 2003 Wohnort: Gevelsberg Verein: Ramog, Solaris-RMB, FAR Beiträge: 4123 Status: Offline |
Beitrag 6713927
[10. Januar 2008 um 19:55]
Ich habe gerade mal im neuen Pollin Katalog gestöbert:
Unter anderem habe ich dieses LCD gefunden: LCD-Modul TC1602E-01 Das sollte doch ausreichen und mit dem Mega16 anzusteuern sein. Wie schaut das eigentlich mit dem §time Befehl in Bascom aus, wie genau kann ich damit arbeiten? Bzw. welche Toleranzen weist der auf? Mfg Fabian |
MarkusJ
Gardena Master of Rocketry
Registriert seit: Apr 2005 Wohnort: Kandel Verein: Beiträge: 2148 Status: Offline |
Beitrag 6713936
[10. Januar 2008 um 20:38]
Keine Ahnung, ich hab zwar AVRs verstehen gelernt mit zwei BASCOM-Büchern, hab aber noch keine 100 Zeilen Bascom geschrieben ...
Am besten nimmst du wie gesagt den Timer, wenn du Timer 2 nimmst (asynchron), kannst du sogar zwischen den Sekunden noch in einen Stromsparmodus gehen, ohne den Timer auszuknipsen. mfG Markus PS: Vor allem sind die Timer alle genauer als ein evtl. NOP-basierter Sleep etc. WARNUNG: Dieser Beitrag kann Spuren von Ironie beinhalten Ich bin weder eine Suchmaschine, noch ein Nachschlagewerk - PNs zu Themen die im Forum stehen oder dorthin gehören, werde ich nicht beantworten. Bilder bitte NICHT über Imageshack oder andere Imagehoster einbinden! |