Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

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


RE: Zeitproblem

#26 von Karlsson , 10.02.2020 19:17

Aaah, das W war's.
Wäre ich nicht drauf gekommen*SCHÄM*

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#27 von BoomBoomMagic , 10.02.2020 19:21

wenn 's denn jetzt so läuft ? ;-)


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#28 von Karlsson , 10.02.2020 19:39

Äh, nöö, nix geht. 08M2 und 20M2 nicht.

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#29 von BoomBoomMagic , 10.02.2020 19:48

im Simulator läufts .....


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#30 von Karlsson , 10.02.2020 20:01

jo, ich weiß

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#31 von Naubaddi , 10.02.2020 23:56

Hi, es war nicht das W es war das exit do, aber egal.

Hier ist meine Version von einem Rundumlicht für einen 08M2, mit den Variablen an, aus, P_an und P_aus kann man das Verhalten verändern:

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
; picaxe08m2 ;	automatische Compilerauswahl für Mousepad
;
symbol LED_1 = B.0
symbol LED_2 = B.1
symbol LED_3 = B.2
symbol LED_4 = C.4
symbol an = w0 ; an-Zeit der LED im Zyklus
symbol aus = w1 ; aus-Zeit der LED im Zyklus
symbol P_an = b4 ; Pause bis zum nächsten an der LED
symbol P_LED = b5 ; Pause bis zur nächsten LED
symbol i = b6 ; eine Variable für for...
;
an = 100 ; an-Zeit in us beim Absenken der Helligbekeit der LED
aus = 100 ; aus-Zeit in us beim Absenken der Helligbekeit der LED
P_an = 4 ; Zeit bis zum nächsten Absenken der Helligkeit der LED
P_LED = 40 ; Zeit bis die nächste LED an der Reihe ist
;
do
;
high LED_2
for i = an to 0 step -10
high LED_1
pauseus i
low LED_1
pauseus aus
pause P_an
next i
pause P_LED
;
high LED_3
for i = an to 0 step -10
high LED_2
pauseus i
low LED_2
pauseus aus
pause P_an
next i
pause P_LED
;
high LED_4
for i = an to 0 step -10
high LED_3
pauseus i
low LED_3
pauseus aus
pause P_an
next i
pause P_LED
;
high LED_1
for i = an to 0 step -10
high LED_4
pauseus i
low LED_4
pauseus aus
pause P_an
next i
pause P_LED
;
loop
;
 



Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 11.02.2020 | Top

RE: Zeitproblem

#32 von BoomBoomMagic , 11.02.2020 00:36

gibts da auch ein Video zu ??
Sieht mir so ganz und garnicht ansatzweise nach einem PWM aus ...


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019

zuletzt bearbeitet 11.02.2020 | Top

RE: Zeitproblem

#33 von BoomBoomMagic , 11.02.2020 00:37

Dieses nervige High and Low anstatt simple 1 und 0 sagen zu können bei einer Picaxe ....
Wir wollten ja nicht die Bibel abschreiben , sondern ein kleines Rundumlicht zeigen , gelle

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 

dirsc=%00010111

symbol LED1=c.0
symbol LED2=c.1
symbol LED3=c.2
symbol LED4=c.4

symbol W=w1
symbol Zaehler=w2

do
'--------------------
Zaehler=1
high LED2
do

for W=0 to 400
if Zaehler=W then
high LED1
endif
next W
low LED1
Zaehler=Zaehler+4

if Zaehler>=400 then
exit
end if

loop

'----------------------
Zaehler=1
high LED3
do

for W=0 to 400
if Zaehler =W then
high LED2
end if
next W
low LED2

Zaehler=Zaehler+4
if Zaehler>=400 then
exit
end if

loop

'----------------------
Zaehler=1
high LED4
do

for W=0 to 400
if Zaehler =W then
high LED3
end if
next W
low LED3

Zaehler=Zaehler+4
if Zaehler>=400 then
exit
end if

loop

'----------------------
Zaehler=1
high LED1
do

for W=0 to 400
if Zaehler =W then
high LED4
end if
next W
low LED4

Zaehler=Zaehler+4
if Zaehler>=400 then
exit
end if

loop
'----------------------
loop
end
 
 


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#34 von Naubaddi , 11.02.2020 00:50

Ja, das mit high und low nervt mich mittlerweile auch seit ich den AVR kenne ;-).

Es ist meine Interpretation von pwm auf das Nötige reduziert , Dein Programm funktionirt nicht mit der PICAXE-Testplatine, schei... auf den blöden Simulator (ich habe keinen Simulator ). Ist wie im echten Leben, "nur Bares ist Wares!".

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Zeitproblem

#35 von BoomBoomMagic , 11.02.2020 01:02

Kann man sehen wie man möchte , manchmal ist der Simulator schon recht praktisch

Auf nötigste reduziert ?
Kann man so sagen , nur mit PWM hat das so garnichts am Hut.
Is nen bissel mit Schleife spielen , jo.

Es ist problemlos machbar bei einer 08M2 mit 4 unabhängigen,
bei der 14M2 mit 10 unabhängigen ,
und der 20M2 mit 15 unabhängigen
PWM 's zu arbeiten.

Aber das geht nicht , mit einer simplen FOR ... NEXT Schleife , dazu muß man erst einmal den Sinn verstehen


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#36 von BoomBoomMagic , 11.02.2020 01:56

Ich hab Deinen Code mal eben auf nem Atmel gemacht ,.... cooles Lauflicht , aber auch nicht mehr .
Mit PWM hat das aber ehrlich so überhaupt nix zu tun.




Aber warum wie immer dann so ein Roman dafür ??
Das geht auch mit 2-3 Sätzen ...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 30
$swstack = 30
$framesize = 30
 
Config Portb = Output
Config Portc = Output
Config Portd = Output
 
do
Portd.0=1:portc.5=0:waitms 150
Portb.0=1:portd.0=0:waitms 150
Portb.1=1:portb.0=0:waitms 150
Portc.5=1:portb.1=0:waitms 150
loop
 
 




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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#37 von Naubaddi , 11.02.2020 11:14

Morjen, das mein pwm funktioiert kann man sehen wenn man das Rundumlicht langsamer macht, was kann ich dafür wenn das Rundumlicht so schnell ist das es keinen Unterschied gibt zwischen pwm und dem natürlichen ausglimmen der LED? Darum die Einstellmöglichkeiten um das best mögliche Ergebnis zu erzielen.

Die Werte sind so gewählt das man gut sieht was passiert, einfach mal die Werte verstellen und sehen was passiert bzw. bis es einem gefällt.

So sieht mein pwm für einem AVR aus:

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
45
46
47
48
49
50
51
52
53
54
55
 
$regfile   = "m8def.dat"
$crystal = 8000000
$hwstack = 30
$swstack = 30
$framesize = 30

' &HFF, &HE1, &HD9, &HFF ' 1MHz
$PROG &HFF, &HE4, &HD9, &HFF ' 8MHz
 
config portb = output
config portc = output
config portd = output
 
LED_1 alias portb.0
LED_2 alias portd.0
LED_3 alias portc.5
LED_4 alias portb.1
 
dim an as word ' an-Zeit der LED im Zyklus
dim aus as word ' aus-Zeit der LED im Zyklus
dim Z_Spanne as word ' Zeitspanne für das Absenken der Helligbekeit
dim Z_ab as word ' Zeit bis zum nächsten Absenken der Helligkeit
dim Z_LED as word ' Zeit bis die nächste LED an der Reihe ist
 
Z_ab = 1
Z_LED = 11
Z_Spanne = 999
 
do
 
LED_2 = 1 : waitms Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
LED_1 = 1 : waitus an : LED_1 = 0 : waitus aus : waitms Z_ab
next an
 
LED_3 = 1 : waitms Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
LED_2 = 1 : waitus an : LED_2 = 0 : waitus aus : waitms Z_ab
next an
 
LED_4 = 1 : waitms Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
LED_3 = 1 : waitus an : LED_3 = 0 : waitus aus : waitms Z_ab
next an
 
LED_1 = 1 : waitms Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
LED_4 = 1 : waitus an : LED_4 = 0 : waitus aus : waitms Z_ab
next an
 
loop
 



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Zeitproblem

#38 von BoomBoomMagic , 11.02.2020 11:34

Ich sag mal so ....

es sieht sehr gut aus.
Als Rundumlicht auch ziemlich gut einsetzbar.

Nur, .... mit PWM wie gesagt hat das wenig zu tun , mehr so mit ausglimmen.

Ich glaub , viele Wissen wohl noch nicht wie so ein PWM überhaupt funktionuiert ?
Ne simple Schleife runter oder rauf laufen lassen , is noch kein PWM , lediglich .... nen Ausblenden.

Aber wie gesagt , hier fürn Rundumlicht reicht es alle mal


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#39 von Naubaddi , 11.02.2020 11:56

Es ist meine Interpretation für ein pwm, was pwm ist und wie es funktioniert weiß ich.

PWM:
* in einer Zeitspanne X gibt es eine Zeitspanne Y
* Beispiel: X = 500, Y = 200 ergibt eine Einzeit von 200 in der Gesamtzeit 500

also nix Weltbewegendes, ;-).

Du weißt das und ich weiß das, es hört sich alles nur so kompliziert an weil englische Kürzel, Beschreibungen..., und englisch ist nicht mein Ding.
Also glaube einfach mal Andere wissen auch einiges.

Egal, hier ist noch eine zusätzliche Hardware-Lösung für einen Schliereneffekt: Papier vor die LEDs:



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Zeitproblem

#40 von Naubaddi , 11.02.2020 12:31

Für einen 08M2 sieht es fast genauso aus wie für einen AVR, und es funktioniert auch wie beim AVR.

Einfach die Variablen Z_ab, Z_LED und Z_Spanne anpassen bis es einem gefällt:

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
 
; picaxe08m2 ;	automatische Compilerauswahl für gedit
 
symbol LED_1 = B.0
symbol LED_2 = B.1
symbol LED_3 = B.2
symbol LED_4 = C.4
 
symbol an = w1 ' an-Zeit der LED im Zyklus
symbol aus = w2 ' aus-Zeit der LED im Zyklus
symbol Z_Spanne = w3 ' Zeitspanne für das Absenken der Helligbekeit
symbol Z_ab = w4 ' Zeit bis zum nächsten Absenken der Helligkeit
symbol Z_LED = w5 ' Zeit bis die nächste LED an der Reihe ist
 
Z_ab = 1 ' schneller = 0
Z_LED = 2 ' schneller = 1
Z_Spanne = 333 ' schneller = 111
 
do
 
high LED_2 : pause Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
high LED_1 : pauseus an : low LED_1 : pauseus aus : pause Z_ab
next an
 
high LED_3 : pause Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
high LED_2 : pauseus an : low LED_2 : pauseus aus : pause Z_ab
next an
 
high LED_4 : pause Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
high LED_3 : pauseus an : low LED_3 : pauseus aus : pause Z_ab
next an
 
high LED_1 : pause Z_LED
for an = Z_Spanne to 0 step -10
aus = Z_Spanne - an
high LED_4 : pauseus an : low LED_4 : pauseus aus : pause Z_ab
next an
 
loop
 



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Zeitproblem

#41 von BoomBoomMagic , 11.02.2020 17:51

und weil es bei #33 schon lange geschrieben stand ,
wiederholen wir das nochmal bei #40
Jo , macht Sinn ....


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#42 von Karlsson , 11.02.2020 20:27

Mit dem Unterschied:
#40 läuft (bis auf die Pinbezeichnung), #33 nicht

Gruß Karlsson

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#43 von BoomBoomMagic , 11.02.2020 21:30

#40 is ja auch kein PWM looool


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#44 von Karlsson , 11.02.2020 22:50

Darum ging's mir nie

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#45 von Naubaddi , 12.02.2020 10:29

Morjen, jetzt verstehe ich was die for... Schleifen machen sollen, ein pwm von Hand ;-). Und ich dachte die LED sollte nach glimmen und so einen Schweif hinter sich herziehen .

Bemerkungen und Kurzgeschichten habe ich mal weggelassen ;-).

O.K. dann mal ein ganz einfaches kurzes pwm Programmm (bitte mit den Werten spielen bis es gefällt):

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
 
; picaxe08m2 ;	automatische Compilerauswahl für meine Skripte "1 kontrollieren" und "2 speichern"
 
dirsc=%00010111

symbol LED1 = c.0
symbol LED2 = c.1
symbol LED3 = c.2
symbol LED4 = c.4

symbol upm = w1
symbol an = w2
symbol aus = w3
symbol i = w4
an = 1
 
upm = 111 ' die Geschwindigkeit des Rundumlichts
aus = 888 ' die Helligkeit der vorigen LED größer = dunkler
 
do
 
high LED2
for i = 0 to upm
high LED1 : pauseus an : low LED1 : pauseus aus
next i
 
high LED3
for i = 0 to upm
high LED2 : pauseus an : low LED2 : pauseus aus
next i
 
high LED4
for i = 0 to upm
high LED3 : pauseus an : low LED3 : pauseus aus
next i
 
high LED1
for i = 0 to upm
high LED4 : pauseus an : low LED4 : pauseus aus
next i
 
loop
 
end
 



Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 12.02.2020 | Top

RE: Zeitproblem

#46 von BoomBoomMagic , 12.02.2020 12:30

unter Soft-PWM versteht man zwar ,
3 - 5 - 8 - 10 - 15 - 20 Stk unabhängige PWM Kanäle per Software .....
(da Hardwaremäßig meist nur 2-3 max zur Verfügung stehen )



wenn des auch noch nicht jeder so ganz verstanden hat , doch schon mal lustig das man e i n e n "PWM" halbwegs hinbekommen hat

Da ich die vergeblichen Versuche hier sehe , ist das Thema doch noch ein bissel zu schwer derzeit


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

 
BoomBoomMagic
Beiträge: 876
Registriert am: 24.01.2019


RE: Zeitproblem

#47 von Naubaddi , 12.02.2020 17:03

Zitat von BoomBoomMagic im Beitrag #46
...wenn des auch noch nicht jeder so ganz verstanden hat , doch schon mal lustig das man e i n e n "PWM" halbwegs hinbekommen hat

Da ich die vergeblichen Versuche hier sehe , ist das Thema doch noch ein bissel zu schwer derzeit...


Jetzt enttäuschst Du mich aber, pwm ist und bleibt pwm! Eine Zeit X in der 2 Zyklen sind, 1x ein und einmal aus, nicht mehr und nicht weniger! Bist Du sicher das Du weist was pwm ist?

Und hier eine Hardware Version von einem Rundumlicht:



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Zeitproblem

#48 von Naubaddi , 12.02.2020 17:23

Und hier ganz einfach erklärt:

pwm , x , y , z

* x ist der der pwm bekommt
* y ist die gesamte Zeitspanne
* z so lang ist Spannung in y

pwm c.2 , 10 , 3 bedeutet in 10 Zeiteinheiten gibt es 3 Zeiteinheiten die Spannung liefern und 7 Zeiteinheiten die keine Spannung liefern!

---> 1,2,3 <--- Spannung --> 4,5,6,7,8,9,10 <--- keine Spannung!

Ob Du nun 2 3 oder100 pwm per Software machst und x LEDs blinken lässt ändert das nix an pwm!

Wie war das noch mal mit dem Ars... in der Hose?

Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 12.02.2020 | Top

RE: Zeitproblem

#49 von Karlsson , 12.02.2020 21:49

Für Naubaddi:

Es gibt halt noch nicht viel zu sehen.



Soweit der Plan.

Mein "Testaufbau"



Nur ein Genie überblickt das Chaos :-)

Hier soll's irgendwann mal leuchten



Schaun wa mal....

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


RE: Zeitproblem

#50 von Karlsson , 15.02.2020 10:12

Ohne Nachleuchten.



Und mit Naubaddi's Programm


Ich finde, man sieht einen Unterschied.
Der "Umlauf" ist weicher.
Gefällt mir gut. Danke Naubaddi.

Gruß Karlsson

Karlsson  
Karlsson
Beiträge: 30
Registriert am: 13.10.2019


   

Motorgeräusch
Servo Signal auslesen

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