Go Down

Topic: Zu wenig Motorleistung am Arduino (Read 2268 times) previous topic - next topic

HM

Hallo,
ich hab da mal ne Frage.
Ich bin neu auf dem Gebiet.
Ich habe zur Übung mal diese Schaltung nachgebaut.
http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads#toc5
Läuft! Hurra.
Aber: Wenn ich den Motor mit der Hand bremse stelle ich fest, dass der nur ca. die halbe Kraft oder weniger hat, als wenn ich den Motor direkt an die Stromquelle anschließe.
Woran liegt das? Kann das mir einer erklären.
Ich hab auch schon mal den Strom zum Motor gemessen (0,2A), der ist am Arduino genauso hoch wie direkt angeschlossen.
Der einzige Unterschied ist evtl. die Diode am Transistor. Die, die ich verwende scheint "stärker" zu sein, als in der Schaltung. Auf der Diode steht "S-05". Aber an der Diode kann es doch nicht liegen.

Danke im voraus

Helmut

Nachtwind

Den technischen Hintergrund kenne ich nicht bzw ist mir noch nicht ganz klar, aber das Problem ist, dass der Atmel nur eine 'geringe' Leistung hat, vom FTDI Chip ganz zu schweigen. Wenn du Motoren ansteuern willst solltest du nach moeglichkeit immer einen Treiber IC nutzen um ein wenig Leistung zu erhalten...

webmeister

Bei der Beispielschaltung wird ein PWM-Signal (analogwrite) ausgegeben, welches via Schalttransistor den Motor steuert. Je nach Potentiometerstellung (Eingangssignal) wird das Ausgangssignal verändert.
Was wirklich am Motor passiert, müsste mit einem Oszi überprüft werden.

Eine Strommessung bei einem PWM-Signal ergibt natürlich nur einen quasi Mittelwert.

Sind Motor und das Arduino-Board an der selben Stromversorgung angeschlossen?

Die Diode über den Transistor dient nur als Schutz und sollte keinen Einfluss haben.


LC_Data

Ich vermute auch wie Webmeister das Du wenn Du Dich an das Beispiel gehalten hast das Du den PWM-Anschluß bemühst.

Versuch zur Sicherheit doch erstmal einen Digital-Pin (das ist am einfachsten zu realisieren (Pin im Sketch umschreiben dann mit:

digitalWrite (Pinnummer, HIGH);
den Motor anzusteuern.. das sollte den Motor mit voller Kraft laufen lassen...

Bitte mal berichten...

LC_Data

HM

Erstmal zu den Aufbau:
Ich hab es genau so gemacht, wie im Beispiel, sogar Pin10 hab ich verwendet.
Wenn der Poti aber auf 0Ohm ist, sollte der Pin10 doch trotz PWM volle Leistung bringen, also pausenlos sozusagen.
Um das auszuschließen hab ich jetzt mal den digitalen Pin8 genommen. Ergebnis: kein Unterschied.
Wie in der Schaltung auch gezeichnet, und dass die Leistung nicht über das Board läuft, nehme ich die 9V direkt am Stromanschluß vom Board.
Ich habe dazu sowohl GND als auch die 9V direkt mit dem Netzteil, das auch das Board mit Strom versorgt verbunden.

Der Leistungsunterschied kann doch nur am Transistor liegen, oder?
Ich hab jetzt mal folgendes getestet: Ich hab die beiden Anschlüsse vom Netzteil, die auf das Steckboard gehen mal direkt an den Motor angeschlossen um nochmal die Kraft am Motor zu testen, wenn der direkt ans Netzteil geht.
Plötzlich haben TX und RX auf dem Board zu blinken begonnen. Es werden aber keine Daten übertragen.
Kann es sein, dass vom Motor hochfrequente Störungen auf das Board kommen und diese das ganze beeinflussen?

Helmut

HM

Oh man, vermutlich hab ich durch das basteln den AnalogIn0 geschrottet.
Ich habs nochmal mit den Originalsketch verglichen:
Ich verwende Pin10 (nicht Pin9) außerdem muss im Programm die const für die Variable potValue weg, die soll sich ja wegen dem Poti ändern......
Das mit den TX und RX war falsch, ich hatte zum Test wirklich ein Serial.print drin, das flackern war also berechtigt.
Bei der Vermutung mit der Störung bleib ich aber, der AnalogIn0 hat ja scheinbar was gespürt. Am AnalogIn1 hab ich aber das gleiche verhalten. Kann es durch den Motor eine Frequenz auf dem GND vom Board geben, so dass der AnalogIn-Wert "flackert"?

Helmut

bohne

#6
Oct 13, 2009, 03:46 pm Last Edit: Oct 13, 2009, 03:47 pm by bohne Reason: 1
Welche Werte hat denn das 9V Netzteil?
Im Schaltbild sehe ich, dass ein 12V Netzteil an dem "9V" Pin verwendet wird. Du solltest also prüfen, ob das Netzteil vielleicht einfach nur zu schwach ist. 1A bei 12V wäre ein guter Anfang für die Ausgangsleistung.

Hast Du den gleichen Transistor verwendet wie in dem Beispiel? Auch nicht die Pins vom Transistor verwechselt?

Die Diode ist eigentlich unkritisch, darf aber nicht vergessen werden. Und vor allem darf die Diode nicht falsch rum eingebaut sein! Prüf das nochmal...

Die AnalogIn Werte flackern immer. Wenn der Motor sich dreht sollten die Werte sogar ein bischen mehr flackern, das ist korrekt.

Welchen Motor verwendest Du?

http://www.dorkbot.de
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1236434254
http://www.luminet.cc

chavotronic

#7
Oct 16, 2009, 01:50 am Last Edit: Oct 16, 2009, 10:39 am by chavotronic Reason: 1
wähle den Vorwiderstand vom Transistor mal etwas kleiner. Hast du auch einen Darlington Transistor genommen?

HM

@bohne, ich verwende ein 12V Netzteil, stabilisiert, 1200mA, daran ist das Board und der Motor angeschlossen. Der Motor hat nominell 14,4V.
Der Transistor ist ein BD243C. Das ist alles schon richtig so wie im Beispiel angeschlossen.
Aber chavotronic hat recht.
@chavotronic, es lag wirklich am Widerstand, ich hab einen 150 Ohn rein, jetzt habe ich die erwartete Leistung.
Danke für den Tip.

Helmut

Go Up