
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo liebe C-Control Gemeinde, nach jahrelangem überlegen habe ich kürzlich dann doch meinen inneren Schweinehund überwunden und mir für den Anfang die alte C-Control UNIT i / (plus) nebst Aplicationsbord und DCF77 Antenne gekauft. Ich hoffe das ich das jetzt richtig geschrieben habe, denn irgendwie seh ich nicht wirklich durch bei der vielzahl der C-Controls... ok es ist keine Mini oder Micro und es ist auch keine V2.. keine MEGA usw.... Es ist die (glaub ich) erste die mit den 2 Knöpfen (RESET + START) Also die MAIN-UNIT.... Wie aus dem Betreff schon zu lesen ist geht es mir um die Steuerung eines Aquariums. PROJEKTBESCHREIBUNG Folgende Aufgaben sind waren geplant. 1. Normales Licht (TAGES LICHT / SONNE) zur Zeit x für die Dauer y von 0 auf 100% hoch zu dimmen 2. Tageslicht ab der Zeit x2 für die Dauer y2 von 100% auf 0% herabzu dimmen. - die Dimmung soll durch einen Servo auf einen Handelsüblichen Drehdimmschalter 240V~ erfolgen/Galvanische Trennung 100% der wiederum die entsprechenden Lampen Halo, Glüh, oder evtl. Neon Regelt... somit wäre die schaltung etc. in vielerlei richtungen einsetzbar. 3. Mondlicht ab zeit x3 für die Dauer y3 von Position Z1 nach Position Z2 bewegen (gedacht war ein Servo auf dessen Kreuz insgesamt 6 LED's positioniert werden so dass durch ansteuerung der unterschiedlichen LED's dann auch unterschiedliche Helligkeiten (Neu-ViertelZu-HalbZu-Voll-HalbAb-ViertelAbnehmender Mond) erzeugt wird, diese LED-Matrix wird durch den servo aus Position 0 (Links zum Beckenrand Parrallel zur Wasseroberfläche) nach Servoposition (ca. 25%) als Mondaufgang Servo Positionen (25%-75%) Mondverlauf übernacht (nicht die ganze nur ca. 1-2 stunden) und letztlich das letzte Viertel des Servo (76%-100%) nach rechts zum Beckenrand Parrallel zur wasseroberfläche bewegt. Über 4 Digitale ausgänge sollen die Jeweils zugehörigen LED'S des Mondes ein bzw. ausgeschalten werden. somit würder der mond mit der Lichtstärke von insgesamt 6 oder vielleicht auch 8 LED'S bei vollmond Port 1 - 4 Leuchten und Per servo 0-63 Mondaufgang 64-191 Mondverlauf 192-255 Monduntergang gesteuert werden desweiteren soll die Aktuelle temperatur im Becken überwacht werden... Sofern eine Temperatur X (24°C) Überschritten wird soll die Stromzufuhr zur Heizung abgeschalten werden, sofern die Temperatur weiterhin steigt... Heizung=0 Temp >24 soll eine Umwälzpumpe zugeschalten werden... sofern die Temperatur immernoch weiter ansteigt Heizung=0 Pumpe=1 Temp>25 soll das Licht entsprechend abgedunkelt werden... ebenso soll im umgekehrten falle Pumpe ausgeschalten werden wenn die Heizung an ist und die Temperatur absinkt unter beispielsweise 22°c. okay soviel erst einmal zu dem Projekt selbst. Was ist vorhanden Klar die M-UNIT 1 + Applikationsbord + DCF77 Antenne Leistungstreiber -> TTL eingang auf Optokoppler und über Triac an Max 500V~ 8A diesen LT habe ich bereits in Kleinbühnen betrieben und das mit einer sehr hohen zuverlässigkeit. darum würde ich diesen gern auch weiterhin benutzen für die Stromversorgung Heizung / Pumpe und bei 0% Sonnenlicht auch ggf. den Trafo oder anderes vom Netz nehmen. 2 Servos die einfachen von C ersteinmal zum Probieren. Daten dazu. Stell-Moment bei 4,8 V:__ 10 Ncm Stell-Zeit bei 4,8 V: ______0.17 s Getriebe:_______________Kunststoff Stell-Zeit bei 6 V:________0.15 s Stell-Moment bei 6 V:____12 Ncm Artikel-Nr.: 230500 - 62 Ein entsprechendes Programm das ich dafür geschrieben hab das bis dato soweit super Funktioniert (in der Simulation) FRAGEN Leider habe ich irrtümlich geglaubt das ich mit der MAIN 1 die Servos direkt ansteuern kann. Da hier die PWM nicht für die Servos ausgelegt sind. Ein SD20 empfinde ich für dieses Projekt zu überdimensioniert daher tendiere ich wenn schon überdimensioniert zu der preiswerteren Lösung RNS1 dieser kann dann per RS232 (TTL PEGEL) bis zu 10 Servos ansteuern und das bei einem Preis von knapp 6 Euros + ein paar externe bauteile 4Mhz Quarz Kondensatoren und wiederstand ![]() Meine frage an sich ist, kann ich direkt an das Applboard LED's anschließen? Laut Handbuch bringen die Ports Max 10 mA eine normale LED's benötigt wenigstens 20mA soweit ich mich erinnere, somit wäre die frage schon fast beantwortet. Des wegen habe ich mich ggf. für einen Registerchip vom Typ 74LS374 entschieden, da dieser Per Impuls die 8 Datenleitungen übernimmt und beibehält auch wenn an den datenleitungen die daten verändert worden sind, so könnte ich ggf. die 8 Datenleitungen nebst Je Registerchip eine Steuerleitung aus den 16 Leitungen bis zu 8*8 (64) Ports an der Unit ansteuern.... das wäre aber dem ganzen zuviel.... man könnte aber trotzdem den PORT 1 halbieren zu 4 Datenleitungen und 4 Steuerleutungen (für 4x74LS374) somit wären am ende wieder 16 Portausgänge zur verfügung. Da ich den Prot 2 für Das Display benötige. Gibt es ggf. eine andere Möglichkeit die Servos anzusteuern außer über den rns1 da es letztlich nur 2 sind. Kann man ggf. über Assambler die nötigen impulsbreite von 1-2 ms für den servo (0-255 position) erzeugen oder reicht auch asm nicht von der geschwindigkeit her aus? Wenn es möglich ist die Impulsbreite entsprechend per ASM zu verändern (Auf der alten UNIT) auf welche Register muß ich mich konzentrieren? Wie kann ich den Interrupt auslösen? und wo kann ich den entsprechend setzen???? Früher auf dem C64 habe ich ASM programmiert somit sind mir Programmier abläufe nicht unbekannt und auch mit Basic C++ Comal Profan und einige andere Sprachen komme ich klar. ggf. bräuchte ich ein Beispielcode der ein Interrupt auswertet und die information wie ich einen Setzen kann. dieser könnte dann ggf. aus der UserVariablen (byte) 1 den stellwert für den servo übergeben bekommen.... Oder denke ich alles in allem zu Kompliziert und es gibt letztlich doch eine ganz einfache lösung. Leider exitieren diverse Seiten nicht mehr die hier im Forum ggf. zur Antwort beigetragen hätten. Darum muß ich ein recht altes Problem nochmals neu aufgreifen. Frage: Welchen Temperatur sensor würdet ihr mir empfehlen, dieser müsste die Wassertemperatur ermitteln... sprich gegen Wasser geschützt sein.... gff. könnte ich ihn selbst irgendwie einfassen. der Meßbereich bräuchte eigentlich nur im bereich 15-30 Grad sein, da ich im allgemeinem eine konstannte Temp von 23,5 Grad benötige und die Temp nicht wesentlich höher bzw. tiefer sein darf. Für Tips Anregungen und Programmierhinweise (anleitungen oder ähnliches) wäre ich sehr dankbar. Auch wenn es nicht möglich ist die PWM entsprechend zu ändern bzw. diese auf den Digitalports software seitig zu emulieren wäre ich über die ASM INTERRUPT programmierung trotzdem interessiert. Mit Internetten Grüßen Michael Dietrich |
| Antwort schreiben |