H-Brücke MC33926, GPIO, Python

  • Hallo zusammen,

    Versuche gerade mit dem Controller zwei Motore über den Raspberry zu steuern, was jedoch nicht klappt.
    Mir ist nicht klar, wie ich den MC33926 mit dem PI konnekten muß.

    Mit einem Controller L298N klappt es und der Python-Code sieht so aus.

    import RPi.GPIO as GPIO
    from time import sleep

    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)

    rr1 = 19
    rr2 = 26
    lr1 = 27
    lr2 = 17
    GPIO.setup(rr1,GPIO.OUT)
    GPIO.setup(rr2,GPIO.OUT)
    GPIO.setup(lr1,GPIO.OUT)
    GPIO.setup(lr2,GPIO.OUT)
    GPIO.setup(pwm,GPIO.OUT)

    p = GPIO.PWM(27, 50)
    p.start(0)

    #Ein Rad läuft mit voller Geschwindigkeit, das zweite wird kontinuierlich schneller bis 100% erreicht sind
    def spirale():
    print("Spiralfahrt")
    GPIO.output(rr1, True)
    for i in range(20,100):
    p.ChangeDutyCycle(i)
    sleep(0.6)
    print("Ende")

  • Ist ja schön, wenn Du Code postest, der funktioniert.
    Sinnvoll wäre allerdings
    1. der Code, der nicht tut, was er soll,
    2. ein Schaltbild, erstellt mit Fritzing (oder ähnlichem) Deiner Verdrahtung (nicht die aus einer Anleitung)
    3. evtl. Fehlermeldungen, Beschreibung des Fehlverhaltens, ...

    cu,
    -ds-

  • hier mal die Verdrahtung

    Der Code dazu:
    import RPi.GPIO as GPIO
    #import distance as abstand
    from time import sleep

    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)

    rr1 = 9
    rr2 = 10
    lr1 = 27
    lr2 = 17
    en = 22
    inv = 11

    GPIO.setup(rr1,GPIO.OUT)
    GPIO.setup(rr2,GPIO.OUT)
    GPIO.setup(lr1,GPIO.OUT)
    GPIO.setup(lr2,GPIO.OUT)
    GPIO.setup(en,GPIO.OUT)
    GPIO.setup(inv,GPIO.OUT)

    GPIO.output(en, True)
    GPIO.output(inv, False)

    p = GPIO.PWM(27, 50)
    p.start(0)

    def spirale():
    print("Spiralfahrt")
    GPIO.output(rr1, False)
    for i in range(20,100):
    p.ChangeDutyCycle(i)
    sleep(0.6)
    print("Ende")

    def vor():
    GPIO.output(rr1, True)
    GPIO.output(lr1, True)

    Es gibt keine Fehlermeldung und die Motoren drehen sich nicht.

  • Mit dieser Konfiguration plappt es nun.


    Wenn ich die Doku richtig verstanden habe, müßte man das PWM-Signal auch auf die N1 und N2 geben können um noch Verbindungen einzusparen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!