Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

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


Soft-PWM

#1 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: 876
Registriert am: 24.01.2019


   

Die Qualität der heutigen Waren, ATtyni44 funktioniert nicht mit einem 4,8V AKKU!?
Der WS2803 und der Atmega8

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