Hilfe mit Arduino + Schrittmotor = Kameradolly

Hallo Community,

bin ganz neu hier und mir wurde gesagt, hier könnte man mir weiterhelfen. Ich suche jemanden der mir ein kleines Programm für den Arduino Duemilanove schreiben könnte. Hab selbst mit Programmierung nichts am Hut. Würde natürlich auch was dafür zahlen oder als Gegenleistung was Fräsen. (Hab ne kleine CNC-Fräse in der Garage).

Nun zu meinem Projekt. Ich habe mir ein Kamera Dolly gebaut, den ich gerne mit einem kleinen Bi-Polar Schrittmotor bewegen möchte. Dazu habe ich mir den Arduino Duemilanove + EasyDriver v4 gekauft. Das ganze soll ganz einfach mit ein paar Taster und 2 Potentiometer über Kabel ferngesteuert werden. Habe auch einige Projekte hier entdeckt die bereits ähnliche Funktionen haben aber ich weiß nicht wie ich diese zusammenwürfeln soll.

Hier ist ein Überblick was die Fernsteuerung können sollte:

Und hier einige Bilder von meinem Kamera Dolly:



Falls mir jemand weiterhelfen kann meldet euch doch bitte.

Vielen Dank
Daniel

Ich habe mit dem Programmieren auch (noch) nicht allzuviel Erfahrung. Es gibt Leute die helfen dir da bestimmt bald weiter.

Aber eines möchte ich alsgleich anmerken: Hut ab ! Das sieht ja vielversprechend und professionell aus ! :slight_smile:

Vielen Dank Realizer. Wenn ich was mache dann versuch ich es gescheit zu machen. Der Body ist zwar nur ne Sperrholzplatte reicht für meine Zwecke aber vollkommen aus.

Hallo Daniel2010
Hab noch nicht verstanden, wo Du den Schrittmotor eingebaut hast und welchen Schrittmotor Du verwendest.
Wirkt der Schrittmotor direkt auf die Achse eines Rades oder über eine Übersetzung?
Wie versorgst Du die Elektronik mit Spannung?
Grüße Uwe

Hallo Uwe,

der Schrittmotor ist in den Bildern nicht eingezeichnet.
Es ist ein ganz normaler kleiner bi-polar Schrittmotor. So in etwa wie dieser hier:
http://www.reichelt.de/?ARTICLE=48553;LINKID=1024
Meiner ist etwas besser und hat aber 400 Schritte also 0,9°.

Ich werde eine Befestigung entwickeln indem der Schrittmotor über ein Gummirad eines der Inlineskaterräder von oben antreibt. Das hat sich bereits bei einem anderen System sehr bewährt. Wenn ich aber einen noch kleineren Schrittmotor finde, werde ich warscheinlich ein Zahnrad seitlich an eines der Rollen anbringen. Der Schrittmotor + EasyDriver v4 verbrauchen nicht sehr viel Strom und können deshalb direkt über den Arduino mit Strom versorgt werden.

Ich möchte das alles sehr kompakt und mobil halten. Deshalb kommt der Akku direkt mit in das Gehäuse der Fernsteuerung inkl. der Elektronik rein. Ich verlängere nur die Drähte zum Motor über ein 4 adriges Kabel bis zur Fernsteuerung.

Gruß
Daniel

Hallo Daniel.
Beim Schrittmotor fehlen mir Angaben wie Spannung und Widerstand.
Der Schrittmotor kann nicht über den Arduino betrieben werden; der bringt zuwenig Strom; auch würde ich den Motor mit 12V betreiben. (kleiner Blei-Akku von 1,2Ah).
Wie schnell soll sich der Dolly bewegen?
Dieser Motor ist mir sympatischer (kostet aber 3 Euro mehr), man weiß aber was man kauft. QSH4218-35-026: Trinamic Schrittmotor bei reichelt elektronik . Du kannst den Strom durch den Easydriver begrenzen und auch 12V Versorgungspannung geht gut. Bei hoher Schrittfrequenz begrenzt die Induktivität des Motors den Strom. Durch eine höhere Spannung kann man diesen Effekt entgegenwirken.
Grüße Uwe

Hab leider kein Datenblatt von meinem alten gebrauchten Schrittmotor gefunden (ist aber von Vexta). Der in deinem Link schaut gut aus aber ich suche unbedingt einen mit 0.9° um wirklich eine Butterweiche Kamerafahrt hinzubekommen (mache nämlich auch Zeitraffer). Den Easydriver werde ich im 1/8 Schritt Modus betreiben um auf 3200 Schritte pro 360° zu kommen.

Das ist der Schrittmotortreiber EasyDriver v4 den ich gekauft habe:
http://www.watterott.com/de/EasyDriver-v4-Schrittmotor-Treiber

Der Dolly soll regelbar von ca. 5mm - 500mm pro Minute laufen.
Werde ihn nämlich auch für Zeitrafferaufnahmen verwenden. Die Werte kann man ja hoffentlich später noch anpassen.

Das mit der Spannungsversorgung meinte ich anders. Ich werde den Schrittmotortreiber EasyDriver v4 und den Arduino vom gleichen 12 Volt Akkupack betreiben. Suche gerade nach einem passenden Gehäuse um 10 Stück 1.2 Volt / 2850mAh Ni-MH Akkus unterzubringen um auf die 12 Volt zu kommen.

Gruß
Daniel

Hallo Daniel
0,9 Grad wirst Du dir sehr schwer tun. Hab einen aus einer uralten HD ausgebaut.
Aber ein 1,8 Grad Motor mit einem 1/16 Microstep tuts gleich wie ein 0,9 mit 1/8 microstep. Treiber: http://www.watterott.com/de/Pololu-A4983-Schrittmotortreiber Der verträgt 2Ampere.
Hab einen bestellt und müßte in nächsten Tage ankommen. Kann Dir dann was sagen.

Du kannst den Motor mit der Welle direkt auf das Rad drücken. Dann müßtest Du aber mit dem Geschwindigkeit kontrollieren ob Du hinkommst.
Welchen Durchmesser haben die Räder?

Ok das mit der Batterie.
Grüeß Uwe

An den Pololu dachte ich auch zuerst aber hab mich dann doch für den EasyDriver entschieden da ihn die meisten Leute hier im Forum verwenden und mir dachte das sie eher damit zurechtkommen.

Ich hätte mir sonst den hier gekauft mit eingebautem Spannungsregler:
http://www.watterott.com/de/Pololu-A4983-Schrittmotortreiber-R
Habe aber gehört das man bei beiden Modellen Kühlkörper anbringen soll sonst werden sie zu heiß und bringen nicht die Leistung!

Wenn es sein muß werde ich mir den Pololu nachkaufen.
Die Inlineskaterräder selbst haben einen Durchmesser von 74mm.
Die Gummirolle wird ca. 20mm haben. Das muß aber nicht so genau berechnet werden. Wenn mir jemand das Grundprogramm schreibt kann ich ja dann selbst rumprobieren und die Werte dementsprechend anpassen.

Hallo Daniel
Hab heute die Bestellung bekommen.

Der Schrittmotortreiber (Version ohne Spannungstabilisatoren) ist mikrig. 2x1,5cm. Sieht man gar nicht auf den Fotos.

Werde morgen die Pins anlöten und dann mal ausprobieren.

Die Ansteuerung müßte gleich sein außer einigen Steuerleitungen, die man wie bein EASYDRIVER fix auf + oder Masse legt, hat er ein Pin für die Richtung und ein zweites für die Schritte.

Kühlkörper sehe ich schwarz ; ist kein Platz; das Ic ist gerade mal 5 x 5 mm groß. Werde Dir sagen wie heiß er wird.

Mit Deinen Angaben ( Rad 74 mm Durchmesser, 20 mm Gummirad; 5-500mm/min; Motor 1,8 grad 1/16 microstep) bekomme ich Schrittgeschwindigkeiten von 4,26 bis 426 Schritte pro Sekunde. Hoffe habe richtig gerechnet. Würde Dir fast raten ein kleineres Gummirad zu benutzen oder ein Getriebe mit 1:4.

Grüße Uwe

Hallo Uwe,

ich warte auch noch auf meinen Arduino + EasyDriver v4 sollte hoffentlich morgen eintreffen.

Vielen Dank für deine Bemühungen. Kannst du mir denn eigentlich das Programm für die Fernsteuerung schreiben? Und wenn ja was möchtest du dafür haben?

Grüße Daniel

Habe hier noch eine sehr gute Library für den Arduino gefunden.
In der hier sind die meisten Funktionen bereits enthalten die ich benötigen würde "acceleration", "deceleration" und "very slow speeds"...

AccelSteper
http://www.open.com.au/mikem/arduino/AccelStepper/

Schaut schonmal wie ein guter Anfang aus.

Wenn ich das richtig verstanden habe wird die Ansteuerung mit einem L293 bzw uln2003 als Treiberbausteine gemacht und der Audunio bringt die Signale für die Ansteuerung der beiden Windungen. Da ist kein Microstepping vorgesehen.
Der A3967 (easydrive) bzw A4983 (Pololu Stepper driver) haben als Eingang ein Signal für die Richtung und eines für die Schritte. Die Modulation der Ströme und die sequenz der Ansteuerung übenimmt der A3967 bzw A4983.
Grüße Uwe

Kennt Ihr eigentlich schon das hier: http://www.openmoco.org/ und das
http://openmoco.org/node/12?

Könnte sein, daß das brauchbar ist. Hab's mir aber noch nicht angeschaut. Falls es klappt berichtet bitte.

Udo

Noch eine Frage für mich als nicht Experten: was genau macht so ein Dolly eigentlich?

Hinter der Frage steckt vor allem: wie schnell und genau muß die Steuerung sein und warum?

Irgendwie dient das Teil ja anscheinend dazu eine Kamera zu tragen und damit herumzufahren. Aber die Gradeinteilungen an den Rädern machen mich etwas stutzig. Kannst Du das für nicht Kameraleute kurz erklären? Das mit dem Schrittmotor verstehe ich auch nicht ganz. Wieso reicht ein einfacher Getriebemotor nicht aus?

Gruß, Udo

Ein Schrittmotor macht halt genau die Anzahl Schritte mit denen Du ihn ansteuerst. Solange die Last nicht zu groß ist läuft der Schrittmotor und Du brauchst keine Rückkoplung um zu wissen wieweit der Wagen sich bewegt hat. Ein Getriebemotor braucht einen Encoder um zu wissen wieviele Umdrehungen er gemacht hat.
Den Rest muß Daniel erklähren.
Grüße Uwe

Wie man so schön sagt ein Video erzählt mehr als tausend Worte.

http://www.ready2roll.de/Skatertest/Player/01Trailer.html

Das im Video ist natürlich der originale Skater der ein paar tausend Euro kostet (ohne Motor) mein Sperrholznachbau dagegen ist wesentlich günstiger aber funktioniert genauso.

Die Gradeinteilungen auf den Rädern benutzt man dazu um genau definierte Kurven um Objekte fahren zu können. Den Motor benötige ich um mehrere Aufnahmen wiederholen zu können (Wiederholgenauikeit).
Die Geschwindigkeit sollte über ein Poti während der Fahrt noch nachträglich geändert werden können.

Wenn man den Dolly nur mit der Hand bewegt also ohne Motor bekommt man bei langsamen Kamerafahrten keine weiche Bewegung hin. Versuch mal z.B. ein Objekt auf dem Tisch, sagen wir mal ein Glas Wasser sehr langsam aber mit gleichmäßiger Geschwindigkeit 1 Meter anzuschieben. Das ist sehr schwer und jeder Ruckler ist im Film sichtbar.

Hoffe das erklärt einiges.

Grüsse
Daniel

Verstehe. Was mir aber unklar bleibt: wie man mit einem Schrittmotor genau zurückpositioniert ist klar. Aber die Wiederholgenauigkeit des Dollies wird immer schlecht sein sobald die Räder auch nur minimalen Schlupf haben. Das ist wohl auch der Grund warum das Original nicht für Mehrfachbelichtungen zu taugen scheint. D.h. der Schrittmotor ist möglicherweise overkill. Andererseits: so professionell wie Deine Basis gebaut ist muß das wohl sein :slight_smile:

Mir scheint openmoco passt genau zu Deinem Vorhaben.

Udo

@uwefed: ob man Schritte zählt oder Umdrehungen, in beiden Fällen bekommt man den Schlupf nicht mit. Und da er ja auch Kurven fahren will und anscheinend nur 1 Rad angetrieben wird gibt es leider immer irgendwo Schlupf.

Ich wollte nur darauf raus, daß ein Getriebemotor mit PWM vieleicht erheblich einfacher wäre. Aber bei dem professionellen Vorbild heisst die Antwort wohl Stepper + openmoco.

Udo

Vielen Dank Udo, Openmoco kenne ich bereits aber da ist soviel Zeugs drin und so komplex ich weiß garnicht was ich da rausschmeissen soll. Ich erkenne halt die ganzen zusammenhänge nicht in dem Programm, da ich nix mit Programmierung am Hut hab. Jemand von euch der soviel Ahnung mit dem Arduino hat wird bestimmt in 1 Stunde die paar Taster und Potentiometer die ich brauche hinschustern können. Natürlich nicht umsonst, wie gesagt ich wäre auch bereit etwas dafür zu bezahlen.

Ich bin mir ziemlich sicher das jemand so etwas in irgendeinerweise schonmal gemacht hat. Zum Beispiel Schrittmotor mit Linearantrieb (Linearführung) ist genau das gleiche Prinzip.

Hier hab ich auch noch etwas gefunden was mit Arduino und Schrittmotor Schritte zählen zu tun hat: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1182630624