« IllustraBot2 » : différence entre les versions

De Kernel Fablab Lannion
Ligne 20 : Ligne 20 :
* un smartphone 4G : don Alcatel-Lucent
* un smartphone 4G : don Alcatel-Lucent


=== TODO Bras ===
* [https://github.com/fablab-lannion/IllustraBot2/blob/master/DOC/bras_illustration.pdf?raw=true schéma robot]
* reverser la carte de détection : claude, nico
 
**  '''ATTENTION''' inverser les fils noirs et rouges
=== TODO ===
* remonter ce qui peut l'etre
* commande drivers : Urgent => Jerome, cedric
* tester voir remplacer moteur bras
* tester les moteurs :jerome, claude , nico, ...
** etat des moteurs ( numéro en fonction connectique - connectique à 4 fils pour tous les moteurs )
*** moteur 1 : axe vertical  - OK
*** moteur 2 : épaule : 8 fils couplage en 2x2 - défectueux => nécessite une inspection des bobines 1 par 1
*** moteur 3 : coude : 8 fils couplage en 2x2 - OK
*** moteur 4 : rotation main gauche - OK
*** moteur 5 : rotation main droit - OK
*** moteur 6 : fermeture main - OK
** NB : attention les moteurs de la pince 5-6 et 4-6 doivent fonctionner ensemble pour garder l'ouverture constante....
* designer carte de connexion : jerome
** voir carte controle moteur de la fraisseuse CNC
* regarder IO beaglebone black : ??
* mettre au propre le [https://github.com/fablab-lannion/IllustraBot2/blob/master/DOC/bras_illustration.pdf?raw=true schéma robot] : claude, OK
* commande de 2+ drivers moteurs
* classeur de documentation : jerome
* classeur de documentation : jerome
* taper alu: cedric
* taper alu: cedric
== ETAT MOTEURS ==
* etat des moteurs ( numéro en fonction connectique - connectique à 4 fils pour tous les moteurs )
** moteur 1 : axe vertical  - OK
** moteur 2 : épaule : 8 fils couplage en 2x2 - défectueux ?
** moteur 3 : coude : 8 fils couplage en 2x2 - OK
** moteur 4 : rotation main gauche - OK
** moteur 5 : rotation main droit - OK
** moteur 6 : fermeture main - OK
** NB : attention les moteurs de la pince 5-6 et 4-6 doivent fonctionner ensemble pour garder l'ouverture constante....
=== TODO ===
* test moteur 2 : bobines semble OK - hypothèse courant insuffisant avec utilisation easy driver.
** on dispose 2 moteurs supplémentaire identique (à tester). Pour un démontage éventuel, il y aura un écrou qui est inaccessible ( derrière poulie )
== CARTE DETECTION ==
la carte fonctionne parfaitement. préparation connectique en cours.
* schéma sur github
* adaptation 5V => 3.3V:
** proposition avec transistor NPN + led. Permettra d'avoir un visuelle et correspondance sur GPIO.
NB: inversion fils rouge(+5V) / noir (GND) fait
== CARTE DE CONNECTION ==
la carte aura le cahier des charges suivant :
* connectique pour l'emplacement beagle bone
* 6 drivers popolu A4988 ( TBC) avec connectiques externes
* 6 entrées avec adaptation 5V->3.3V
* 3 alimentations ( 5V/3.3 V/ 12 volts ou plus)
=== TODO  ===
* schema action : nico
* liste composant : nico, claude, jerome
* voir carte controle moteur de la fraisseuse CNC
* regarder IO beaglebone :


== Logiciel ==
== Logiciel ==

Version du 30 janvier 2014 à 11:26

20140106 125232.jpg

Il revient et il a plus de dents !!

Présentation

Concept.svg

Un an après IllustraBot, les Bell Labs relancent une expérimentation 4G. Il est temps de le faire évoluer !

Cette fois, l'idée générale est de commander un bras robotisé à l'aide des mouvements d'un téléphone.

Architecture

Archi.png

Matériel

  • un bras robotisé : don du Lycée Le Dantec
  • une beagleboard / clef+sim 4G : don des Bell Labs
  • 6 drivers moteur pas à pas : (au moins 2) à acheter
  • un smartphone 4G : don Alcatel-Lucent

TODO

  • commande drivers : Urgent => Jerome, cedric
  • classeur de documentation : jerome
  • taper alu: cedric


ETAT MOTEURS

  • etat des moteurs ( numéro en fonction connectique - connectique à 4 fils pour tous les moteurs )
    • moteur 1 : axe vertical - OK
    • moteur 2 : épaule : 8 fils couplage en 2x2 - défectueux ?
    • moteur 3 : coude : 8 fils couplage en 2x2 - OK
    • moteur 4 : rotation main gauche - OK
    • moteur 5 : rotation main droit - OK
    • moteur 6 : fermeture main - OK
    • NB : attention les moteurs de la pince 5-6 et 4-6 doivent fonctionner ensemble pour garder l'ouverture constante....

TODO

  • test moteur 2 : bobines semble OK - hypothèse courant insuffisant avec utilisation easy driver.
    • on dispose 2 moteurs supplémentaire identique (à tester). Pour un démontage éventuel, il y aura un écrou qui est inaccessible ( derrière poulie )

CARTE DETECTION

la carte fonctionne parfaitement. préparation connectique en cours.

  • schéma sur github
  • adaptation 5V => 3.3V:
    • proposition avec transistor NPN + led. Permettra d'avoir un visuelle et correspondance sur GPIO.

NB: inversion fils rouge(+5V) / noir (GND) fait

CARTE DE CONNECTION

la carte aura le cahier des charges suivant :

  • connectique pour l'emplacement beagle bone
  • 6 drivers popolu A4988 ( TBC) avec connectiques externes
  • 6 entrées avec adaptation 5V->3.3V
  • 3 alimentations ( 5V/3.3 V/ 12 volts ou plus)

TODO

  • schema action : nico
  • liste composant : nico, claude, jerome
  • voir carte controle moteur de la fraisseuse CNC
  • regarder IO beaglebone :

Logiciel

Commande du bras

3 axes de commande avec le gyroscope :

Exemples :

TODO

  • Cedric: [ANDROID] repartir du projet Illustrabot 1er du nom, et intégrer la détection des capteurs gyro avec conversion en gcode ( commande Gcode à définir avec l'équipe beagleboard)
  • préparer forge logicielle : jerome, OK
  • définir protocole de communication : Jérôme, en cours IllustraBot2:protocole
  • Étudier une solution basée sur LinuxCNC : FX

Code source

kernel 3.8.x

Les pins des connecteurs P8 et P9 peuvent avoir plusieurs fonctions : on parle de mode. Cela est configuré via un mux.

Avec les kernel 3.8.x la configuration de ce mux a drastiquement changé (pour unifier tous les arm). Il faut maintenant utiliser des Device Tree Overlay (dto).

Quelques liens très utiles :

Le package debian device-tree-compiler n'est pas bon voir ici

wget -c https://raw.github.com/RobertCNelson/tools/master/pkgs/dtc.sh
chmod +x dtc.sh
./dtc.sh

Voici un petit aide mémoire des commandes à passer pour appliquer un device tree overlay :

export SLOTS=/sys/devices/bone_capemgr.9/slots
export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
export PINMUX=/sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins
dtc -O dtb -o motor_test-1-00A0.dtbo -b 0 -@ motor_test-1.dts # compiler le fichier source
cp motor_test-1-00A0.dtbo /lib/firmware/ # copier vers le répertoire de firmware
echo motor_test-1 > $SLOTS # appliquer l'overlay
cat $SLOTS # vérifier son application
 ...
 8: ff:P-O-L Override Board Name,00A0,Override Manuf,motor_test-1
egrep "830|834" $PINS # vérifier le mode des pins
 pin 12 (44e10830) 00000007 pinctrl-single 
 pin 13 (44e10834) 00000007 pinctrl-single
egrep "830|834" $PINMUX # vérifier la réservation des pins
 pin 12 (44e10830): helper.15 (GPIO UNCLAIMED) function pinmux_motor group pinmux_motor
 pin 13 (44e10834): helper.15 (GPIO UNCLAIMED) function pinmux_motor group pinmux_motor
echo -8 > $SLOTS # remove overlay

Évolutions possibles

  • Docteur maboule ?
  • construction 3D -> maison pour les enfants : comme ça

Bilbiographie / documentation

Médias

Vidéos

Photos

Participants

Non exhaustif :

  • Jérôme
  • Claude
  • Fx
  • David
  • Cédric
  • Julien
  • Nicolas
  • Raoul