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: Micro und PWM Kategorie: C-Control I Micro (von DIE HARD - 7.10.2005 13:20)
 Als Antwort auf Micro und PWM von ReinhardB - 6.10.2005 12:41

> Hallo zusammen...
> Habe immer noch das Problem, daß ich einen 3. PWM Ausgang benötige.
> Einen Digitalausgang mit dem Interrupt zu pulsen halte ich für zu heikel, da mir das doch sicher den weiteren Programmablauf stört...? ( http://ccintern.dharlos.de/forum/lesen.php?eintrag=4390 )
> Daraufhin habe ich mir die i2c-Erweiterung mit Max520 Chip besorgt. Nun habe ich zwar weitere Analogausgänge, aber in Gleichstrom, nicht PWM moduliert, was aber für die weitere Verstärkung mit TOPFETs unumgänglich ist.
> Im Conrad Katalog steht, die Micro hätte 2 PWM Ausgänge, was aber in den Beschreibungen dazu arg eingeschränkt wird. Wie sieht das bei der Open-Micro aus ? So würde ich eine Micro als slave hinter meine M-Unit hängen, und diese übernimmt dann die PWM Ausgabe...
> Oder ein vernünftiger DC - PWM Wandler würde es auch tun. Leider nix gefunden, was einen Gleichstrom von 0 bis 5V
> in PWM umwandeln könnte.
> Weiß jemand was ?
> ReinhardB
>


' ANWENDUNG: Weitere PLM-Ausgänge
'
'--------------------------------------------------------------------
'  Das Beispiel zeigt, wie man mit einem Trick weitere PLM-Ausgänge
'  Erzeugen kann.
'  Es wird der reguläre DA-Ausgang benutzt um einen IRQ zu erzeugen
'  (DA-Ausgang mit IRQ verbinden)
'  Der Interrupt findet alle 500us statt und wird in der Interrupt
'  Routine zu einer Pulsbreitenmodulation verarbeitet.
'
'  In diesem Beispiel werden die Ports 1 und 16 (LCD Beleuchtung)
'  angesteuert. Der Wert für den PLM-Ausgang wird in der Variablen
'  PLM3 bzw. PLM 4 festgelegt. Die PLM-Frequenz ist etwa 25ms, was
'  für die Dimmung von Lampen ausreichen sollte.
'
'  Das Beispiel fährt im Hauptprogramm den Wert der Variablen PLM3
'  durch den Bereich 0 bis 255. Sie sehen wie der zugehörige Ausgang
'  Port 16 die Helligkeit der LCD-Beleuchtung am Application-Board
'  langsam dimmt.
'  Der gerade aktuelle Wert für PLM3 wird am LCD angezeigt.
'  Das leichte Flackern am LCD kommt durch das Schreiben auf das LCD
'  zustande.
'---------------------------------------------------------------------  
'  Achtung:
'  Während einer Pause wird der IRQ nicht bearbeitet, Sie dürfen
'  im Hauptprogramm also keinen PAUSE-Befehl verwenden.
'  Nehmen Sie eine DELAY-Schleife um Pausen zu erzeugen.
' Der für den IRQ verwendete DA Ausgang ist normal verwendbar.
'---------------------------------------------------------------------




'--------------------------
'------ I/O PORTS ---------
'--------------------------
define PWMOUT3 as port[16]
define PWMOUT4 as port[1]
define PWMOUT2           da[2]
define PWMOUT1           da[1]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define DELAY    as word

define COUNTER  as byte
define PLM3     as byte
define PLM4     as byte
define ICNT     as byte

'----------------------------------------------------------------------
INTERRUPT ISERVICE
LCD.INIT

'----------------------------------------------------------------------
#MAIN_PROGRAM
for DELAY=0 to 10000
next
'----------------------------------------------------------------------
COUNTER=COUNTER+10
PLM3=COUNTER
LCD.POS 1,1
LCD.PRINT "COUNTER: " & COUNTER & "    "
goto MAIN_PROGRAM
'----------------------------------------------------------------------
'---              PLM INTERRUPT SERVICE                            ----
'----------------------------------------------------------------------
' IRQ CONNECTED TO DA1 OR DA2 - INTERRUPTRATE 500us
#ISERVICE
ICNT=ICNT+5
if ICNT<=PLM3 then PWMOUT3=on else PWMOUT3=off
if ICNT<=PLM4 then PWMOUT4=on else PWMOUT4=off
return interrupt





 Antwort schreiben

Bisherige Antworten: