[Projet] Porte-outil à correction automatique de trajectoire
Posté : jeu. 22 sept. 2016 22:55
Bonjour,
voila, vite faite, ma feuille de route :
L'idée est de créer une plateforme supportant un outil (un stylo pour commencer) l'utilisateur déplace cette plateforme et un mécanisme interne corrige la trajectoire de l'outil pour qu'il suive précisément un chemin prédéfini.
Ce principe est mis en œuvre dans la machine Shaper (1)
Sauf qu'ils ont bâti leur système sur ce qui me semble être une usine à gaz : une caméra qui détecte des motifs imprimés sur un scotch propriétaire dont il faut recouvrir la surface de travail.
1ère étape, les capteurs :
Je part dans l’expérimentation pour remplacer la caméra par des capteurs de souris optiques (2) branchés sur un arduino (3).
Il faut minimum 2 capteurs car il faut connaître la rotation de la plateforme.
Le câblage du capteur nécessite sa déconnexion d'avec le reste du circuit de la souris, comme je pense réutiliser les boutons et la roulette j'espère que ça ne va pas mettre le contrôleur en panique et qu'il va continuer à m'envoyer les clics par l'USB. (Sinon je recâblerais les boutons directement sur les GPIO)
J'ai fait le choix de l'arduino plutôt que l'utilisation des GPIO du Raspberry à cause de la latence, l'arduino gérera directement les capteurs et les moteurs en suivant des points de contrôle qui seront eux envoyés par le Raspberry (5).
A faire :
- le câblage
- le programme Arduino qui calcul le déplacement et la rotation relatifs
2éme étape : Le mécanisme.
Le système à came et manivelle de la machine Shaper (4) me plaît bien, ça a l'air plus solide et rigide que des glissières.
Il faut résoudre le problème géométrique des angles des moteurs en fonction de la position (x,y) de l'outil.
A faire :
- Dessiner le mécanisme
- Découper les pièces
- Acheter des moteurs et leur pilote
- Assembler
- Câbler sur l'arduino
3éme étape : le logiciel "temps réel".
Écrire le logiciel "temps réel" de l'arduino qui va repositionner l'outil en fonction des déplacements de l'utilisateur.
Il va recevoir en entrée la position à atteindre (l’extrémité du segment que l'on est en train de tracer).
Le calcul à effectuer : trouver le point du segment le plus proche de la position actuelle de l'outil et en déduire les angles que les moteurs doivent prendre.
L'arduino renvoi au raspberry la position utilisateur, de manière à ce que celui-ci puisse rectifier sa trajectoire par retour d'info sur l'écran.
4ème étape : l'interface utilisateur.
Utilisation des boutons d'une des souris comme actionneurs, soit directement les clic via USB, soit par les GPIO.
Affichage sur un petit écran. Il n'y aura pas de curseur souris, je ne veux pas d'écran tactile car ça sera à terme utilisé en atelier. Donc juste des menus avec roulette et clic central de la souris et valider/annuler avec les deux boutons.
A faire :
- Conception et réalisation du logiciel.
- Trouver l’écran qui va bien
5éme étape, Assemblage :
Intégration des cartes et de l’écran sur la plateforme.
Modifications de la plateforme pour avoir une ergonomie correcte.
6éme étape :
Réalisation d'un axe Z, remplacement du crayon par une défonceuse.
NB :
Réfléchir à la possibilité de créer les chemins directement avec la machine : on la déplace où on veut, on clic pour choisir ce point comme référence. On choisi une fonction dans un menu, par exemple un cercle, on valide et hop c'est parti. Il faudra peut être ajouter un pointeur laser pour positionner précisément.
Doc :
(1) Présentation de la machine Shaper par hackaday : http://hackaday.com/2016/08/25/hands-on ... -we-build/
(2) Hack du capteur A5020 de Avago, présent entre autre dans les souris Logitech RX250 : http://www.wildcircuits.com/2013/03/opt ... cking.html
(3) Bibliothèque pour récupérer les infos du capteur : https://penti.org/~alx/projects/ADNS-5020-EN/
(4) Animation du mécanisme de la machine Shaper : https://hackadaycom.files.wordpress.com ... =800&h=668
(5) Tuto sur la communication Arduino<->Raspberry http://electroniqueamateur.blogspot.fr/ ... berry.html
voila, vite faite, ma feuille de route :
L'idée est de créer une plateforme supportant un outil (un stylo pour commencer) l'utilisateur déplace cette plateforme et un mécanisme interne corrige la trajectoire de l'outil pour qu'il suive précisément un chemin prédéfini.
Ce principe est mis en œuvre dans la machine Shaper (1)
Sauf qu'ils ont bâti leur système sur ce qui me semble être une usine à gaz : une caméra qui détecte des motifs imprimés sur un scotch propriétaire dont il faut recouvrir la surface de travail.
1ère étape, les capteurs :
Je part dans l’expérimentation pour remplacer la caméra par des capteurs de souris optiques (2) branchés sur un arduino (3).
Il faut minimum 2 capteurs car il faut connaître la rotation de la plateforme.
Le câblage du capteur nécessite sa déconnexion d'avec le reste du circuit de la souris, comme je pense réutiliser les boutons et la roulette j'espère que ça ne va pas mettre le contrôleur en panique et qu'il va continuer à m'envoyer les clics par l'USB. (Sinon je recâblerais les boutons directement sur les GPIO)
J'ai fait le choix de l'arduino plutôt que l'utilisation des GPIO du Raspberry à cause de la latence, l'arduino gérera directement les capteurs et les moteurs en suivant des points de contrôle qui seront eux envoyés par le Raspberry (5).
A faire :
- le câblage
- le programme Arduino qui calcul le déplacement et la rotation relatifs
2éme étape : Le mécanisme.
Le système à came et manivelle de la machine Shaper (4) me plaît bien, ça a l'air plus solide et rigide que des glissières.
Il faut résoudre le problème géométrique des angles des moteurs en fonction de la position (x,y) de l'outil.
A faire :
- Dessiner le mécanisme
- Découper les pièces
- Acheter des moteurs et leur pilote
- Assembler
- Câbler sur l'arduino
3éme étape : le logiciel "temps réel".
Écrire le logiciel "temps réel" de l'arduino qui va repositionner l'outil en fonction des déplacements de l'utilisateur.
Il va recevoir en entrée la position à atteindre (l’extrémité du segment que l'on est en train de tracer).
Le calcul à effectuer : trouver le point du segment le plus proche de la position actuelle de l'outil et en déduire les angles que les moteurs doivent prendre.
L'arduino renvoi au raspberry la position utilisateur, de manière à ce que celui-ci puisse rectifier sa trajectoire par retour d'info sur l'écran.
4ème étape : l'interface utilisateur.
Utilisation des boutons d'une des souris comme actionneurs, soit directement les clic via USB, soit par les GPIO.
Affichage sur un petit écran. Il n'y aura pas de curseur souris, je ne veux pas d'écran tactile car ça sera à terme utilisé en atelier. Donc juste des menus avec roulette et clic central de la souris et valider/annuler avec les deux boutons.
A faire :
- Conception et réalisation du logiciel.
- Trouver l’écran qui va bien
5éme étape, Assemblage :
Intégration des cartes et de l’écran sur la plateforme.
Modifications de la plateforme pour avoir une ergonomie correcte.
6éme étape :
Réalisation d'un axe Z, remplacement du crayon par une défonceuse.
NB :
Réfléchir à la possibilité de créer les chemins directement avec la machine : on la déplace où on veut, on clic pour choisir ce point comme référence. On choisi une fonction dans un menu, par exemple un cercle, on valide et hop c'est parti. Il faudra peut être ajouter un pointeur laser pour positionner précisément.
Doc :
(1) Présentation de la machine Shaper par hackaday : http://hackaday.com/2016/08/25/hands-on ... -we-build/
(2) Hack du capteur A5020 de Avago, présent entre autre dans les souris Logitech RX250 : http://www.wildcircuits.com/2013/03/opt ... cking.html
(3) Bibliothèque pour récupérer les infos du capteur : https://penti.org/~alx/projects/ADNS-5020-EN/
(4) Animation du mécanisme de la machine Shaper : https://hackadaycom.files.wordpress.com ... =800&h=668
(5) Tuto sur la communication Arduino<->Raspberry http://electroniqueamateur.blogspot.fr/ ... berry.html