gogopi
Posts: 1
Joined: Tue Oct 24, 2017 3:46 pm

Motor auf volle Pulle - L298n - mit PWM ?

Wed Oct 25, 2017 6:12 pm

Hallo,

Ich hab mir folgenden Code zusammengebastelt.

Code: Select all

import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BOARD)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)

try:
    while True:

        def forward(x):
            GPIO.output(13, GPIO.HIGH)
            sleep(x)
            GPIO.output(13, GPIO.LOW)
        
        forward(0.37)
        sleep(0.8)
         
    # Pusteeinheit Anfang
        def forward2(x):
            GPIO.output(11, GPIO.HIGH)
            sleep(x)
            GPIO.output(11, GPIO.LOW)

        forward2(1.5)
    # Pusteeinheit Ende
    
        def reverse(x):
            GPIO.output(15, GPIO.HIGH)
            sleep(x)
            GPIO.output(15, GPIO.LOW)


        reverse(0.37)
        sleep(1.5)

    



except KeyboardInterrupt:
    
    GPIO.cleanup()


Funktioniert prima.
Nun möchte ich die, dass die #Pusteeinheit mit voller Leistung läuft.
Kann ich das mit wiringpi machen?
Kann mir jemand helfen?
Vll den Code hier posten?

LG
gogo

smartifahrer
Posts: 1038
Joined: Sat Feb 13, 2016 8:10 am

Re: Motor auf volle Pulle - L298n - mit PWM ?

Mon Oct 30, 2017 2:34 pm

Bei PWM ist das Zeitliche Verhältnis zwischen Ein und Aus ausschlaggebend. Du brauchst also eine zweite Zeit für Aus.
Wenn du bei einem Funktions-Parameter bleiben willst, würde ich filgendes machen:
1. Der Parameter darf Werte zwischen 0 und 1 haben. 0= Dauer Aus/keine Leistung 1= Dauer Ein/Volle Leistung. 0.5 Hale Leistung
2. Die beiden Werte für die Ein/Aus Zeit könntest du so berechnen: Ein = Wert des Parameter, Aus = 1-Wert des Parameter
3. Die Werte für Ein und Aus kannst du dann noch mit jeweils einen festen Wert multiplizieren so das du die Gesamtzeit Ein+Aus einstellen kannst.

Eine andere Möglichkeit ist die GPIO im PWM Mode zu betreiben. Der Raspi sieht PWM auf GPIO 18 (Pin 12, PWM0) und GPIO 13 (Pin 33, PWM1) vor. Siehe hier viewtopic.php?t=150254

Wiringpi ist nur eine Möglichkeit.

Return to “Deutsch”