Motor mit Transistor steuern

  • Hallo,
    ich möchte mit meinem Raspberry Pi 3 Modell B gerne mehrere 3.3V Motoren steuern.
    Dazu nutze ich Transistoren, die über die GPIO Pins des Pi's geschaltet werden.
    Allerdings stockt der Motor dabei, weil der Pi wohl kurz braucht um den GPIO Pin aus und wieder einzuschalten (alle 0.1 Sekunden).
    Gibt es dafür eine Lösung?


  • Hallo Snowball27,



    Gibt es dafür eine Lösung?


    eine externe Spannungsversorgung der Motoren, die durch die GPIO-gesteuerten Transistoren geschaltet werden


    Post bitte Deine Schaltuing - sonst weiß keiner, was Du wie verschaltet hast und was bei einem GPIO-Schaltvorgang eingeleitet wird.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Hallo Snowball27,



    Externe Spannungsversorgung habe ich. Habe eine Grafik der Schaltung jetzt eingefügt, danke für den Hinweis :)


    Mal von der Polung (Batterie-Plus direkt auf GND) abgesehen, vermisse ich eine Freilaufdiode (s. Abbildung).


    Ist Dein Transistor ein PNP oder ein NPN?


    Kannst Du irgendwas zum Motor verraten, das nicht der Geheimhaltung unterliegt?



    Beste Grüße


    Andreas
    [Blocked Image: https://images.duckduckgo.com/iu/?u=https%3A%2F%2Ftse2.mm.bing.net%2Fth%3Fid%3DOIP.yC9kwQjYIwbJ3iwM15z10QEsCv%26pid%3D15.1&f=1]

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Ist ein NPN Transistor. Tut mir leid, meine Grafik stimmt nicht (bin noch totaler Neuling :D), GND ist nach dem Minuspol des Motors angeschlossen.

  • Hallo Snowball23,


    dann installiere Dir mal Fritzing:

    Code
    sudo apt-get install fritzing


    und zeichne damit DEINE Schaltung.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo RTFM,



    Vorsicht, Deine Schaltung in #1 hat schwere Fehler.


    weiß ich - wir sind dabei, das zu klären. Jetzt liegen ja immerhin schon mal zwei ziemlich identische Schaltvorschläge vor.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Snowball


    Die Grundfunktion eines Transistors:


    NPN: Wenn Strom von Basis zum Emitter fliesst, wird Emitter zum Kollektor verbunden.
    PNP: Wenn Strom vom Emitter zur Basis fliesst, wird Emitter zum Kollektor verbunden.


    Strom "fliesst" immer vom höheren zum niedrigeren Potential, = technische Stromrichtung
    z.B. 3,3 V --> 0 V, 12 V --> 6 V usw


    Servus !

    RTFM = Read The Factory Manual, oder so

    Edited once, last by RTFM ().




  • Also, meinen Schaltkreis habe ich jetzt nach GNOM's Graph aufgebaut, aber der Motor ruckelt immer noch. Brauche ich die Widerstände (wie auf deiner Skizze oben)?
    Falls es etwas bringt, die Transistoren die ich benutze sind diese: https://www.amazon.de/Transistor-Npn-Multiuso-Spinotti-Pezzi/dp/B008IFYDZW/ref=sr_1_1?rps=1&ie=UTF8&qid=1495883857&sr=8-1&keywords=transistor (Affiliate-Link)

  • Was steht denn am Motor drauf ?
    3,3 V und wieviel mW oder mA ?


    Hast Du zum verbauten Transistor ein Datenblatt ?
    In dem Amazon Sortiment sind verschiedene Axx enthalten.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Taste dich mal schrittweise an den Fehler ran.


    Was macht der Motor, wenn du ihn einfach direkt an die Batterie klemmst? Funktioniert er dann?


    Wenn ja, teste, ob der Transistor tut, was er soll: Gib mal über einen 1K Vorwiderstand 3,3 V vom Pi (oder auch von der Batterie) auf die Basis des Transistors. Dann müsste der durchschalten und der Motor laufen.


    Wenn das geht, muss es an der Ansteuerung vom GPIO liegen. Vielleicht stimmt ja was mit deinem Programm nicht. Wie schaltest du den GPIO? Poste doch mal das Programm.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Brauche ich die Widerstände (wie auf deiner Skizze oben)?


    Ja, damit begrenzt du den Strom durch den Transistor (Zwischen GPIO und Transistor) (Schutz des Pi) und sorgst dafür, dass der Transistor immer einen definierten Pegel hat (Pulldown-Transistor zwischen GND und Transistor).


    PS: Reden wir hier eigentlich von einem Mosfet oder von einem Transistor?

    Edited once, last by ChrisvA ().


  • Was steht denn am Motor drauf ?
    3,3 V und wieviel mW oder mA ?


    Hast Du zum verbauten Transistor ein Datenblatt ?
    In dem Amazon Sortiment sind verschiedene Axx enthalten.


    Auf dem Motor steht nichts und ich konnte auch online keine genaueren Infos finden. Datenblatt habe ich auch keines :') PS: Ich habe mal genau nachgesehen, der Akku des Quadkopters, von dem die Motoren sind, hat 3.7 V nicht 3.3 V.
    Automatisch zusammengefügt:[hr]


    Der Motor läuft normal wenn ich ihn an die Batterie klemme. Das Python Skript:
    """


    import RPi.GPIO as gpio
    import time


    x = 16


    gpio.setmode(gpio.BOARD)
    gpio.setup(x, gpio.OUT)


    gpio.output(x, gpio.HIGH)
    time.sleep(0.1)
    gpio.output(x, gpio.LOW)


    gpio.cleanup()


    """
    Das Skript wird mehrmals hintereinander ausgeführt.
    Der Transistor funktioniert (wenn ich den Output länger laufen lasse, ruckelt der Motor nicht). Kann es vielleicht sein, dass die GPIO Pins zu "langsam" sind?
    Automatisch zusammengefügt:[hr]

    Ja, damit begrenzt du den Strom durch den Transistor (Zwischen GPIO und Transistor) (Schutz des Pi) und sorgst dafür, dass der Transistor immer einen definierten Pegel hat (Pulldown-Transistor zwischen GND und Transistor).


    PS: Reden wir hier eigentlich von einem Mosfet oder von einem Transistor?


    Von einem Transistor (siehe Amazonlink weiter oben). Okay dann baue ich die Widerstände ein, danke.

  • In deinem Programm steht, dass der Motor 0,1 Sekunden laufen soll und dann schaltest du ihn wieder ab und löscht die Programmierung der GPIOs.
    Er tut genau das, was du programmiert hast... Wenn du mal 0,1 auf 3,0 erhöhst, läuft dein Motor vermutlich 3 Sekunden...
    Das Skript wird mehrfach hintereinander ausgeführt? Von wem oder was? Rufst du es in einer Endlosschleife auf? Das leuchtet mir nicht ein.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Snowball !


    Dann steck den Motor nochmal direkt an die 3,3 V Quelle und ein Amperemeter dazwischen.


    Ein A47 Vergleichswert von http://www.weisd.com/store2/NTE287.pdf
    hat selbst bei 10 V nur ein hFE von 25-40
    V BE(sat) von 0,9 V (IC = 20mA, IB = 2mA)
    Continuous Collector Current, IC 500mA


    Im 3,3 V Bereich irgendwie nicht ganz "universal"
    Wird der Transistor in der Schaltung nicht heiß ?



    Servus !


    Edit: Wenns nur die Software ist, dann lass den NPN noch so, allenfalls V BE auf 0,9 Volt (statt 3,3 V) vermindern

    RTFM = Read The Factory Manual, oder so

    Edited once, last by RTFM ().