Table des matières:

Le PrintBot : 6 étapes (avec photos)
Le PrintBot : 6 étapes (avec photos)

Vidéo: Le PrintBot : 6 étapes (avec photos)

Vidéo: Le PrintBot : 6 étapes (avec photos)
Vidéo: PrintBot : les robots éducatifs pour enfants… et leurs parents 2024, Novembre
Anonim
Le Bot d'impression
Le Bot d'impression
Le Bot d'impression
Le Bot d'impression

Le PrintBot est une imprimante matricielle montée sur iRobotCreate. Le PrintBot imprime à l'aide de poudre de talc sur n'importe quelle surface de sol. L'utilisation du robot pour la base permet au robot d'imprimer une taille pratiquement illimitée. Pensez aux terrains de football ou aux terrains de basket. Peut-être que les rivaux devraient être à l'affût d'un essaim de ces week-ends de Thanksgiving l'année prochaine. le robot permet également la mobilité de l'imprimante, lui permettant de se rendre à un endroit pour imprimer, puis de passer à un autre. Le sans fil est inclus, donc le contrôle à distance est également possible. L'art et la publicité sur les trottoirs constituent également un marché cible pour cet appareil.

Étape 1: IRobot Créer

IRobot Créer
IRobot Créer
IRobot Créer
IRobot Créer

L'iRobot Create est très similaire au Roomba d'iRobot, mais sans le vide interne. Cela nous permet d'ajouter une plus grande charge utile et nous donne des trous de montage pratiques. iRobot fournit également une interface de programmation complète à Create qui rend le contrôle du robot très simple. L'interface est un simple ensemble de commandes et de paramètres envoyés en série au robot. Lisez les spécifications de l'interface ouverte pour plus d'informations. Pour notre utilisation simple, nous n'avons eu besoin que de quelques commandes. Lors de l'initialisation, la commande 128 doit être envoyée pour dire au robot de commencer à accepter le contrôle externe. Ensuite, un mode doit être sélectionné. Pour un contrôle total, nous envoyons la commande 132 au fichier Create. Notez que vous devez envoyer toutes les données à Create sous forme d'entiers, et non de texte ascii normal. Chaque opcode de commande est un octet, la valeur de cet octet est la valeur entière 128 ou autre. Si vous deviez transmettre en texte ascii ou ansi, chaque caractère de 128 serait un octet. Pour les tests ou le contrôle via PC, nous recommandons Realterm car il rend tout très simple. Vous devrez également définir le débit en bauds sur 57600 comme indiqué dans la documentation de l'interface ouverte. Maintenant que Create est initialisé, nous utilisons la commande 137 pour faire avancer le robot. Distance d'attente, 156 est utilisé pour arrêter le robot après une distance spécifiée. Les commandes de script 152 et 153 rassemblent tout et créent un script simple qui peut être exécuté encore et encore. iRobot vend ce qu'ils appellent le module de commande qui est essentiellement un microcontrôleur programmable et quelques ports série que vous pouvez utiliser pour contrôler votre Create.. Au lieu de cela, nous avons utilisé un système sur puce programmable Cypress (PSoC) combiné à un très petit PC x86 appelé eBox 2300. Le robot a une batterie de 18 V que nous utiliserons pour alimenter tous nos périphériques.

Étape 2: Démontage de l'imprimante et contrôle du moteur

Démontage de l'imprimante et contrôle du moteur
Démontage de l'imprimante et contrôle du moteur
Démontage de l'imprimante et contrôle du moteur
Démontage de l'imprimante et contrôle du moteur
Démontage de l'imprimante et contrôle du moteur
Démontage de l'imprimante et contrôle du moteur

Nous avons utilisé une ancienne imprimante à jet d'encre Epson pour le mouvement horizontal de l'imprimante et l'ensemble de montage de la tête d'impression. La première chose à faire ici était de démonter soigneusement l'imprimante. Cela nécessitait de retirer tous les composants non essentiels jusqu'à ce qu'il ne reste plus que l'ensemble de chenilles, le moteur, le support de tête d'impression et la courroie d'entraînement. Attention à ne pas casser cette courroie ou son moteur d'entraînement. Il peut également être plus facile de fouiller avec un voltmètre avant de déchirer toutes les cartes d'alimentation, mais nous étions un peu trop excités pour cela. Notez que vous n'avez pas besoin de l'ensemble d'alimentation de page, des têtes d'impression ou des cartouches réelles, ni de cartes de circuits imprimés. Une fois que tout est démonté, nous devons trouver comment piloter ce moteur. Comme nous avons tout démonté avant de tester quoi que ce soit, nous devions trouver la tension appropriée pour alimenter le moteur. Vous pouvez essayer de trouver les spécifications du moteur en ligne si vous pouvez trouver un numéro de modèle, mais à défaut, connectez-le à une alimentation CC et augmentez lentement la tension du moteur. Nous avons eu de la chance et avons découvert que notre moteur pouvait fonctionner sur 12-42V, mais pour être sûr, nous l'avons testé manuellement comme décrit. Nous avons rapidement découvert que même à 12 V, le moteur tournerait beaucoup trop vite. La solution ici est d'utiliser la modulation de largeur d'impulsion (PWM). Fondamentalement, cela allume et éteint le moteur très rapidement pour faire tourner le moteur à une vitesse plus lente. Notre batterie fournit 18 V, donc pour vous faciliter la vie, nous ferons fonctionner le moteur de la même manière. Lorsque vous utilisez des moteurs à courant continu qui doivent s'inverser dans les circuits, vous rencontrerez un contre-courant important dans votre circuit lors de l'inversion du moteur. Essentiellement, votre moteur agit comme un générateur pendant qu'il s'arrête et s'inverse. Pour protéger votre contrôleur de cela, vous pouvez utiliser ce qu'on appelle un H-Bridge. Il s'agit essentiellement de 4 transistors arrangés en forme de H. Nous avons utilisé un produit d'Acroname. Assurez-vous que le pilote que vous choisissez peut gérer le courant nécessaire à votre moteur. Notre moteur était conçu pour 1A en continu, le contrôleur 3A offrait donc beaucoup d'espace pour la tête. Cette carte nous permet également de contrôler la direction du moteur simplement en pilotant une entrée haute ou basse ainsi que de freiner (arrêter le moteur et le maintenir en position) de la même manière.

Étape 3: La tête d'impression

La tête d'impression
La tête d'impression

Une grande partie de l'ensemble de tête d'impression d'origine qui aurait pu être retirée. Nous nous sommes retrouvés avec une boîte en plastique qui permettait de fixer facilement notre tête d'impression. Un petit moteur 5V DC a été fixé avec un foret. Le foret a été choisi pour avoir le même diamètre que possible comme un entonnoir. Cela permettra à la perceuse de remplir toute la sortie de l'entonnoir. Lorsque le foret tourne, la poudre pénètre dans les rainures et fait pivoter le foret vers la sortie. En tournant le bit d'une rotation, nous pourrions créer un pixel de taille constante. Un réglage minutieux sera nécessaire pour que tout s'adapte parfaitement. Au départ, nous avons eu des problèmes avec la poudre qui pulvérisait simplement partout, mais en ajoutant un deuxième entonnoir et en soulevant le foret, la chute plus longue alors qu'elle était contrainte à l'entonnoir faisait un pixel propre.

Comme ce moteur ne doit être commandé qu'en marche ou en arrêt, un pont en H n'était pas nécessaire ici. Au lieu de cela, nous avons utilisé un simple transistor en série avec la connexion à la terre du moteur. La grille du transistor était contrôlée par une sortie numérique de notre microcontrôleur, de la même manière que les entrées numériques du pont en H. Le petit PCB à côté du moteur à courant continu est un capteur infrarouge noir et blanc. Cette carte émet simplement un signal numérique haut ou bas lorsque le capteur voit respectivement du noir ou du blanc. Combiné avec la bande d'encodeur noir et blanc nous permet de connaître la position de la tête d'impression à tout moment en comptant les transitions noir à blanc.

Étape 4: Le microcontrôleur

Le microcontrôleur
Le microcontrôleur

Le Cypress PSoC intègre tous les composants matériels séparés. Une carte de développement Cypress a fourni une interface simple pour travailler avec le PSoC et connecter des périphériques. Le PSoC est une puce programmable, nous pouvons donc créer du matériel physique dans la puce comme un FPGA. Cypress PSoC Designer a des modules préfabriqués pour les composants communs tels que les générateurs PWM, les entrées et sorties numériques et les ports de communication série RS-232.

La carte de développement dispose également d'une proto-carte intégrée qui a permis un montage facile de nos contrôleurs de moteur. Le code sur le PSoC rassemble tout. Il attend de recevoir une commande série. Ceci est formaté sous la forme d'une seule ligne de 0 et de 1 qui indique d'imprimer ou non pour chaque pixel. Le code parcourt ensuite chaque pixel, démarrant le moteur d'entraînement. Une interruption sensible aux bords sur l'entrée du capteur noir/blanc déclenche une évaluation de la météo ou non pour imprimer à chaque pixel. Si un pixel est activé, la sortie de freinage est élevée et une minuterie est lancée. Une interruption de la minuterie attend 0,5 seconde, puis augmente la sortie du distributeur, provoquant l'activation du transistor et la rotation du foret, le compteur de la minuterie est réinitialisé. Après une demi-seconde supplémentaire, une interruption déclenche l'arrêt du moteur et le redémarrage du moteur d'entraînement. Lorsque la condition d'impression est fausse, rien ne se passe jusqu'à ce que l'encodeur lise un autre bord noir à blanc. Cela permet à la tête de se déplacer en douceur jusqu'à ce qu'elle doive s'arrêter pour imprimer. Lorsque la fin d'une ligne est atteinte ("\r\n") un "\n" est envoyé sur le port série pour indiquer au PC qu'il est prêt pour une nouvelle ligne. Le contrôle de direction sur le pont en H est également inversé. Le Create reçoit le signal d'avancer de 5 mm. Cela se fait via une autre sortie numérique connectée à une entrée numérique sur le connecteur DSub25 du Create. Les deux appareils utilisent une logique TTL 5V standard, une interface série complète est donc inutile.

Étape 5: Le PC

Le PC
Le PC
Le PC
Le PC

Pour créer un appareil totalement indépendant, un petit PC x86 a été utilisé appelé eBox 2300. Pour une flexibilité maximale, une version personnalisée de Windows CE Embedded a été installée sur l'eBox. Une application a été développée en C pour lire un bitmap en niveaux de gris de 8 bits à partir d'une clé USB. L'application a ensuite ré-échantillonné l'image, puis l'a envoyée ligne par ligne au PSoC via le port com série.

L'utilisation de l'eBox pourrait permettre de nombreux développements ultérieurs. Un serveur Web pourrait permettre de télécharger des images à distance via un réseau sans fil intégré. Le contrôle à distance pourrait être mis en œuvre, entre autres choses. Un traitement d'image supplémentaire, peut-être même un pilote d'impression approprié pourrait être créé pour permettre au périphérique d'imprimer à partir d'applications telles que le bloc-notes. Une dernière chose que nous avons presque manquée était la puissance. Le Create fournit du 18V. Mais la plupart de nos appareils fonctionnent sur 5V. Une alimentation DC-DC Texas Instruments a été utilisée pour convertir activement la tension sans gaspiller l'énergie pour chauffer, prolongeant ainsi la durée de vie de la batterie. Nous avons pu réaliser plus d'une heure de temps d'impression. Un circuit imprimé personnalisé a facilité le montage de cet appareil et des résistances et condensateurs requis.

Étape 6: C'est tout

C'est ça
C'est ça
C'est ça
C'est ça
C'est ça
C'est ça

C'est tout pour notre PrintBot créé à l'automne 07 pour la classe de conception intégrée ECE 4180 du Dr Hamblen à Georgia Tech. Voici quelques images que nous avons imprimées avec notre robot. Nous espérons que vous aimez notre projet et qu'il inspirera peut-être une exploration plus approfondie ! Un grand merci au PosterBot et à tous les autres iRobot Create Instructables pour leur inspiration et leurs conseils.

Conseillé: