Für die Softclock wird immer der Timer benutzt, der im asynchronen Betrieb (mit ext. Uhrenquarz) arbeiten kann.
Ich habe gerade kein Datenblatt des 2561, aber da müßte das zu finden sein.
Gruß Dirk
Hi,
EDIT: ich hab das mal umbenannt, da ich im verlauf dieses Projektes sicher noch ofters Fragen haben werde, und nicht jedes mal ein neues Thema aufmachen will...
Geplant ist folgendes:
Für einen Saal mit 15*8m Fläche soll eine automatische Lüftung mit Zusatzheizung realisiert werden. Das ganze soll von eimem M2561 gesteuert werden und Visualisierung auf einem 2,1" Grafik-LCD von Display3000.de
Lüftung mittels 4 Radiallüfter a 700m³/h - je 2 Zuluft und 2 Abluft. Alle 4 sind einzeln schaltbar.
In diesem Saal finden mehrmals Wöchentlich Veranstaltungen von ca. 2 Stunden dauer statt. 2 Stunden vor Beginn soll Luftaustausch beginnen, 1 Stunde vor Beginn wird das Heizregister zugeschalten. Während der Veranstaltung wird die Lüftung auf halber Leistung weiter betrieben und Temperatur weiter geregelt. Danach geht die Heizung wieder in die temperaturabsenkung und nur noch Frostschutz auf 5...7°C wird per Heizkörper aufrechterhalten.
(Soweit im Groben die Aufgabenstellung)
Temperatursensoren geplant:
Raumtemperatur - Fühler am Ansauggitter Abluft
Außentemperatur - Fühler an Nordwand
Zulufttemperatur nach Heizregister
Vorlauftemperatur
Rücklauftemperatur
Schaltfunktionen:
Lüfter Abluft 1
Lüfter Abluft 2
Lüfter Zuluft 1
Lüfter Zuluft 2
Heizung einschalten - geht auf einen Eingang an der Gastherme
Luftauslaß an Außenwand verschließen
Lufteinlaß an Außenwand verschließen
Ventil für Heizregister - eventuell Stufenlos per PWM-Ansteuerung
So das ersteinmal im Groben, was die Steuerung können soll.... - jetzt wieder den Original-Post.....
Hi,
ich hab mal wieder eine Frage:
Ich müßte mal wissen, welche Timer die Soft_Clock in einem Mega2561 belegt, die ich nicht mehr für andere Aufgaben nutzen kann...
Ich habe den Code aus der mcs.lib angesehen, aber da ich null Ahnung von Assambler habe, hilft mir das auch nicht weiter...
Wenn ich später die Softclock 1*täglich durch ein DCF-Signal aktualisieren möchte - brauchen die dazu nötigen Routinen ja auch min. 1 Timer.... - welche bleiben mir dann eigentlich noch frei?
MfG Dani.
Für die Softclock wird immer der Timer benutzt, der im asynchronen Betrieb (mit ext. Uhrenquarz) arbeiten kann.
Ich habe gerade kein Datenblatt des 2561, aber da müßte das zu finden sein.
Gruß Dirk
Danke - habs gerade gefunden - am 2561 ist es Timer2, der für die Uhr verwendet wird...
MfG Dani.
Kurze Ergänzung:
Wenn du später über DCF77 nachdenkst, dann funktioniert das mit Timer 1 (soll später mal auch mit anderen Timern klappen, einen Parameter "Timer = ... " gibt es ja schon bei Config DCF77, aber der funktioniert glaube ich noch nicht!).
Dafür hast du den Timer 2 dann wieder frei ...
Gruß Dirk
Bei der Uhr hatte ich überlegt, Die Steuerung per Watchdog überwachen zu lassen, nach Reset wird DCF eingelesen, und erst dann das Hauptprogramm gestartet. Die Soft_Clock wird 1* Täglich per DCF abgeglichen - damit möchte ich die temp.drift der Soft_clock ausgleichen...
Oder bin ich da auf dem Holzweg - ich ging davon aus, daß ich von den DCF Antennen, wie sie bei Conrad, Reichelt oder Pollin erhältlich sind, nur die Telegramme erhalte. Die Uhr wäre dann ein extra "Programm".
Hab aber noch eine Frage:
Ich habe schon ernstahft gegrübelt, welche Temperatursensoren ich nehmen soll. LM75 kann ich nicht nehmen, da ich teilweise um die 20m Kabellänge zum Sensor haben werde. Also bleiben PTC / NTC - da hatte ich zB den KTY81-110 schon mal ins Auge gefaßt. Allerdings würde mich vor allem Interessieren, wie ich die am besten anschließe, und wie es dann mit der Kalibration realisiert wird.
Die Steuerung mit dem µC wird wahrscheinlich auf dem Dachboden installiert, wo im Winter Außentemperatur und im Sommer bis zu 40°C oder höher ist. Allerdings nur, wenn das LCD die lange Verbindungsleitung zum µC auch akzeptiert. (Ich habe bereits eine Steuerung für die Tiefkühltruhe gebaut, dort habe ich einen LM75 als Sensor und das 2*16 Zeichen LCD an 10m geschirmter Leitung angeschlossen, und hoffe, daß es bei den Grafiklcd auch so problemlos funktioniert)
PS: Ich werde aber auch nochmal die Suche bemühen - aber es kann ja sein, daß jemand einen Vorschlag hat, den ich so nicht finden kann, oder ich liege bei einigen Punkten so völlig daneben...
MfG Dani.
Das ist ja eine häufige Anwendung: Man synchronisiert eine Uhr 1x pro Stunde oder Tag mit DCF. In Bascom kann man dazu mit Config Dcf77 den DCF-Decoder einbinden. Man kann dann den Decoder einmal einschalten und wieder ausschalten, sobald der Empfang eines gültigen Telegramms gelungen ist.
Also: Das ersetzt quasi die Softclock.
Bei den Messungen mit KTY Sensoren über lange Entfernungen könnte man das mit 3- oder 4-Leitertechnik machen:
http://www.thermoguard.ch/download/TG-Vierleiter.pdf
Gruß Dirk
Na das mit dem warten auf eine vollständige Uhrzeit vom DCF-77 Empfänger würde ich mal nicht zur Programmstartvoraussetztung machen.
Ich habe verschiedene DCF-77 Module ausprobiert und habe immer das Problem gehabt, dass je nach Tageslaune oder Wetter die Uhr sich schnell oder langsam eingerenkt hat.
Ich bin dann den Weg gegangen und habe zum DCF-77 Modul noch eine externe Echtzeituhr mit Pufferbatterie genommen.(Saunasteuerung) Ich würde allerdings, so wie viele Heizungs- und Reglungshersteller den DCF-77 Empfänger nach draussen hängen. (evtl. direkt mit Aussenfühler)
Da die Datensignale der meisten DCF-77 Empfängermodule nicht aussreichen längere Strecken zu überbrücken, würde ich dann einen Tiny zur Kommunikation nehmen oder mit Treibern arbeiten. Da kommt man mit drei Leitungen aus (GND,VCC,DATA) . Oder man nimmt eine RS485 bzw. RS422 Verbindung dann allerdings mit vier Leitungen (GND,VCC,DATA+,DATA-) die kann dann aber auch wirklich lang sein. Gerade zur Schnittstelle hat die Seite ja eine sehr gute Wiki https://www.roboternetz.de/wissen/index.php/RS485.
Soll die Steuerung denn auch Ferngesteuert werden (WEB / Telefon)?
Ach ja, aus meiner berufl. Erfahrung kann ich nur sagen: Heizregister oder Heizungen immer mit einem vorrangigen redundanten analogen Temperaturmesssystem schützen. Soll heißen: macht die Steuerung was sie will kann eine analoge Temperaturüberwachung immer noch die Heizung ausschalten. Sonst kann schnell aus einem Saal ein türkisches Dampfbad oder eine fin. Sauna werden. Dann sollte allerdings auch die Steuerung das mitbekommen und neu starten und Meldung geben.
Ach ja, noch eine letzte Sache: Was mich bei meiner Saunasteuerung echt zum Wahnsinn getrieben hat ist das Thema EMV und Netzstörungen im Allgemeinen.
Obwohl ich alles gepullupt und mit Entstörkondensatoren versehen habe, bin ich erst nach Tagen und einigen Ferritkernen zur Einsicht gekommen: Nicht umsonst ein Job für Entwickler mit dem entsp. Instrumentarium. Da kommt man ohne entspr. Equipm. schnell ans Ende. Gerade beim Schalten von Leistungen (induktiv od. kapazitiv) gibt es ein wahres Feuerwerk an Impulsen und Störungen. Egal ob per Schütz oder elektro. Leistungsrelais. Ich habe da in der Vergangenheit gerne mal über die Ferrite gelächelt. Dieses Thema hat fast 60% der Entwicklungzeit gekostet. (Zugegeben ist meine Saunasteuerung etwas trivialer als eine Heizungssteuerung.)
Nach Deiner Beschreibung bleibt der Saal lange unbeaufsichtigt, da würde ich die Möglichkeit der Fehlermeldung per Telef. oder Handy mit überdenken.
Gruß,
Stephan
Ich habe in meiner Heizungssteuerung 7 DS1820 verbaut. Die längste Leitung ist dabei bestimmt 15m lang. Das geht ohne Probleme, allerdings mit 3 Adern (VDD,GND,Signal).Zitat von Dani-Bruchflieger
Ich habe das 1,5" LCD von Display3000. Da gehen 10m Anschlussleitung (SPI) nur, wenn man das Signal am Display noch mal etwas aufbereitet. Die Übertragungsrate ist hier schon bedeutend höher als bei einem 2*16 Zeichen Text Display.Zitat von Dani-Bruchflieger
Gruß
Rolf
Genau dieses Problem erachte ich als ersten Stolperstein. Laut Datenblatt von Pollin (als Beispiel) kann deren DCF-Empfänger bis zu 20 Minuten brauchen, bis er sich "aufsynchronisiert" hat.Zitat von stekohl
Bei meinen privaten Amateur-Experimenten hat sich eine Zeit von 3-6 Minuten als normal herausgestellt. Ich würde mein Hauptprogramm nicht so lange warten lassen. Das wäre mir zu riskant. Evtl. kommt sogar garkein Signal und dann geht nichts.
Naja - ich habe das so gedacht: Wenn die Anlage sich wirklich aufgehangen hat, und der Watchdog einen Reset machen mußte, wird die Anlage mit einem Datum und einer uhrzeit geladen, wo keine Veranstaltung stattfindet. Dadurch hat diese genug Zeit sich die korrekte Zeit und Datum zu besorgen über DCF-Signal. Somit ist sie sozusagen im Standby bis die korrekte Uhrzeit empfangen wurde.
Während diese Regelung im Standby ist, ist ja immernoch die Eigentliche Steuerung der Gastherme aktiv, die ja die "Nachtabsenkung / Frostschutz realisiert.... - dort würde die neue Steuerung nur eingreifen und die Therme zuschalten, wenn die Temperatur im Saal unter die 5°C fällt - was aber nie passieren sollte.
Wenn dieser Reset während einer Veranstatung passiert, geht dann eben solange die Lüftungsanlage nicht, aber das wäre eventuell auch noch zu verschmerzen. - Außerdem macht ja jeweils nur der Prozessor einen Selbstreset, nicht das DCF-Modul - somit sollte dieses ja sofort wieder die Zeittelegramme zur verfügung haben.... - hoffe ich...
Ich werde jedenfalls (bin ja schon dabei) die ganze Geschichte vorher ausgiebeig auf alle Eventualitäten am Steckbrett testen - hab ja für den M2561 und einige andere AVR-Prozessoren entsprechende testplatinen geätzt..., mit denen ich Schaltungen simulieren und testen kann - sicherlich gibt es in einem fertigen Layout hinterher noch neue Probleme, wie zB die Geschichte mit dem EMV usw. aber darum muß ich mich dann eben hinterher kümmern - Wenn ich aber alles geschirmt einbaue und mit geschirmten Leitungen arbeite, sollten diese Störungen doch hoffentlich minimiert werden können. (Hoffe ich zumindest)
Momentan kann ich mich aber erstmal nur auf die gestaltung des Layout auf dem Display kümmern, da mir zum weiteren Testen die temperatursensoren fehlen...
Bus-Sensoren wollte ich diesmal vermeiden, da ich beim LM75 in der Tiefkühltruhe neg. Erfahrungen gemacht habe - dieser liefert ab und zu Werte von 80°C oder -80°C und das läßt sich nur durch ein Aus- und Einschalten der Tiefkühltruhe beheben. - Damit das Kühlgut nicht komplett auftauen kann, bei einem solchen Fehler hab ich schon eine Routine implementiert, die dann sofort und dauerhaft die Kühlung einschaltet (Lieber einen Eisblock, als alles aufgetaut) und einen extralauten Alarm gibt. Wenn ich noch einen freien Pin am verwendeten Mega8 finde, werde ich da mal ein relais einbauen, daß dann nur die Stromversorgung des LM75 für 10 Sekunden unterbricht. Hooffentlich hilft das dann... - aber da gehört ja eigentlich gar nicht zu diesem Thema...
MfG Dani.
Lesezeichen