Projet avec un moteur pas-à-pas...

Bonjour,

Je débute.
J'ai quelques petites (toutes petites) connaissances en électronique, en mécanique, en informatique: ça va aider mais ça ne va pas être facile quand-même!
J'ai le projet de réaliser un rail avec un chariot pour faire des photos genre "travelling". La carte, la batterie, le moteur PAP, tout cela sera embarqué sur le chariot. Les prises de vues se feront à intervalles réguliers (par séries de 10, 20, 30cm...) et je dois pouvoir commander tout ça avec une télécommande (peut-être un iPhone en BlueTooth ou tout autre système adapté). Suite aux lectures que j'ai pu faire sur le forum, je vais opter pour une Uno (sauf si on me conseille le contraire). J'envisage aussi la carte "Adafruit Motor/Stepper/Servo Shield v1.0".
Question1 : existe-t-il un simulateur pour Mac (je n'en ai pas trouvé) ? (le simulateur "VirtualBreadBoard" propose la gestion d'un moteur PAP en sortie directe de la carte Arduino; ça peut marcher et se gérer?)
Question2 : quelle "protoBoard" est la plus pratique?
En plus de ça il faudra peut-être un deuxième moteur pour l'inclinaison de l'appareil photo... et puis gérer le déclenchement...
Peut-être même qu'il y aura des calculs pour évaluer la longueur à parcourir et la diviser par le nombre de vues à prendre pour obtenir le nombre d'impulsions/pas du moteur entre 2 vues...
Pas simple pour un premier projet... mais j'aime bien fixer la barre un peu haut.

Merci d'avance pour vos conseils

Philippe

Bonjour 3dOxyd -.^

Si tu parles de "time laps", il y a une communauté Arduino spécialisée dans les domaine : Open Moco.
Au cas où n'hésites pas aussi à poser tes questions ici si tu en as sur ce sujet en particulier; je suis justement en plein développement d'un gros projet dans le domaine, donc si je peux aider...

Pour le module Adafruit Motor/Stepper/Servo, mouaip... Je ne sais pas si c'est vraiment optimal pour ton projet.
C'est certain, ça peut le faire, mais c'est une carte pour commander plusieurs types de moteurs. Et pour ton projet tu ne vas piloter que des moteurs PàP à priori.
Il serait plus optimal d'utiliser un module EasyDriver par exemple, qui est spécialisé pour le pilotage des moteurs PàP, et qui gère bien les micro-pas (qui peut être important dans un projet de time maps).

Sinon pour la simulation sur MacOS, pas trop d'idées car pas sur Mac.
Mais j'en connais qui vont certainement pouvoir te répondre ici -.^

Et pour la proto-board; regarde déjà ce qui se fait dans le projet Moco car il y a pas mal de solutions. Après, cela dépend aussi de ce que tu veux faire précisément car un CI de la taille de l'Arduino va être bien étroit si tu veux piloter plein de choses (mouvements, déclenchements, etc.).
Idem pour l'Arduino Uno; impec' pour de petits projets, il faut bien définir sur le papier tout ce qu'on va lui demander de faire afin de savoir si c'est optimal.

Donc en premier lieu, je te conseille déjà de faire une liste de tout ce que tu veux faire. Ensuite tu pourras sélectionner parmi les différentes possibilités.

Bonjour,

Merci pour ta réponse. J’ai pris le temps de tout reconsidérer afin d’être sûr de ne pas m’égarer.
OK pour EasyDriver; vu que je ne connais ni l’une ni l’autre, je vais me fier à ton conseil.
Au sujet de l’encombrement du système, ce n’est pas sur la carte que je vais tout placer mais sur le chariot...donc pas de souci de place.
Merci pour le lien sur le projet Moco. C’est intéressant mais je ne me sens pas de taille à adapter ces projets à mon besoin... Mais j’ai vu que je n’étais pas tout seul à vouloir utiliser Arduino en photographie.
Pour la carte elle-même, je pense qu’elle devrait suffire (Uno) - bien que je ne la connaisse pas - car il s’agit seulement de séquences linéaires et de saisies basiques de variables.
Là ou ça va être le plus dur, c’est par quoi commencer, quand j’aurai la carte dans une main, le ou les moteurs dans l’autre. Je ne connais rien au langage, j’ai juste quelques notions générales de programmation et le html ne me sera d’aucun secours :°)
Voici le processus envisagé :

  • estimation de la course totale entre 2 interrupteurs “fin de course” dont un mobile (en nombre de pas - donc un aller-retour pour rien)
  • choix du nombre d’arrêts dans l’intervalle trouvé -> donc un affichage du résultat (distance totale convertie pas->cm) - à distance sur iphone, ou display embarqué sur le chariot - et saisie du nombre de vues souhaitées dans l’intervalle... ou bien calcul du nombre de vues en fonction de l’intervalle souhaité. Je ne pense pas avoir besoin du time-lapse, mais si ce n’est qu’un bout de code à ajouter, pourquoi pas.
    puis séquence :
  • départ
  • arrêt
  • commande déclenchement
  • éventuelle rotation de l’appareil
    ...et on recommence jusqu’à la dernière vue programmée, puis retour à la case départ.
    Voilà ! c’est tout.
    J’ai déjà une expérience dans ce domaine, mais avec un système industriel (un “indexeur”) tout fait, auxquel j’avais adjoint une carte e/s (toute faite) avec 8 entrées et 8 sorties + une télécommande programmable. Le langage propriétaire simple permettait de gérer les e/s, la vitesse (+accéleration et décélération), les rotations, les déclenchements, bref je m’en étais pas trop mal sorti... mais ça m’avait coûté un œil !
    Au sujet de la librairie du moteur, j’ai trouvé quelque chose d’intéressant si j’arrive à m’en servir : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231909180/1 ...sauf que c’est tombé le jour de l’arrêt du forum et je ne connais pas la réponse à la dernière question.
    Je vais donc commencer par acheter la carte (sauf avis contraire) et après avoir tenté de comprendre le système, je pense que ton aide ne sera pas superflue !

Cordialement

Philippe

EasyDriver ou une autre carte spécialisée dans le pilotage de moteur PàP.. Je donnais ce module à titre d'exemple, il y en a d'autres, et aussi la possibilité de réaliser le module soit-même. Bien que je ne soit pas certain que cela soit ton idée (de réaliser des parties matérielles) ?

Ok pour Moco, s'il faut faire une adaptation, c'est sur que c'est pas le même délire.
Mais à propos, quel est justement ton projet ?.. Photographie avec traveling paramétré, mais pour du time laps, stop motion, temps réel, ..?

Sinon, pour la programmation, si j'étais toi je ne m'en ferais pas "la bête noire" du projet.
A mon humble avis, c'est la partie hardware qui va être la plus complexe à mettre en oeuvre... Et de loin !

Enfin, pour ne pas te décourager et avancer surement, peut-être que commencer par un projet "light" serait une bonne chose.
Par exemple le contrôle d'un traveling "tout simple" (sans pan/tilt etc.).
Ensuite tu pourras faire évoluer et complexifier ton projet -.^

Mais donc, déjà pour un simple traveling il te faut question matériel :
_. un système de guidage (rails, etc.)
_. un système mobile (chariot, etc.)
_. un système d'entrainement
_. une carte Arduino (la UNO est bien suffisante)
_. une carte de pilotage de moteur PàP
_. une carte d'alimentation (avec ligne séparée pour la puissance)
_. un moteur (avec moto-réduction ou avec suffisamment de couple)
_. Et peut-être un afficheur (?)

Et tout mettre en ordre de fonctionnement ^.^
Ensuite tu pourras te pencher sur le code optimal qui va piloter tout cela -.^

Monter le kit moi-même ne me fait pas peur; la soudure est plus enthousiasmante que l'assemblage de cartes.
Mon projet, pour résumer, est celui-ci : avancer... clic... / avancer... clic... / avancer...etc
Après il y aura les variantes : clic... / tilt... clic ... / pan... clic .../avancer... tilt arrière... clic... / tilt... clic... ...avancer ...etc...
Mais tu as raison, je dois commencer par savoir utiliser les éléments et le matériel basiques.

Pour la carte d'alimentation, je pense que tu veux dire une carte 3-4A, avec une sortie normale pour l'électronique et une sortie puissante pour les moteurs?
Je vais te paraître un peu...heu...léger... mais j'ai tout appris sur le tas, sans mettre le nez dans un bouquin (c'est pas mon fort)...alors forcément il y a quelques lacunes, parfois surprenantes :°)
Pour l'afficheur, je pense que le "Cytron LCD Keypad Shield" devrait convenir.
Je pense acheter tout ça chez http://www.robotshop.com - je ne cherche pas forcément le moins cher, mais celui qui a le meilleur choix et le meilleur service. Si tu as mieux, n'hésite pas...

Merci pour tes conseils

Philippe

Oki, alors c'est du "time laps" que tu veux faire. Enfin, c'est le terme communément employé dans le domaine.
On pourrait traduire cela par de la prise de vue avec délais entre chaque prise.

Ensuite, c'est un bon point si la réalisation de quelques parties matérielles ne te fait pas peur.
C'est rare qu'on trouve tout tout fait pour son projet, donc tu vas pouvoir te dégourdir les doigts -.^

Pour la carte d'alimentation, oui c'est ça, en détail on a :

  • L'Arduino qui ne va pas demander beaucoup d'énergie (on peut compter 500mA avec de la marge), mais il y lui faut quelque chose de "propre" si tu veux que cela fonctionne bien. Et elle est alimenté en 5V (normalement, car il y a des versions 3.3V).
  • Les accessoires et autres composants type afficheur LCD etc. ne vont pas demander non-plus beaucoup d'énergie; si l'on part sur une base de 500mA aussi on est largement tranquille.
  • Les moteurs, eux, vont être plus gourmand. Difficile de donner un chiffre précis pour le moment car cela dépend des moteurs, mais on peut partir sur une base de 2A pour 1 moteur PàP, toujours avec une marge (tu verras, j'en mets partout mais c'est important). Il vont être en toute logique alimenté en 12V. Par contre, la "qualité" du courant fournit est moins importante.

Donc en résumé, une source en 12V pouvant fournir 3A pendant toute la durée d’exécution des prises de vue (cela peut durer des heures) est à prévoir. Et il faudra donc aussi quelque chose pour faire du 5V (1A) à partir du 12V.

Rien de sorcier, mais avant de partir sur une liste de solution il faudrait savoir si tu vas faire cela en nomade (sans source d'énergie sous la main type secteur) ou non (?).

A titre d'information, pour mon projet similaire au tient, et nomade je pars d'une batterie comme source d'énergie principale. Une bonne grosse 12V (dans ce cas il faut aussi prévoir le chargeur pour cette batterie). Et je génère du 5V avec un petit régulateur ajustable (mieux qu'un régulateur 5V fixe car rarement à 5.00V) configuré aux petits oignons (filtré, découplé, etc. afin que les moteurs ou l'environnement ne perturbe pas).
Pour la capacité à prévoir de la batterie c'est assez simple; en partant du principe que ce n'est pas bon de consommer plus de 50% de sa capacité (surtout s'il ne fait pas 20°C), à 3A/h, un petit calcul nous donne le résultat -.^
Tout cela peut se trouver dans le commerce, par contre, pas certain que tu puisses trouver tout ça chez le même fournisseur...

Pour le Cytron LCD Keypad : Très bon choix -.^
C'est super pratique d'avoir déjà quelques boutons pour l'interface.
Et puisque tu le soulignes, chez le même fournisseur ils ont un module de régulation 5V tout fait vraiment top; Pololu Step-Down Voltage Regulator D15V35F5S3. Un peu plus cher qu'avec un antique régulateur linéaire (LM317, LM7805, etc.), certes, mais avec quasiment aucune perte dans la conversion 12->5V. Toute fois, il est tout à fait pensable d'en faire un soit-même ^.^

Bonjour,

Merci.
Pour revenir à la gestion du temps entre les prises de vues... je n'en fais pas !
Ce qui m'intéresse, c'est la régularité spatiale de l'appareil, pas la régularité temporelle.
Pour le spatio-temporel on verra plus tard !... :°) (la tentation était grande de la faire, celle-là!)
Donc le time-lapse n'est pas une priorité, mais comme je le disais précédemment, s'il n'est question que de quelques lignes de code à rajouter, pourquoi pas?
Je vais donc faire mes emplettes, je fais connaissance avec la bête, je me gave de tutos et je reviens en courant parce que je n'aurais certainement pas tout compris...

Bonne journée,

Philippe.

Alors oui, cela va être plus simple que du time laps si tu n'as pas de contrainte temporel entre chaque prise de vue.
Je me demande quelle est la finalité du projet du coup, stop motion ou panoramique... ^.^

3dOxyd:
(...)
Pour le spatio-temporel on verra plus tard !... :°) (la tentation était grande de la faire, celle-là!)
(...)

Joli -.^

Je venais justement jeter un oeil sur le controle de moteur pas a pas et je tombe sur ce sujet, qui plus est qui parle d'un projet que j'aimerais réaliser ( j'en suis a la phase conception ) d'un travelling pour timelapse.

Ayant parcouru le web de long en large a ce sujet j'ai découvert une communauté sur le diy de tout ce qui est robotisation de travelling : openmoco : http://openmoco.org/

Et depuis cette communauté j'ai découvert le shield conçu pour ça : Dynamic Perception
ça controle le travelling et les prise de vue.

Si tu as des questions sur le rail, j'ai trouvé un super lien.

Voili Voilou

Bonjour,

Oui, j'avais vu ce projet sur recommandation de ekaki (voir plus haut), mais il est conçu pour des moteurs DC (si j'ai bien compris)... alors qu'on parle ici de moteurs PàP. Mais peut-être que la gestion du time-lapse est intéressante et utilisable avec une adaptation.

Cordialement,

Philippe

3dOxyd:
(...)
Oui, j'avais vu ce projet sur recommandation de ekaki (voir plus haut), mais il est conçu pour des moteurs DC (si j'ai bien compris)... alors qu'on parle ici de moteurs PàP.
(...)

Pour le time lapse, on utilise en général des moteurs PàP, c'est plus pratique à gérer.

A quick glance at the time-lapse engine features:

Camera Intervalometer (1-65,535 seconds)
Focus pre-tap function (trigger focus line before firing)
4-axis stepper motor control (for pulse-driven [step/dir] stepper drivers)
Linear ramping of move execution speed (to prevent missed steps and jarring of camera during movement)
Linear ramping of motor movements in output video
Action Scripting (define actions to be taken at given keyframes)
Camera, Time, and Motor Movement Keyframing (trigger actions after # of shots, movements, or time)
Ability to script complex shot-cycles easily for tasks such as: gigapano photography, multiple timelapse shots, etc.
Serial command interface for controlling via computer and/or another microcontroller (touch-screen UI, etc.)

3dOxyd:
(...)
Mais peut-être que la gestion du time-lapse est intéressante et utilisable avec une adaptation.
(...)

Adapter un système à base de moteur CC (courant continu) pour faire du time lapse, c'est... Chaud. Il faut y intégrer des encodeurs relativement précis (et pas donné).
Mais adapter un système à moteur PàP pour faire du time lapse en un système commandé manuellement, ça, cela reste du domaine du faisable sans trop se compliquer la vie. C'est pour cela que je te proposais de fouiller dans le projet OpenMoco car il y a pas mal de choses dont tu auras besoin de déjà faite -.^ En même temps, c'est vrai, c'est moins "fun" que de tout faire soit-même, et il faudra de toute façon "adpater".

cgiles:
(...)
Si tu as des questions sur le rail, j'ai trouvé un super lien.
(...)

On est toujours preneur d'un super lien -.^

C'est un oiseau ? C'est un avion ? Non c'est SuperLien

Oki, pour le rail, c'est un Igus modèle Drylin W.

Du bon matériel. Une très bonne base pour un projet.
Il faut compter environ 150€ pour 1m de rail avec le chariot. Sans le système d'entrainement (courroie/poulies) ni le pied, ni le MX2 (électronique).

Par contre, le système d'entrainement du chariot décrit dans la vidéo n'est pas "super super" je trouve... Mais bon, chacun sa méthode ^.^