Hallo zusammen, ich habe da eine Frage bei der ihr mir hoffentlich helfen könnt. Ich habe mir ein Arduino Board Uno R3 bestellt und möchte damit 1-3 kleine Vibrationsmotoren betreiben. Meine Frage ist nun wie ich diese Anschließe. Die technischen Daten sind wie folgt: Arduino Board: Operating Voltage 5V DC Current per I/O Pin 40 mA Vibrationsmotor: Betriebsspannung 1...3 V Stromaufnahme max. 40 mA. Kann ich die 3 Motoren nun einfach in einen I/O stecken und dahinter einen Spannungsteiler machen, sodass nur max 3V an dem Motor ankommen? Aber würde ich dann durch den Widerstand nicht den Strom senken? Vielen dank schonmal im vorraus für eure Hilfe! Mergano
Stichwörter für dich sind: - Freilaufdiode - Was bedeutet "ABSOLUT MAXIMUM RATINGS" in einem Datenblatt? - belasteter Spannungsteiler - wie benutze ich einen Transistor Viel Erfolg :)
Ist es echt so schwer "Arduino 3v Vibrationsmotor" in Google einzutippen? http://arduino.cc/forum/index.php?topic=73398.0 Für DC Motoren gibt es auch ein passendes Shield. Abgesehen davon bist du im Forum auf arduino.cc besser aufgehoben.
Vielen dank für die vielen Tipps und links. Ich habe sehr viel gegoogelt, aber den Link zu dem Forum nicht gefunden. Ich habe dementsprechend mal ein Schaltbild gemalt, meint ihr das funktioniert so? Und wenn ja, ist es egal welchen Transistor man da da nimmt, hauptsache er ist ein NPN?
Mergano schrieb: > meint ihr das funktioniert > so? Nein. > > Und wenn ja, ist es egal welchen Transistor man da da nimmt, Nein. Sowas gehört zum Grundwissen, wer das nicht kann, sollte die Pfoten von höherer Elektronik lassen. Das hast Du sicherlich in Physik in der Schule mal (widerwillig) gelernt (und sicher schnellstens wieder vergessen). Versuchst mal mit dem Suchbegriff Emitterschaltung. Oder arbeite mal das ElKo durch. Den Sinn einer Freilaufdiode solltest Du auch verstanden haben, ehe Du Motortreiber baust. ...
Oder nimm einfach einen L293D. Da sind sogar die Dioden schon drin, und du musst dir keine Gedanken um Transistoren und Vorwiderstände machen. Arduino-Gerecht sozusagen ;-) Naja ok nicht gerade ein Shield, aber die gibts ja auch noch. gruß cyblord
cyblord ---- schrieb: > Oder nimm einfach einen... Das ist natürlich allemale besser, als mal die Transistorgrundschaltungen zu lernen und zu verstehen, da gebe ich Dir unbestritten recht. ...
Mergano schrieb: > Und wenn ja, ist es egal welchen Transistor man da da nimmt, hauptsache > er ist ein NPN? Du hast anscheinend noch nicht verstanden, worum es überhaupt geht. Du kannst nicht den Motor an einen Arduino-Ausgangspin anschliessen. Da kommt schlicht und ergreifend nicht genug Strom raus. Das kann der Pin nicht leisten. Daher muss der MOtor seperat von +5V aus versorgt werden. Der Transistor ist der 'Schalter', der dann die Stromversorgung des MOtors (auf der Masse-Seite des Motors) schaltet. Und der, der Transistor, der braucht so wenig Strom zum Schalten, so dass ihn ein Ausgangspin vom Arduino treiben kann. Prinzip o +5V | Motor | |/ o----- R ---------| |\ | o-------------------+------ GND
Hannes Lux schrieb: > cyblord ---- schrieb: >> Oder nimm einfach einen... > > Das ist natürlich allemale besser, als mal die > Transistorgrundschaltungen zu lernen und zu verstehen, da gebe ich Dir > unbestritten recht. > > ... Wenn der TE was lernen wollen würde dann wäre er kein Arduino-Nutzer. Es ist auch vergebliche liebesmüh denen was beibringen zu wollen. Elektronikverständnis und Arduino-Nutzer Das geht einfach nicht zusammen. Ohne Shield + dafür geschrieben lib + Beispielcodes + zig Forum Posts + 15 usern die Hilfestellung bieten, bringen die gar nichts zum laufen. Wenn man das erst mal akzeptiert hat, liest es sich im Forum gleich viel entspannter. gruß cyblord
Hallo, schau mal hier: http://www.arduino-tutorial.de/2010/06/motorsteuerung-mit-einem-transistor/ Das sollte dir weiterhelfen... Den Regler kann man auch sparen und dir 5V vom Arduino Ausgang nehmen (max. Ausgangsstrom beachten!!). Einen Schalttransistor (oder ein Relais) braucht es aber auf jedenfall! Viel Spaß beim Basteln. BT
cyblord ---- schrieb: > Wenn der TE was lernen wollen würde dann wäre er kein Arduino-Nutzer. Gibt es eigentlich irgend einen Grund, warum du in jedem 2. Post indem das Wort "Arduino" vorkommt dermassen rumstänkerst? Ist dir langweilig oder bist du einfach nur aggressiv? cyblord ---- schrieb: > Wenn man das erst mal akzeptiert hat, liest es sich im Forum gleich viel >entspannter. Ja man sieht ja gleich wie entspannt du bist.
Herje, da habe ich ja voll auf einen Nerv getroffen mit meinen Fragen :-) Entschuldigt mein Halbwissen, ich habe einfach 0 praktische Erfahrung. Ich möchte niemandem auf die Füße treten. Also ich habe jetzt verstanden das ich den Motor nicht direkt aus dem Ausgang des Arduino betreiben kann, sondern mit ihm einen Transistor schalte, der wiederrum eine externe Spannungsquelle an/ab schaltet, die widerrum den Motor antreibt. Die Freilaufdiode ist dafür da, dass induktive Rückströme vom Motor mir meinen Controller nicht zerschießen? Zu den Antworten mit dem Shield: Klar kann ich mir alles dazukaufen, aber ich würde gerne etwas Praxis bekommen und auch verstehen was ich da zusammenbaue, einfach alles Kaufen und zusammenstecken ist nur der halbe Spaß. Zu dem Antworten über den Arduino: Ich habe mich für diesen Entschieden da ich später mit Daten "live" vom PC die Motoren steuern will und da schien mir das Board passend. Ist dem nicht so?
cyblord ---- schrieb: > Wenn der TE was lernen wollen würde dann wäre er kein Arduino-Nutzer. Es > ist auch vergebliche liebesmüh denen was beibringen zu wollen. > Elektronikverständnis und Arduino-Nutzer Das geht einfach nicht > zusammen. Es ist Unfair, nur weil ich mich für ein Arduinoboard entschieden habe mich so zu reduzieren. Ich bin durchaus lernfähig wenn man mir konstruktive Tipps gibt und mich nicht einfach nur beleidigt.
Mergano schrieb: > Zu dem Antworten über den Arduino: Ich habe mich für diesen Entschieden > da ich später mit Daten "live" vom PC die Motoren steuern will und da > schien mir das Board passend. Ist dem nicht so? Doch, ist es. Es gibt viele Vorurteile über Arduino Benutzer die sie auch teilweise mal bestätigen ;)
Mergano schrieb: > Also ich habe jetzt verstanden das ich den Motor nicht direkt aus dem > Ausgang des Arduino betreiben kann, sondern mit ihm einen Transistor > schalte, der wiederrum eine externe Spannungsquelle an/ab schaltet, die > widerrum den Motor antreibt. Du hast es erfasst. Ich würde allerdings eher zu einem MOSFET greifen, aber da kann jeder wie er will. Schau dir mal den BS170 an beispielsweise, der wäre bestimmt geeignet für deinen Motor. Solltest du in beide Richtungen fahren wollen (linkslauf/rechtslauf) empfehle ich dir allerdings eine Brückenschaltung, sowas kauft man in der Regel integriert also z.B. in einem L298 (Der NE555 unter den Motortreibern). Gruss
Karl Heinz Buchegger schrieb: > Du kannst nicht den Motor an einen Arduino-Ausgangspin anschliessen. Da > kommt schlicht und ergreifend nicht genug Strom raus. Das kann der Pin > nicht leisten. Mergano schrieb: > Vibrationsmotor: > Betriebsspannung 1...3 V > Stromaufnahme max. 40 mA. In diesem seltenen und speziellen Fall könnte das so eben klappen, wenn die Spannung angepasst wird und die Motorlast passt. Oliver
Oliver S. schrieb: > Karl Heinz Buchegger schrieb: >> Du kannst nicht den Motor an einen Arduino-Ausgangspin anschliessen. Da >> kommt schlicht und ergreifend nicht genug Strom raus. Das kann der Pin >> nicht leisten. > > > Mergano schrieb: >> Vibrationsmotor: >> Betriebsspannung 1...3 V >> Stromaufnahme max. 40 mA. > > In diesem seltenen und speziellen Fall könnte das so eben klappen, wenn > die Spannung angepasst wird und die Motorlast passt. Und der Anlaufstrom nicht wesentlich drüber liegt
Da der Motor beim Anlauf viel Strom braucht und beim Abschalten als Generator Spannung erzeugt, ist der direkte Anschluss an (Arduino-) Kontrollerpins gefährlich. Da gehört also auf jeden Fall ein Treibertransistor dazwischen. (Deine Schaltung geht schon in die Richtung). Schau dir aber die Schaltbilder von einigen shields oder anderen Fällen an, wo ein Motor an einen Kontroller angeschlossen wird. Da siehst Du schon, wie es gemacht wird und kriegst raus warum. Der da immer nötige Basiswiderstand schützt den Kontroller und im Fehlerfalle geht nur der Transistor kaputt und nicht der Kontroller.
Oliver S. schrieb: > Karl Heinz Buchegger schrieb: >> Du kannst nicht den Motor an einen Arduino-Ausgangspin anschliessen. Da >> kommt schlicht und ergreifend nicht genug Strom raus. Das kann der Pin >> nicht leisten. > > > Mergano schrieb: >> Vibrationsmotor: >> Betriebsspannung 1...3 V >> Stromaufnahme max. 40 mA. > > In diesem seltenen und speziellen Fall könnte das so eben klappen, wenn > die Spannung angepasst wird und die Motorlast passt. > > Oliver Ja, ich hatte mir etwas dabei gedacht als ich mir die Teile ausgesucht habe, aber ich baue lieber eine Transistor/Mosfet schaltung dazwischen, denn dabei lerne ich wie die genau funktionieren und ich bin auf der sicheren Seite :) Ich habe jetzt ein neues Schaltbild gebastelt, allerdings bin ich mir mit den Strömen unsicher. 2x 1,5V Batterien in Reihe ergeben ja meine 3V Spannungsquelle, aber wie ist das mit den Strömen? Sind die Batterien eine Konstantstromquelle? Ich kenne den Innenwiderstand des Motors ja auch nicht, wie stelle ich da sicher das genug/nicht zu viel Strom durch den Motor fließt? Und ist meine Schaltung so in Ordnung?
Mergano schrieb: > Ich habe jetzt ein neues Schaltbild gebastelt, allerdings bin ich mir > mit den Strömen unsicher. 2x 1,5V Batterien in Reihe ergeben ja meine 3V > Spannungsquelle Ich denke mal dein Motor wird auch mit den 5V zurecht kommen. Motoren sind da ja nicht besonders heikel und der Transistor knabbert ja auch was von der Spannung weg. > aber wie ist das mit den Strömen? Sind die Batterien > eine Konstantstromquelle? Ich kenne den Innenwiderstand des Motors ja > auch nicht, wie stelle ich da sicher das genug/nicht zu viel Strom durch > den Motor fließt? Das macht der Motor schon selber :-) Der Motor zieht soviel Strom wie er braucht. Und die Quelle muss liefern können.
Karl Heinz Buchegger schrieb: > Mergano schrieb: > >> Ich habe jetzt ein neues Schaltbild gebastelt, allerdings bin ich mir >> mit den Strömen unsicher. 2x 1,5V Batterien in Reihe ergeben ja meine 3V >> Spannungsquelle > > Ich denke mal dein Motor wird auch mit den 5V zurecht kommen. Motoren > sind da ja nicht besonders heikel und der Transistor knabbert ja auch > was von der Spannung weg. > Ooops. Du hast ja den Transistor gegen einen FET ausgetauscht! Dann knabbert der natürlich nicht soviel weg. ABer auch dann wird dein Motor kein großes Problem damit haben. Dreht er eben ein wenig schneller als sonst.
> Und ist meine Schaltung so in Ordnung?
Deine SChaltungen werden immer wirrer.
Ehe du den nächsten Versuch machst: Google mal danach, wie andere das
machen. Du bist ja nicht der erste, der einen Motor ein/aus schaltet.
UNd denk ein wenig darüber nach, welche Komponente was macht, warum sie
es macht und wozu sie gut ist. Das ist im Falle eines Motors (noch dazu
mit den Daten, 40mA) wirklich keine Raketentechnik.
Und tu dir selbst einen Gfallen. Das Rechteck 'Arduino' interessiert keinen. Du hast 3 Anschlüsse für deine Zusatzschaltung: +5V Den Signalausgang Masse die 3 zeichnest du als waagrechte Linien +5V ist immer die oberste Linie die mittlere ist der Signalausgang vom Arduino und die unterste ist Masse +5V ----------------------- vom µC Pin ----------------- GND ----------------------- Und da zeichnest du jetzt das rein, was du bauen willst. WEnn du Linien nach rechts verlängern musst, dann tu das. Aber deine "mal so - mal so" und "wenn geht noch gedreht" Zeichnungen, sind einfach nur furchtbar. Kein Wunder, dass man da den Überblick verliert und einen Stiefel zusammenmalt.
So, vielen Dank für den Tipp mit der Anordnung, jetzt ist es viel übersichtlicher! Ich habe mir das jetzt so gedacht. Wenn der Pin des Controllers auf High schaltet liegt eine Spannung zwischen Gate-Source an, die die Verbindung den Widerstand des Mosfets zwischen D-S auf 0 setzt und diese somit Verbindet, wodurch der Motor Strom bekommt. Wenn der Pin des Controllers auf Low schaltet liegt keine Spannung zwischen Gate-Soruce an, und der Widerstand zwischen D-S wird (im idealfall) unendlich und somit bekommt der Motor keinen Strom.
Ich bin gerade wider verwirrt. Der +3V ist der "Minus-Pol" meiner in Reihe gschalteten Batterien und GND der + Pol/GND des Controllers? Oder vertausche ich gerade technische und physikalische Stromrichtung?
Mergano schrieb: > Bild vergessen :-) Der "Schalteingang" eines MOSFET ist das Gate! Sorry. Aber das ist Müll was du da am laufenden Band produzierst.
Mergano schrieb: > Oder vertausche ich gerade technische und physikalische Stromrichtung? Die physikalische Stromrichtung interessiert uns nicht. Für uns rinnt der Strom immer von + zu -
Karl Heinz Buchegger schrieb: > Mergano schrieb: >> Bild vergessen > > :-) > > Der "Schalteingang" eines MOSFET ist das Gate! > > Sorry. Aber das ist Müll was du da am laufenden Band produzierst. Gib halt wenigsten EINMAL in Goggle "Motor MOSFET" ein und schau dir die Bilder an, wenn du schon keine Ahnung hast. Schaltungsdesign funktioniert nun mal nicht so, dass man alle Varianten der Anschlussbelegung durchprobiert und einem Forum nachfrägt, ob das so stimmt.
Ich habe mich immer hierran orientiert: http://www.sprut.de/electronic/switch/nkanal/nkanal.html Da steht nun: >Legt man am Gate aber eine Spannung an, die 10 Volt höher ist als die >Spannung am Source, dann leitet der Transistor, Drain und Source sind nun >verbunden. Das bedeutet das ich zwangsweise den Pin des Controllers mit Source verbinde und Gate mit Ground, oder liege ich da falsch? Und meine Last muss jetzt zwischen Drain und Source. Aber Source ist ja schon an dem Controllerpin (mit +5V). Wie schließe ich da jetzt die Last an?!
Karl Heinz Buchegger schrieb: > Gib halt wenigsten EINMAL in Goggle "Motor MOSFET" ein Wozu? - Er hat doch dieses Forum... ...
Mergano schrieb: > Ich habe mich immer hierran orientiert: > http://www.sprut.de/electronic/switch/nkanal/nkanal.html > > Da steht nun: >>Legt man am Gate aber eine Spannung an, die 10 Volt höher ist als die >>Spannung am Source, dann leitet der Transistor, Drain und Source sind nun >>verbunden. > > Das bedeutet das ich zwangsweise den Pin des Controllers mit Source > verbinde und Gate mit Ground, oder liege ich da falsch? Welchen Teil von "Legt man am Gate eine Spannung an ...." hast du nicht verstanden? Gate ist dein Steuereingang! Source ist die gemeinsame Masse aller Spannungen. http://www.google.at/imgres?hl=de&sa=X&tbo=d&biw=2060&bih=1018&tbm=isch&tbnid=4w-UeDU_os_hhM:&imgrefurl=http://www.picotech.com/applications/pwm_drivers/&docid=PfxVywD7JLVNeM&imgurl=http://www.picotech.com/applications/pwm_drivers/graphics/mosfet.gif&w=377&h=355&ei=CqS3UJuYDvCP4gTa4IGIDA&zoom=1&iact=hc&vpx=4&vpy=137&dur=35&hovh=217&hovw=231&tx=144&ty=83&sig=108495698619728242101&page=1&tbnh=134&tbnw=143&start=0&ndsp=60&ved=1t:429,r:0,s:0,i:84
An dieser Stelle will ich nur nochmal kurz auf meinen Beitrag weiter oben verweisen: Beitrag "Re: Anfänger Frage Arduino" Vielleicht erscheint der nun in einem anderen Licht.
cyblord ---- schrieb: > An dieser Stelle will ich nur nochmal kurz auf meinen Beitrag weiter > oben verweisen: Beitrag "Re: Anfänger Frage Arduino" > Vielleicht erscheint der nun in einem anderen Licht. Okay, du hast gewonnen, ich bin dumm und lernunfähig, danke für dein Kommentar! Um das rauszufinden bin ich in dieses Forum gekommen. Ich habe das G im Mosfet für "Ground" gehalten, aber das ist totaler Quatsch. Mit Source an GND macht das ganze auf einmal auch mächtig Sinn. Was ich mich nurnoch Frage ist die Freilaufdiode. In dem Link( http://www.mikrocontroller.net/attachment/114204/uC-MOSFET-Ansteuerung.GIF ) den klausr netterweise gepostet hat ist eine Diode zu dem Motor parallel geschaltet, aber sie müsste doch in reihe geschaltet sein um die Induktionsströme des Motors zu blockieren? Und wieso ist dort ein Widerstand zwischen Pin und Mosfetgate?
Mergano schrieb: > In dem Link( > http://www.mikrocontroller.net/attachment/114204/uC-MOSFET-Ansteuerung.GIF > ) den klausr netterweise gepostet hat ist eine Diode zu dem Motor > parallel geschaltet, aber sie müsste doch in reihe geschaltet sein um > die Induktionsströme des Motors zu blockieren? Weil die vom Motor erzeugten Induktionsströme genau verkehrt rum laufen. Also werden die dann von der Diode kurzgeschlossen. Du musst den aus der Physik bekannten Satz von der Erhaltung der Energie ernst nehmen! Wenn der Motor Energie erzeugt, dann muss die auch irgendwo hin. Einfach blockieren geht nicht, denn dadurch wird die Energie nicht vernichtet. Aber: man kann die Induktionsströme kurzschliessen. > Und wieso ist dort ein Widerstand zwischen Pin und Mosfetgate? Damit das Gate auch dann ein gesichtertes Potential (nämlich 0) hat, wenn niemand am Eingang pinwackelt (zb, weil der µc erst hochfährt). Ein Eingang an dem nichts angeschlossen ist, hat nicht notwendigerweise 0V. Gerade bei einem FET ist der Eingang so hochohmig, dass jedes dahergelaufene elektromagnetische Feld (bzw. die von ihm in den Kabeln induzierte Spannung) ausreicht um ihn aufzusteuern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.