Programme Stepduino, ver. intermédiaire avec LCD DFRobot

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

Messagede Christian » 23 Juin 2012 12:05

Re,

Pour Daniel et son montage, voici la version avec télécommande IR. Nous parlions de l'IR ici > viewtopic.php?f=285&t=11101
Il faut modifier deux fichiers de la librairie IRremote sinon les commandes ne se répètent pas ! (très gênant pour nous)
Voir plus bas (j'ai déjà fait la modif dans une archive).

J'ai ajouté aussi une équivalence en microns dans le menu C-Stack (calibration + stack auto)
Il faudra adapter la constante "Const_Equiv_Microns" en début de script en fonction de votre système de guidage. Dans ce code j'ai mis l'équivalence pour un Deltron en 16ème de pas (1/16ème de pas = 0.79375 um).
Le moteur PàP étant un 200 pas entier.

Code: Tout sélectionner
// Equivalence en micron d'un 16ème de pas ! (plus petite unité, 1/16ème de pas = x um)
const double Const_Equiv_Microns = 0.79375 ; // Deltron en microstepping, p.p.u)
// Si travail en pas entier : regler modPas (multPas) sur 1 et indiquer dans la constante
// l'équivalence d'un pas entier en MICRONS (1 pas = x um)


Les décimales sont nombreuses, simplement parce que j'ai fait une division d'un filetage US ! (il n'est pas obligatoire d'en mettre autant !) Il faudra aussi que je vérifie plus strictement si matériellement cela correspond à la réalité et que cela ne ralentisse pas trop le système (variable avec décimales dans les boucles). Le cas échéant, désactivez cette partie !
Je verrai aussi par la suite si cela vaut la peine d'inclure cette équiv. directement dans le menu réglages.

Sur cet écran (Calib + Stack) on peut lire :
10 x 16 = foulées de 10 pas de 16/16ème (= foulée de 10 pas entier)
#1 = première foulée, 127.00 = 127 microns
Donc une foulée ici représente 127 um (0.127 mm). En allant jusqu'au dernier point on connaitra la profondeur de l'objet en microns.

stepduino_-_ecran_c-stack.jpg
Exif et Meta MicroCartouche stepduino_-_ecran_c-stack.jpg (137.99 Kio) Vu 6525 fois


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

Le recépteur IR est à connecter sur la broche D2 (digital 2), brancher aussi +5v et Gnd.
(il est bien sûr possible de changer l'adresse dans le code)
En plus des 5 fonctions de base (H-B-G-D et select, voir flèches en bleu) j'ai ajouté une commande prise de vue directe.
Cette dernière fonctionne à n'importe quel endroit des menus. (cf bouton 0, en vert ici)

C'est cette partie du code qui gère les entrées commande IR :
Vous pouvez adapter la temporisation des appuis dans la ligne delay().
Code: Tout sélectionner
  // Réception IR et attribution boutons
  if (irrecv.decode(&results)) {
    //Serial.println(results.value, HEX); // debug
    // Pour noter en hexa, ajouter "Ox" en début de chaine
    if (results.value == 0xFD8877) lcd_key = btnUP; // bt.2
    if (results.value == 0xFD9867) lcd_key = btnDOWN; // bt.8
    if (results.value == 0xFD28D7) lcd_key = btnLEFT; // bt.4
    if (results.value == 0xFD6897) lcd_key = btnRIGHT; // bt.6
    if (results.value == 0xFDA857) lcd_key = btnSELECT; // bt.5
    // bouton 0 = Take picture (Shoot)
    if (results.value == 0xFD30CF) takePicture();  // bt.0   
    //Serial.println(freeMemory());
    delay(10); // temporisation bouton, à régler selon.
    irrecv.resume(); // Receive the next value
  }


stepduino_-_mini_telecommande_ir_chinoise.jpg
Exif et Meta MicroCartouche stepduino_-_mini_telecommande_ir_chinoise.jpg (106.3 Kio) Vu 6522 fois


On pourait aussi faire un peu plus luxe et dépouillé en utilisant une télécommande Apple ! :D
(il sufit de récupérer les codes de commande)

stepduino_-_mini_telecommande_apple.jpg
Exif et Meta MicroCartouche stepduino_-_mini_telecommande_apple.jpg (30.75 Kio) Vu 6516 fois


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

Librairie IrRemote, Doc et téléchargement > http://www.arcfn.com/2009/08/multi-prot ... brary.html
Librairie déjà modifiée (par votre serviteur) zip > http://www.lenaturaliste.net/christian/ ... remote.zip
(je peux donner les modifs effectuées, elles sont très simples)
Code Stepduino avec IR (sous IDE 1.0 !) zip > http://www.lenaturaliste.net/christian/ ... bot_IR.zip

Nb: Comme pour toutes ces versions, n'oubliez pas après chargement du sketch de faire un "Défaut (Load)" depuis le menu réglage !
Voir aussi : Premier message du sujet.
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: Programme Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Daniel » 23 Juin 2012 18:18

Bonjour,
merci Christian pour la modification. J'ai monté la télécommande pour la tester avec la nouvelle mouture du programme.

j'ai juste du changer un fil sur la sortie D2 qui avait été utilisée par le déclenchement sur optocoupleur dans un essai sur mon montage. Mais ce n'est pas gènant comme je n'ai pas mis en service le déclenchement par cable de l'APN simultanément aux programmes stepduinos.
Toutefois, pour remettre éventuellement le déclencheur de l'apn par optocoupleur, je n'ai pas retrouvé sur le forum de schéma du stepduino . Pourrais tu nous redonner l'adresse s'il y en a un?
Sinon pourrais tu en faire un incorporant la commande infrarouge? en attendant que je reçoive l'écran 2 lignes et ton circuit imprimé.
Ou au moins juste ou remettre les fils de cette partie couplage apn?
(pour l'instant, je n'ai pas du tout cherché à comprendre fonctionnement et programme, je me contente de reproduire les branchements!)

L'usage de la télécommande IR est utile. Cela évite de faire bouger le système arduino que je place sur le pied portant l'appareil photo.
Le boitier de commande acheté est un peu petit à l'usage. Un format télécommande de téléviseur serait plus confortable car plus adapté à des gros doigts.
Cela ajoute aussi une pile CR2025 à l'ensemble et peut être faut il penser à l'enlever entre les usages?

Cette fois ci, tout a fonctionné correctement avec le dernier programme.
J'ai pu utiliser le menu action pour faire avancer ou reculer le moteur.
J'apprécie de pouvoir continuer à utiliser le système avec un mode "manuel", appui pour avance sur la télécommande IR alternant avec appui pour déclenchement sur la télécommande filaire de l'apn.
Il me reste à tester le mode plus automatique.
Mais je ne sais pas si je m'y mettrai (au moins sur le terrain) car s'il faut faire un parcours complet de la profondeur du sujet c'est long et consommateur de pile.

En fait le nombre de pas de déplacement entre les déclenchements est fonction de l'objectif utilisé d'une part pour la profondeur de champ et du type de montage mécanique couplé au moteur. C'est à déterminer une fois pour toute pour les différents systèmes utilisés. Il suffit ensuite de se placer sur le premier plan et de faire des avances/déclenchements jusqu'à arriver au dernier plan du sujet en controlant au viseur ou en live view.

Mais je testerai l'automatisation complète sur alimentation secteur!

PS: à la réflexion et après essais, l'automatisation a du bon, ne serait ce que pour éviter les appuis trop longs sur le bouton d'avance qui obligent à revenir d'un pas avec un risque d'erreur!
Je vais faire une image avec le processus automatique et en déclenchant manuellement lors de chaque intervalle.
En fait, parcourir 2 fois la profondeur n'est pas encore trop consommer d'électricité. Pour l'instant la batterie pour les moteurs n'est pas mon facteur limitant: j'ai mis une batterie boutons 9v rechargeable pour l'arduino et cette dernière dure très peu!
Daniel Nardin
sites: perso, microscopie , plongée Egypte et Réunion, orchidées du Doubs
matériel micro/macro/photo principal: microscopes Olympus BH, stéréomicroscope Nikon SMZ, reflex Nikon (D800 actuellement) +105macro, soufflet... , hybride Olympus EM5 mkII, compact OlympusTG-5 ...
Avatar de l’utilisateur
Daniel
membre
membre
 
Messages: 6108
Inscription: 27 Sep 2007 10:33
Localisation: Privas (Ardèche, France)
Prénom: Daniel

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

Messagede JMP76 » 24 Juin 2012 11:51

Bonjour à tous,

Pour info, j'ai démarré un projet Stepduino bis pour piloter un moteur pas à pas 5 phases en delta. J'ai eu l'agréable/désagréable surprise de trouver cela dans un module Sigma Koki. Agréable car avoir un moteur intégré est super, désagréable car les moteurs delta sont une étude complète à faire.

J'ai lancé cela autour d'un Mega 2560 (pas cher chez DX) +LCD 2 lignes/5 boutons et de 3 interfaces L298. Le soft de Christian tourne sans problème. (sauf la ligne pilotant le backlight du LCD: analogWrite(PinLCDBacklight, Pwm_backlight); // PWM rétro-éclairage. Evidemment je n'ai pas essayé la partie moteur et autre fonction puisque mon poste de travail n'est pas terminé.)

Je donne cette info car le Mega2560 n'est vraiment pas cher <20€, et offre beaucoup d'entrées/sorties supplémentaires. Mais il est plus volumineux.

Cordialement
Microscopie avec des BHS (dia/epi LPA, fluo, DIC, IR, capteurs) et analyses théoriques (FTM, spectro, ...)
Mes photos de voyages, microscopie et relief http://pichotjm.free.fr/Photos/Photos.php
Racine du site: Description des débuts de l'informatique (lampes, tores, Tr, SSI, LSI, ... ) http://pichotjm.free.fr
JMP76
membre
membre
 
Messages: 1386
Inscription: 16 Nov 2011 17:19
Prénom: Jean-Marie

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

Messagede Christian » 24 Juin 2012 14:13

Bonjour Daniel, tous,
Pour profiter pleinement de ce montage il faut évidemment pouvoir piloter l'APN.
Si tu préfères travailler en manuel (cela peut être pratique selon les cas), tu peux utiliser la touche 0 de la télécommande IR ! (= déclenchement APN ;) )
Cela t'évitera d'avoir deux commandes en main !

Pour l'attribution des broches, toujours se référer au début de code, c'est une vérification indispensable à faire !

Code: Tout sélectionner
/************* Définition des broches (pins) du LCD 5 boutons DFRobot  ****************/
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
const int PinLCDBacklight = 10; // broche LCD Backlight

/************* Définition des autres E/S ****************/
// -- Broches DIGITALES --
// PinIR = 2, voir début script, décodeur télécommande IR
// Attention la librairie IR utilise Timer2 et affecte PWM 3 et 11 ! A tester !
const int PinSolarox = 3; // Pin Led de puissance microscope (Solarox) A déplacer si fins de course utilisé
// 4 à 10 = LCD DFrobot
const int PinDir = 11;  // DIR
const int PinStep = 12; // STEP
const int PinEnable = 13; // ENABLE (est partagé avec la Led 13 de l'Arduino !)

// -- Broches ANALOGIQUES --
const int PinBouton = A0; // broche analogique (A0) utisé pour les 5 boutons
// A1 libre
const int PinShoot = 16; // Pin optocoupleur shoot A2 : Pin analogique 2 en digital = 16 !
const int PinBuzzer = 17; // Pin Buzzer A3 : Pin analogique 3 en digital = 17 !
// A2 voir D16
// A3 voir D17
// A4 libre (A4 et A5 à réserver si LCD I2C (2 broches) est employé !)
// A5 libre


Voir aussi :
Stepduino proto 1 (Chris), premier message
viewtopic.php?f=284&t=10454

Pilotage APN par câble et opto
viewtopic.php?f=285&t=10421
Comme signalé dans Proto 1, déplacer l'opto sur A2 !! (déclaré en 16 cf code ci-dessus)

Nb: Mon proto 2 et son circuit viewtopic.php?f=284&t=11185 attribue les broches d'une toute autre façon !
(écran I2C deux broches, donc plus d'E/S libres et de fonctions disponibles)


Ah oui ... Alimentation unique (sur accu Lithium) :D > viewtopic.php?f=284&t=10454#p53179
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: Programme Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede Christian » 24 Juin 2012 14:39

Bonjour Jean-Marie,
Oui l'Arduino Mega possède bien plus d'E/S, mais aussi de timers, etc ...
Nous sommes partis en fait sur le Uno, peu cher et très compact et finalement suffisant pour ce projet, surtout avec un écran I2C.
Où as-tu trouvé un Mega à < de 20 euros ? Je vois plutôt des prix oscillant autour des 35 euros ?
A signaler aussi une série de très bons clones, bien pensés et pas chers ! > http://www.olimex.com/dev/index.html
Voir par exemple le "OLIMEXINO-32U4", clone Leonardo ou "OLIMEXINO-328" clone Uno avec possibilité de recharge batterie incluse !
(ils sont en plus signalés comme étant de qualité/fiabilité niv. industriel, ce qui n'est pas le cas des versions officielles)

Pour ton montage, je serais très intéressé de voir ce module Sigma Koki, as-tu un lien ?

Ps: J'espère que l'on ne casse pas trop les pieds aux naturalistes non bidouilleurs en programmation/électronique ?! :? :D
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: Programme Stepduino, ver. intermédiaire avec LCD DFRobot

Messagede JMP76 » 24 Juin 2012 19:26

Bonjour Christian,

Comme indiqué DX =DealExtreme ;-)
http://www.dealextreme.com/p/arduino-me ... 047?item=4 19€ port inclus!
J'ai attendu plus de 4 semaines. A ce prix c'est vraiment intéressant car sans limite de ressources (E/S, analog... etc) disons pour un projet déjà ambitieux. Mais bon cela reste de la petite électronique... suffisante pour ce genre de projet. On le trouve aussi pour 65$ ailleurs!!!
La qualité me parait belle. (oeil d'expert)

Sigma Koki: je fais un dossier complet sur ce sujet, mais cela reste pour l'instant dans une zone privée. Je préfère ne publier que lorsque le projet sera mené à terme. (Sauf si qq1 désire faire le même projet. Dis-moi si cela t'intéresse.)
Je suspecte que ce module est utilisé dans les industries micro électroniques. Précision au micron.
C'est le modèle http://cgi.ebay.fr/Sigma-Koki-SGSP60-10 ... 2153wt_855 que j'ai eu pour moins cher que cela (car il n'avait plus de capot)
J'ai traité avec ce vendeur, et la livraison a été trop rapide (commande au départ de petites vacances de 8 j. J'espérais recevoir cela dans les 10-15 jours et cela été reçu pendant mes vacances donc au bout de 5 à 6 jours. Très bel emballage)

Il y a une molette qui permet un usage manuel. Cela m'a permis de faire des séries de photos tout à fait convaincantes. Mais il me reste à faire l'automatisation pour tout simplifier.

J'ai récupéré tous les plans et informations diverses (méca, moteur, prise, ...)


JMP
Microscopie avec des BHS (dia/epi LPA, fluo, DIC, IR, capteurs) et analyses théoriques (FTM, spectro, ...)
Mes photos de voyages, microscopie et relief http://pichotjm.free.fr/Photos/Photos.php
Racine du site: Description des débuts de l'informatique (lampes, tores, Tr, SSI, LSI, ... ) http://pichotjm.free.fr
JMP76
membre
membre
 
Messages: 1386
Inscription: 16 Nov 2011 17:19
Prénom: Jean-Marie

Précédente

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

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités