Drawall - Le robot qui dessine

J'ai le grand plaisir de vous présenter mon 1er projet arduino.
Il s'agit d'un robot qui permet de dessiner sur une feuille de papier accrochée à un mur.

Il est composé de 2 moteurs pas à pas, un servo-moteur et un shield carte micro-SD fait maison.

Les 2 moteurs tirent une chaîne sur laquelle est fixée un module.

Sur ce module est fixé un stylo et le servo-moteur qui va éloigner ou non l'éloigner de la paroi afin de contrôler l'écriture.

La taille du dessin n'est limitée que par la longueur de la chaîne (on peut lui faire dessiner des affiches de 2m de large :slight_smile: ).
Le programme lit une image svg présente sur la carte mémoire et la reproduit telle-quelle.
Bien sur il est totalement autonome (le câble usb qu'on peut voir sur la vidéo ne sert que pour l'alimentation).

En connectant la carte au PC, on peut exécuter un simulateur (sous Processing) qui va reproduire les mouvements du robot à l'écran.
Très partique, il permet par exemple de corriger des bugs sans tester pour de vrai avec le robot (et gagner beaucoup de temps :wink: )


En haut le dessin .svg, en bas le simulateur, qui reproduit les défaut que fera le robot.

Une vidéo du robot en action (vitesse *4)

Enjoy!

L'ensemble du projet fait environ 1500 lignes de codes.

Je mettrais régulièrement le post à jour pour faire quelques ajouts et vous tenir informé des améliorations.

N'hésitez pas a poser vos questions ou remarques!

Youplop

youplop:
J'ai le grand plaisir de vous présenter mon 1er projet arduino.
Il s'agit d'un robot qui permet de dessiner sur une feuille de papier accrochée à un mur.
...

N'hésitez pas a poser vos questions ou remarques!

Youplop

Bonsoir
J'adore ce genre de truc :grin:
et tu a bien raison de poster le resultat
les lettres semblent bien détaillées sur la video
tu estime à combien la vitesse d’écriture en mm/" ?

Tu prends en compte la flèche de la chaine ?

tu estime à combien la vitesse d’écriture?

À vu d'oeil je dirais 1cm/sec, je ferais un calcul précis ce we (je n'ai pas mon robot sous la main en semaine).

Tu prends en compte la flèche de la chaine ?

Heu? Pourrais-tu détailler?
Je ne prends en compte que l'écartement des 2 moteurs.

Suivant la longueur du brin de chaine, il y a plus ou moins de flèche, ce qui influence la position du stylo, cela est-il prit en compte ?

C'est vrai surtout quand le stylo est en haut avec les chaines très horizontales (ou juste presque horizontales)
En position basse, la flêche doit être négligeable.

Je ne sais pas ce qu'est la flèche en mécanique.
Cela influence de quelle manière la position du stylo?

C'est vrai surtout quand le stylo est en haut avec les chaines très horizontales (ou juste presque horizontales)
En position basse, la flêche doit être négligeable.

Quand les chaînes tendent vers l'horizontal, le robot est moins précis car le module est tiré aux 2 extrémités (comme si on l'écartelais comme un barbare ^^). Je ne peux pas corriger ce problème, par contre je m'arrange pour ne jamais avoir ce phénomène en laissant un espace négligeable entre le haut de la feuille et les moteurs (ici 30cm).

J'ai également programmé un simulateur sous Processing, qui permet de ne pas faire les tests réels (avec le robot) à chaque fois, ce qui me permet de dissocier les problèmes matériel et logiciel, et d'anticiper ces derniers.

Youp.

Flèche = flexion

Flèche = flexion

Oui, je vois ce que c'est genre pour une poutre, mais dans le contexte je comprends pas.

Tu prends une ficelle avec un poids attaché (fixe) au milieu, ta ficelle ne va pas décrire deux lignes droites, mais deux courbes.... cela est du au poids de la ficelle elle même.
Plus le brin est long et horizontal et plus cette flèche va être prononcée.
Plus la ficelle est verticale et moins elle est prononcée.

Ah ok, merci!
Et bien non, je n'en tiens pas compte.
Il y a une formule pour calculer la calculer la flèche, c'est en fonction du poids de la flèche, celui de l'objet et la longueur des chaîne?
Enfin c'est peut-être négligeable pour les distances que j'utilise pour l'instant, mais j'essaierais d'en tenir compte.

Youp.

Très sympa ce projet un grand bravo :slight_smile:

Skizo !

Salut, juste une question...

Tu utilises un format particulier de dialogue dans ta liaison série ou des commandes persos inventées pour l'occasion?

Je pose la question car je vais certainement récupérer une machine à découper le vinyl adhésif en panne, et d'après le peu d'infos que j'ai eues, toute la partie puissance et méca (alim et moteurs quoi) est bonne (la machine fait 1m50 de large et vaut dans les 4000€ neuve, ce serait dommage de la laisser partir si vite à la poubelle!). Donc dans le pire des cas, je pourrais certainement remplacer la "carte mère" par un arduino qui interprète le format HPGL (standard de ce genre de machine) et commande les trois moteurs (X,Y du charriot et plume). Le truc est de savoir comment toi tu travailles (pour info) et si c'est réalisable de mon côté... (d'autres l'ont fait, mais en anglais, la flemme de traduire)

Hello,

C'est vraiment le truc que je dois avoir, c'est super bien, bravo. Mais je n'en suis pas encore la. Je viens de recevoir ma carte Arduino duemilanove AT méga 328 et je n'ai encore rien fait avec sinon l'essayer avec quelques programmes démo.

@+

Pourrais tu mettre la video ailleurs que sur Google car je n'ai aucun compte Google et je ne souhaite pas en ouvrir un.

JLB

La video est visible sans compte google.

C'est une très belle idée. Ça fait un plotter très bon marché! J'ai bien envie d'essayer.
Pour évaluer l'erreur liée à la flèche des chaînes, le plus simple serait de tracer deux lignes horizontales, en haut et en bas de la "feuille" et mesurer la flèche. Ça pourrait d'ailleurs permettre de créer des tables de corrections, par ce que que ne me vois pas jouer avec des sinus hyperboliques sur l'arduino.
Je me demande aussi si on a pas un risque de de balancement. Aurais tu constaté quelque chose? Est-ce que tu contrôles les accélérations/ralentissements?
Merci de nous avoir fait profiter de cette belle expérience.

slt
joli robot et amusant

pourrais tu publier le code source ou tu preferes le garder pour toi ( ce que je peux comprendre )

comment a tu fais pour traduire le .svg en tracé a suivre ? puis en coordonnée xy ?

a tu utilisé des librairies toute faite ou fait tout toi meme ?

je débute avec arduino et je voudrais faire un robot qui avec des moteurs pas a pas.

Bravo pour cet exemple !

Pour éviter le balancement éventuel de ta plume/chariot peut-être serait-il judicieux d'accrocher un câble qui tire vers le bas avec un point de passage entre 2 poulies à gorge montées sur roulements et fixées en bas au milieu de la zone de travail et un poids suspendu à ce câble.

Ton chariot serait ainsi en tension sur 3 points et sur 3 points on fait passer un plan et un seul, c'est bien connu !...

Cela limiterait aussi les problèmes de flèche sur ta chaine et sans doute te permettrait de travailler avec une orientation différente de la verticale.

Enfin ce n'est que mon avis !

Superbe ! J'adore !