hab gestern meinen Milchaufschäumer zerlegt und noch einen Getriebemotor aus einem kleinen Ferngesteuerten Auto ausgebaut, und gleich versucht diesen an meinen Arduino Uno anzuschließen und via PWM zu steuern.
Um zu testen ob beide Motoren funktionieren, habe ich sie jeweils an 5V+ und an GND angeschlossen und beide haben sich gedreht. Anschließend hab ich den kleineren an pin 9 angeschlossen und an GND und via AnalogWrite() steuern können.
Der größere Motor aus dem Milchaufschäumer jedoch funktioniert nicht, wenn ich ihn genauso anschließe wie den kleinen, also pin 9 und GND. Ich habs mit analogWrite(255) probiert, aber auch mit digitalWrite(HIGH), funktioniert nicht.
Warum dreht sich der größere wenn ich an 5V+ und an GND anschließe, aber nicht wenn ich ihn an pin 9 und GND anschließe?
wenn du einen 13ct-transistor bereits als Hardware bezeichnest, nein.
Aber geeignete Transistoren finden sich in eigentlich allen elektronischen Geräten... einfach mal ein paar alte Netzteile, Soundkarten, Radios etc absuchen, evtl. die beschriftung im Internet chekcen und los gehts
romar:
Hab ich mir schon gedacht.... okay dass heißt ich brauch nen transistor? oder wie kann man dies regeln
Wenn Du einen Motor ohne Transistor und Schutzdiode einfach an einen Ausgang hängst reskierst Du den ATmega auf dem Arduino kaputzumachen.
Der Transistor muß den Strom des Motors aushalten ( den Anlaufstrom unter Last, nicht den Leerlauf- oder Nennstrom)
d.h. egal was für einen Motor ich steuern will, immer eine Schutzdiode parallel schalten und davor einen Transistor mit Vorwiderstand?
Immoment experimentiere ich mit einem kleineren Motor, welchen ich ohne Transistor oder Schutzdiode betreibe. Hätte ich damit meinen Arduino zerstören können und sollte ich lieber aufhören mit dem experiementieren und einen Transistor sowie eine Schutzdiode mit einbauen?
Wie Uwe bereits gesagt hat ist das gefährliche der Anlaufstrom des Motors - da geht ein vielfaches des Nennstroms durch. der Widerstand ist zum Schalten des Transistors, die Freilaufdiode schützt vor Überspannungen, die durch die Induktion des Motors beim Abschalten auftritt.
Ohne diesen Aufbau, kann es durchaus passieren, dass du dir ein paar Ein-/Ausgänge am Arduino schießt oder sogar den ganzen ATMega grillst.
romar:
Hallo uwe,
d.h. egal was für einen Motor ich steuern will, immer eine Schutzdiode parallel schalten und davor einen Transistor mit Vorwiderstand?
Wenn der Motor in jeder Situation nicht mehr als 40 mA Strom zieht und keine Komutations-Störungen verursacht dann braucht es keinen Treibertransistor aber die Schutzdiode schon.
romar:
Im moment experimentiere ich mit einem kleineren Motor, welchen ich ohne Transistor oder Schutzdiode betreibe. Hätte ich damit meinen Arduino zerstören können und sollte ich lieber aufhören mit dem experiementieren und einen Transistor sowie eine Schutzdiode mit einbauen?
Ja, den Arduino könntest Du dadurch zerstören. Hör auf zu experimentieren falls Du die Zerstörung des Arduinos nicht als einen der Parameter Deiner Experimente in Kauf nimmst.
Benutze Transistor und Diode.
Kommutations-Störungen bedeutet, das ein Elektromotor auch als Dynamo wirkt ( vereinfacht gesagt ), und damit Energie erzeugt.
Und diese Energie muss eben abgeleitet werden.
Dazu wirkt die Schutz-Diode eben als Energie-Ableiter gegen Plus.
Die meisten Bauteile ( wie der ATMega z.B. ) und auch diverse MOSFETS haben solche Schutz-Dioden bereits eingebaut.
Trotzdem baue ich solche Dioden immer noch selber in die Schaltung ein. Gewohnheit.
(sic)
Kommutations-Störungen bedeutet, das ein Elektromotor auch als Dynamo wirkt ( vereinfacht gesagt ), und damit Energie erzeugt.
Und diese Energie muss eben abgeleitet werden.
Dazu wirkt die Schutz-Diode eben als Energie-Ableiter gegen Plus.
Kommutierung heißt bei einem Gleichstrommotor mit Bürsten und Kollektor, daß mechanisch die Spulen im Rotor je nach Stellung des Rotors umgepolt werden. Dadurch wird der Strom Durch den Rotor ständig geschaltet und es entstehen Störungen in Form von kurzen Spannungsspitzen, die die Elektronik durcheinanderbringen können. Diese Störungen entschärft man mit kleinen Kondensatoren nahem am Motor bzw wenn Kondensatoren nicht mehr helfen, mit Induktivitäten in der Versorgung des Motors.
Das Andere ist daß der Motor als Generator funktioniert, wenn die Verrsorgungsspannung ausgeschaltet oder verkleinert wird, oder der Motor durch die angetriebene Last mechanisch angetrieben wird. Da stimmt das mit der Diode.
Bei einer PWM-Ansteuerung mit dem Arduino passiert das Ausschalten der Versorgungsspannung ca 490 mal die Sekunde.
Gurkengraeber:
Die meisten Bauteile ( wie der ATmega z.B. ) und auch diverse MOSFETS haben solche Schutz-Dioden bereits eingebaut.
Trotzdem baue ich solche Dioden immer noch selber in die Schaltung ein. Gewohnheit.
Diese Schutzdioden sind vorhanden aber meist nicht für solche Anwendungen bemessen. Die Schutzdioden sind dazu da, daß statisch Spannungen, die sich durch Reibung aufbauen, die CMOS-Schaltkreise nicht zerstören. Die induktiven Spannungen von Motoren oder Spulen übersteigen an Leistung oft das, was die internen Schutzdioden aushalten und deshalb müssen externe Dioden vorgesehen werden.
Kommutierung heißt bei einem Gleichstrommotor mit Bürsten und Kollektor, daß mechanisch die Spulen im Rotor je nach Stellung des Rotors umgepolt werden. Dadurch wird der Strom Durch den Rotor ständig geschaltet und es entstehen Störungen in Form von kurzen Spannungsspitzen, die die Elektronik durcheinanderbringen können. Diese Störungen entschärft man mit kleinen Kondensatoren nahem am Motor bzw wenn Kondensatoren nicht mehr helfen, mit Induktivitäten in der Versorgung des Motors.
Wir reden nicht von Kommutierung sondern von Kommutations-Störung - Und das, bedeutet das was ich geschrieben habe. ]
Entschuldige; ein Gleichstommotor macht aber Störungen die sich durch die Kommutierung ergeben. Daß sich andere Störungen auch Kommutations-Störung- nennen habe ich nicht bestritten.
Reden wir in dieser Diskussion nicht über das Betreiben eines Motors an Arduino?
Hallo, ich habe versucht, diesen Thread für mich zum lernen zu nutzen und das, was hier als Schaltplan von Uwe eingestellt wurde, nachzubauen, leider ohne Erfolg...
Bitte, könnte jemand auf mein Board schauen was ich falsch gemacht habe?
Ich habe es hier in groß hingelegt, damit es der geneigte Helfer besser anschauen kann:
In Ermangelung eine 500Ohm Resistors habe ich 4 mit 120 hintereinandergesteckt, das geht auch habe ich gemessen, da liegt also der Fehler nicht.
Mein Motor ist ein RS-540SH, als Stromversorgung habe ich ein Netzteil mit regelbarem Output.
Ansteuern wollte ich ihn mit dem LED-Beispiel, das sollte doch gehen, oder?
int ledPin = 9; // LED connected to digital pin 9
void setup() {
}
void loop() {
// fade in from min to max in increments of 5 points:
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}
Nein, ich habe doch extra das Bild hingelegt: Klick
Das sieht man, dass am Arduino nur ein Kabel eingesteckt ist, PIN 9... Auf dem Bild ist die Stromversorgung des Motors aber nicht angeschlossen, die soll auf dem Steckboard auf der beschrifteten Leiste liegen.