Programme Stepduino, ver. intermédiaire avec LCD DFRobot

Programme Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Christian » 22 Mai 2012 22:56

Bonjour Daniel, Frédéric, Pierre(4fun) et tous,
bon, finalement je lance cette version int. directement sur le forum, c'est pas plus mal.

Voici un programme (sketch) intermédiaire pour votre Stepduino avec Lcd DFRobot.
Il correspond au montage dit "Proto 1" > viewtopic.php?f=284&t=10454
(mon système + prog. actuel tourne avec un afficheur LCD I2c + Interface PC sous Processing en développement et cela m'oblige à créer deux versions ... :cry: )
Cette version a été écrite avec l'IDE 1.0 d'Arduino ! (donc attention avec les vieilles librairies)

Il faudra avant tout installer une petite libraire supplémentaire : [Streaming.h], à télécharger ici > http://arduiniana.org/libraries/streaming/
Celle-ci est très peu gourmande (elle consomme rien en fait) et permet entre autre d'écrire des commandes LCD et Print sur une seule ligne.
A installer dans votre répertoire Librairie Arduino.

Vous verrez que l'appui sur les boutons du LCD DFRobot doit être assez bref mais franc !
J'ai nettement moins ce problème avec le mini joystick du Lcd I2C "Le Deuligne" qui me semble bien plus agréable ...
Vous pourrez toutefois régler la temporisation des boutons en début de programme, dans cette ligne :
...
// Temporisation en millisecondes appui boutons : Important dans les menus ! (à régler selon besoin, défaut 100)
const int Const_tempo_boutons = 100;
...

Cette valeur dépend aussi du nombre d'instructions et de leur rapidité dans la boucle principale.

Vérifier aussi la partie "Définition des autres E/S" : L'attribution des broches de vos "périphériques", comme Optocoupleur, Buzzer, etc ..., doivent correspondre !
Nb: Si vous avez installé un buzzer, celui-ci vous indiquera quelques infos importantes, surtout par la suite !


-------------------------------
Programme :

Il y a 3 menus principaux : 1 Réglages - 2 Actions - 3 Led.
A choisir avec les boutons Gauche(G) et Droite(D).
Une fois dans un menu principal, choisir les sous-menus avec les bouton Bas(B) et Haut(H).
Pour rentrer dans un sous-menu, appuyer sur le bouton Select(S), idem pour en sortir !
(une fois un sous-menu sélectionné, vous utiliserez les flèches H et B pour varier une valeur, puis S pour valider ou sortir)
Des petits graphiques aident à la navigation (carré = S)

1) Le menu Réglages :
Il se décompose en sous-menus de cette façon :
- 1: modPas = Multiplicateur de pas, (à utiliser en 16ème de pas, 1x-2x-4x-8x-16x par exemple, autrement en pas entier laisser en principe sur 1x !) [1]
- 2: distPas = Distance ou Foulée
- 3: nbPas = Nombre de foulées
- 4: freqMot = Temporisation moteur en microsecondes (us), ajuste la fréquence moteur, petites valeurs tempo. possible en 16ème de pas, plus grandes valeurs conseillées en pas entier !)
- 5: tempMot = Temporisation moteur en millisecondes (ms) pour mode avance manuel et comptage de foulées (ralenti les foulées de pas)
- 6: delApn = Délais après shoot photo en ms (tempo mémorisation image et/ou recharge de flash)
- 7: stabApn = Délais avant shoot photo en ms (stabilisation du système)
- 8: retAuto= retour automatique après dernier shoot (1=oui, 0=non)
- 8: Save = Sauver les réglages en Eeprom
- 10: Defaut (load) = Charger les réglages par défaut (écrase la dernière sauvegarde Eeprom et injecte les réglages du script)

2) Le menu Actions :
- 1: C-Stack (--x--) = Calibration et lancement stacking auto [2]


3) Le menu Led: (en construction !)
- 1: Reg pwm = 0 (+/-)



[1] Exemple modPas:
Vous avez réglé votre carte moteur en 16ème de pas (microstepping).
Vous avez réglé "ModPas" (le multiplicateur) à 8, vous aurez donc 8 x 1/16ème soit un demi-pas !
Vous avez réglé "distPas" à 10, vous aurez donc des foulées de pas de 10 x 0.5 = 5 pas entiers !
Les avantages du 16ème de pas sont très nombreux, particulièrement son lissage et l'atténuation des vibrations.
(en microstepping, pensez si possible à diminuer la variable "freqMot" ! Sur mon système et en 16ème de pas je règle cette variable à 250 us)

[2] Exemple d'utilisation
en chantier .... voir les deux schémas ci-dessous !

Navigation (Menu Actions/C-Stack) :

principe_stepduino_2.jpg
Exif et Meta MicroCartouche principe_stepduino_2.jpg (65.56 Kio) Vu 14502 fois


Principe (et quelques noms de variable) :

principe_stepduino_1.jpg
Exif et Meta MicroCartouche principe_stepduino_1.jpg (71.67 Kio) Vu 14500 fois


Téléchargement : > http://www.lenaturaliste.net/christian/ ... t_RXTX.zip
(votre répertoire sketchbook Arduino pourrait ressembler à cela : C:\arduino\sketchbook\Stepduino\stepduino_001_DfRobot_RXTX\stepduino_001_DfRobot_RXTX.ino
Rappel : librairie [Streaming.h], à télécharger ici > http://arduiniana.org/libraries/streaming/
Attention : Ne chargez pas votre sketch Arduino avec le moteur sous tension ! (celui-ci va bouger un peu et si votre système est proche d'un point de contact sur l'objectif = danger !)
D'une manière générale, on allume en premier l'Arduino puis seulement ensuite l'alim moteur (pour éteindre on commence par l'alim moteur)
Rappel : Ne JAMAIS débrancher le moteur lorsqu'il est sous tension (magnétisé) !! Risque de destruction du module Pololu !
Après un premier chargement du sketch (ou suite à des modif. de variables), pensez à utiliser le menu "Réglage / Défaut (Load)" afin d'être sûr que l'Eeprom est correctement écrite !

Ajout : Une version avec télécommande IR est disponible plus bas ! ;)
Lien direct > viewtopic.php?f=284&t=11092&start=10#p59786

Bons essais et à votre disposition si questions et/ou suggestions !
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici

Avatar de l’utilisateur
Christian
Coadmin
Coadmin
 
Messages: 4790
Inscription: 28 Aoû 2007 20:54
Localisation: Entre Alpes et Jura
Prénom: Christian

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede pierre4fun » 23 Mai 2012 19:33

Christian

Merci ! Je vais pouvoir tester tes œuvres .

Bon il faudra un peu de patience: je dois tout recabler suite à un faux contact sournois.

Encore une fois tu as fais un travail de pro :o

Il va falloir que tu ouvres ton post sur le site arduino 8-)
Amicalement, Pierre
pierre4fun
membre
membre
 
Messages: 735
Inscription: 28 Oct 2009 20:18
Prénom: Pierre
Skype: pierre4fun

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Christian » 25 Mai 2012 17:44

Merci Pierre pour tes appréciations, merci aussi de t'être proposé comme testeur !
La prochaine étape sera d'automatiser le passage entre calibration (Av Man) et lancement du stack automatique, avec retour arrière auto après la calibration ! *
Pour l'instant il y a une petite perte de précision sur le départ des pas car on libère le moteur entre les opérations, mais il suffit de prévoir une ou deux images de plus (AV-AR) pour être sûr de ne rien perdre.
* Edit: J'arrive au bout : C'est vraiment plus simple et pratique !! (je publie la nouvelle version dès que possible)

Par la suite j'aimerais bien ouvrir un projet open-source comme celui du Photoduino, mais cela fait beaucoup de travail pour un seul homme ...
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici

Avatar de l’utilisateur
Christian
Coadmin
Coadmin
 
Messages: 4790
Inscription: 28 Aoû 2007 20:54
Localisation: Entre Alpes et Jura
Prénom: Christian

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede pierre4fun » 25 Mai 2012 19:40

Christian,


Effectivement l''automatisation "totale" est une évolution qui donnera un confort certain à l'opération!

Pour le site Stepduino, effectivement, surtout s'il faut tout traduire pour mondialisé ton œuvre :lol:
Amicalement, Pierre
pierre4fun
membre
membre
 
Messages: 735
Inscription: 28 Oct 2009 20:18
Prénom: Pierre
Skype: pierre4fun

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Christian » 29 Mai 2012 23:31

Amélioration notable :
Calibration (premier puis dernier point) et lancement auto-stacking dans la foulée, avec retour arrière après le dernier shoot (à la demande selon menu Réglages).
Le moteur reste magnétisé tant que l'on ne sort pas de ce menu ! (plus de pertes de précision, mais attention à la consommation et l'échauffement si oubli de sortir ! ;) )
Je dois encore vérifier la version pour montage LCD DfRobot avant de publier le code.
Edit code envoyé ! (voir adresse dans le premier message)
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici

Avatar de l’utilisateur
Christian
Coadmin
Coadmin
 
Messages: 4790
Inscription: 28 Aoû 2007 20:54
Localisation: Entre Alpes et Jura
Prénom: Christian

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Gilles BILLARD » 30 Mai 2012 07:04

Hello,
Pour améliorer la calibration tout comme pour ceux qui souhaiteraient ne pas passer par un moteur PaP, ne serait-il pas profitable d'insérer un codeur angulaire absolu qcq part dans la chaine de mouvement ?
++



Christian a écrit:Merci Pierre pour tes appréciations, merci aussi de t'être proposé comme testeur !
La prochaine étape sera d'automatiser le passage entre calibration (Av Man) et lancement du stack automatique, avec retour arrière auto après la calibration ! *
Pour l'instant il y a une petite perte de précision sur le départ des pas car on libère le moteur entre les opérations, mais il suffit de prévoir une ou deux images de plus (AV-AR) pour être sûr de ne rien perdre.
* Edit: J'arrive au bout : C'est vraiment plus simple et pratique !! (je publie la nouvelle version dès que possible)

Par la suite j'aimerais bien ouvrir un projet open-source comme celui du Photoduino, mais cela fait beaucoup de travail pour un seul homme ...
J'en ai assez des potentats d'une gauche qui se croit bienpensante et qui conduit notre pays a sa perte.
Gilles BILLARD
membre
membre
 
Messages: 1477
Inscription: 13 Fév 2012 09:03
Prénom: azerty

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Christian » 30 Mai 2012 16:49

J'ai envoyé le nouveau code et mis à jour le premier message. Il me reste encore à expliquer plus précisément le menu calibration + stacking auto.
Ce menu est beaucoup plus pratique qu'avant et fonctionne bien sur mon système.

Pour améliorer la calibration tout comme pour ceux qui souhaiteraient ne pas passer par un moteur PaP, ne serait-il pas profitable d'insérer un codeur angulaire absolu qcq part dans la chaine de mouvement ?

Bonjour Gilles,
Disons que je ne vois pas l'avantage d'un codeur absolu avec un moteur PAP précis ??
Du moment que l'on a entré un point d'origine et que l'on ne démagnétise pas le moteur, c'est quand même très fidèle ! *
(les petites machines CNC fonctionnent sur ce principe)
En plus les codeurs angulaires précis sont très chers et cela compliquerait, il me semble, inutilement le montage ?
Par contre c'est sûr qu'avec un moteur CC, c'est l'idéal ! (mais le Stepduino ne fonctionne pas de cette manière).

* si nécessaire on peut aussi compenser les jeux mécaniques de façon logiciel.
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici

Avatar de l’utilisateur
Christian
Coadmin
Coadmin
 
Messages: 4790
Inscription: 28 Aoû 2007 20:54
Localisation: Entre Alpes et Jura
Prénom: Christian

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Gilles BILLARD » 31 Mai 2012 11:38

Re
Effectivement, le prix d'un codeur reste assez élevé et ca n'existe pas (a ma connaissance, en version low cost, avec une résolution plus faible)
Mais comme je me suis orienté vers une solution a moteur CC... il me faut bien qcq chose qui me donne la position absolue...
Il reste la solution a potentiomtre + CAN....
++
J'en ai assez des potentats d'une gauche qui se croit bienpensante et qui conduit notre pays a sa perte.
Gilles BILLARD
membre
membre
 
Messages: 1477
Inscription: 13 Fév 2012 09:03
Prénom: azerty

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Laurent » 31 Mai 2012 12:10

Gilles BILLARD a écrit:Re
Effectivement, le prix d'un codeur reste assez élevé et ca n'existe pas (a ma connaissance, en version low cost, avec une résolution plus faible)
Mais comme je me suis orienté vers une solution a moteur CC... il me faut bien qcq chose qui me donne la position absolue...
Il reste la solution a potentiomtre + CAN....
++


Ne pense tu pas que l'utilisation d'un moteur pas à pas est de loin plus facile à mettre en œuvre et bien plus précise ?
Le codeur reste très cher et l'utilisation d'un potentiomètre+CAN ne sera pas aussi précise en plus de ne mesurer qu'un nombre fini de tours.
Avatar de l’utilisateur
Laurent
membre
membre
 
Messages: 299
Inscription: 10 Sep 2010 16:10
Localisation: aubagne
Prénom: Laurent

Re: Sketch Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Gilles BILLARD » 31 Mai 2012 12:53

Re
Oui très probablement.
Et comme je passe tj par mon ordi pour faire les prises de vues, je ne passerai probablement pas par une platine intelligente externe.
Si je saute le pas (c'est le cas de le dire), j'utiliserai une platine de Cde de moteurs PaP seule et je passerai par l'ordi pour la partie soft du truc.
Je programme également en Visual Basic (en autres), je pense que ton programme est facilement transposable pour une gestion par PC; le moment venu, on pourra en reparler si tu le veux bien.
++
J'en ai assez des potentats d'une gauche qui se croit bienpensante et qui conduit notre pays a sa perte.
Gilles BILLARD
membre
membre
 
Messages: 1477
Inscription: 13 Fév 2012 09:03
Prénom: azerty

Suivante

Retourner vers Projet StepDuino et autres projets à base d'Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron