Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück

AVR / Atmel

Soft-PWM

 von BoomBoomMagic , 28.01.2020 13:38

Da man meist nur 1 oder 2 PWM-Kanäle hat , zeige ich hier mal wie man mittels Soft-PWM quasi jeden Pin oder alle als PWM nutzen kann.

PWM - was heißt das eigentlich ?

PulsWeitenModulation

Das heiß , in einem festgelegtem Takt , definiert man also die Weite des Pulses wie lang etwas an ist.

Sagen wir mal , der Takt ist 255ms lang.
Dann wird also immer von 0-255 gezählt.
Wenn denn dann die 255 erreicht sind , schalte ich einen festgelegten Pin AUS !

Jetzt stell ich z.B. meinen Pulsweitenbeginn auf 200.
Das bedeutet , wenn der Takt beim Zählen die 200 erreicht hat , schalte ich einen festgelegten Pin an.
Dieser bleibt solange an , bis der Takt zuende gezählt hat, und dann schaltet er den festgelegten Pin wieder aus.

Von 200 bis 255 ist nicht sehr viel , also wird der festgelegte Pin , in diesem Fall eine LED , nur sehr kurz aufleuchten .
Stelle ich aber meinen Pulsweitenbeginn auf 10 , dann bleibt die LED natürlich länger an bis der Takt die 255 erreicht hat.

Dazu mal der Code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
 
config portc = output
 
dim Takt as byte
dim Puls_weiten_anfang as byte
dim Check as byte
 
Puls_weiten_anfang=255
 
do
 
for Takt = 0 to 255
 
if Takt=Puls_weiten_anfang then
portc=31
endif
 
waitus 10
next takt
portc=0
 
if Puls_weiten_anfang>1 and check=0 then
decr Puls_weiten_anfang
else
check=1
waitms 1
endif
 
if Puls_weiten_anfang>=1 and Puls_weiten_anfang<255 and check=1 then
incr Puls_weiten_anfang
else
check=0
waitms
endif
 
loop
end
 
 




***Lieber 2x mehr lesen , als 1x dumm fragen ***

BoomBoomMagic
Beiträge: 533
Registriert am: 24.01.2019

Themen Überblick

Betreff Absender Datum
Soft-PWM BoomBoomMagic 28.01.2020
 

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz