Archives

Tous les articles pour septembre, 2017

Bonjour,

La dernière fois, j’ai réalisé un câblage propre pour prendre la main sur le boitier de commande, et un circuit tout pourri pour en vérifier le fonctionnement. C’est normal. On vas y aller par étapes …

Faire des essais en suivant le fauteuil n’est franchement pas pratique, avant de finaliser la “fabrication” des signaux, je dois prendre le contrôle à distance.

Pour cela, j’ai choisi une flysky FS-i6. Elle n’est pas chère, et je pourrais l’utiliser lorsque je me ferais un hexacopter brushless.

fsi6

Je l’ai acheté un peu moins de 40€ chez banggood (lien) avec un récepteur FS-iA6B. La référence du récepteur est importante.
Ce même récepteur est vendu seul 8€ environ et la télécommande peut en mémoriser 20. Ce qui permet facilement de piloter le future hexacopter sans reprogrammer sans cesse la télécommande.

A noter que je n’y connais pas grand chose en radio, juste le fonctionnement basic des servos, je peux donc être imprécis sur certains points.
Pourquoi ce choix ? Grâce à cet article : lien ou il explique que ce récepteur fournis des signaux CPPM. Cela signifie donc qu’il peut être raccordé à un arduino via 1 seul fil pour transmettre toutes les commandes.

Finalement, et c’est la que la référence du récepteur est importante, il est encore mieux que prévu : il fournit aussi des signaux iBus, une communication sur le port série à 115200 bauds avec un protocole connu.

iBus, c’est bien, surtout qu’en cherchant un peu, on trouve le code de quelqu’un qui a déjà fait tout le boulot : C’est ici
Pour mémoire, j’ai gardé une copie du code source ici

Et pourquoi iBus, c’est mieux que CPPM ? Et, c’est quoi CPPM ?
En RC, pour gérer un servomoteur on envoi une impulsion d’une durée comprise entre 1 et 2ms, la durée de cette impulsion correspond à la position désirée du servo entre son min (1ms) et son max (2ms). Sur un récepteur 6 voies, il y a donc 6 connecteurs pour 6 servos différents.
Sur un multirotor, on a pas de servomoteur, mais un contrôleur de vol qui gère la stabilité (oui, pour ceux qui connaissent, je prend des raccourcies). Pour éviter d’avoir a relier les 4 voies des commandes au contrôleur de vol, il existe le CPPM : les impulsions de chaque voies passent les une après les autres sur le même file. Et hop, 1 seul câble entre le récepteur et le contrôleur de vol.
C’est cool, mais il y a peut être mieux à faire… le récepteur reçoit une info numérique (les récepteurs actuels en 2.4GHz, pas les anciennes générations) puis doit créer une impulsion, et le récepteur doit compter le temps qui passe, avec sa propre précision pour transformer cela en valeur numérique… autant tout passer en numérique, ainsi la valeur 1240 reçut par le récepteur, reste 1240 dans le contrôleur de vol, et pas 1238 ou 1243 (par exemple).
Et voilà, donc le iBus, c’est toutes ces valeurs transmises sur 2 octets en série, avec un en-tête spécifique et un code de validation à la fin pour être certain de la qualité des données.

Moi, je n’ai pas un contrôleur de vol, mais un arduino : c’est pareil.

Pour la connexion, j’ai choisi d’utiliser le port série N°1 de l’arduino, et ainsi garder le N°0 libre pour les communication avec le PC (via l’usb, mais c’est un port série quand même)..

Ce qui donne :

Cablage ibus arduino

On peut difficilement faire plus simple …

Pour le code, je reprend la partie qui m’intéresse dans celui publié par povlhp et je remplace la partie télécommande filaire.
Le nouveau programme est donc : celui-ci

Une fois de plus, c’est juste un code de test/travail, il permet de vérifier la logique du système mais est loin d’être parfait.

Je reçoit donc bien les infos des 6 voies : les 4 voies joystick et 2 interrupteurs ou potentiomètre au choix.
ici, j’utilise le levier 3 position (interrupteur C) pour choisir un mode (1, 2 ou 3). Pour cela, j’ai paramétré la télécommande pour que cet interrupteur soit assigné à la voie 5.

Et le résultat :

Dans les prochains articles nous parlerons d’une bien meilleur façon de commander le fauteuil et d’une amélioration notable du fonctionnement avec cette radiocommande.

Bonne journée,

Jilks

PS : j’ai essayé d’être plus précis que la dernière fois, si c’est cool ou si c’est chiant, dites le moi.

Bonsoir,

Gérer correctement la partie commande des moteurs est compliquée. Il est bon de prévoir des accélérations progressives, des limitations de courants si besoin, d’évacuer la chaleur générée par la partie “puissance”, etc…
Hors, le boitier de commande du fauteuil fait déjà cela très bien. Il est donc bien plus simple de commander ce boitier, que de tout recréer.

J’en profite pour vous parler de l’architecture que j’ai choisie :

Un circuit, à priori sur base d’arduino Mega, sera en charge de :

  • Contrôler les déplacements du fauteuil
  • Détecter les obstacles
  • Récupérer de manière fiable les ordres d’une télécommande permettant une prise en main a coup sûr du robot
  • Obéir aux ordres de déplacements reçu par le port USB
  • Fournir les informations d’obstacle via le port USB
  • Gérer le démarrage/arrêt du moteur pour le robot de tonte

Un PC (ou équivalent) :

  • Sera lié via USB a la carte de contrôle
  • Obtiendra les informations GPS
  • Obtiendra les informations sur les obstacles
  • Connaitra une cartographie des lieu
  • Gérera les algos de déplacement du robot.

Ainsi, je vais pouvoir facilement développer la première partie, ensuite je n’aurait plus qu’a faire un logiciel … heu …

Bon, le début de la partie elec. Si on ouvre la petite boite :

On trouve un circuit de très bonne qualité. On remarque sans difficulté la liaison entre le joystick et la carte de contrôle. C’est par ici que je vais passer.

Ho ! Je n’ai rien inventé, l’idée m’a été donnée par ce blog : http://bennurre4.blogspot.fr/2012/12/modif-de-la-commande.html

Le principe est le suivant : le joystick fourni 4 tensions sur 4 fils différents.

Pour la marche avant/arrière, l’un des fils varie de 1 à 4V, pendant que l’autre varie de 4V à 1V, la position milieu étant 2.5V sur les 2 fils.

Pour la direction gauche/droite, c’est la même chose.

Ce fonctionnement avec des tensions complémentaires permet au microcontrôleur de vérifier que l’information fourni par le joystick est fiable. Nous en reparlerons, mais il y a un petit problème, si on ne génère pas exactement ce qui est attendu, il se met en sécurité…

Pour commencer, le câblage :

Je ressort du boitier :

  • Les signaux du joystick
  • L’entrée vers la carte
  • Du 24V en direct des batteries.

Ainsi, je peut garder le fonctionnement normal du fauteuil (p’tit bout et moi, on aime bien jouer avec …)

Ou alors, débrancher le joystick et le remplacer par mon système.

Après quelques hésitations, l’emplacement est choisi, et hop, un petit trou !

Je met moi aussi ma ferrite, il serait dommage que j’apporte des perturbations electromagnétiques.

Quelques soudures, gaine thermo, etc …

Je fait le malin, mais il en a fallut du temps pour tout faire… et hop, refermé, et encore “étanche” 🙂

Je peut maintenant brancher “mon” circuit.

L’Arduino ne dispose pas de sortie analogique, on est donc obligé de jouer avec les sorties PWM et filtrer le signal pour le lisser.

Mouais, vas falloir augmenter la valeur du condo ! (Si j’augmente la résistance, ça passe plus) Il y à en effet trop de vagues, et le boitier se met en sécurité.

Bah voilà ! de mémoire 47µF et 1KOhm

Ensuite, par taton, je trouve le rapport cyclique min pour obtenir 1V, et le max pour obtenir 4V. Et ce, sur chaque voie, étant donné que je n’ai pas trouvé 4 condos identiques dans mon stock.

Comme vous avez pu le voir sur les photos, j’ai relié une télécommande à l’Arduino. Il s’agit d’une vieille façade dont je n’ai que les potentiomètres, utilisé en pont diviseur, sans rien ajouter de plus.

 

Pour le code, il est ici : TelecommandeFilaire.ino

Gardez bien a l’esprit que c’est un code de test … Ce n’est pas sur celui-ci qu’il faudrait me juger en tant que développeur.

Et le résultat :

Bon, de base, le système est OK. Je vais pouvoir y monter une vrai télécommande.

Attention, ce n’est qu’une base de travail. Par exemple, au bout de 20 minutes d’utilisation je commence a avoir une dérive vers la gauche. Ce n’est pas grave, mais c’est à garder à l’esprit.

De plus, en butée ou lors de certaines manœuvres le fauteuil n’aime pas les infos qu’il reçoit et se met en sécurité (ne bouge plus et les leds clignotes). Il faut alors éteindre et rallumer le boitier.

Bonne soirée et à la prochaine,

Jilks

Bonsoir,

Depuis longtemps j’avais envi de me faire un “gros” robot de tonte, limité par les moyens de le déplacer c’est un projet qui à trainé jusqu’à aujourd’hui.

Il y a peu, j’ai eu l’opportunité de récupérer un fauteuil roulant électrique.

Énorme chance, une fois ressuscitées les batteries, l’ensemble du fauteuil fonctionne parfaitement. Il me servira donc de base pour mes bêtises…

J’ai également eu la chance de récupérer un tracteur tondeuse avec une lame de 80cm (de mémoire), un moteur et un plateau de coupe en parfait état. Seul la boite de vitesse est morte (carter explosé, manque des bouts).

L’idée finale est donc simple : fabriquer un chassis, utiliser la propulsion electrique du fauteuil, le moteur thermique et la lame du tracteur tondeuse, ajouter des capteurs, un GPS, du wifi, un logiciel fait par moi même, et roule !

Oui, bon… ça, c’est la théorie. En pratique, on vas y aller par étapes, voici celles que j’imagine :

  • Prendre le contrôle du fauteuil.
    • Faire un circuit permettant de diriger le fauteuil selon les ordres qu’il reçoit
    • Ajouter une télécommande qui servira d’interface et permettra de reprendre la main sur la version finale.
  • Ajouter des capteurs tout autour (distance et contact)
  • Faire un logiciel capable de savoir a peu près précisément ou il est en combinant toutes les informations disponibles (GPS, D-GPS, Carte des obstacles + capteur US, …)
  • Modifier le logiciel pour qu’il sache suivre un parcours.
  • Tester / Debugger
  • Tester / Debugger
  • encore une fois, il faudrait pas avoir un problème avec la version finale.
  • fabriquer un châssis permettant d’y placer le moteur, le plateau de coupe, un alternateur pour une meilleur autonomie.
  • Améliorer l’électronique pour qu’il soit capable de démarrer, éteindre le moteur, vérifier le carburant restant …
  • Tester moteur tournant (je crains qu’il ne créer des interférence qu’il faudra gérer)
  • Beaucoup, beaucoup, tester, valider un moyen de reprendre le contrôle à coup sûr en cas de besoin.
  • Entrainer la lame et profiter !

Ne soyez pas trop impatient, c’est un projet sur du très long terme, mais j’y crois. On verra bien 🙂

Pour le moment, j’en suis à la première étape, je vous en parlerais bientôt.

Bonne soirée,

Jilks

PS : Oui oui, “a peu près précisément”, ça veux dire quelque chose 😉

Bonjour,

Il y à bientôt 2 ans je vous avait parlé de la fabrication de mon meuble informatique.


(C’était ici)

Un NAS pour sauvegarder ses données, c’est bien, mais il est situé dans la même maison que mes PC. Donc, en cas d’incendie, vol, inondation, mega-surtension ou n’importe quel problème physique, les données sont perdues.

Pour palier à cela, fin 2015 j’ai installé un NAS chez mes parents. Avec ses 2 disques dur, il permet la sauvegarde de 2 NAS principaux, le mien et celui du frangin. Ainsi, avec plus de 150 Km de distance, je suis certain de toujours conserver mes données, quoiqu’il arrive à mon matériel.

Comme vous pouvez vous en douter, j’ai fait une installation au Top :

L’idée est simple : reprendre le principe du meuble informatique, une boite avec une ventilation filtrée, dont le filtre est très très accessible pour que personne n’hésite a mettre un petit coup d’aspirateur au passage. Les filtres cachés ou inaccessible n’étant que bien trop rarement nettoyés.

En plus, je veux que l’aire frais arrive devant le NAS, et sorte par derrière. Ainsi, il bénéficiera d’une ventilation naturelle, en plus de son ventilateur qu’il gère comme bon lui semble.

C’est partis avec notre nouveau Joujou !

Oui, vous allez pas mal la voir celle-là 🙂

Bah voila, en peu de temps, un tas de planches aux bonnes dimensions et d’équerre.

Quelques essais pour faire les rainures à la scie :

Une grosse pour la tablette, une plus fine pour le plexi de façade

La même chose sur les vrais. La disposition des planches me permet de ne pas avoir à faire de rainure arrêté, ni qu’elles se voient au montage finale.

On commence à apercevoir les proportions …

Un autre frangin s’est offert de nouveaux jouets, il est venu faire mumuse à la maison 🙂

Pas mal du tout la lamelleuse Makita, en très peu de temps on obtient facilement un assemblage dont les affleurements sont parfait.

Un autre jouet tout neuf. A priori y avait pas la taille au dessus. Parfait pour la muscu !

Je plaisante, mais même si elle est lourde à sortir du coffret, en réalité elle est très douce à l’usage. Je lui avait demandé de l’apporter pour tester une option dont je ne dispose pas sur les miennes : le guide parallèle.

Ayant des rainures parallèles à faire sur 2 planches, c’est bien plus simple avec ce guide qui ne se dérègle pas d’une planche sur l’autre.

Comme on pouvait s’en douter avec des planches d’équerres et une bonne machine, les rainures sont à la bonne place et la tablette trouve naturellement sa place.

Mise en place du ventilo pour vérifier que je ne me suis pas loupé sur les mesures.

Ouf, c’est bon.

J’en profite pour tracer l’emplacement de l’entrée d’aire.

Désolé Didier, Christophe avait un véritable besoin de cette nouvelle défonceuse, ce qui n’est pas mon cas, je retourne donc avec ma black & Decker 😉

En réalité, je doit bien avouer que je l’aime bien ma petite défonceuse. En plus, je lui ai fait des compas, dont un qui permet de faire de tout petits cercles. C’est donc ce compas que je vais prendre pour me préparer un gabarits que j’utiliserais avec une bague de copiage.

Un peu de double face, un centrage sur le trou dessiné avant …

J’enlève une partie du bois avec une scie cloche toute pourrie qui trainait sur mes étagères.

Et c’est parti pour faire un jolie petit trou.

Il est pas au top mon nouveau photographe ? Même plus besoin de me cacher !

Bon, à priori je n’ai rien oublié… collage !

J’utilise mon gabarits pour préparer un demi cercle.

Que je retaille ensuite, de plus en plus petit …

Puis que je colle.

Voila, le ventilateur sera maintenu ainsi en place, et si je doit le changer, je n’ai qu’un tourillon à enlever.

Mise en place des charnières…

J’ai beaucoup aimé le guide parallèle, mais ici ce n’aurait pas été possible, retour donc à la butée tenue au scotche double face.

Impec, j’en profite pour vous présenter le trou permettant la sortie de l’aire et le passage des câbles.

On se rapproche de la fin… vernis !

Pour alimenter le ventilateur, un transfo 12V à 3 €…

… ainsi que de petites soudures et gaine thermo.

Le verni est sec, mise en place finale.

Ajout d’un peu de quincaillerie pour tenir le couvercle ouvert, et fermé.

Ainsi que du filtre anti poussière.

A noter que même s’il est démontable sur mon meuble informatique je ne l’ai jamais déposé. il se nettoie très bien à la main ou avec un petit coup d’aspirateur directement en place.

Ici, je l’ai donc simplement vissé en place.

Ha, bah voila, c’est fini 🙂

J’ai bien le passage d’aire que je souhaitait, pour venir devant les NAS.

Ha, oui, il a pris la poussière…

On retrouve même une partie des lettres sur le disque dur.

Un bon coup de soufflette, et c’est oublié.

Mise en place de l’onduleur et de mon NAS.

(Je précise mon Nas, parce que celui de mes parents devrait bientôt le rejoindre)

Voilà, plus qu’à passer un petit coup d’aspirateur de temps à autre, et le matériel devrait rester propre et frais un moment …

Vous trouvez pas qu’il a l’aire seul et triste ?

Bon dimanche,

Jilks