Robot tondeuse à gazon. Du métal ferreux au prototype
Il s'agit d'une courte histoire sur l'assemblage d'un robot de tonte à partir d'outils improvisés par un gestionnaire ordinaire, ainsi que sur la formation d'un geek, niant une singularité, d'accord avec Sa Majesté Ilon Mask et combattant un homme avec des machines. Attachez vos ceintures de sécurité, nous sommes envoyés dans une atmosphère d'ironie légère et une description décontractée du développement d'une tondeuse à gazon robotisée du métal ferreux au prototype. Lecteur curieux, bienvenue au chat!
Au lieu d'une préface:
salut! Je m'appelle Vyacheslav Golitsyn et je suis un geek! Cela a commencé alors que j'étais encore à l'école, des amis de la classe de physique et de technologie m'ont accroché. Aux pauses, se faufilant dans les toilettes et au coin de l'école, nous avons discuté de nouveaux gadgets et circuits pour les bugs des émetteurs radio. Je pensais que je serais choyé, mais je ne pouvais plus descendre. L'électronique que j'allais réparer n'a jamais été vue dans la maison par qui que ce soit. Pendant le prochain déchaînement enchanteur, j'ai tué brutalement le magnétophone «302 Electronics». J'ai été puni, mais je ne pouvais pas abandonner complètement ma dépendance, alors je suis devenu un geek secret, mais même dans le club de radio, ils ne me prenaient pas pour eux-mêmes, oui, dans les clubs, ce n'est pas très visible, à cause du pathos, tout a basculé. Lorsque j'ai échangé mon nouveau scooter des neiges contre un manuel d'A. Marchenko et du concepteur de l'autoradio, j'ai réalisé que je roulais vers le bas!Ils ont commencé à me reconnaître en personne sur les marchés de la radio et dans les magasins d'électronique, j'ai lu «Youth Technique» et des forums médiocres le soir sur dialup. J'ai commencé à porter des lunettes avec des lunettes tout le monde m'a appelé «à lunettes». Même mon propre père m'a mis 3 fois en camarades de classe. Je me suis finalement effondrée quand une fille m'a quitté, puis j'ai souffert ... J'ai acheté une nouvelle station de soudage et mon compte Aliexpress a commencé à exigerle sang représente une part croissante de mon modeste salaire.Puis la vie s'est améliorée d'une manière ou d'une autre ... la famille, les enfants, et depuis plusieurs années maintenant, j'ai les yeux bandés, mais chaque jour je lis Habr (maintenant Giktayms). Je suis un manager très intermédiaire, j'aime que tout le monde travaille au bureau. Hélas, je n'ai pas de formation technique, mais lorsque je lis la critique d'un nouveau gadget, mini-ordinateur ou tableau d'automatisation, mon esprit génère déjà un grand nombre d'idées partout où il pourrait être appliqué ( n'offre pas d' automatisation des toilettes de bureau ). Après un court vol de fantaisie, un ordre suit généralement et l'attente languissante d'un miracle étranger miraculeux. Pendant que le fret tant attendu traverse tous les cercles de l' enfercentres de tri de la poste russe, un peu de romantisme disparaît d'un nouvel exemple d'un génie moderne de la pensée technique. Il en était de même pour Raspberry Pi, Arduino, une petite boîte avec des capteurs et des fils. Mais ensuite, il y a eu de la douleur. Son nom est un chalet d'été, ou plutôt une pelouse dans un chalet d'été.Tondre la pelouse - pas couper du bois. Et ne buvez pas de thé, ne passez pas les quêtes et n'allez pas chercher de la bière. Eh bien, tu comprends ...
Vous pouvez vous demander: pourquoi la tondeuse à gazon, l'été se termine et les hivers sont longs? Pas étonnant que les gens disent: "L'hiver arrive ...". Peut-être que la réponse est banale paresse ou curiosité, peut-être tous ensemble, mais entretenir la pelouse sous une belle forme n'est pas une tâche facile, même avec des terrains modestes, qui sont présentés à votre humble serviteur. J'ai décidé de combiner le désir actif d'apprendre le nouveau + modèle framboise pi B + arduino + Chermet + libre arbitre, l'héroïsme, le professionnalisme, le capitalisme, ne s'en soucient pas et le cataclysme.J'ai longuement réfléchi à la décision, envisagé l'option d'acheter une tondeuse finie, mais je suis arrivé à la conclusion qu'il serait plus pratique de souder le chariot lui-même et de fixer l'ICE à partir de la tondeuse à gazon manuelle.



Le chariot est entraîné par deux moteurs avec des boîtes de vitesses d'un essuie-glace VAZ-2108 (remplacement des importations en action). Les moteurs n'ont pas deux brosses sur le collecteur, comme j'étais habitué, mais trois. Je ne comprenais toujours pas pourquoi la troisième brosse était utilisée, mais le fait que l'un des fils était connecté au corps et que les moteurs devaient se déplacer dans différentes directions pour avancer, m'a fait isoler l'un des moteurs du châssis.
Une histoire difficile avec les moteurs: pour essayer de comprendre la conception du moteur, j'ai démantelé l'un d'eux - c'était un signe avant-coureur du fait que le moteur avec toute sa puissance irait pour toujours au khalosar du grand éleveur. En général, «celui qui n’avale pas som ne connaît pas de problèmes», il a acheté un nouveau moteur et a continué à faire du vélo et à coder.La source d'alimentation est une batterie 12V. Arduino reçoit une alimentation USB des framboises. La framboise est connectée à un commutateur USB avec une alimentation séparée, l'alimentation est fournie par la même batterie 12V via deux L7805 parallèles (tandis que le long voyage d'un convertisseur DC-DC pulsé dure).Roues de chariot achetées sur le marché de la construction. Les moteurs étaient connectés via le Monster Motor Shield, mais par tradition, cette carte a commandé une longue durée de vie après avoir connecté l'alimentation aux broches de sortie. Wangyu holivar dans les commentaires sur le fait qu'avec des mains tordues, ça ne vaut rien de commencer, mais que se passe-t-il si le cœur le demande? En général, il n'y a pas de grammes et de soms: nous passons une commande pour la même carte, mais pour l'instant nous nous en sortirons avec deux relais, car les moteurs du premier couple ne peuvent tourner que dans une seule direction. En général, étant donné le manque de besoin de PWM, vous pouvez faire un pont en H basé sur un bloc de 8 relais pour Arduino. Et qu'en pensez-vous, cher lecteur?Le contrôle du moteur et l'interrogation des capteurs (capteurs de distance à ultrasons et encodeurs de roue; dans la version 1.1: capteurs d'obstacles infrarouges, un bouton dans le pare-chocs avant) est effectué par Arduino mega 2560.Andurina (ma femme continue de l'appeler de cette façon) est connectée à la framboise pi via USB (Tous communication modeste sur le port série). De plus, une webcam (en version 1.0 pour la sortie d'images via Motion) et un sifflet wi-fi sont connectés à la framboise.La logique du système. De l'herbe dans la cour, dans l'herbe ...
Considérant à quel point Ilon Mask (et pas seulement lui) m'a averti (j'espère qu'il m'a également parlé) des dangers de l'intelligence artificielle, j'ai décidé pour l'instant (i.e., AI), i.e. Je ne l'ai pas introduit dans ce produit, de sorte que la singularité soudainement effondrée ne déforme pas tous les conifères de mon site. Sur Raspberry pi, Raspbian OS, OpenCV (qui n'a pas démarré si correctement) est installé et le serveur Web et FTP sont déclenchés. La gestion et la configuration se font via ssh. Ce code avec OpenCV, qui fonctionne sur l'ordinateur portable, ne veut pas fonctionner sur la framboise. Après de longues danses avec un tambourin, il a été décidé de laisser l'implémentation de la fonctionnalité liée à OpenCV pour la version 2.0.Le script Python 2.7 s'exécute sur la framboise, ce qui enregistre dans la table MySQL des données sur la position actuelle de la tondeuse dans le système de coordonnées (plus à ce sujet plus tard). Lors de l'accès à l'IP de la tondeuse, une matrice (système de coordonnées) est affichée, divisée en cellules (pour plus de commodité, 0,5 x 0,5 mètre, car il s'agit de la largeur du biseau). Le tableau montre l'état actuel des cellules dans différentes couleurs.1. Gris - inconnu;2. Vert - herbe non tondue;3. Jaune - zones biseautées;4. Rouge - sections avec un obstacle;5. Bleu - la zone où se trouve la tondeuse.
En cliquant sur un site gratuit ou inconnu, il est possible de transférer son état sur un site bloqué afin de définir indépendamment des obstacles.De plus, dans la version 1.1, la page devrait avoir un bouton d'arrêt d'urgence, un bouton de commande de carburant du moteur à combustion interne et un bouton de commande manuelle.Dans chaque course de framboises:
- attend de l'arduino des informations sur l'achèvement de la tâche précédente (si elle l'était);
- reçoit par Arduino des informations de télémètres;
- traite les informations d'une webcam;
- s'il est possible d'avancer, envoie à arduino la tâche d'avancer d'une cellule (0,5 m). Si la cellule en face est bloquée (il y a un obstacle), envoie la tâche pour tourner de 90 degrés vers la droite.
Arduino dans chaque cycle:
- interroge les capteurs de distance à ultrasons;
- Pour la version 1.1:
- interroge le bouton de pare-chocs (en cas de collision avec un obstacle, il coupe le relais de puissance du moteur à combustion interne);
- Interroge les capteurs d'obstacles infrarouges. - ;
- ( , , , .);
- raspbery ;
- .
, :
- OpenCV . .. ( ) . . OpenCV , — . .
- En utilisant OpenCV, vérifiez le bas du cadre pour une couleur moyenne qui devrait être verte pour éviter de conduire sur les trottoirs.
- Connectez une deuxième webcam et utilisez openCV pour créer une carte d'obstacles en trois dimensions.
- Connectez un moteur 12V en tant que générateur au moteur à combustion interne, créez un système de support de batterie sur la tondeuse pour éliminer la nécessité de le charger séparément.
- Il est possible d'utiliser un «générateur» comme démarreur.
Code rapide en accès libre. Fourchette à la santé. Je ne serai heureux que de personnes partageant les mêmes idées: https://yadi.sk/d/qObAm0deiogvPMerci de votre attention! Source: https://habr.com/ru/post/fr383633/
All Articles