Table des matières:

Mettre à niveau le robot Heathkit Hero Jr avec du matériel moderne : 4 étapes
Mettre à niveau le robot Heathkit Hero Jr avec du matériel moderne : 4 étapes

Vidéo: Mettre à niveau le robot Heathkit Hero Jr avec du matériel moderne : 4 étapes

Vidéo: Mettre à niveau le robot Heathkit Hero Jr avec du matériel moderne : 4 étapes
Vidéo: Comment connecter un Gotek à un Kaypro et transférer des fichiers via câble série 2024, Novembre
Anonim
Améliorez le robot Heathkit Hero Jr avec du matériel moderne
Améliorez le robot Heathkit Hero Jr avec du matériel moderne

Il s'agit plus d'un travail en cours que d'un projet terminé, veuillez garder cela à l'esprit lors de la lecture. Merci

Un peu sur ce robot, où je l'ai eu et mes plans pour cela. (Photo du projet Star Wars Day 2015)

C'était probablement en 2005, ma femme et moi étions dans un marché aux puces local, nous cherchions juste autour de nous, sans vraiment rien chercher. Il y avait un fermier plus âgé qui s'était installé à l'extérieur, il était près de l'arrière de l'endroit, et peu de gens allaient regarder ses marchandises. Je suis content d'avoir été celui qui est allé voir.

Il avait ce petit robot, bien sûr je savais ce que c'était. J'ai demandé combien il voulait, et j'ai été choqué, choqué je vous dis - Il voulait un total de 20,00 dollars. C'est alors qu'il m'a dit qu'il était dans une grange depuis probablement les 20 dernières années environ, et qu'à y regarder de plus près, il y avait eu des créateurs à fourrure qui y vivaient. Les fils avaient été rongés, la carte principale avait été en grande partie détruite. Les piles n'étaient pas utilisables. La chose était un gâchis, et c'est aussi gentil que je puisse l'être à ce sujet.

Il y avait même toutes les cartouches avec, et elles avaient l'air plutôt bien compte tenu.

Malgré son apparence, j'ai vu quelque chose que je voulais depuis que j'étais jeune. J'ai donné 20 $ au fermier et je l'ai remercié. Je ramène mon prix à la voiture.

Il a fallu environ un mois pour le nettoyer suffisamment pour commencer à regarder l'électronique et voir ce qui fonctionnait et ce qui ne fonctionnait pas. J'ai enfin pu obtenir de l'énergie aussi, étonnamment, il a réussi son auto-vérification - j'ai pensé, hé, super, c'était une bonne affaire même si je devais faire un peu de travail pour le nettoyer. Eh bien, il a réussi son autocontrôle une fois, c'est tout, je n'ai plus jamais réussi à le faire passer.

J'ai retiré les planches principales, je les ai vendues.

J'ai vérifié le moteur d'entraînement et le moteur pas à pas (le moteur pas à pas avait des fils qui commençaient à se corroder et n'étaient pas dans le meilleur état), mais les deux fonctionnaient, alors je les garde.

J'ai installé le robot comme une sorte de pièce d'exposition, parce que je ne savais pas trop ce que je voulais en faire.

Fin 2015, un groupe de fabricants et de bricoleurs que j'ai rejoint s'est vu demander si nous voulions faire quelque chose pour "Star Wars Day" pour notre bibliothèque locale, alors nous avons pensé, et j'ai dit, et si je ramenais "Hero Jr" à vie à l'aide des microcontrôleurs Arduino. Et c'est ce que j'ai fait - je lui ai donné un peu plus de lumière et j'y ai utilisé 7 Arduinos… probablement plus dont j'avais besoin, mais à l'époque j'étais encore en train d'apprendre. Et je voulais qu'il soit "multitâche", ce que je ne savais pas faire autrement à l'époque. J'ai documenté ce projet ici:

Eh bien, c'était en 2015, le sabre laser a été supprimé et la plupart des Arduinos spécifiques à ce projet. Pour la plupart, un Arduino peut l'exécuter si vous ne voulez pas que quelque chose de spécial se produise. Le robot retourna dans son espace comme pièce d'exposition. J'ai appris quelques choses en cours de route et j'allais même améliorer son alimentation à l'époque. Le temps a eu raison de moi, et je n'ai commandé qu'une carte 12v à 5v 4 ports USB 8 ampères. Malheureusement, je ne trouve cette planche nulle part en ligne maintenant, je ne sais pas s'ils ont arrêté de la faire ou ? Mais même cette planche était restée dans une boîte jusqu'à maintenant.

L'un des objectifs du projet original était de lui donner l'air aussi vintage que possible, mais de remplacer la plupart du matériel par des trucs modernes. En 2020, j'ai même décidé de mettre à niveau ses LED vers RVB (néopixels) plus tard. Le but est toujours de garder son aspect vintage, je pense que c'est le cas jusqu'à ce que vous utilisiez une couleur autre que le rouge.

Ce projet utilise un Arduino Mega 2560 mini (carte clone, je ne l'aime pas), un Raspberry Pi 3+, une carte/haut-parleur/microphone Google AIY d'origine, a remplacé le moteur pas à pas par un servomoteur ASMC-04, un 36v Batterie LIPO tirée d'un hoverboard cassé. J'ai un convertisseur DC-DC 36v à 12v 5amp et le périphérique USB 4 ports 12v à 5v 8amp. Un ultrason pas cher, et LDR, Pas mal de montures imprimées en 3D. 8 petites leds ws2812 (également appelées néopixels), quelques clés de voûte cat5 et un câble cat5 court. (un diviseur de tension est parti du projet 2015, mais c'était pour 12v/24v pas 36v donc ce n'est pas correct. Il doit être réparé), et j'utilise un pilote de moteur L298 (également laissé du projet 2015)

Ce qui reste du robot d'origine de 1984 - moteur d'entraînement 12v DC, le clavier d'origine fonctionne également, ainsi que la led "d'alimentation verte" d'origine. La coque et le cadre sont toujours les mêmes. Mais c'est tout. Tout le reste a été remplacé.

C'est encore un travail en cours à ce stade - je travaille toujours sur la création d'un logiciel python pour le Raspberry PI, je dois résoudre quelques petits problèmes que j'ai trouvés dans le croquis Arduino (principalement fonctionnel). Je dis en plaisantant que c'est l'un de ces projets qui ne finiront jamais. À ce stade, les LED fonctionnent toutes, les ultrasons fonctionnent, le LDR fonctionne, le servomoteur fonctionne, le moteur d'entraînement avance et non inverse (fil cassé que je dois retrouver). Le 36v à 12v fonctionne et le 12v à 5v fonctionne, Raspberry Pi s'allume, Arduino éteint le PI. La plupart du temps, le matériel est câblé et fonctionne. Maintenant, tout est logiciel.

Étape 1: Les LED et la mise à niveau

Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !
Les LED et la mise à niveau !

Le modèle original de 1984 avait les LED soudées juste "étranges" si vous me demandez, elles devaient être hors de la carte, mais la soudure était du même côté que les LED. En 2015, certaines de ces LED fonctionnaient, d'autres non. J'ai pu remplacer celles qui ne fonctionnaient pas, mais certaines d'entre elles sont devenues très faibles et d'autres n'ont tout simplement jamais fonctionné. En regardant de près la carte, vous pourrez peut-être voir que quelques-unes des plaquettes de soudure se sont soulevées et se sont cassées.

Ils partageaient tous le même 5v positif, donc pour les allumer ou les éteindre, vous changez les motifs. Ce que je sais est une chose, mais je n'aimais pas ça. Vous savez, dans un croquis Arduino, un "HIGH" est normalement allumé et "LOW" est normalement éteint - eh bien, dans ce cas, le "HIGH" éteignait les LED et "LOW" est allumé. logique inverse sur les LED.

En 2015, j'ai laissé tomber cette question car j'avais des choses plus importantes à craindre à l'époque.

Cette année, j'ai décidé que j'aime l'idée des LED RVB WS2812, elles sont bon marché et faciles à utiliser, elles utilisent une seule ligne de données et n'ont besoin que de 5 V et de la terre. Ce sont des LED de 5 mm, elles s'intègrent donc très bien dans à peu près tout ce qu'une LED standard s'intègre. Je les ai trouvées sur eBay, elles étaient un peu plus chères que ce que je paie habituellement pour ces types de LED, mais je choisis de commander aux États-Unis cette fois parce que l'expédition depuis la Chine prend beaucoup de temps. Alors payez un peu plus, obtenez-les beaucoup plus rapidement. 10 LED m'ont coûté 10,00 $, pas mal, je suppose, mais pas non plus un bon prix.

Le câblage de ces derniers est assez simple et direct, il y a une masse, un positif (5v), une entrée de données et une sortie de données. J'ai choisi d'utiliser une ancienne méthode de connexion et de les envelopper. ma pensée était que s'il serait plus difficile d'aligner les données et les données dans les lignes si je devais les souder, il pourrait également être plus difficile si je coupais les fils trop loin, ils ne rentreraient pas correctement dans les trous déjà dedans le Hero Jr. Avec du wire-wrap, je peux en quelque sorte les déplacer un peu et les façonner un peu mieux.

Après les avoir câblés, je les ai connectés à un Arduino UNO et j'ai utilisé l'un des exemples d'Adafruit pour les néopixels. Heureux que tout fonctionne. Je les ai placés dans la tête du robot et j'ai mis du ruban adhésif double dessus pour les protéger à la fois du circuit imprimé et les maintenir un peu mieux en place.

Je les ai ensuite reconnectés à l'Arduino et j'ai réexécuté l'exemple, juste pour être sûr de ne pas cogner de fil ou de m'assurer qu'ils n'étaient pas en court-circuit. Tout a fonctionné. Il a fallu un peu de temps pour tout câbler, mais honnêtement, une fois que vous avez commencé à enrouler des câbles, vous pouvez avancer assez rapidement.

Les images ci-dessus montrent les LED ROUGES d'origine, la carte, j'ai essayé de montrer les traces cassées, les nouvelles LED à différentes étapes de câblage. Et enfin eux qui travaillent dans la tête.

J'ai aussi des vidéos de la "bouche" de Hero Jr qui lorsqu'elle parle, les LED animent une "bouche", et les pixels exécutant les exemples Adafruit. Je ne les ai pas encore téléchargés, mais ce sera bientôt.

Étape 2: Raspberry PI Google AIY et Arduino Mega 2560 Mini

Raspberry PI Google AIY et Arduino Mega 2560 Mini
Raspberry PI Google AIY et Arduino Mega 2560 Mini
Raspberry PI Google AIY et Arduino Mega 2560 Mini
Raspberry PI Google AIY et Arduino Mega 2560 Mini
Raspberry PI Google AIY et Arduino Mega 2560 Mini
Raspberry PI Google AIY et Arduino Mega 2560 Mini

2015, C'était une autre époque - et un autre projet. J'ai utilisé 7 Arduinos différents, la plupart étaient des UNO ou des Nanos, quelques MEGA. J'en avais un juste pour lire des MP3 à l'aide d'un shield MP3, j'en avais un pour contrôler un synthétiseur vocal EMIC 2, un pour le sabre laser. Pilote de moteur, moteur pas à pas - clavier, la liste est longue. Inutile de dire que j'ai beaucoup appris depuis 2015, et honnêtement, c'est incroyable que la version 2015 ait fonctionné aussi bien qu'elle l'a fait (moi ne sachant rien et apprenant et devinant).

2020 - Parce que la version "Star Wars Day" allait toujours être à usage unique, mes plans étaient de simplifier les choses dès le début. En 2015, j'ai alors caressé l'idée d'utiliser un Raspberry PI, mais je n'en savais pas assez à l'époque pour que cela fonctionne. J'ai décidé qu'un Arduino Mega 2560 mini ferait n'importe quoi dans la mesure où l'entrée/sortie était nécessaire, c'est-à-dire: allumer/éteindre le moteur, allumer le moteur pas à pas/servo, lire le LDR, lire l'ultrason, lire le diviseur de tension. Dans ce cas, le Mega est essentiellement un appareil "factice", avec seulement quelques choses qu'il doit vraiment faire, mais le Mega est également utilisé pour lire le clavier, j'avais donc vraiment besoin d'une méthode de communication bidirectionnelle entre le Mega et le Raspberry PI. J'ai choisi d'utiliser le protocole MQTT, mais cela a proposé un autre problème, comment l'obtenir sur le port série ? Heureusement, j'ai trouvé ce projet sur github "serial2mqtt" https://github.com/vortex314/serial2mqtt Qui est vraiment un type de passerelle, le logiciel fonctionne sur le Raspberry PI - L'Arduino envoie juste le message série correctement formulé, et c'est puis transmis au courtier MQTT. Il a fallu un peu de temps pour que cela fonctionne correctement, mais cela a plutôt bien fonctionné et semble faire ce dont j'ai besoin. L'Arduino Mega publiera lorsqu'il sera en ligne, la lecture par ultrasons, la lecture ldr, la lecture de tension. Il écoutera les commandes, les mouvements du moteur, le mouvement des servos et ce qu'il faut faire avec les LED. Bien que tout cela semble beaucoup, les frais généraux sont assez faibles et cela fonctionne assez bien.

Le Raspberry PI sera programmable avec python, C++, à peu près tout ce qui peut utiliser le port série et utilisera MQTT. Comme je n'allais pas utiliser Google avec l'AIY, je devais installer les pilotes et m'assurer que cela fonctionnait. Un autre coup de chance à Github, Shivasiddharth crée GassistPI, et a déterminé ce qu'il fallait installer pour que cela fonctionne, les instructions sont disponibles ici:

Le PI héberge le courtier MQTT, espeak pour la parole et d'autres logiciels selon les besoins. Pour y accéder, j'utilise actuellement SSH, j'ai l'intention de créer une interface Web, mais ce n'est même pas près d'être fait. J'ai "joué" avec l'apprentissage de python pour ce projet, mais je n'ai pas encore beaucoup de programmes prêts.

Quelques notes spéciales ici:

Le Mega 2560 Mini d'origine que j'avais était un petit clone de l'Original Arduino Mega 2560 utilisant la même puce série pour la communication, donc lors des tests, j'ai juste utilisé un Mega pleine taille sur le banc de travail. Malheureusement, j'avais soudé les fils du clavier à cette carte (en dessoudant les broches de l'en-tête, à quoi pensais-je, j'aimerais pouvoir blâmer celui-ci sur 2015, mais je ne peux pas) La partie malheureuse, j'ai eu quelques-uns de ces fils qui se sont cassés éteint, et je ne pouvais pas obtenir un trou propre à ressouder aussi. J'ai fini par aller vers un clone d'un clone, c'est toujours un Arduino Mega 2560 mais une version moins chère, et avec une puce de port série bon marché. Cela me cause des problèmes avec des paquets abandonnés d'environ 10% environ, il ne suffit pas de tout retirer et de réessayer avec une autre carte. Mais c'est juste assez pour me rendre un peu fou. Sur le "nouveau" (version 2) Mega, j'ai utilisé du fil de fer et laissé les broches d'en-tête (hé peut-être une future extension, je n'utilise que 12 ou 13 broches pour le moment)

J'ai également imprimé en 3D (ainsi que réutilisé certaines impressions échouées) des supports pour le Raspberry PI et le Mega Mini. Je devrais chercher les fichiers de conception si quelqu'un les veut. Ils ne sont pas très bons car j'ai utilisé un outil rotatif pour couper quelques trous, ou les façonner un peu, mais si quelqu'un les veut, je les chercherai.

Photos ci-dessus: Raspberry PI 3+ avec Google AIY Hat, dans une monture sur mesure, Original Mega 2560 celui que je voulais utiliser mais vraiment foiré, le remplacement Mega 2560 (v2) celui dont je ne suis pas si content mais ça fonctionne, avec du fil enroulé et un support imprimé en 3D personnalisé

Étape 3: Du pas à pas au servo

Du pas à pas au servo
Du pas à pas au servo
Du pas à pas au servo
Du pas à pas au servo

Malheureusement, je n'ai pas pris beaucoup de photos de cela et je n'ai pas de photos de l'ancien moteur pas à pas.

1984 - un moteur pas à pas était probablement moins cher qu'un gros servo en 1984, je ne suis pas sûr. Il y avait des butées de fin de course et le moteur pas à pas devait se caler à chaque mise sous tension. Pensez imprimante 3D et comment ils sont à la maison.

2015 - Dans un autre mouvement de ne pas vraiment savoir ce que je faisais, j'ai supprimé les butées de fin de course - et j'ai commencé à les perdre. Comme je l'ai dit plus tôt, les petits créateurs avaient mangé certains des fils sur le stepper, les fils étaient plus/moins exposés et commençaient à se corroder. Je suis surpris que cela ait fonctionné en 2015, mais cela a fonctionné.

2020 - Le stepper a cessé de fonctionner et j'ai commencé à chercher un remplaçant. Je suis tombé sur le gros servomoteur ASMC-04, ce n'était pas l'option la moins chère, mais c'était l'une des meilleures que j'ai trouvées. Le stepper coûtait plus de 50 $ en provenance de Chine et le support de corne coûtait 13 $ ou 14 $ supplémentaires. Pour moi, les avantages ont pesé sur le coût.

Le servomoteur est soit de 12 ou 24 volts, l'angle de rotation est de 0 à 300 degrés (limité dans mon croquis Arduino à 0 à 180), je peux le contrôler avec 1 fil de l'arduino, (2 si vous comptez un fil de terre). C'est un servo RC à couple élevé, il n'est cependant pas si rapide à tourner.

La déception était que même si les spécifications fournies semblaient juste monter dans les mêmes trous que le stepper, cela ne correspondait pas correctement et j'ai dû percer de nouveaux trous pour cela. Le support de palonnier est également beaucoup plus grand que le support de moteur pas à pas d'origine, il a donc fallu percer plus de trous.

Pour moi, cela me rappelle beaucoup la vitesse du stepper, donc dans l'ensemble un bon remplacement et quelque chose que vous ne remarquerez pas a changé à moins que vous ne regardiez à l'intérieur du robot.

Des photos:

Je n'ai pas pris beaucoup de photos de cela, il y en a peut-être d'autres quelque part, mais elles ressembleront à peu près à celles-ci.

Étape 4: Quelques photos supplémentaires

Quelques autres photos
Quelques autres photos
Quelques autres photos
Quelques autres photos
Quelques autres photos
Quelques autres photos
Quelques autres photos
Quelques autres photos

Étant donné que je travaille toujours sur ce robot (principalement un logiciel à ce stade), j'ai pensé partager quelques photos supplémentaires

Des photos:

Convertisseur DC-DC 4 ports USB 12v vers 5v 8 ampères, je ne le trouve plus et j'aurais aimé en acheter quelques-uns.

Batterie LiPo 36v retirée d'une carte de vol stationnaire cassée

Photos de l'intérieur du robot, fils, ect. Quelques autres photos des remplacements de LED, quelques autres photos de l'Arduino Mega w/wire-wrap, photo de l'ultra-sonique avec un revêtement dessus (en fait, c'était comme ça en 2015)

Des photos du corps sans la coque et une photo de l'utilisation d'une console pour le tester sur MQTT.

Voilà pour l'instant, Merci d'avoir regardé, et si vous l'aimez, votez pour moi:-) Je pourrais utiliser plus de pièces pour des projets LOL - Bonne journée, et essayez d'être en sécurité tout le monde.

Conseillé: