Page 3 sur 10

Re: Stepduino proto 1 (Chris)

Posté : 29 janv. 2012 21:35
par pierre4fun
MercI Christian !

Mon ensemble avance aussi.

Re: Stepduino proto 1 (Chris)

Posté : 08 févr. 2012 14:04
par Christian
Re bonjour,
Je me réjouis de voir ton montage Pierre !

Le projet continue aussi de mon côté :
J'ai reçu le rail linéaire de précision DelTron (celui avec sup. moteur) et l'accu lithium 12V (j'en parlerai dans les sujets dédiés une fois les essais avancés).
Autrement l'Arduino m'a fait découvrir l'interface gratuite de programmation Java : PROCESSING
C'est juste parfait pour notre projet car on peut créer des applis multiplateformes ! (entre autres MAC, PC et Linux), rien que du bon pour nous !
(un peu difficile tout de même de s'y mettre si l'on vient comme moi du visual basic 6 ...)
Lien > http://processing.org/

J'ai commencé une interface pour le StepDuino, il y a encore du boulot à réaliser mais elle est déjà fonctionnelle !
Lorsque j'aurai terminé ma première version (scripts pour l'Arduino + interface Processing) je vous communiquerai les sources .

(j'ai encore quelques soucis avec les polices de caractère et leur affichage dans les contrôles ...)
stepduino_processing1.jpg
stepduino_processing1.jpg (53.92 Kio) Vu 10764 fois

Re: Stepduino proto 1 (Chris)

Posté : 08 févr. 2012 16:44
par Fredlab
Hello

Ca m'a l'air excellent ce machin.
Merci.

Re: Stepduino proto 1 (Chris)

Posté : 11 févr. 2012 09:49
par pierre4fun
Bonjour Christian,

Le système sera aussi commandé par l'ordinateur en direct ?
Super!

Tu fais mieux que le système stackshot :)

Re: Stepduino proto 1 (Chris)

Posté : 11 févr. 2012 19:15
par Christian
Hello Pierre,
Le système sera aussi commandé par l'ordinateur en direct ?
Oui oui ! ;) (et pour PC, Mac et Linux !)

Re: Stepduino proto 1 (Chris)

Posté : 11 févr. 2012 22:34
par Daniel
La commande par ordinateur permettra d'économiser l'usure des boutons de l'afficheur lorsque l'on travaille en intérieur.
Peut être sera t il possible aussi alors d'avoir l'image live view simultanément?

Mais nous n'en sommes pas encore la.
Après l'avoir délaissé quelques temps, je viens de retester le système après ajout de la plaque intermédaire (A terme, sera t il possible de tout monter dessus? y compris la carte de puissance?)

Le programme test de moteur fonctionne toujours correctement avec une intensité règlée à 0,5A

J'ai ensuite enlevé le controlleur pour tester le programme du 1er message de ce topic, que je découvrais. Il ne s'est d'abord pas compilé correctement. ce n'est pas grave, juste un changement de StepPin en PinStep à faire semble t il en 2 endroits. Mais après compilation réussie, si les actions de règlage de pas semblent correctes, le déclenchement également, l'avance du moteur n'est pas fiable à chaque appui. Je peux avoir 2 ou 3 avances normales puis 2 ou 3 tressautement sans avance puis une nouvelle série bonne

Quel problème peut il y avoir?

Re: Stepduino proto 1 (Chris)

Posté : 12 févr. 2012 16:20
par Christian
Bonjour Daniel, tous,
l'avance du moteur n'est pas fiable à chaque appui. Je peux avoir 2 ou 3 avances normales puis 2 ou 3 tressautement sans avance puis une nouvelle série bonne
Quel problème peut il y avoir?
Je pense que cela vient du fait qu'avec ce petit code d'essais, comme signalé le moteur est relâché entre chaque pas. En effet, à chaque nouveau déplacement il va devoir retrouver sa position stable, et peut danser un peu la rumba avant d'y arriver !
Dans un pilotage abouti, il faut mettre le moteur sous tension (le magnétiser), le faire rejoindre sont point d'origine et démarrer de ce point, sans jamais le libérer.

Pour tes essais, je te propose de simplement désactiver la lignes ci-dessous (2x), dans les blocs "case btnLEFT:" et "case btnRIGHT:"
Remplacer :
digitalWrite(PinEnable, HIGH); // On relache le moteur (on peut le tourner à la main)
par
// digitalWrite(PinEnable, HIGH); // On relache le moteur (on peut le tourner à la main)

et lorsque tu voudras tourner ta molette à la main il suffira d'appuyer sur le Reset de l'Arduino.
Essaie aussi de modifier les paramètres moteur pour comprendre leurs implications.
Enfin, tu peux aussi essayer le 16ème de pas (microsteping), en pontant les trois pin du driver MS1, MS2, MS3 sur un +5V de l'Arduino. Attention, pour faire un tour complet avec ton moteur il faudra alors 3200 pas ! ;)
La commande par ordinateur permettra d'économiser l'usure des boutons de l'afficheur lorsque l'on travaille en intérieur.
Peut être sera t il possible aussi alors d'avoir l'image live view simultanément?
Cela économise surtout les doigts :D mais aussi l'attention de l'utilisateur :
En effet, il est bien plus agréable d'avoir tous les paramètres et programmes en un seul coup d'oeil ! (défiler des menus sur les deux lignes du LCD fonctionne bien, mais si on peut avoir mieux ...)
Pour le LiveView, il suffit de lancer l'interface Processing en parallèle de son visionneur favori ! (Nikon ou autres, comme celui d'Eddy par exemple).
Je ne vais donc pas creuser de ce côté, d'autant que je ne sais même pas si c'est possible avec Processing, sans parler de mes capacités tout de même assez limitées ...

Bons essais !

Ps: Merci pour le signalement des deux erreurs dans ce petit script, je vais corriger.

Re: Stepduino proto 1 (Chris)

Posté : 12 févr. 2012 18:36
par Daniel
hello,
je viens de tester la désactivation de la commande de relachement.
Cela permet en effet d'avoir un fonctionnement régulier assez fiable.
Mais, si la régularité est bonne (retour à la mème position apprès le nombre d'appuis pour un tour) avec:
200pas = 1 tour , 100 pas= 1/2 tour, jusqu'a 10pas = 1/20e de tour

en dessous, avec 5 pas, il ne faut que 23 appuis pour faire un tour??

heureusement à 1 pas, j'ai bien eu à faire 200 appuis pour 1 tour.

Pour l'économie des doigts c'est sur, mais je pense aussi à la résistance des boutons. Avec ce programme de test, on atteindra vite des milliers d'appuis sur les boutons avance et déclenchement!
Donc pour la suite, il vaudra mieux n'appuyer qu'une fois pour une séquence de 100 prises de vues!
Je n'ai pas mis les fils prévus dans ton boitier avec le buzzer qui doivent être en prévision de ces situations de butées en fin de course?

J'ai vérifié le fonctionnement déconnecté de l'ordinateur:
une pile 9V alimente l'éclairage et l'arduino.
Reste à trouver une batterie pour le moteur avant des essais à l'extérieur!

Puisque la régularité semble bonne (sauf exception), je pourrai faire demain une série d'images en situation en raccordant le moteur au bouton du microscope.

Re: Stepduino proto 1 (Chris)

Posté : 12 févr. 2012 19:07
par Christian
Re Daniel,
Pour l'économie des doigts c'est sur, mais je pense aussi à la résistance des boutons. Avec ce programme de test, on atteindra vite des milliers d'appuis sur les boutons avance et déclenchement!
Donc pour la suite, il vaudra mieux n'appuyer qu'une fois pour une séquence de 100 prises de vues!
J'espère que tu as compris que j'ai diffusé ce bout de code uniquement à titre d'exemple (éducatif) et de test ;)
La version complète du programme automatisera bien évidemment toutes ces opérations. (mais il faudra tout de même passer par des menus !)

Pour tes problèmes de précision (répétabilité) de pas, je pense que tu atteins ici les limites de la fiabilité de ton modèle de moteur *. (qui semble déjà pas mal)
Essaie de passer aux micropas (1/4, 1/8 ou 1/16), tu devrais obtenir une fiabilité et précision encore plus pointue. Attention aussi au réglage ampérage car une sous ou sur alimentation peux lui faire perdre les pédales ... (particulièrement si la puce de la carte de puissance chauffe trop)
Pour l'accu, j'ai ce modèle qui me semble pas mal du tout pour ses performances/poids/dimensions/prix > http://www.lenaturaliste.net/forum/view ... 84&t=10469
J'ai aussi indiqué qu'il existe une possibilité d'utiliser une seule alimentation pour tout le montage, voir dans le même fil ici > http://www.lenaturaliste.net/forum/view ... 454#p53179

* Dont on ne connait toujours pas ses caractéristiques exactes ... Il aurait été plus simple de tous travailler sur le même matériel.
(Frédéric de son côté a une carte de puissance différente et un moteur un peu surdimensionné ... ). Vous ne me facilitez pas la tâche mais c'est instructif ! ;)

Ps: Il faut que je réinstalle ce bout de code (+ le LCD 5 boutons) pour vérifier ce qui te dérange ...

Re: Stepduino proto 1 (Chris)

Posté : 13 févr. 2012 15:33
par Christian
Re Daniel,
J'ai un peu modifié le petit prog d'essais > http://www.lenaturaliste.net/forum/view ... 816#p52816
Regarde particulièrement la section void loop et la fonction Go_PAP ! (mais aussi les constantes en début de programme)
Comme déjà dit, la fréquence moteur est très importante !
En pas entier, afin d'éviter des à-coups violents, il faut largement augmenter la fréquence temporisation.
Par ailleurs, au-dessous d'une certaine fréquence temporisation, un moteur pourrait ne plus être capable de faire de grandes foulées de pas ! (d'où peut-être tes problèmes ?)
J'ai mis dans ce nouveau code une fréquence temporisation de 3000 us par défaut, ce qui permet des foulées pas trop violentes en pas entier et des distances importantes (tu peux essayer de pousser à 5000 us pour voir ...). J'ai aussi ajouté un compteur.
En 16ème de pas, on peut largement descendre cette fréquence temporisation, essayer déjà 250 us, voir moins. C'est aussi à régler en fonction de votre moteur.
Edit fréquence et temporisation, voir plus loin dans le fil > http://www.lenaturaliste.net/forum/view ... =30#p54732
Je n'ai pas mis les fils prévus dans ton boitier avec le buzzer qui doivent être en prévision de ces situations de butées en fin de course?
Les deux ne sont pas directement liés (buzzer et fin de course) :
- Le buzzer est très pratique pour signaler des actions (ou des erreurs) sans avoir besoin de regarder l'écran ou le montage : Il peut être placé sur n'importe quelle E/S libre.
- Les capteurs de fin de courses ou prise d'origine (D2-D3) sont en option, mais je les prévois dès maintenant car ils peuvent s’avérer très utiles selon la machine (entre autre comme stop d'urgence !). Ces deux E/S (D2-D3) sont ce que l'on appelle des interruptions programmables, c.à.d qu'elles agissent en parallèle de toute boucle lancée et sont capables de les arrêter ! Sur l'Arduino Uno il en existe que deux (le Mega en a plus).