Zum Inhalt springen
Arduino Motor direkt

Motorsteuerung direkt per Arduino

    Simple Motorsteuerung

    Da das Arduino-Board nur sehr kleine Ströme pro DigitalOut zulässt, können so nur sehr kleine Motoren (z.B. Vibrationsmotoren aus Handys) gesteuert werden.

    Um größere Motoren zu steuern, gibt es eine Reihe von Optionen:

    Stepper-Motoren:

    DC-Motoren


    Weiter im Text: Das erste Beispiel zeigt den einfachsten Fall, wie ein Motor an das Arduino angeschlossen werden kann. Die Diode schützt das Arduino-Board vor Induktionsströmen. Der Motor kann sich nur in eine Richtung und mit einer Geschwindigkeit drehen. Zum Testen lässt sich der Blink-Code verwenden (Arduino>File>Examples>Digital>Blink).


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Im zweiten Beispiel ist der Motor an zwei Outputs angeschlossen. Damit lässt sich der Motor in beide Richtungen drehen. Die Geschwindigkeit lässt sich über die PWM-Kanäle regulieren. Bei dieser Schaltung sind vier Dioden nötig. In der Tabelle sind die möglichen Schaltzustände aufgeführt. LOW bedeutet GND, HIGH bedeutet 5V+.

    Digital 2Digital 3Motor
    LOWLOWStop
    LOWHIGHlinks
    HIGHLOWrechts
    HIGHHIGHStop
    LOWanalogWrite(Pin, 122);langsam links
    HIGHanalogWrite(Pin, 122);langsam rechts

    Der Code zum Testen sieht so aus:

    int motorPin1=2;
    int motorPin2=3; // PWM
    
    void setup(){
      pinMode(motorPin1,OUTPUT);
      pinMode(motorPin2,OUTPUT);
    }
    
    void motorStop(){
      digitalWrite(motorPin1,LOW);
      digitalWrite(motorPin2,LOW);
      delay(500);
    }
    
    void loop(){
      motorStop();                    // Motor Stop
    
      digitalWrite(motorPin1,HIGH);   // Motor Vor
      digitalWrite(motorPin2,LOW);
      delay(1000);
    
      motorStop();                    // Motor Stop
    
      digitalWrite(motorPin1,LOW);    // Motor Rueck
      digitalWrite(motorPin2,HIGH);
      delay(1000);
    
      motorStop();                    // Motor Stop
    
      digitalWrite(motorPin1, LOW);   // Motor langsam zu schnell
      for (int i=0; i<255; i++){
        analogWrite(motorPin2, i);
        delay(20);
      }
      motorStop();                    // Motor Stop
    }

    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    66 Gedanken zu „Motorsteuerung direkt per Arduino“

    1. Also was ich nicht ganz verstehe ist das 2. Schaltbild. Meiner Meinung nach sollte das einen Kurzschluss geben da ja die 5V doch direkt mit GND verbunden sind oder nicht? Wie kommt es dann, dass der Motor sich bewegt. So weit wie ich informiert bin sollte der Strom doch den Weg des kleinsten Widerstandes gehen und der wäre ja dann der direkte weg zum GND?!

    2. @RALF : Du schreibst:
      “Meiner Meinung nach soll man wenn man keine Ahnung hat einfach die Finger davon lassen. ”
      Das gilt auch für das Kopieren von Sourcecode. Wer noch nicht mal einfache Syntaxfehler beheben kann verdient halt nun mal keine Eins…

    3. Meiner Meinung nach soll man wenn man keine Ahnung hat einfach die Finger davon lassen. ich sitze hier in der Schule und will die Kacke hier kopieren damit ich eine °°°°°°°°°°°°° Eins bekomm.
      ALSO KOPIERE ICH DES HIER UND WAS WIRD ANGEZEIGT? EINE FEHLERMELDUNG!!! Anscheinend wird ein IT nicht erklärt.
      UND SOWAS DANN INS NETZ STELLEN? MANN WAS SOLL DAS?

    4. Hallo,
      natürlich kann man mit einem Arduino auch Waschmaschinenmotoren o.ä. steuern. Im einfachsten Fall durch ein Relais (Frage mal Tante Google nach “arduino relais kaufen”). Das “stufenlose” Regeln von großen Wechselstrommotoren ist ein Thema für Experten. Dem Laien rate ich dringend davon ab, irgendwelche wilden Schaltungen mit 220V zusammenzubasteln. Da können sonst auch mal schnell die 220V am Arduino anliegen. Netzspannung kann tödlich sein!

      Grüße
      Thomas

    5. Hi, gibt es per Arduino gar keine Möglichkeit, einen größeren Motor, z.B. Einer Waschmaschine, anzusteuern? Eventuell durch Anbauteile? Sorry, bin ein Elektronik-Nobody…

      Gruß

      Sirius

    6. Natürlich ist das möglich einen Schrittmotor so anzusteuern, dass er 1 Umdrehung/min macht: Wenn der Motor 200 Schritte/U macht, dann muss man ihn alle 5ms einen Schritt machen lassen. Dafür ist er ein Schrittmotor.

    7. Natürlich ist das möglich einen Schrittmotor so anzusteuern, dass er 1 U/min macht: Wenn der Motor 200 Schritte/U macht, dann muss man ihn alle 5ms einen Schritt machen lassen. Dafür ist er ein Schrittmotor.

    8. Hallo
      Gibt es eine Möglichkeit mit Aduino einen Schrittmotor so an zu steuern, dass er nur 1 U/min macht.

    9. Ist selbstverständlich möglich. Einfach mit dem Aruino über einen Widerstand (300 Ohm oder mehr) ans Gate eines n-channel Mosfet gehen. Den Mosfet dann mit Source gegen Masse und an Drain den einen Pol vom Motor anschließen. Der andere Pol vom Motor kommt an die Motorbetriebsspannung (funktioniert aber so nur bei Gleichstrommotoren). Wichtig: Die Freilaufdiode parallel zum Motor nicht vergessen. Die Geschwindigkeitsregelung macht man dann per PWM mit dem anologWrite Befehl. Da die PWM-Freq. bei den Arudinos aber glaub ich nur um die 900 Hz hat, kann man das unter Umständen als Piepsen wahrnehmen. Wenn das stört, muss man von der Arduinosoftware weg und Atmelstudio nutzen.

    10. Hi,

      Interessanter Vortrag.
      Ich bin in dem Thema noch recht neu und habe daher eine Frage. Ist es möglich auch große Motoren damit zu regeln?
      Sprich das man den ESC weg lässt und alles übers Arduino macht aber so das man noch feinfühlig regeln kann.

    11. Man braucht gar keine Widerstände, nur Dioden. Wenn man den Motor hochdrehen lässt und dann abschaltet, dann kann er als Generator einen Spannung in Gegenrichtung induzieren. Die würde dem Arduino nicht gut tun.

    12. Hallo Stefan,
      echt coole Seite hier!

      Die erste Schaltung hab ich verstanden, die ist ja auch recht simpel. Aber ich verstehe nicht warum die zweiten Schaltung zusätzlich an GND und 5V angeschlossen ist. Der Motor bezieht seinen Strom doch aus Pin2 und Pin3.

      Habe im Internet vergeblich nach einer Erkläung für so eine Schaltung geschucht.

      Danke im Voraus
      Auch über weiterführende Links oder Literatur freue ich mich.

    13. You are so cool! I do not suppose I’ve truly read through something
      like that before. So great to discover another person with a few
      original thoughts on this topic. Seriously.. thanks for starting this
      up. This website is something that’s needed on the internet, someone with
      a little originality!

    14. Hier ein Ausschnitt des Sketches. Evtl kann mir ja jemand anders helfen. Wäre sehr dankbar darüber.

      if (sensorWert > 550 )
      {
      digitalWrite(LEDOrange, HIGH);
      digitalWrite(6, LOW); //Relais, welches einen Verbraucher einschaltet
      digitalWrite(motorPin1,HIGH);
      digitalWrite(motorPin2,LOW); // Motor läuft und läuft und läuft….
      delay(1000);
      digitalWrite(5, LOW); // Relais daß den Strom zum Motor unterbricht !

      }
      else
      {
      digitalWrite(LEDOrange, LOW);
      digitalWrite(6, HIGH);
      digitalWrite(motorPin1,LOW); //
      digitalWrite(motorPin2,HIGH); // Hier schaltet er komischerweise nach 1 Sekunde rückwärtsfahren ab
      delay(1000);
      digitalWrite(5, HIGH);
      }
      }

      Warum nun schaltet er bei ” else ” ab und in der Hauptanweisung nicht??? Bin Anfänger noch was Arduino betrifft aber irgendwas muss da doch zu machen sein *gg*

      Gruß
      Andree

      1. Hallo Andree,

        also für so etwas ist delay() wirklich ungeeignet. Hierfür brauchst Du einen Timer und Du musst die Datenabfrage unabhängig von der Ausgabe gestalten.

        Setzt einfach Flags dafür:
        if (sensorwert>xyz) motorAn = true;
        else motorAn = false;

        (motorAn ist eine Variable vom Typ boolean)

        Und jetzt sieh Dir mal das Beispiel aus der Arduino-Software an: Datei > Beispiele > 02.Digital > BlinkWithoutDelay

        Wenn Du nicht weiter kommst, melde Dich wieder :-)

        Liebe Grüße

        Stefan”

    15. Hallo Stefan, leider ich schon wieder. Folgendes Problem: Ich möchte 3 LDR auslesen und je nach Zustand noch anderes schalten. Also wenn LDR1 schaltet, soll eine LED angehen und ein Motor für eine Sekunde vor laufen, dann Motor abschalten.Schaltet sich die LDR aus soll die LED ausgehen und der Motor 1 Sekunde rückwärts laufen und abschalten. Nun aber , da die LDR ja dynamisch schalten ( also Lichtabhängg ohne bestimmte Zeitvorgabe ) schaltet sich der Motor nun jede Sekunde ein und aus bis die LDR abschaltet. Delay nützt da nix zu ändern da die LDR´s evtl nach 10 Min abschalten oder aber erst nach 2 Stunden.Irgendwas ist da falsch denn ich bekomme den Motor einfach nicht zum stehen.

    16. Hallo Stefan,
      wieder einmal habe ich eine Frage.
      Ist es möglich den Motor nur für eine bestimmte Zeit vor oder zurück laufen zu lassen? Also: Motor vor ( zb. 30 sec. ) , Motor stop, Motor zurück ( zb 50 sec. ) , Motor stop und dann wieder Motor vor ( 90 sec ). Ich arbeite an einem Projekt bei dem ich bestimmte Winkel ansteuern muss. Allerdings hängen Gewichte daran und die Masse der Gewichte hindern einen Servo den Winkel zu halten so daß er ständig versucht seine Position neu zu suchen. Nun möchte ich das mit einem Getriebmotor über eine Zeitspanne an/aus versuchen.

      Vielen Dank im voraus
      Andree

    17. Hallo ThorsHammer,

      das ist natürlich schwer zu sagen. Kannst Du mir ein Foto von Deiner Schaltung schicken und den Code, dann guck ich mal rüber.

      Liebe Grüße

      Stefan”

    18. Hallo,
      Ich habe das 2. Schaltbild (2 Drehrichtungen) an mein Board und Arduino angeschlossen und das Beispielprogramm verwendet, mein Arduino ist nur über USB angeschlossen.Leider passiert bei mir rein gar nichts. Weder dreht sich der Motor in die eine, noch in die Andere Richtung.

      Was könnte das Problem sein?

      Mfg

    19. Sporting activity, Tour, Roadster, Enduro or Urban Mobility – discover the
      existing BMW motorbike versions and join the Community. As BMW wants to develop enjoyment for its 2014 X5,
      the current-generation model remains to stand out on the display room flooring.

    20. I do not even know how I ended up here, but I thought this post was great.
      I don’t know who you are but certainly you’re going to a famous blogger if you are not already ;) Cheers!

    21. Oh my goodness! Incredible article dude! Thanks,
      However I am going through problems with your RSS.
      I don’t know the reason why I am unable to subscribe to it.
      Is there anybody getting similar RSS problems? Anybody who
      knows the answer can you kindly respond? Thanks!!

    22. @Olaf
      erlaube mir bitte ein paar Erläuterungen:
      Du hast das Ziel des Arduino-Projektes wahrscheinlich nicht verstanden. Es geht hier um das Kennenlernen der Programmierung und das Verstehen eines Mikrokontrollers für “sinnvolle Anwendungen”. Also Erwerb von Grundlagenwissen. Wer das hat, ist auch in der Lage, Waschmaschinen- oder Kaffeautomatensteuerungen zu programmieren und aufzubauen. Es gibt im Netz genügend Beispiele und Beschreibungen dazu.
      Lerne erst einmal mit den “Diodenblinkereien” die Grundlagen bei niedriger Spannung ehe Du an Waschmaschinen mit 220 V herangehen willst.
      Beste Grüße
      Kalle

    23. Hey. Ich habe das erste Beispiel ausprobiert.

      Mich interessiert wie viel Strom der Arduino über die PWM bringt.

      Kann ich da auch 12V 0,4A Motor (aus einem Lüfter) ran bringen und er würde sich drehen?

      Oder probier ich das hier umsonst?

      Lg,

      Ben

    24. Hi,
      das Programm ist hammer, aber könntest du auch ein Programm mit 2 Motoren schreiben?? Habs erstmal selbst versucht, kam aber dann durcheinander und hab dann gar nichts verstanden…

      Wäre sehr dankebar

    25. Sehr cooles Tutorial, besonders die Bilder sind spitze für Anfänger wie mich!

      Aktuell fehlen mir leider noch zwei Dioden – und da wo ich bin gibt es kein Geschäft dafür. Aber sobald das vorhanden ist, werde ich auch den zweiten Teil ausprobieren.

      Freue mich auf weitere Anleitungen von euch.

    26. hi,

      ich hätte mal so kurz vor weihnachten ein paar fragen.
      1.Dioden mit welcher Sperrspannung sollte man hier benutze?
      2.Wenn ich zwei Motoren unterschiedlich also einen per knopfdruck und den anderen per Ultraschallsensor benutzen will, was sollte ich dann für eine Schaltung benutzen(vlt. mit genauen angaben zu den verwendeten teilen)
      3.Könnte mir jemand auch das Programm zu 2 nennen.

      ich danke vielmals im voraus. ein tolles weihnachtsgeschenk wären die 3 antworten :-)

    27. ich hab keine ahnung von elektronik, bin aber technisch durchaus nicht unbegabt. ( also pläne lesen aund nachbauen kann ich, nur fehlersuche ist nix für mich im elektronischen bereich) was ich hier ganz dringend vermisse sind “Echte” prktische anwendungen, sonst ist alles nur ein spielzeug!
      versucht doch mal was auf die beine zu stellen wie den ersatz für eine platine von einer Waschmaschine, kaffevollautomat,wäschetrockner oder einer geschirrspühmaschiene. da gehen nänlich zuerst die platinen kaputt die man dann nicht mehr nachkaufen kann.
      es wäre dann natürlich auch richtig klasse wenn man sein spezielles programm für die waschmaschine schreiben könnte. extra spühlgänge und extra langes waschen für schmutzigere wäsche als üblich.
      so sehr ich dem ganzen arduino projekt auch gegenüberstehe, etwas wirklich praktisches fehlt total und macht daher das ganze irgentwie sinnfrei. denn wer will denn nur ein paar bunte lichter flackern sehen und will dafür auch noch geld ausgeben? die von mir vorgeschlagen projekte hätten neben dem umweltschutzgedanken auch noch einen wirtschaftlichen aspekt wenn wir mal unsere 8 millionen menschen ansehen die von harz4 leben müssen, und die weiteren 12-20 millionen die im niedriglohnsektor arbeiten müssen.
      hier etwas zu tun wäre wohl eine gute tat schlechthin.

    28. Kann man für die Dioden auch LED’s nehmen? will das ganze gerade testen. Aber hab gerade keine Dioden im Haus.
      Alles in allem ein gutes Tut, hat mich weiter gebracht :-)

    29. Hallo,
      zu dem Problem mit der Diode.Ich glaub zum besseren Verständnis sollte man einfach nach “Freilauf Diode” googlen.Damit wird einiges klarere.
      @Stefan: Super Tutorial

    30. @Theo: Danke für die netten Worte. Und nun zur Antwort. Größere Motoren kannst du mit einer H-Brücke betreiben z.B. der L6205N. Sieh mal hier. Hier ist eine Anwendung mit einer etwas kleineren Brücke, macht aber das Prinzip klar: https://www.starthardware.org/2010/06/motorsteuerung-mit-einem-h-bridge-ic/

      Eine Alternative sind Fahrtenregler, wie sie im Modelbaubereich eingesetzt werden. Ich habe es noch nicht gemacht, glaube aber, du kannst sie wie einen Servo ansteuern: http://www.conrad.de/ce/de/FastSearch.html?search=fahrtenregler&insert=U1&hk=WW2&utm_source=epro&utm_medium=seosite&utm_campaign=link&WT.mc_id=epro

    31. Hallo Stefan. Erst einmal vielen Dank fuer deine super verstaendlichen tutorials. Habe hier vel gelernt. Jetzt habe ich aber mal ein Frage, undzwar, wie kann ich denn jetzt einen etwas groesseren Motor ( z.b: http://www.robotshop.com/solarbotics-regular-motor-2.html) betreiben? Ich wuerde ihn gerne in beide richtungen drehen lassen. Ist das viel komplizierter? hast du einen Tipp fuer mich? Beste Gruesse

    32. @Olli: Was meinst du mit PWM-Karte? Das Arduino kann nur 60mA pro Kanal schalten – das ist gerade bei Motoren sehr wenig. Sieh dir mal die folgenden Seiten an: Motorsteuerung mit Transistor oder H-Bridge sind besser geeignet.

    33. Moin
      Kann mir jemand beantworten, ob ich mit einer Arduino 3 dc Motoren ansteuern kann, die jeweils über eine eigene pwm karte(zu viel leistung) laufen?
      hab gelesen, dass arduino nur pwm outputs als AO nutzt?
      würde ja bedeuten, dass ich eine pwm karte mit einem pwm signal ansteuere.

    34. Ah ich glaube der Groschen ist gefallen.
      Man muss es wirklich einfach “über Potentiale” durchdenken.
      Nehmen wir an ich hab den Motor gerade abgestellt und in Folge der Induktion liegt jetzt an der gelben Leitung eine Positive Spannung/Ladung aus dem Motor an. Dann wäre die Diode mit der schwarzen Verbindung ja gesperrt und mit der roten durchlässig, “von dieser Seite betrachtet”. Mein Problem war jetzt das dem Ganzen wieder eine positive Ladung entgegensteht.
      Da aber die Spannungsspitze aus der Induktion viel höher ist als die Betriebsspannung habe ich ein “Gefälle”, welches sich über die Diode ausgleichen kann. Richtig?

    35. @Hefi: Genau. Solange du sagst, was der Motor machen soll, ist das alles kein Problem, aber wenn du den Motor abschaltest, ist der Strom, der im Motor induziert wird genau umgedreht. Da er aber ein anderes Potential hat, fließt der Strom durch die Dioden. Die Motorseite an Ausgang 2 ist also nach dem Abschalten negativ und ist über die Diode (dann Durchlassrichtung) mit dem GND verbunden. Gleiches nur umgekehrt gilt für die andere Seite.

      Hier ist ein ähnliches Prinzip als schematische Ansicht: http://www.electro-tech-online.com/electronic-projects/47-dc-motor-control-circuit.html

    36. Gut das ist mir klar, hätte mich vllt genauer ausdrücken müssen ^^
      Was ich meinte war:
      Wenn ich meinetwegen Augang 2 auf High schalte und 3 auf Low, fungiert dann 3 als GND? Weil über die GND Verbindung nach “rechts-oben” kann es ja nicht gehn (wegen der Sperrrichtung). Allerdings entzieht sich mir dann auch allgemein die Funktion der roten und schwarzen, respektive GND und 5V Leitung nach oben zu den Dioden. Es will mir nicht in den Sinn wofür diese Verbindungen gut sind. :/

    37. Äh … gern. Also alle Dioden sind in Sperrichtung geschalten für den Fall, dass der Motor läuft. Wird er abgeschalten fungiert er als »Generator« und schickt einen umgekehrten Strom. Der geht durch die Dioden und wandelt sich in Wärme um.

    38. Hi

      Echt geniale Seite erstmal.
      Allerdings muss ich mich TWAIN anschließen.
      Ich habe ein relativ gutes Grundverständnis von Elektronik, jedoch entzieht sich mir gerade das Verständnis für die 2te Schaltung.
      Die Dioden sind doch alle in Sperrrichtung eingebaut, wie kommt hier durch geschaltete PINs ein geschlossener Stromkreis zu GND zustande?

      Wäre echt super wenn du das mal etwas ausführlicher erläutern könntest. :)

    39. Noch mal zu den Induktionsspannungen durch Spulen:

      Fließt ein Strom durch eine Spule, wird ein Teil der Energie beim Aufbau des Magnetfeldes gespeichert.
      Wird nun die Verbindung zur Stromquelle getrennt, wird die Energie des Magnetfeldes wieder in Strom umgewandelt. Und da Energie = Strom mal Spannung mal Zeit (E= U*I*t) ist die Spannung vom Strom abhängig, der wiederum vom Widerstand abhängt. Ist beim abschalten des Stromes keine Last parallel zur Spule, kann die Spannung theoretisch unendlich groß werden. Durch den hohen Widerstand der I/Os vom Arduino würden Spannungen entstehen, die diesen zerstören können. Mit antiparalleler Diode wird die Spannung nie größer als ihre Durchbruchsspannung (meist 0,7V).
      Im übrigen nutzt man dieses Phänomen auch bei Leuchtstofflampen zur Zündung. Hier erzeugen Starter und Drossel zusammen Spannungen von einigen tausend Volt.

      Gruß,
      Lutz Kirschner

    40. Hi,
      ich verstehe die zweite Schaltung nicht ganz. Könntest du bitte beschreiben welchen Weg die Elektronen im Normalfall bzw im Induktions-Fall nehmen?
      Gruß TWAIN

    41. Hi zusammen
      ich hätte da noch eine frage zur einfachen steuerung.
      mir geht es um energiequelle. es funktioniert alles wunderbar. wenn ich auf extern umschalte, das netzteil mit dem adruino verbinde und laufen lass, schaltet der motor wie gewünscht nach 10 sec ein und wieder aus.das passt.
      wenn ich aber eine 9 V batterie an das adruino-board anstecke, ist ständig nach messung spannung drauf und er schaltet nicht nach 10 sec wieder aus.
      soll/kann ich die anschlüsse der batterie direkt an den adruino an GND und den 9V-Pin anstecken?
      woran könnte es noch liegen, dass es mit der batterie nicht funktioniert?
      danke im voraus für die hilfe.
      gruss Tom

    42. Hi Leute
      ich hätte eine Frage zur einfachen Variante der Motorsteuerung mit nur einer Diode.Hab alles so angeschlossen wie angegeben. bei mir läuft aber der Motor nicht.hab auch den Blink-Code verwendet.
      könnt ihr weiter helfen?
      wäre sehr dankbar dafür.
      gruss Tom

    43. Hi, ich wollte da auch noch kurz meinen Senf zu geben;

      also, Motoren und Relais, oder allgemein induktive Lasten (Spule = induktive Last) werden an elektronische Schalter immer mit einer “antiparallel” geschalteten Diode betrieben.

      Seiteninhaber Stefan hats schon eigentlich vollständig erklärt, warum man das macht, nämlich um die (u.U. hohe) Induktionsspannung im Moment des Abschaltens (auch die Puls-Pausen sind Abschaltmomente) von der Elektronik fern zu halten. Denn diese Spannung kann erheblich höher sein, als die Betriebsspannung. Zusätzlich ist sie “andersrum” gepolt. Das mag Elektronik verständlicherweise nicht (so gerne).

      Das ist übrigens das Funktionsprinzip von DC DC Wandlern die mit Induktivitäten (Spulen) arbeiten. Die Induktionsspannung kann problemlos 20 x so hoch sein, wie die Eingangsspannung.

      Beim Betrieb mit Motoren hat die Diode eine zusätzliche Funktion. Sie verhindert, dass das Magnetfeld im Motor zusammenbricht. Das hätte zur Folge, dass der Motor im getakteten Betrieb ganz erheblich weniger Leistung bringt. Praktisch ist das leicht überprüfbar, indem man einen getakteten Motor mal mit und mal ohne Diode betreibt. Mit Diode liefert er mehr Leistung.

      Grüße
      Jürgen

    44. Also was macht die diode attraktiv für die elektronen?
      > Das ist eine gute Frage.

      Attraktiv ist für Strom immer, dass er wenig behindert wird (also geringer Widerstand). Der Widerstand der Diode in der Durchlassrichtung ist sehr klein, der an den Arduino-Pins ist groß. So nimmt der Strom also die Abkürzung durch die Diode.

    45. oh, die leerzeichen wurden aus meinem kommentar oben zwischen den | | entfent…

      —-MOTOR-—
      | xxxxxx |
      | xxxxxx |
      –- DIODE-–
      | xxxxxx |
      | xxxxxx |
      – xxxxxx +

    46. hi stefan,
      danke für die schnelle antwort! ja so ähnlich hab ich es mir auch gedacht. man kann sich das schaltbild oben ja auch ungefähr so vorstellen, oder?

      —MOTOR—
      | |
      | |
      — DIODE —
      | |
      | |
      – +

      ich frage mich wie die diode schützen kann =)
      sie bildet mit den kabeln zu + und – jeweils sowas wie eine t-kreuzung, die elektronen müssten ja also garnicht “abbiegen” und durch die diode sondern könnten trotzdem zum board durchkommen.
      anscheinend aber ja nicht, nur warum? ;)
      also was macht die diode attraktiv für die elektronen?

      sorry für meine komische fragestellung, aber das lässt sich so blöd beschreiben…

      grüße & danke,
      stefan

    47. Hallo Stefan,

      da helfe ich doch gern. Du hast den Ablauf des eingeschaltenen Motors sehr gut beschrieben. Und nun weiter:

      Schaltet man den Motor ab, drehen sich die inneren Spulen (Elektromagnete) weiter in den außen liegenden Dauermagneten. Es findet also auf Grund des Nachdrehens eine weitere Änderung der Magnetfelder über den Spulen statt.

      Dabei wird in den Spulen ein Strom induziert (erzeugt). Dieser Strom ist genau umgekehrt gerichtet, wie der, der den Motor zum drehen brachte. Für den induzierten Strom ist die Diode also in Durchlassrichtung integriert, sodass er in der Diode in Wärme umgewandelt wird. Ohne die Diode könnte dieser induzierte Strom das Arduino schädigen (zu große Ströme können die Eingänge des ICs überlasten).

      Das ist die Theorie – in der Praxis habe ich es noch nicht gesehen, dass ein direkt angeschlossener kleiner Motor ohne Diode etwas zerstört hätte, aber sicher ist sicher.

      Ich hoffe, das beantwortet die Frage erstmal. Wenn nicht, schreib ruhig noch mal!

      Liebe Grüße

      Stefan*

    48. hi,
      erstmal danke für die guten infos hier =)
      haben mir sehr geholfen!

      habe eine frage zur simplen motorsteuerung, also die mit dem blink sketch gefahren werden kann.

      was genau macht die diode? sie schützt, das hast du ja geschrieben, aber wie genau?

      elektronenmäßig betrachtet läuft der normalfall ja so ab (glaube ich):

      – elektronen fließen von GND zum motor
      – motor bewegt sich
      – elektronen fließen weiter zum +pol
      was wäre der fall bei dem die diode zum einsatz kommt und schützt? wenn der motor z.b. manuell andersrum gedreht wird? wie laufen da die elektronen und was machen sie kaputt? und wie hilft die diode =)

      kannst du das für blutige anfänger verständlich machen?
      wäre cool!!

      danke,
      stefan

    Die Kommentarfunktion ist deaktiviert.