Go Down

Topic: 6 Servos und mehrere DC Motoren mit Arduino? (Read 4797 times) previous topic - next topic

TheGecko

Jul 23, 2010, 02:33 pm Last Edit: Jul 23, 2010, 02:34 pm by TheGecko Reason: 1
Hallo,
Ich wollte fragen, ob ein Arduino Duelmilanove (oder Mega) es schaffen könnte

- 6 Servos zu steuern (ich denke hierbei wird auch eine externe Stromversorgung nötig sein)

- 1 starken DC Motor (12 V, 6A. Ist ein Scheibenwischermtor. Arduino sollte den Motor sowohl starten/stoppen können als auch die Geschwindigkeit regulieren können. Welche H-Brücke ist da notwendig (die auch 6 A aushält?))

- 3 schwächere DC Motoren (0,9 A , 1,2 A und 2,8 A jeweils nur starten und stoppen. Reichen hier nur Relais oder habt ihr da noch andere Vorschläge?)

- sowie 2 Lichtschranken (siehe Foto). Funktioniert das mit den Spiegeln? so braucht man nur einen Photodiode.



Ich habe mir hier im Forum, sowie über Google so einiges durchgelesen (Bin aber immer noch Neuling auf den Gebiet der Mikrocontroller) aber im Wiki zu DC Motoren ist eine beispielsweise eine Schaltung, die falsch ist wo man vorher im Forum nachfragen sollte.




Deswegen hier nochmal meine Fragen zusammengefasst:

1) Kann ein Arduino das alles regeln und steuern? Er wird die gesamte Zeit mit dem PC verbunden sein (über USB) und muss die Daten nur weiterreichen.

2.) Was für eine H-Brücke würdet ihr bei dem starken Motor vorschlagen? Worauf sollte ich da besonders achten?

3.) Bei den kleinen Motoren, die nur an/aus gehen, reichen da Relais?

4.) Sollen die 6 Servos direkt über Arduino gesteuert werden oder braucht man dafür eine Servo-Steuer Karte von Polulu? (Oder kann man sich das Geld sparen?)

Achja, bräuchte ich dann eigentlich noch dieses Motorshield und wenn ja, kann ich denn dann auch noch die anderen Kontakte des Arduino benutzen oder werden die alle vom Motorshield benutzt?

Vielen Dank schon einmal im voraus etwas Licht ins dunkle zu bringen ;)

TheGecko :)

uwefed

#1
Jul 23, 2010, 04:57 pm Last Edit: Jul 23, 2010, 04:58 pm by uwefed Reason: 1
Hallo TheGecko

Die Motor und Servosteuerung ist machbar, auch wenn Du wahrscheinlich einen Erweiterungsbaustein braucht, weil der Arduino zuwenig Ausgänge hat.
1) ja
2) die H-brücke muß den Strom des Motors aushalten; sowas findest Du bei den einschlägigen Arduino-Händlern
3) reicht auch 1 MOSFET pro Motor, wenn Du die Drehrichtung nicht ändern willst; ansonsten auch hier eine H brücke pro Motor.
4) Der Arduino 2009 hat 6 PWM Ausgänge; Du brauchst aber 7 (6 Servos und 1 für Geschwindigkeitsregelung des Motors)
Der Arduino Mega (Seeduino Mega) hat mehr PWM Ausgänge.
Du kannst auch 1 Arduino 2009 und für die Servos einen Servocontroller nehmen. Hast dann aber das Problem, daß du 2 Serielle Schnittstellen brauchst ( eine für den PC und eine für den Servocontroller) darum mußt du die 2. über SW emulieren.
Das Motorsheet brauchst Du nicht, Du nimmst ja eine H-brücke und 3 Transistoren.
Grüße Uwe


TheGecko

Hallo Uwe,
Ersteinmal vielen Dank das du mir so schnell geantwortet hast :)

Die 6 PWM Ausgängen des Arduino Duelmilanove reichen offenbar nicht, deswegen bleibt, soweit ich das richtig verstanden habe, nur die Möglichkeiten:

1) Ich nehm den Arduino Mega, wo mir genüged PWM Ausgänge für mein Vorhaben zur Verfügung stehen

2) Ich nehm Duelmilanove und ein Polulu Servocontroller, welche
ich unabhängig voneinander mit dem PC Verbinde, sprich:
PC--USB-->Arduino
sowie
PC--USB--> Polulu Servocontroller

Da Polulu aber offensichtlich in Amerika sitzt und deswegen wahrscheinlich noch hohe Porto/Zoll/e.t.c. Kosten auf mich zukommen, würde ich mich lieber für einen Arduino Mega entscheiden der dann alles alleine steuern kann.

Und nochmal wegen der H-Brücke für den 6A Motor. Nachdem ersten umschauen von Motortreibern bei Sparkfun kostet die locker 30 ? und unter rn-wissen wird auf den Shop robotikhardware.de verwiesen, welcher zwar ebenfalls Motorsteuerung für locker 6A anbietet, aber für Preise um die 40 ?.

Gibt es denn vielleicht eine Möglichkeit, den Motor günstiger anzusteuern? Ich kenne mich in dem Elektrotechnischem nicht so gut aus, um mal eben eine eigene, passende H-Brücke zu gestalten, sodass ich für jede Hilfe dankbar bin ;)

Schöne Grüße,
TheGecko ;)



uwefed

Etwas Genauer:

PC--USB-->Arduino
PC--USB--> Polulu Servocontroller

oder
Arduino 2009 -> Serielle hardware Schnittstelle -> USB -> PC
Arduino 2009 -> serielle Softwareschnittstelle -> Polulu Servocontroller

oder
Arduino mega -> Serielle hardware Schnittstelle 1 -> USB -> PC
Arduino Mega -> Serielle hardware Schnittstelle 2 -> Polulu Servocontroller

Watterott.com hat den Polulu Servocontroller im Angebot: http://www.watterott.com/de/Pololu-Micro-Serial-Servo-Controller

H-Brücke : 9A
http://www.watterott.com/de/Motor-Steuerung-9A-VNH3SP30

Grüße Uwe







TheGecko

Hallo Uwe,
Verzeih mir wenn die Frage vielleicht überflüssig ist, aber braucht man für die Hardwareschnittstelle ein extra Bauteil?

Soweit ich herausgefunden hab, hat Arduino 2009 ja nur eine Hardwareschnittstelle, und die wird ja mithilfe von USB zur Verbindung des PCs genutzt.

Wie meinst du das denn Softwaremäßig das zu emulieren? Geschieht das auf der PC Ebene oder auf der Arduino Ebene? Ich kann mir darunter nicht wirklich etwas vorstellen, eine Verbindung zu emulieren die real gar nicht existiert.

Besitzt den der Arduino mega 2 Schnittstellen (der hat, soweit ich weiß, doch auch nur ein USB Anschluss?).

Und brauche ich den unbedingt dieses Polulu Board? Ansonsten könnte ich mir ja die 15 ? sparen.

Trotzdem schon einmal danke für den Link mit dem Motortreiber, dann kommt das schon mal mit auf die Einkaufsliste ;)

Schöne Grüße,
TheGecko

uwefed

#5
Jul 23, 2010, 11:16 pm Last Edit: Jul 23, 2010, 11:17 pm by uwefed Reason: 1
Hallo TheGecko
Der Microcontroller ATmega328 des Arduino 2009 hat 1 in Hardware implementierte serielle Schnittstelle (RS232 Komunikations-Protokoll aber nicht die richtigen Pegel) daran ist ein FT232 Baustein angeschlossen der die Serielle Schnittstelle in eine USB Schnittstelle umwandelt.
Es gibt eine Library die softwaremäßig eine 2. serielle Schnittstelle bereitstellt. http://arduino.cc/en/Reference/SoftwareSerial

Der Arduino Mega hat 4 in Hardware implementierte serielle Schnittstellen.
1 davon ist mit einem Ft232 verbunden und funktioniert als USB.
Die anderen 3 sind frei verwendbar.

Nein, das Pololu Servomodul brauchst Du nicht umbedingt.
Ich sehe aber die Kombination Arduino 2009 und Pololu Servercontroller oder Arduino Mega.
Ich weiß nicht was im Endeffekt mit allen sonstigen Bauteilen billiger kommt.

Grüße Uwe





TheGecko

#6
Jul 24, 2010, 12:25 am Last Edit: Jul 24, 2010, 02:21 am by TheGecko Reason: 1
Hallo Uwe,
Es wird wahrscheinlich das Arduino Mega, auch wenn es etwas teurer als das Arduino 2009 + ServoController ist, habe ich so noch ein paar Reserven. Ich habe außerdem von eventuellen Software Problemen bei der SoftwareSerial-Library gelesen.

Ich fasse zusammen:

Arduino Mega
VNH3SP30 9 A Motortreiber

Sowie Stromversorgung für Arduino, den großen Motor mit (12V/6A), die drei kleinen Motoren (Ebenfalls 12V/6A) und den 6 Servos (Ich denke mal da wird 6V/1A genügen...)

Ich habe mich auch gerade nach den entsprechenden Netzteilen umgeschaut, und günstig ist dort offensichtlich etwas anderes:

http://www.conrad.de/ce/de/product/512015/

Und das wäre ja nur das eine Netzteil für den großen Motor. Es wurde aber auch schon öfters gesagt, das Conrad unter den Elektronikhändlern eine Apotheke ist.
Wüsstest du dort eine günstigere Lösung? Und sollte ich lieber die 4 Motoren an ein Netzteil hängen, welches 12 A leistet? Und könnte ich auch ein PC Netzteil nehmen oder ist davon abzuraten?

Vielen Dank soweit,
TheGecko :)

Edit: Habe gerade das Netzteil bei Pollin gefunden http://www.pollin.de/shop/dt/MTYxOTQ2OTk-/Stromversorgung/Netzgeraete/Festspannungs_Netzgeraete/Schaltnetzteil_IVT_Slim_Line.html, könnte das auch taugen? Oder noch eine bessere Idee/Tipp?

Go Up