• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

DIY - Smart up your Slider

kabauterman

Themenersteller
Wem gefallen sie nicht, die Timelapse Aufnahmen mit Kamerabewegung oder schöne smoothe Kamerafahrten in Videos.
Wenn man sich dann aber mal anschaut was fertige, vllt. noch Programmierbare, Slider mit Motor kosten, legt mal die Idee schnell wieder unter "schön wärs" ab.

Das war so in ungefähr mein Gedankengang jedoch hab ich es als Herrausforderung angesehen das "Problem" irgendwie im Eigenbau zu lösen,
und ich meine keine halbherzige Lösungen aus dem Baumarkt sondern etwas stabiles und langlebiges.



Was kann er (Features):

- die Stecke des Sliders in einer variablen bestimmbaren Zeit gleichmäßig "abfahren" (Timelapse)

- leise und ohne ruckeln arbeiten

- Geschwindigkeits "presets" für Videos

- Automatischer Stop oder automatisches Wenden am Ende

- Kalibrierungsmöglichkeit, so das der Code nicht geändert werden muss für unterschiedliche Slider längen

- Verbindung und Programmierung per Smartphone (ohne App)

Was sonst noch schön wäre:

- günstig

- Stop-Shoot-Go-Stop-Shoot-Go Funktion für Langzeitbelichtungen

- Auslösen der Kamera

- schicke Javascript/HTML5 Seite für die Programmierung.

Was man braucht:

- Slider eurer Wahl (fertiger Manueller Slider, Professionelles "Rail" System oder Baumarkt Slider)

- kräftiger Stepper Motor (12V)

- Stepper Treiber (ich empfehle den SilentStepStick, da kein anderer annährend so leise und Ruckelfrei arbeitet)

- Zahnriemen und Zahnräder die auf die Welle des Motors passen

- ESP8266 Serial Wireless Adapter (07,12E, 201 je nach Präferenz)

- Prototyping PCBs

- einige Elektonikbauteile (Kabel, Taster, Pin-Leisten, Stecker usw.)

- einige Metallbauteile

- Lötkolben, Bohrmaschiene, Schrauben usw.

- Etwas Geschick und Geduld

--------------------------------------------------------------------------------------

Kurze Erklärung zum Herzstück, dem ESP8266.

Eigentlich ein Serieller WLAN (b/g/n) Controller der sich über "AT" Befehle ansteuern und z.B. hinter einen Arduino verwenden lässt, vergleichbar mit dem Arduino WLAN-Shield.

https://en.wikipedia.org/wiki/ESP8266

Mit einer 32-bit CPU die mit 80 MHz taktet ist das Teil JEDEM Arduino bei der Rechenleistung um längen überlegen, 96 KB RAM und bis zu 4 MB Flash, und jede Menge GPIO Pins (16) machen das Teil zu einer Internet-of-Things Geheimwaffe.

Mit dem ESP8266 Arduino Projekt https://github.com/esp8266/Arduino
kann man das Teil wie einen gewöhnlichen Arduino (+ die ESP Spezifischen WLAN Befehle) per Arduino IDE programmieren.

Da Arduinos in der Regel mehr kosten, langsamer sind, weniger Speicher bieten und dazu keine Funkmöglichkeiten mit an Board haben, bleiben eigentlich kaum noch Fragen offen.

--------------------------------------------------------------------------------------

Zur Umsetzung:

Ich erkläre das ganze hier anhand von meinem ursprünglich "dummen" Ultra Low Cost Slider.
Der Besteht aus einem IGUS Rail System, ist zwar nur 25cm Lang, aber das Projekt lässt sich auf jede gewünschte Sliderlänge anwenden.

Der Slider wurde mit einem Stepper Motor, Zahnriemen und Zahnrädern aus einem alten Nadeldrucker "upgegraded". Er läuft mir 12V aus einem Akku oder Netzteil.

Gesamtkosten für diesen smarten Minislider liegen bei ca. 15 € (SilentStepStick, ESP8266 und Platinen).

Was der kann und wie er aufgebaut ist werde ich in kürze anhand eines kleinen Videos zeigen.

--------------------------------------------------------------------------------------

Schaltplan:

anleitung_small8kk0n.jpg


http://abload.de/img/anleitung8ap1j.jpg

--------------------------------------------------------------------------------------

Quellcode:

Den Quellcode gibt es hier:

https://github.com/kabauterman/SmartSlider

IP:192.168.4.1

WLAN: TotalControl Passphrase: TotalControl

en = GPIO16
cfg1 = GPIO14
stp = GPIO12
dir = GPIO13

chdir0 = GPIO4
chdir1 = GPIO5

--------------------------------------------------------------------------------------
Vorgehen:

Zuerst einmal muss man alle Verbindungen soweit herstellen wie auf meinem "Schaltplan" zu sehen. Das geht entweder auf einem Breadboard, zum testen, oder mit einem Prototyping PCB, das bietet sich an da man so im Notfall einzelne Bauteile ohne viel Aufwand tauschen kann. Direkt Kabel am ESP und Stepper Driver verlöten funktioniert natürlich auch ist aber umständlich und man hat am Ende keine Platine die man irgendwo verstauen kann.

Der ESP 201 ist direkt mit normalen PCB's verwendbar und hat schon die richtigen Lochabstände, für ESP 07 oder 12 gibt es so genannte Adapter Boards (sehen so aus).
Die kann ich jedem nur empfehlen da sie schon die nötigen Verbindungen herstellen wenn man die Wiederstände unten überbrückt oder auslötet.

Man kann auf der Unterseite sogar direkt einen Spannungswandler für 3,3V (der ESP braucht explizit 3,3V, 5V killen das teil, 12V erst recht) platzieren und durch die Wiederstände und Lötbrücken (bitte gewissenhaft durchmessen) 12V am Board anschließen und der ESP bekommt dann die 3,3V vom Spannungswandler. Das spart unnötige Kabel und macht die ganze Bastellösung ein ganzes Stück schicker.

Flashen muss man den ESP im Normalfall nur wenn es eine neuere Version meines Smart Stepper Programms gibt. Die TX, RX, GND und GPIO0 (für den Flash Modus) Pins muss man also nicht unbedingt auf dem PCB nach außen führen, es reicht dann den ESP samt Adapter Board vom PCB zu nehmen und an einen USB zu Seriel Converter anzuschließen, anschließend GPIO0 und GND kurzschließen und die Stromversorgung des ESP's anschalten.

Über die Arduino IDE kann man dann den ESP wie einen Arduino Programmieren, wie genau man die arduino esp Software in der IDE hinzufügt wird auf der verlinkten github Seite des Projekts erklärt.

Ist die Software einmal auf dem ESP, kann es eigentlich nurnoch bei der Verkabelung zu Problemen kommen.

Die Belegung und Bezeichnung der Kabel bei den Stepper Motoren ist nicht ganz eindeutig gelöst, es muss sich auf jeden Fall um einen Stepper mit 4 poligem Kabel handeln. Diese 4 Kabel müssen an die Motor Ausgänge des StepStick Drivers. Sind alle Verbindungen OK, der ESP Läuft, der StepStick hat Strom (12V an VM, Voltage Motor). und der Motor dreht sich am Ende nicht, muss man vermutlich mit den Kabeln des Motors am StepStick herrum probieren.

tbc.

--------------------------------------------------------------------------------------

Nachbauen ist ausdrücklich erwünscht! Ich freue mich über jeden dem ich helfen kann mit relativ wenig Geld einen smarten, motorisieren Slider zu bauen.

Wer Programmierkenntnisse mit Arduino hat kann sich natürlich gerne an zukünftigen Versionen des Quellcodes beteiligen und vllt. helfen noch fehlende Funktionen zu integrieren oder das Interface zu verbessern.
 

Anhänge

Zuletzt bearbeitet:
Hallo,
Ist wirklich cool.
Es ist nicht genau zu Erkennen, welche Größe hat die Schiene?
Grüße Jörg
 
Die Schiene ist 25cm Lang und 5cm Breit.

Ich hatte mich sogar vertan, so ein SilentStepStick kostet gerademal 10 € also belaufen sich die kosten bei meinem kleinen Smarten Slider auf 15 € da der Motor und der Zahnriemen aus einem alten Drucker stammen.

€: hab oben mal den Quellcode und die ersten konfigurations Infos ergänzt.
 
Zuletzt bearbeitet:
So,

Quellcode, Schaltplan und zwei Bilder sind oben ergänzt.

Am Video arbeite ich, wird vllt. Montag oder Dienstag kommen.

Viel Spaß beim tüfteln.
 
Sehr interessantes Projekt.
Bin selber gerade auf der Suche nach einem Slider um Timelaps zu machen.
Leider ist es wie Du schon sagst das die Hersteller sich das auch übermäßig gut bezahlen lassen.
Da ich leider null Plan vom programmieren habe könnte ich aber mit Nachbau und testen des Systems behilflich sein wenn es gewünscht ist.
 
Sehr interessantes Projekt.
Bin selber gerade auf der Suche nach einem Slider um Timelaps zu machen.
Leider ist es wie Du schon sagst das die Hersteller sich das auch übermäßig gut bezahlen lassen.
Da ich leider null Plan vom programmieren habe könnte ich aber mit Nachbau und testen des Systems behilflich sein wenn es gewünscht ist.

Huhu,

also das Projekt ist soweit fertig und funktionsbereit.

Hab das ganze schon in dem kleinen 25cm Slider und nem großen 1m Slider im Einsatz und funktioniert gut ohne große Probleme.

Der Quellcode ist somit "Final" und einsatzbereit, du kannst das quasi sofort nachbauen :) .

Mit ein wenig Handwerklichen Geschick sollte man das hin bekommen.

Jemand mit Programmierkenntnissen die meine Übertreffen, könnte die Fehlenden funktionen vllt noch ergänzen, aber sonst könnt ihr eigentlich sofort mit dem Basteln loslegen.
 
Soooo, Teile sind teilweise geordert.
Brauche dann erstmal alles hier und dann schaue ich mir das mal an.
Wenn Du noch mehr Infos oder Bilder hast würde ich mich sehr drüber freuen.

Mir macht das Flashen bisher noch Sorge, aber das liegt sicher auch daran das ich es noch nie gemacht habe
 
Das flashen geschieht über die Arduino IDE mit installierter esp8266 arduino schnittstelle.

GPIO 0 muss beim Start mit GND kurzgeschlossen werden, dann schaltet der ESP in den flash modus.

Dann RX, TX und GND mit einem Seriellen USB Adapter verbinden und los gehts.

Ich werde die Anleitung zum Aufbau noch etwas detailierter ausführen. Damit die schritte etwas klarer werden.

€: so sieht z.B. mein neustes Prototyping PCB aus:
 

Anhänge

Zuletzt bearbeitet:
Hallo

Wenn Du zum flashen ein Arduino-Board (z.B. das UNO) verwendest, dann werden RX mit RX und TX mit TX verbunden. Am RX-Pin des ESP8266 habe ich noch einen 1k zu 2k Spannungsteiler, damit das WiFi-Modul keine 5V direkt abbekommt.
Die ersten Versuche sind schon mal ganz positiv. Unschön ist bisher noch, daß auf dem Step-Signal ein ganz erheblicher Jitter drauf ist und daß bei Bewegung keine Eingaben mehr möglich sind. Da werde ich versuchen, daß auf Interrupt-Betrieb umzustellen. Die Reaktionszeiten sind, auch wenn grade sonst nix passiert, manchmal sehr lang (so im 2 bis 10 Sekunden Bereich). Das sieht man auch am ser. Monitor sehr gut bis die Bestätigung des Befehls kommt. Wo das her kommt weis ich aber noch nicht.
Für meine Schrittmotoren ist die Step-Frequenz auch noch zu langsam (desshalb fällt der Jitter vermutlich auch stärker in's Gewicht). Wenn es schneller gehen soll, kann man auch mit delayMicroseconds() arbeiten. Dann ist es aber wichtig noch ein anschließendes yield() einzufügen, weil sonst der watchdog des ESP8266 zuschlägt.
Auch wenn's für meine Applikation noch etwas holprig vorangeht, finde ich das mit dem ESP8266 echt eine sehr feine Sache für so überschaubare Anwendungen. Nochmal Danke von meiner Seite für die Vorstellung hier (y).

Gruß Ulf
 
Hallo

Wenn Du zum flashen ein Arduino-Board (z.B. das UNO) verwendest, dann werden RX mit RX und TX mit TX verbunden. Am RX-Pin des ESP8266 habe ich noch einen 1k zu 2k Spannungsteiler, damit das WiFi-Modul keine 5V direkt abbekommt.
Die ersten Versuche sind schon mal ganz positiv. Unschön ist bisher noch, daß auf dem Step-Signal ein ganz erheblicher Jitter drauf ist und daß bei Bewegung keine Eingaben mehr möglich sind. Da werde ich versuchen, daß auf Interrupt-Betrieb umzustellen. Die Reaktionszeiten sind, auch wenn grade sonst nix passiert, manchmal sehr lang (so im 2 bis 10 Sekunden Bereich). Das sieht man auch am ser. Monitor sehr gut bis die Bestätigung des Befehls kommt. Wo das her kommt weis ich aber noch nicht.
Für meine Schrittmotoren ist die Step-Frequenz auch noch zu langsam (desshalb fällt der Jitter vermutlich auch stärker in's Gewicht). Wenn es schneller gehen soll, kann man auch mit delayMicroseconds() arbeiten. Dann ist es aber wichtig noch ein anschließendes yield() einzufügen, weil sonst der watchdog des ESP8266 zuschlägt.
Auch wenn's für meine Applikation noch etwas holprig vorangeht, finde ich das mit dem ESP8266 echt eine sehr feine Sache für so überschaubare Anwendungen. Nochmal Danke von meiner Seite für die Vorstellung hier (y).

Gruß Ulf

Ich empfehle dir zum Flaschen einen CH340 Adapter, die kann man normalerweise auch zwischen 5 und 3,3V umschalten da braucht man beim Flashen keine Angst haben.

Also das mit den Reaktionszeiten kann ich bei mir so nicht nachvollziehen.

Einzig bei den Presets hängt es so lange bis der durchlauf fertig ist, weil ich das als Schleife Programmiert hab.

Bei der Timelapse funktion kann ich jederzeit ne Eingabe machen die dann auch mit maximal 1 sek Verzögerung ausgeführt wird.

Hast du ein Ozzi oder wie kommst da darauf mit dem Jitter?

Damit die Schrittfrequenz schneller wird müsstest du das komplette Programm entschlacken, aber da die Timelapse funktion eigentlich schon in der Hauptschleife stattfindet müsstest du wohl mal probieren was da hilft.
 
Hallo

Die manchmal auftretenden Verzögerungen bei der Bedienung sind sogar, wenn man nur zwischen Enable und Dissable hin und her schaltet. Ein paar mal geht's gut, dann dauert es wieder ein paar Sekunden bis die Aktion wirksam wird (zu sehen am ser. Monitor und auch wenn man direkt am Pin misst.
Ja, der Jitter ist mir mit einem Oszi aufgefallen.
Timelaps habe ich noch nicht ausprobiert, aufgefallen ist mit das beim Kalibrierlauf, daß dann nichts mehr weiter geht.

In der do_step() Funktion kann man schon noch gas geben, in dem man eben delayMicroseconds() statt delay() verwendet. Da muß man aber, wie schon geschrieben, beachten, daß noch ein yield() eingefügt wird, damit der WLAN-Stack auch noch Rechenzeit bekommt.
z.B so:

void do_step(void){
//do one Step
digitalWrite(stp, HIGH);
delayMicroseconds(100);
yield();
digitalWrite(stp, LOW);
delayMicroseconds(100);
yield();
}



Gruß Ulf
 
Zuletzt bearbeitet:
Hallo ! Ich hab mal ein wenig im Forum gestöbert und deinen Eintrag gelesen.
Schau doch mal in mein letztes Posting.
Vielleicht bekommst du ja eine Anregung.
Frag ruhig mal nach !!!
Viele Grüße Jörg
 
Hallo

Nach längerer zeit bin ich mal wieder dazu gekommen hier weiter zu machen. Das mit den Verzögerungen taucht auch ab und zu in Foren zum ESP8266 auf. Die Lösung bei mir war, die Arduino IDE und das ESP8266 Board-Package neu zu installieren. Da ist vermutlich beimm ersten mal was falsch gelaufen. Die Verzögerungen sind jetzt jedenfalls schon mal weg.
Das nächste Problem waren die für meine Anwendung (Makro Schlitten) nötigen Eingaben. Hier mußte ich den HTML Code umstricken und auch die Eingabewerte nach der Eingabe als solche auch wieder ausgeben, damit das bestehen bleibt.

Gruß Ulf
 
Also ich hab das genauso nachgebaut. Mein Nema17 macht nur Geräusche und zittert ab und zu.
Muss man da was beachten bei dem Motor?
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten