Forum: Mikrocontroller und Digitale Elektronik Anfänger Frage Arduino


von Mergano (Gast)


Lesenswert?

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

von Eumel (Gast)


Lesenswert?

Stichwörter für dich sind:
- Freilaufdiode
- Was bedeutet "ABSOLUT MAXIMUM RATINGS" in einem Datenblatt?
- belasteter Spannungsteiler
- wie benutze ich einen Transistor

Viel Erfolg :)

von Arduino (Gast)


Lesenswert?

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.

von Mergano (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Hannes L. (hannes)


Lesenswert?

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.

...

von Cyblord -. (cyblord)


Lesenswert?

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

von Hannes L. (hannes)


Lesenswert?

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.

...

von Karl H. (kbuchegg)


Lesenswert?

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

von Freeze (Gast)


Lesenswert?

Ich würde dir auch einen Shield empfehlen.
Gibts bestimmt.

von Cyblord -. (cyblord)


Lesenswert?

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

von BT (Gast)


Lesenswert?

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

von Electronics'nStuff (Gast)


Lesenswert?

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.

von Mergano (Gast)


Lesenswert?

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?

von Mergano (Gast)


Lesenswert?

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.

von Eumel (Gast)


Lesenswert?

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 ;)

von Electronics'nStuff (Gast)


Lesenswert?

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

von Oliver S. (oliverso)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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

von Peter R. (pnu)


Lesenswert?

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.

von Mergano (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

> 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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Mergano (Gast)


Lesenswert?

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.

von Mergano (Gast)


Angehängte Dateien:

Lesenswert?

Bild vergessen

von Mergano (Gast)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

Mergano schrieb:
> Bild vergessen

:-)

Der "Schalteingang" eines MOSFET ist das Gate!

Sorry. Aber das ist Müll was du da am laufenden Band produzierst.

von Karl H. (kbuchegg)


Lesenswert?

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 -

von Karl H. (kbuchegg)


Lesenswert?

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.

von Mergano (Gast)


Lesenswert?

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?!

von Hannes L. (hannes)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Gib halt wenigsten EINMAL in Goggle "Motor MOSFET" ein

Wozu? - Er hat doch dieses Forum...

...

von Karl H. (kbuchegg)


Lesenswert?

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

von klausr (Gast)


Lesenswert?


von Cyblord -. (cyblord)


Lesenswert?

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.

von Mergano (Gast)


Lesenswert?

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?

von Mergano (Gast)


Angehängte Dateien:

Lesenswert?

Neues Schaltbild, diesmal müsste es stimmen.

von Karl H. (kbuchegg)


Lesenswert?

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
Noch kein Account? Hier anmelden.