Problem: PWM mit Poti Reglen BASCOM

Gast #440194
Lesenswert?

Hallo,
Ich möchte eine PWM mit einem 10k Poti eisntellen.
Gefundenund getestet habe ich dieses Programm hier:

                     $regfile = "m16def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000

Config Porta.1 = Input
Config Pind.5 = Output                                      '
Porta = &B00000010
Dim Analogwert As Word
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Do

Analogwert = Getadc(1)
Analogwert = Analogwert / 2
If Analogwert > 255 Then Analogwert = 255
Pwm1a = Analogwert
Loop

End


Funktioniert auch, allerdings bekomme ich die PWM nicht ganz aus (Also 
PWM ist immer etwas größer null) und auch die max. Geschw. wird nciht 
erreicht.
Kann mir vielleicht jemand helfen warum es nicht klappt?
Wieso muss der Analogwert durhc vier geteilt werden?


Gruss

Alex
#440212
Lesenswert?

Moin Alex oder Bernd :),

also ich mache die Config so:
Tccr2 = &B01110110 'Timer2 mit 61Hz PWM Frequenz beim Mega 8 !

Dann einfach ocr2 eine zahl von 0 - 255 geben und das PWM Signal
sieht entsprechend aus.
Die Variable ocr2 kannste auch direkt im Programm verwenden.
Am besten am Oszi das Signal anschauen.

Dein AD-Wandler macht 10bit (1024), der PWM aber nur 8-bit(256),
daher fängt er bei 256 wieder bei 0 an, weil überlauf wenn
Du DIM als Byte gewählt hast.

Sonst das Problem genauer beschreiben.

mfg
Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren