Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

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

Foren Suche

  • Ein Laie und defekte Bauteile...Datum28.02.2020 19:36
    Foren-Beitrag von Naubaddi im Thema Ein Laie und defekte Bauteile...

    Nabend,

    Antwort BBM, sehr hilfreich. Ist es so schwer Tatsachen zu verstehen die nicht von Dir sind? Das Mit dem Display, Poti, Attiny... ist Dir als Profi nicht mal aufgefallen, da kommt ein Laie der Präzision erwartet und solche Fehler entdeckt.

    Zitat von elo im Beitrag #19
    ...Ich würde einfach mal den Tiny 85 direkt mit "reiner Gleichspannung" 4,5Volt (3 AA Zellen in Reihe) betreiben...


    Danke für Deine Hilfreiche Antwort!

    Mit 3x 1,5V Batterien, 3x 1,2V AKUs oder mit einem Netzteil was 4,5V liefert funktioniert es ohne Probleme, zu AKUs/Batterien wurde mir gesagt es wäre eine dumme Idee. Da mich das ewige laden der AKUS bzw. der Batterie-Verbrauch genervt hat wurde ein Netzteil mit 3,3V und 5V gekauft, hat auch alles gut funktioniert mit 3,3V. Dann kam der Moment etwas anderes auf die Mikrocontroller zu schreiben, Atmega8 O.K., PICAXE 08M2-14M2-20M2 O.K., Attiny44 und Attiny85 funktionieren nicht . Das die 2 schon mehrfach Probleme mit der Spannung hatten habe ich vergessen gehabt und nach Fehlern bei mir gesucht.

    Egal, jetzt funktioniert es mit meinen gebastelten Spannungsplatinchen die liefern 4,4V für die AVRs und 5V für Bauteile die sich an das Datenblatt halten, und eine Reihe mit 7,2V - 12V ist auch noch dabei. Damit sind meine Spannungen die ich benötige abgedeckt, alles ist gut so wie es ist.

    So sieht es jetzt aus und es funktioniert fehlerfrei;

    links meine Bauteile und rechts ein gekauftes:
    [[File:Spannung 01.jpg|none|fullsize]]

    links 4,4V aufgesteckt:
    [[File:Spannung 02.jpg|none|fullsize]]

    links 5V aufgesteckt:
    [[File:Spannung 03.jpg|none|fullsize]]

    und in Betrieb genommen:
    [[File:Spannung 04.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • Ein Laie und defekte Bauteile...Datum25.02.2020 22:21
    Foren-Beitrag von Naubaddi im Thema Ein Laie und defekte Bauteile...

    Nabend allerseits,

    so langsam nerven die Toleranzen der AVR Mikrocontroller, nicht der Atmega 8 der funktioniert wie er soll von 4,5V bis 5,5V ohne Probleme. Es sind der Attiny44 und der Attiny85 die ein merkwürdiges Verhalten bei der Spannung an den Tag legen .

    Damit auch alles seine Richtigkeit hat habe ich ein 5V Schaltnetzteil gekauft, Super jetzt kann nix mehr schief gehren . Falsch gedacht, die 2 oben genannten Kandidaten scheren sich einen Dreck um das was im Datenblatt steht!

    Beide funktionieren bis ca. 4,8V normal und verrichten ihren Dienst, ab ca. 4,9V geht nix mehr. Interessanter Weise lassen sie sich von ca. 4,6V bis ca. 5,5V programmieren, bei weniger geht es nicht.

    Diese Erkenntnis hat mich wieder ein paar Stunden gekostet, warum fällt es nur mir auf das da etwas nicht stimmt? Es sind ca. 20 von den Kandidaten die ich getestet habe und alle reagieren gleich .

    Potis die nicht funktionieren, Displays die nicht funktionieren, AVRs die nicht funktionieren..., was soll der Schei...

    Grüßle vom gefrusteten Naubaddi

  • MotorgeräuschDatum15.02.2020 15:46
    Foren-Beitrag von Naubaddi im Thema Motorgeräusch

    Morjen,
    das dachte ich mir schon das es Geschwindigkeitsabhängig sein soll das Motorgeräusch ;-), kommt drauf an wie gut Du im Umgang mit Audiodateien bist um genügend Motorgeräusche zu erstellen. Man kann ja ein wenig mogeln und es so machen das es sich recht gut anhört, die Motorgeräusche in dem Video sind hm bescheiden es soll nur zeigen was man machen kann.

    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
     
    ; picaxe08m2 ;	automatische Compilerauswahl für mein Skript
     
    Symbol TX = C.4 ' Ausgang, Befehl und Sollwert zum DFPlayer senden
    Symbol RX = C.2 ' Eingang, Daten vom DFPlayer empfangen
    Symbol BUSY_PIN = pinC.1 ' Eingang, ist der DFPlayer beschäftigt?
    Symbol Signal = pinC.3 ' Eingang, auf ein Signal warten
    Symbol BAUD_FREQ = M8 ' Frequenz setzen
    Symbol BAUD = T9600_8 ' Geschwindigkeit setzen
    Symbol cmd = b0 ' Befehl für den DFPlayer
    Symbol arg = w1 ' Sollwert für den DFPlayer
    Symbol arg.lb = b2 ' low Byte von arg
    Symbol arg.hb = b3 ' high Byte von arg
    symbol Nr = b4 ' die Nr. der Datei
    symbol Nr_alt = b5 ' die Nr. der aktuellen Datei merken
     
    Nr = 0 ' keine Datei, das Abspielen stoppen
    Nr_alt = Nr
     
    high TX ' den Ausgang TX auf high setzen für Leerlauf
    SetFreq BAUD_FREQ ' Frequenz einstellen
    pause 1000 ' eine Pause für die Initialisierung
     
    cmd = $09 : arg = $0002 : gosub senden ' mikroSD Karte auswählen
    pause 4000 ' eine Pause um den Inhalt der SD-Karte einzulesen
     
    cmd = $06 : arg = $0011 : gosub senden ' Lautstärke einstellen (0 - 1E)
    pause 1000 ' eine Pause um die Lautstärke einzustellen
     
    do
    if Signal = 1 then
    inc Nr : if Nr > 3 then : Nr = 0 : endif
    do : loop until Signal = 0
    endif
     
    if Nr <> Nr_alt then
    Nr_alt = Nr
    select case Nr
    case 0
    cmd = $16 : arg = $0000 : gosub senden ' Motor aus
    case 1
    cmd = $08 : arg = $0001 : gosub senden ' Motor starten
    pause 4000
    cmd = $08 : arg = $0002 : gosub senden ' und dann im Leerlauf
    case 2
    cmd = $08 : arg = $0003 : gosub senden ' Motor schneller
    case 3
    cmd = $08 : arg = $0004 : gosub senden ' Motor noch schneller
    endselect
    endif
    loop
     
    end
     
    senden:
    SerOut TX, BAUD, ( $7E , $FF , $06 , cmd , $00 , arg.hb , arg.lb , $EF )
    return
     





    Grüßle, Naubaddi

  • MotorgeräuschDatum12.02.2020 19:34
    Foren-Beitrag von Naubaddi im Thema Motorgeräusch

    Hi Karlsson, was ist aus dem Rundumlicht und dem Bremslicht geworden? Ein paar Bilder fänd ich ganz nett ;-).

    Für ein Modell wollte ich eine Waltons-Hupe und dachte die paar Töne sollten doch gehen, BBM hat mir dann erklärt das so etwas richtig viele Töne hat und die PICAXE nicht kann. Er hatte für mich eine recht einfache Lösung die da war: ein mp3-Modul mit der Hupe und gut ist.

    Grüßle, Naubaddi

  • ZeitproblemDatum12.02.2020 17:23
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum12.02.2020 17:03
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum12.02.2020 10:29
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum11.02.2020 12:31
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum11.02.2020 11:56
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum11.02.2020 11:14
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum11.02.2020 00:50
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • ZeitproblemDatum10.02.2020 23:56
    Foren-Beitrag von Naubaddi im Thema Zeitproblem

    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

  • PWM als Signal nutzenDatum10.02.2020 17:19
    Foren-Beitrag von Naubaddi im Thema PWM als Signal nutzen

    Das Projekt Bremslicht ist abgeschlossen, das Modul hat seinen Platz neben den anderen Testmodulen bekommen .

    Irgendwann kann man das mal gebrauchen.

    [[File:Module.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • So ein PICAXE kann schon was ;-)Datum10.02.2020 16:08
    Foren-Beitrag von Naubaddi im Thema So ein PICAXE kann schon was ;-)

    Hi BBM, da gibt es sogar 2 weil ich nicht wusste das es fertige Bausteine gibt , habe immer noch 2 von diesen L298N hier rumliegen für den Notfall .


    die Anschlüsse A6, A7 und A8 sind für das Licht den V8 Motor und den Kühlerventilator.

    Nr. 1:
    [[File:Kettenkessel Elektrik 1.jpg|none|fullsize]]

    Nr. 2:
    [[File:Kettenkessel Elektrik.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • PWM als Signal nutzenDatum10.02.2020 15:11
    Foren-Beitrag von Naubaddi im Thema PWM als Signal nutzen

    Hi Karlsson, die Widerstände zwischen Motor und Optokoppler bitte an Deine Spannung anpassen, habe einfach 2 1K genommen die hier rumlagen.

    Hm, dann braucht man ja keine PICAXE für das Bremslicht .

    *edit, oder nimm die LED raus und setze eine PICAXE ein die das Bremslicht schaltet ;-) .

    Und hier der Stromlaufplan mit invertieren, also Motor aus = Bremslicht an und Motor an = Bremslicht aus:
    [[File:Bremslicht.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • So ein PICAXE kann schon was ;-)Datum10.02.2020 12:12
    Foren-Beitrag von Naubaddi im Thema So ein PICAXE kann schon was ;-)

    Die vielen merkwürdigen Variablen sind für die Berechnungen wie lange läuft welche Kette in welche Richtung um den Ventilator ein/aus zu schalten oder wann geht die Motorattrappe an oder aus...

    Das Programm entschlackt:

    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
     
    ; picaxe14m2 ;	automatische Compilerauswahl für gedit
    ;
    symbol Licht = B.0 ; Ausgang für das Licht bzw. Blinklicht beim rückwärts Fahren
    symbol Kette_rechts_r = B.1 ; Ausgang für die Kette rechts rückwärts
    symbol Kette_rechts_v = B.2 ; Ausgang für die Kette rechts vorwärts
    symbol Kette_links_r = B.3 ; Ausgang für die Kette links rückwärts
    symbol Kette_links_v = B.4 ; Ausgang für die Kette links vorwärts
    symbol Kassettendeck = B.5 ; Ausgang für das Kassettendeck
    symbol V8_Motor = C.0 ; Ausgang für den V8 Motor
    symbol RC_rechts = C.1 ; Eingang RC-Signal Steuerhebel rechts rauf/runter
    symbol RC_links = C.2 ; Eingang RC-Signal Steuerhebel links rauf/runter
    symbol RC_Licht_Musik = C.3 ; Eingang RC-Signal Steuerhebel rechts rechts/links
    symbol Ventilator = C.4 ; Ausgang für den Ventilator
    symbol Laufzeit = w0 ; die Laufzeit der Motoren 0 - 65535 (Variable b0 und b1)
    symbol Standzeit = w1 ; Kettenkessel Standzeit 0 - 65535 (Variable b2 und b3)
    symbol Toleranz = b4 ; eine kleine Toleranz für die Mittelstellung rauf/runter (Leerlauf)
    symbol rechts_0 = b5 ; RC-Signal Steuerhebel rechts Mittelstellung für rauf/runter
    symbol links_0 = b6 ; RC-Signal Steuerhebel links Mittelstellung für rauf/runter
    symbol Toleranz_r = b7 ; rückwärts mit Toleranz
    symbol Toleranz_v = b8 ; vorwärts mit Toleranz
    symbol r_fahren_r = b9 ; rückwärts fahren rechts, 0 = nein, 1 = ja
    symbol r_fahren_l = b10 ; rückwärts fahren links, 0 = nein, 1 = ja
    symbol Licht_an = b11 ; Licht an, 0 = nein, 1 = ja
    symbol Licht_b = b12 ; Licht blinken, 0 = aus, 1 = an
    symbol Kassettendeck_an = b13 ; Kassettendeck, 0 = aus, 1 = an
    symbol V8_Motor_an = b14 ; V8 Motor, 0 = aus, 1 = an
    symbol dumm_r = b25 ; eine Variable für alles Mögliche
    symbol dumm_l = b26 ; eine Variable für alles Mögliche
    symbol dumm = b27 ; eine Variable für alles Mögliche, und auch die letzte Variable :-(
    ;
    pulsin RC_rechts, 1, rechts_0 ; die Mittelstellung vom rechten Steuerhebel für rauf/runter übernehmen
    pulsin RC_links, 1, links_0 ; die Mittelstellung vom linken Steuerhebel für rauf/runter übernehmen
    ;
    Kettenkessel_steuern:
    ;
    pulsin RC_Licht_Musik, 1, dumm ; --> Licht ein/aus <--
    If dumm > 175 then
    if Licht_an = 0 then
    high Licht
    Licht_an = 1
    else
    low Licht
    Licht_an = 0
    endif
    pause 200
    endif
    ;
    pulsin RC_Licht_Musik, 1, dumm ; --> Kassettendeck ein/aus <--
    If dumm < 125 then
    if Kassettendeck_an = 0 then
    high Kassettendeck
    Kassettendeck_an = 1
    else
    low Kassettendeck
    Kassettendeck_an = 0
    endif
    pause 200
    endif
    ;
    pulsin RC_rechts, 1, dumm_r : pulsin RC_links, 1, dumm_l ; --> V8 Motor einschalten <--
    if V8_Motor_an = 0 then
    if dumm_r > 175 or dumm_l > 175 then
    high V8_Motor
    V8_Motor_an = 1
    Standzeit = 0
    pause 1000 ; eine Pause damit der Kettenkessel nicht sofort losfährt
    endif
    ;
    else ; wenn der V8 Motor läuft kann man auch fahren ;-)
    ;
    pulsin RC_rechts, 1, dumm
    Toleranz_v = dumm + Toleranz
    Toleranz_r = dumm - Toleranz
    if Toleranz_r > rechts_0 then ; --> Kette rechts vorwärts <--
    high Kette_rechts_v
    low Kette_rechts_r
    r_fahren_r = 0
    Standzeit = 0
    if Laufzeit < 222 then
    Laufzeit = Laufzeit + 2
    endif
    endif
    if Toleranz_v > rechts_0 and Toleranz_r < rechts_0 then ; --> Kette rechts aus <--
    low Kette_rechts_v
    low Kette_rechts_r
    r_fahren_r = 0
    if Laufzeit > 0 then : dec Laufzeit : endif
    if Standzeit < 333 then : inc Standzeit : endif
    endif
    if Toleranz_v < rechts_0 then ; --> Kette rechts rückwärts <--
    high Kette_rechts_r
    low Kette_rechts_v
    r_fahren_r = 1
    Standzeit = 0
    if Laufzeit < 222 then
    Laufzeit = Laufzeit + 2
    endif
    endif
    ;
    pulsin RC_links, 1, dumm
    Toleranz_v = dumm + Toleranz
    Toleranz_r = dumm - Toleranz
    if Toleranz_r > links_0 then ; --> Kette links vorwärts <--
    high Kette_links_v
    low Kette_links_r
    r_fahren_l = 0
    Standzeit = 0
    if Laufzeit < 222 then
    Laufzeit = Laufzeit + 2
    endif
    endif
    if Toleranz_v > links_0 and Toleranz_r < links_0 then ; --> Kette links aus <--
    low Kette_links_v
    low Kette_links_r
    r_fahren_l = 0
    if Laufzeit > 0 then : dec Laufzeit : endif
    if Standzeit < 333 then : inc Standzeit : endif
    endif
    if Toleranz_v < links_0 then ; --> Kette links rückwärts <--
    high Kette_links_r
    low Kette_links_v
    r_fahren_l = 1
    Standzeit = 0
    if Laufzeit < 222 then
    Laufzeit = Laufzeit + 2
    endif
    endif
    ;
    endif
    ;
    if Laufzeit > 111 then ; --> Ventilator ein/aus <--
    high Ventilator
    else
    low Ventilator
    endif
    ;
    if Standzeit >= 333 then ; --> V8 Motor <-- ausschalten wenn die max Standzeit der Motoren überschritten wurde
    low V8_Motor
    V8_Motor_an = 0
    endif
    ;
    if r_fahren_r = 1 or r_fahren_l = 1 then ; --> blinken <-- wenn rückwärts gefahren wird
    pause 100
    if Licht_b = 0 then
    high Licht
    Licht_b = 1
    else
    low Licht
    Licht_b = 0
    endif
    else ; wenn nicht mehr rückwärts gefahren wird nicht mehr blinken
    Licht_b = 0
    if Licht_an = 1 then ; wenn das Licht an war
    high Licht
    else ; wenn das Licht aus war
    low Licht
    endif
    endif
    ;
    goto Kettenkessel_steuern
    ;
     



    Grüßle, Naubaddi

  • PWM als Signal nutzenDatum10.02.2020 12:02
    Foren-Beitrag von Naubaddi im Thema PWM als Signal nutzen

    Bei dem Beispiel oben ist z.B. so ein Optokoppler im Einsatz. Man sollte die Widerstände an die zu erwartenden Ströme anpassen ;-).

    Grüßle, Naubaddi

  • So ein PICAXE kann schon was ;-)Datum10.02.2020 11:06
    Foren-Beitrag von Naubaddi im Thema So ein PICAXE kann schon was ;-)

    Hi und Hallo, ich schau mal ob das Programm sich entschlacken lässt ;-).


    Habe doch glatt das Bild vergessen von der Elektrik:
    [[File:Kettenkessel.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • PWM als Signal nutzenDatum10.02.2020 10:58
    Foren-Beitrag von Naubaddi im Thema PWM als Signal nutzen

    Hi Karlsson,

    so würde z.B. meine Lösung aussehen, 2 Optokoppler 3 Widerstände eine LED und ein paar Kabel. Die Optokoppler reagieren bevor der Motor das Magnetfeld überwindet, ist doch nett wenn die Bremslichter aus sind bevor das Fahrzeug losfährt ;-).

    *edit, die LED geht so an wenn der Motor läuft, das müsste noch invertiert werden.

    Sieht noch etwas wild aus weil mal eben gebastelt:
    [[File:Optokoppler.jpg|none|fullsize]]

    Grüßle, Naubaddi

  • PWM als Signal nutzenDatum10.02.2020 09:29
    Foren-Beitrag von Naubaddi im Thema PWM als Signal nutzen

    Morjen, nicht pwm auswerten, wenn ein Motor sich dreht liegt auch eine Spannung an und es fliest ein Strom.
    Mit der Spannung dann über z.B. einen Optokoppler die LED ansteuern, wäre so meine Idee gewesen.

    Grüßle, Naubaddi

Inhalte des Mitglieds Naubaddi
Beiträge: 288
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