
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Sven Ich habe mal ein wenig herumprobiert und kann Dir einen Emulierten PWM Port anbieten. Der PWM Port hat eine Frequenz von ca. 43 Hertz und eine Auflösung von 0,1 Volt (50 Schritte). Das ist zwar "sehr" langsam, habe aber mit einem RC - Glied (R=4,7K / C=22µF) ein brauchbares Analoges Signal erzeugt. Einen Optokoppler kannst Du auch direkt an den Port anschließen, dann aber ohne RC - Glied (den Vorwiederstand aber so berechnen das der Strom unter 10mA liegt). Da nach jeder Minute der PWM Wert um 1 verringert wird läuft das Programm ca. 50 Minuten. Ich hoffe das das ausreichend ist. Die Ports der beiden Taster müssen mit 4,7K gegen 5V Plus gezogen werden. Die Taster schalten somit gegen Masse. Der Abbruch Taster wir einmal in der Sekunde abgefragt, also musst Du im ungünstigsten Fall eine Sekunde auf Abbruch drücken bevor der Taster reagiert. Poste mal ob alles funktioniert hat... MfG Jens '-------------------------------------------------------------------------- ' Sonnenuntergang mit der C-Control Micro ' Emulierter PWM Port - Auflösung 0,1 Volt = 50 Schritte ' Dimmzeit ca. 50 Minuten ' Ausgabe der Dimm - Schritte über ein Terminal '-------------------------------------------------------------------------- ' '--- Definiere Ports ------------------------------ define Terminal port[1] 'für Testzwecke define stop_taster port[2] 'Abbruch Taster define start_taster port[3] 'Start Taster define Dimm port[4] 'Emulierter PWM Port define frei1 port[5] 'nicht belegt define frei2 port[6] 'nicht belegt '--- Definiere Variablen -------------------------- define PWM_step byte 'Variable PWM Wert (High Impuls) define M byte 'Variable Halteschleife Minute define S byte 'Variable Halteschleife Sekunde define Z byte 'Variable PWM Auflösung '--- Voreinstellung ------------------------------- Dimm = off 'PWM Port aus baud 9600 'für Testzwecke '--- Programm start ------------------------------- #anfang wait not start_taster 'wartet bis der Start Taster betätigt wird PWM_step = 50 'PWM = 100% print "Start PWM: "; PWM_step 'für Testzwecke '-------------------------------------------------- #dimm_prozess for M = 1 to 60 'Halteschleife 1 Minute for S = 1 to 43 'Halteschleife 1 Sekunde for Z = 1 to 50 'PWM Auflösung 0.1 Volt if Z <= PWM_step then Dimm = on 'High Impuls if Z > PWM_step then Dimm = off 'Low Impuls next next if not stop_taster then goto dimm_ende 'wenn der Stop Taster betätigt wird, dann Abbruch next PWM_step = PWM_step - 1 'PWM Impuls verringern if PWM_step = 0 then goto dimm_ende 'PWM = 0%, dann Ende print "PWM Step: "; PWM_step 'für Testzwecke goto dimm_prozess '-------------------------------------------------- #dimm_ende Dimm = off 'PWM Port aus print "Dimm Ende" 'für Testzwecke goto anfang '-------------------------------------------------- end |
| Antwort schreiben |