Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Dimmerprogramm für Micro aber wie??? Kategorie: C-Control I Micro (von Jens - 2.05.2005 10:47)
 Als Antwort auf Dimmerprogramm für Micro aber wie??? von Schmidtchen Sven - 26.04.2005 19:50
Jens nutzt:  Micro

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

Bisherige Antworten: