DigitalSpirit / Blog

Mes projets faits main pour 2014

Je profite de ce début d'année pour faire un point sur l'avancement de certain de mes projets personnels liés au DIY et qui devraient être mis à jour ou terminés dans le courant de cette l'année...

LedPong

Il s'agit d'une version réduite du Led Pong Wall du Tetalab.

Le montage est terminé (un simple avr d'Atmel pilotant une matrice de led hautes luminosités) et fonctionne correctement mais le rendu n'est pas tout à fait celui que je souhaite, la lumière n'étant pas assez forte. J'envisage de remplacer toutes les leds par des modèles RGB adressables (WS2812) et pilotées par un RaspberryPi.

2011-06-09_16.55.39.jpg

À faire :

  1. Faire des tests avec des WS2812 pour s'assurer que l'adressage de 64 leds est suffisamment rapide
  2. Enlever l'ancienne matrice de led
  3. Poser les WS2812
  4. Interface et intégration avec le RaspberryPi

Ballon à air chaud

C'est un aérostat constitué de 8 fuseaux de 9m² réalisé à partir de sacs poubelle bas de gamme (faible épaisseur, environ 17 micron d'épaisseur), le ballon est fini et traine depuis plus d'un an dans un coin, il faut dire que malgré le temps que j'ai passé à le faire (quelques dizaines d'heures), l'arrivée de mon Ultimaker m'a totalement fait changer de priorité.

C'est une belle bête capable de lever théoriquement 2kg de charge utile, je compte profiter d'une journée fraiche pour le gonfler et faire un premier test.

La moitié du ballon déployé à côté du chat !

À faire :

  1. Fabriquer une nacelle pour tenir les suspentes et les relier à un fil maitre
  2. Trouver une journée froide et sans vent pour faire un test (certainement un matin très tôt

Bleuette

Encore beaucoup de boulot pour le robot hexapode Bleuette mais le projet avance...

2013-03-03_19.39.11.jpg

À faire :

  1. Ajouter une caméra sur une tourelle mobile
  2. Revoir tout le système d'alimentation en énergie pour une autonomie plus grande
  3. Améliorer le contrôle des pattes avec une meilleure gestion de la vitesse des servos
  4. Encore beaucoup de choses...

CappuccinoMaker

Amateur de cappuccino à la mousse de lait bien dense et ne trouvant pas d'appareil suffisamment puissant et fiable pour en faire (oui, c'est tout un art), je vous dévoilerai ma version fait main que j'utilise depuis quelques années ainsi que sa nouvelle toute petite version dont le boitier est réalisé à l'impression 3D...

2013-09-13_09.50.36.jpg

À faire :

  1. Tests d'autonomie avec la nouvelle batterie (quelques 120mA)
  2. Finir le nouveau boitier

Automatiser la Blossoming Lamp

Découverte sur le stand RepRap au 3DPrintShow de Paris, cette plante (Blossoming Lamp) à la particularité d'être imprimée en une seule fois (et @f4grx à dû s'y prendre à plusieurs fois pour que j'arrive à y croire ;)), je me devais d'imprimer cette curiosité :

L'idée serait de lui implanter une lumière et de la motoriser afin qu'elle s'ouvre et se ferme toute seule.

À faire :

  1. Trouver comment motoriser la mécanique d'ouverture
  2. Réalisation de l'électronique pour piloter la méca et la lumière

OpenAlarm : Un système d'alarme libre

Suite à l'annonce de création du projet, pas mal de personnes se sont rejointes au projet, apportant leurs idées, conseils ou développements réalisés de leur côté étayant avec des bases très intéressantes le projet à peine commencé...

Pour le moment, j'ai commandé différents composants (module radio, gsm) qui me permettront de réaliser un prototype, dont toutes les informations utiles seront mises à disposition sur la page du projet GitHub / OpenAlarm et sur le forum hébergé sur MadeInFr.

À faire :

  1. Réaliser un premier prototype de capteur
  2. Communication entre le RaspberryPi et un capteur
  3. Envoi de SMS via SIM900 depuis le RaspberryPi
  4. Beaucoup d'autres choses...

RaspiO'Mix

La carte fille RaspiO'Mix que j'ai présenté sur ce blog récemment dont vous allez entendre parler de nouveau d'ici peu de temps...

raspiomix.jpg

À faire :

  1. Écriture d'exemple / enrichissement de la documentation

LeMurmureDuSon

LeMurmureDuSon est un dispositif jouant le rôle de post'it vocal que je n'ai jamais présenté sur ce blog et qui est encore en cours de développement.

Il a été pensé au cours d'un workshop du Museolab d'Érasme oû des équipes pluridisciplinaires ont été réunies autour d’un thème particulier : comment le handicap peut-il être source d’innovation pour tous ?

Ce workshop à donné naissance à 3 projets dont LeMurmureDuSon fait parti, dans la vidéo ci-dessous, vous découvrirez ces 3 projets (la présentation du projet LeMurmureDuSon commence à 3min22) :

Museolab : Le handicap source d'innovation from Erasme on Vimeo.

À faire :

  1. Nouveau design
  2. Nouvelle carte électronique
  3. Plein d'idées à mettre en oeuvre...

Intervalomètre photo

L'Intervalomètre diy est un vieux projet mis en standby pour le moment, n'ayant plus trop le temps pour pratiquer la photo, le besoin de ce dispositif est moindre qu'à l'époque, cependant, la carte électronique est faite et est fonctionnelle à quelques détails prêt...

Je reviendrai dessus le temps voulu mais ce n'est plus une priorité.

À faire :

  1. Déboguer !
Ouvrir l'article

BleuettePi : Une carte fille pour RaspberryPi

Introduction

Comme je l'annonçais dans un précédent article, Bleuette va pouvoir être piloté par un Raspberry Pi grâce à une carte fille dédiée dont je vais décrire les caractéristiques ici même.

Le choix du Raspberry Pi s'est porté grâce à 2 de ses atouts : le coût et la puissance, en effet, pour moins de 40€, on dispose d'un système embarqué sous Gnu/Linux avec 512Mio de RAM, un processeur pouvant monter à 1Ghz, à côté des 2.5Kio de RAM et des 16Mhz de l'Arduino Leonardo, ça fait une sacré différence et ça laisse entrevoir plein de nouvelles possibilités...

Notez que ça ne signifie pas l'abandon du développement de Bleuette sur Arduino, il s'agit juste de donner le choix du système.

Caractéristiques

Les avantages d'utiliser un tel ordinateur embarqué sont nombreux, comme par exemple, la facilité pour embarquer / supporter des périphériques comme une clef WiFi pour programmer Bleuette à distance ou encore brancher une webcam (notamment le module caméra officiel), etc... Mais il n'y a pas que des avantages, on se retrouve aussi avec quelques soucis comme par exemple l'alimentation, le Raspberry Pi consomme plus qu'une petite carte Arduino et ses entrées / sorties ne sont absolument pas compatible avec le 5V utilisé sur la précédente carte fille, il faudra donc faire avec...

BleuettePi est conçue à la base pour faire fonctionner Bleuette mais j'ai fait en sorte que cette carte soit suffisamment généraliste pour être utilisée dans d'autre application.

Voici les caractérisitiques de cette carte :

  • Gestion de 14 servos (toujours de manière synchrone)
  • Mesure du courant consommé par les servos
  • Mesure de la tension de la batterie
  • Connexion pour une carte GY-27 contenant un accéléromètre et un compas (via I2C)
  • 16 entrées / sorties compatible 5V avec 2 lignes d'interruption, le tout commandé en I2C
  • 6 entrées analogiques
  • Amplificateur audio pour ajouter le son à votre Raspberry Pi (à base de LM386)
  • 5 entrées / sorties généralistes compatible 5V direct Raspberry + 5 autres entrées / sorties disponible si le bus SPI n'est pas utilisé
  • Toutes les broches du SPI (MOSI, MISO, SCLK, CE0, CE1) sont disponibles sur un connecteur et compatible 5V
  • Un module horloge temps réel (RTC) pour garder votre Raspberry Pi à l'heure !
  • 4 lignes d'interruptions physiques (INTA et INTB pour les IO, INTC en provenance de l'horloge temps réel, INTD)

Schéma de principe

Voici le schéma de principe complet :
Schéma de principe de la carte d'extension de Bleuette

Détails

Les détails bloc par bloc du schéma de principe :

Liaison au RaspberryPi

La liaison au RaspberryPi se fait via P1 :

BleuettePi : Liaison RaspberryPi

L'alimentation

Pour fonctionner, le RaspberryPi a besoin d'une tension d'alimentation de 5V avec une intensité d'environ 1A.

La carte fille reçoit 2 tensions en entrée :

  • Le 5V pour le Raspberry et pour la carte fille
  • Une tension pour alimenter les servos (de 5V à 6V selon les servos).

Une autre entrée (BATT et BATT1) optionnelle permet de recevoir la tension brute de la batterie à des fins de mesure via le pont diviseur R1 / R2.

Note: Si la tension d'alimentation des servos est directement celle de la batterie, le jumper (J_BATT0 ou J_BATT1) permette d'injecter la tension directement sur R1 / R2.

BleuettePi : Alimentation

Gestion des servos

BleuettePi : Pilotage des servos

Pour le pilotage des servos, un PIC18F4520 programmé avec une version dérivée du projet Pic24Servos est utilisé de la même façon qu'avec la Bleuette Shield Arduino.

Mais comme mentionné plus haut, les entrées / sorties du Raspberry Pi fonctionnent uniquement avec une tension de 3.3V, le PIC18F4520 aussi mais rien ne permet d'affirmer que les servos vont « voir » les impulsions de 3.3V comme des niveaux hauts, donc, j'ai choisi d'alimenter le PIC en 5V et d'adapter la liaison série avec le Raspberry Pi.

Pour la transmission de donnée du RaspberryPi vers le Pic, le signal passe par l'adaptateur de niveau 3V / 5V, pour la communication inverse, du Pic vers le RaspberryPi, un simple diviseur de tension (R9 / R10) ramène la tension à 3.3V max.

Le découplage de la ligne d'alimentation des servos est effectué par plusieurs condensateurs de bonne capacité (C1 et C9).

Les entrées / sorties

L'adaptateur de niveau 3V / 5V bidirectionnel pour les entrées sorties généralistes est un TXB0108PWR :

BleuettePi : Adaptateur de niveau

Une partie des entrées / sorties sont disponibles via les connecteurs OPTION0 et OPTION1 :

BleuettePi : Input / Output

Horloge temps réel (RTC)

Une horloge temps réel est disponible via le bus I2C afin de garder le RaspberryPi à l'heure, même sans alimentation grâce à la pile bouton de sauvegarde (CR1220).

BleuettePi : RTC, Horloge Temps Réel

C'est le DS1339 qui joue le rôle d'horloge, ce dernier est équipé d'une sortie (SQW/OUT) cablée sur INTC (INTterruption Clock) permettant au choix d'obtenir un signal carré à une fréquence précise ou d'utiliser cette broche comme réveil, cette dernière est disponible sur le connecteur OPTION0, ainsi, on peut imaginer un dispositif qui sortirait le RaspberryPi d'un sommeil très profond puisque dans cet état, il ne consommerait absolument rien...

Le son

Le Raspberry Pi disposant d'une sortie son, il est intéressant d'en profiter via l'utilisation d'un amplificateur et d'un haut parleur externe.

BleuettePi : Son

Rien de particulier à dire, à part un potentiomètre permettant d'atténuer le niveau d'entrée.

Mesure du courant et tension LiPo

Un pont diviseur de tension pour la mesure de la tension de la batterie et l'utilisation d'un MAX4173 pour la mesure du courant.

BleuettePi : Mesure du courant

Sur la version à base d'Arduino, c'est ce dernier qui s'occupait de la conversion analogique, or, le Raspberry Pi ne contient pas de convertisseur analogique / numérique (CAN), du coup, il aurait fallu embarquer un circuit intégré spécialisé pour cette fonction mais il n'y a plus de place sur la carte et il y a une meilleure solution, en effet, le PIC18F452 utilisé pour la gestion des servos possède un CAN et justement, ces broches sont libres...

La mesure du courant (SERVO_CURRENT) se fait via l'entrée AN5 et la tension (LIPO_VOLTAGE) via l'entrée AN4.

Carte accéléromètre et magnétomètre

Vu le format de ce type de composant (très difficile à souder avec du matériel amateur), j'ai opté pour un module GY-27 intégrant les 2 composants, le magnétomètre (HMC5883L) et l'accéléromètre (ADXL345) dialoguant tous les 2 en I2C, ils sont donc branchés sur la liaison I2C hardware du Raspberry Pi.

La carte sera donc directement branchée sur la carte fille BleuettePi permettant en plus un gain de place non négligeable.

BleuettePi : Capteur GY-27

Pour ceux ne voulant pas utiliser cette carte, il est tout à fait possible de l'utiliser pour autre chose, ça reste de l'I2C...

Liaison SPI

Un autre convertisseur de niveau 3V / 5V (TXB0108PWR) est présent pour assurer la conversion de niveau de tension du bus SPI :

BleuettePi : Liaison SPI

Guirlande de led RGB

Pour le pilotage de la guirlande de led RGB à base de LPD8806 depuis le Raspberry Pi, la librairie Boblight sera utilisée.

Au niveau électronique, rien de particulier, le pilotage se fait via le bus SPI hardware du Raspberry (ligne MOSI et SCLK).

Informations supplémentaires

Un premier batch de 5 PCB est en cours de fabrication chez Seeedstudio à l'heure où j'écris ces lignes.

Les fichiers sources sont disponibles au format Eagle sur GitHub :

La pages dédiées sur le wiki : BleuettePi sur GitHub.

Ouvrir l'article

Des nouvelles de Bleuette

Point presse

Tout d'abord, un point people, l'information du développement de Bleuette à plutôt bien circulée et Bleuette s'est retrouvée sur plusieurs sites importants :

La vidéo sur Vimeo à été vue plus de 6000 fois.

Plutôt plaisant de voir que ça intéresse du monde mais j'attends avec grande impatience le moment ou un autre Bleuette pointera le bout de son nez en PLA... ;)

Évolutions

Nouvelle carte fille

La shield Bleuette permet le pilotage des servos et le contrôle de la tension / courant consommé par les servos, pour pouvoir ajouter des capteurs multiples, il est tout à fait possible d'utiliser les broches libres des ports de l'Arduino mais il n'y en a pas assez pour tous les capteurs voulus sur Bleuette, du coup, le besoin d'une nouvelle carte d'extension s'est fait sentir et voici ce qu'elle permet :

  • 8 entrées supplémentaires multiplexées utilisant que 4 entrées / sorties (3 d'adressage et une sortie)
  • Connection pour une carte GY-27 contenant un accéléromètre et un compas
  • Un module Bluetooth JY-MCU
  • Une connection pour une guirlande de led RGB à base de LPD8806
  • Un mosfet pour pouvoir piloter un élément de puissance (je ne sais pas vraiment quoi pour le moment...)

Voici le schéma de principe et le PCB associé (cliquez dessus pour agrandir) :
Schéma de principe de la carte d'extension de Bleuette PCB de la carte d'extension de Bleuette

Le schéma de principe au format est Eagle se trouve par ici : sensor.sch et le PCB : sensor.brd

Comme vous pouvez le voir, le PCB n'est pas dense du tout, du coup, il est simple à réaliser avec des moyens modestes.

Mécanique

Pas de grande nouveauté pour la partie mécanique sauf pour les pieds, ces derniers ont été imprimés en PLA Flex permettant d'avoir un peu de souplesse et trempé dans du PlastiDip afin d'avoir un meilleur grip en plus d'un super rendu !

Avant trempage dans le PlastiDip et après :
Les pieds de Bleuette

Tous les éléments d'un pied de Bleuette, on aperçoit l'interrupteur poussoir, le piston et le cylindre et le pied recouvert de PlastiDip :
L'ensemble des pièces constituant un pied de Bleuette

Le tout assemblé :
Vue d'un pied

Le fichier source au format OpenSCAD des pieds de Bleuette est disponible, comme tout le reste de Bleuette sur GitHub / Bleuette.

Le cerveau

J'ai subi beaucoup de soucis avec la carte Arduino, notamment des problèmes de programmation, m'obligeant à recommencer la phase 3-4 fois de suite des fois...
Tous ces ennuis m'ont conduit à radicalement changer ma manière de développer avec Arduino, notamment en utilisant Ino, un outils en ligne de commande pour compiler, programmer, etc, bref, un remplaçant du mal aimé environnement par défaut d'Arduino.

Les problèmes de liaison avec la carte Leonardo m'ont également conduit à une solution radicale, j'ai embarqué un Raspberry Pi dans Bleuette auquel est relié la carte Leonardo, ainsi, c'est le Raspberry Pi qui programme la carte Arduino, ça complique un peu mais au moins, je suis moins gêné...

À force d'utiliser ce système, ce qui devait arriver arriva et j'ai donc décidé de créer une carte fille pour le Raspberry Pi qui permettra de piloter Bleuette directement avec cette dernière.
Bien entendu, je ne laisse pas tomber pour autant le dèveloppement sur Arduino, disons que celui ci sera la version simplifiée.

Bleuette embarquant un Raspberry Pi :
Bleuette embarquant un Raspberry Pi

D'ici peu, je publierai un article expliquant toutes les caractéristiques de la carte d'extension pour Raspberry Pi.

Ouvrir l'article

Nouvelles avancées de Bleuette !

Bleuette marche

Pour commencer, voici une vidéo de Bleuette effectuant ses premiers mouvements :

Bleuette first step from hugo on Vimeo.

L'électronique

Le contrôle des servos de Bleuette (12 pour les pattes + 2 optionnels) se fait au travers d'une carte fille (shield) pour Arduino conçue pour ne pas être totalement dépendante de Bleuette, ainsi, vous pouvez parfaitement l'utiliser pour un tout autre projet.

Ses caractéristiques sont les suivantes :

  • Gestion parfaitement synchrones (voir en dessous) de 14 servos
  • Contrôle de la tension des servos
  • Contrôle du courant consommé par les servos
  • Port d'extension intégré (avec disponibilité de l'alimentation +5V et 4 entrées / sorties RA2 à RA5)

Parfaitement synchrone signifie que les impulsions à destination des servos commencent toutes au même moment avec un décalage très très faible, vous pouvez lire la documentation originale sur la carte.

Le pilotage des servos se fait en envoyant des trames de 17 octets contenant une entête, une commande et la position des servos + un checksum.

J'ai fait faire les PCB par Seeedstudio, qui fait de la très bonne qualité pour un prix très intéressant. La carte est simple à réaliser, la soudure du PIC18F452 nécessite tout de même un peu de doigté et un minium de matériel mais ça reste jouable avec du matériel amateur.

Voici une vue de la carte :
La carte électronique de Bleuette

Si vous souhaitez faire vous même la carte, rendez-vous sur cette page pour avoir la dernière version des fichiers Eagle : Pcb de Bleuette

Pour ceux qui souhaiteraient se procurer une carte (version 1.0.2), frais de port inclu pour la France métropolitaine :

  • La carte seul (sans composant) pour 6€, livraison en France
  • Le PIC18F452 programmé : 10€
  • Pour le kit complet, carte + composants soudé ou non, me contacter

Notez également que j'ai effectué des modifications récentes sur le schéma de principe et le PCB, elle est dorénavant en 1.2.1 (ajout d'un condensateur de découplage C9, des diodes zener D2 et D3 de protection sur les entrées analogiques, modification de l'interrupteur, ajout d'un pont SJ1 pour le reset).

Logiciel

La méca et l'électronique étant finies, j'ai pu attaquer le logiciel embarqué qui est de 2 sortes :

L'assembleur PIC

Rien de spécial à dire, il se trouve ici et comporte tout ce dont on a besoin pour piloter Bleuette et donc ne devrait plus vraiment évoluer...

Le code pour Arduino

Voici la structure :

Et nous avons 4 librairies :

  • Bleuette : C'est par ici que tout passe
  • Sequencer : C'est lui qui gère les sequences définies dans le fichiers sequences
  • ServoController : Pilote de la carte de contrôle de servos
  • SerialCommand : Librairie externe très pratique pour la gestion de commande via la liaison série.

Déplacer Bleuette

Pour faire bouger les pattes de Bleuette, c'est assez simple, commençons par un exemple :

bleuette.servo.set(0, 128);

Cela aura pour effet de positionner le servo 0 à sa position intermédiaire 128.

Si maintenant, on souhaite faire faire des pompes à Bleuette, on ne va pas répéter 24 fois la commande précédente pour positionner chaque patte, sinon, on ne va jamais s'en sortir ! Utilisons plutôt, une séquence :

Tout d'abord, déclarons une structure de type motion_t nommée motion_pushup :

// Push up
motion_t motion_pushup[] = {
    {
        DELAY_MIN, // Durée du déplacement courant
        {
            __, __, __, __, __, __, // Position des pattes horizontales
            UP, UP, UP, UP, UP, UP // Position des pattes verticales
        },
        NULL // Une callback qui sera appelée à chaque fin d'exéction de la position
    },
    {
        DELAY_MIN,
        {
            __, __, __, __, __, __,
            DOWN, DOWN, DOWN, DOWN, DOWN, DOWN
        },
        NULL
    }
};

Puis créons la séquence en elle même :

sequence_t seq_pushup = {
    "Push up",  // Le nom de la séquence
    2, // Le nombre de mouvement dans la séquence
    motion_pushup // La structure de déplacement que nous avons créé plus haut
};

Maintenant, nous n'avons plus qu'à appelé la séquence ainsi :

// Pour la jouer en avant
bleuette.sequencer.forward(sequences[seq]);

// Pour la jouer à l'envers
bleuette.sequencer.backward(sequences[seq]);

Voilà pour cette introduction rapide, je vous invite à regarder le code, il est vraiment simple...

Évolution en cours

La prochaine évolution de Bleuette lui donnera de vrais pieds qui lui permettront de moins glisser mais surtout, lui donnera le toucher au travers d'un petit interrupteur, ainsi, en posant une patte, il pourra s'assurer que le sol est bien en dessous...

Voici une vue de ses bouts de pattes :
Le bout de patte faisant office de capteur

La partie inférieure (la demi sphere et le cylindre extérieur) est mobile et glisse dans le cylindre plus petit dans lequel se trouve un interrupteur poussoir, c'est ce dernier qui fait office de rappel mécanique.

La partie en contact avec le sol (la demi-sphere sur l'image) sera en PLA Flex afin d'obtenir un maximum d'adhérence.

Ses 6 pattes devraient en être équipées, pour cela, un circuit intégré (4512) branché sur le port OPTION permettra de sélectionner la patte à lire via une adresse sur 3 bits, on occupera ainsi seulement 3 bits de sorties pour l'adressage + 1 bit de sortie pour connaitre l'état (patte posée ou non).

Évolutions futures

Bleuette devrait être équipé d'une liaison Bluetooth, d'un capteur magnétique afin de garder un cap lorsqu'il marche et enfin, d'une tourelle mobile avec un capteur ultrason pour détecter les obstacles devant lui et tout cela intégré dans une seconde carte fille.
Bleuette se sentant un peu à l'étroit avec Arduino, il n'est pas totalement exclu que je porte le code pour tourner sur un Raspberry Pi...

Et bien entendu, Bleuette attend impatiemment des frères et soeurs : toute contribution est la bienvenue !

Ouvrir l'article

La carte électronique de Bleuette : Shield Bleuette

Pour ceux qui aurait raté les épisodes précédents, Bleuette est un robot hexapode (3 paires de pattes) entièrement libre (logiciel, plan, etc...) réalisable avec une imprimante 3D ou dans une moindre mesure et de la patience en découpant les pièces dans du Plexiglas.

Concernant la carte fille, je viens d'arriver au bout de son routage et je vais lancer sa fabrication d'ici peu, les caractéristiques de cette carte sont les suivantes :

  • Génération de la tension de fonctionnement pour l'Arduino
  • Pilotage des 12 servos de pattes + 2 supplémentaires
  • Contrôle de la tension de la batterie
  • Surveillance du courant consommé par les servos

Voici le schéma de principe (cliquez pour agrandir) :
Schéma de principe de Bleuette

Et le PCB (cliquez pour agrandir) :
PCB de Bleuette

Tous les documents nécessaires à sa fabrication sont sur GitHub par ici https://github.com/hugokernel/Bleuette.

Concernant la mécanique, c'est presque prêt, encore quelques pièces à imprimer et je pourrai passer à l'assemblage final !

Ouvrir l'article

Avancée de l'hexapode Bleuette

Voici un billet pour vous tenir informé des évolutions de Bleuette.

Les supports de pattes

Liste des modifications :

  1. Simplification du design des support de pattes, ils sont maintenant symétriques permettant d'avoir les même supports à gauche ou à droite du robot, cela à impliqué de devoir faire une seconde fente pour laisser passer le bras permettant de bouger la patte via un servo et de faire en sorte de pouvoir changer le guignol qui permet à la patte de tourner.
  2. L'avantage est que cela permettra aussi de changer le guignol si il casse ou encore de pouvoir faire des essais de longueur beaucoup plus facilement.
  3. Pour finir, les supports de servos ont été légèrement modifiés.

Vue de l'ancienne et de la nouvelle version :
Vue de comparaison entre l'ancienne version à gauche et la nouvelle à droite, voir texte pour les différences

Comparaison vue du dessous :
Comparaison vue de dessous

Vue d'un guignol, on aperçoit à droite la queue d'aronde qui permet de le glisser sous le support de servo afin de le bloquer :
Le guignol qui vient s'emboiter sous le support de servo

Le support de pattes monté avec le support de servo et le guignol :
Support de servo entièrement monté.

Le corps

Découpe en queue d'arronde du corps de Bleuette

J'ai commencé à imprimer le corps un peu rapidement, comme expliqué dans un précédent article, le corps est trop grand pour la surface d'impression de l'imprimante 3D, il faut alors le découper en plusieurs parties et les réassembler, pour cela, j'ai réalisé une librairie de découpe en queue d'aronde afin d'avoir une liaison la plus robuste possible, un paramètre important pour générer ce genre de découpe est l'espace entre les 2 pièces à assembler (0.1mm par défaut).

Pour la découpe de Bleuette, je suis parti avec une valeur plus ou moins pifométrique, c'est après une dizaine d'heures d'impression que je me suis aperçu que l'écart était vraiment trop faible et qu'il était impossible de lier les éléments entre eux sans les endommager...

Ça m'apprendra à vouloir aller trop vite, du coup, quelques petites impressions de test plus tard et il se trouve que la bonne valeur (pas trop petite mais pas trop grande) est de 0.2mm, et là, la liaison est excellente :
Liaison par queue d'aronde

Les pattes

À l'origine, les entretoises entre chaque pattes venait simplement s'emboiter en rentrant en force dans les pattes, maintenant, elles viennent s'enclencher dans les pattes, une fois mise, elles sont piégées et ne peuvent plus sortir de leur logement, c'est ainsi plus robuste mais ça reste réversible s'il faut changer une patte...

L'ancienne entretoise et la nouvelle :
Ancienne entretoise Nouvelle entretoise

Et voici une vue de l'entretoise emboitée :
Vue de l'entretoise montée

Pour effectuer la liaison entre les 2 pièces, on enfonce l'entretoise dans la patte, on effectue une rotation à 90º et ça y est, c'est bloqué, voir animation ci-dessous :
Animation verrouillage d'une entretoise sur une patte

Les palonniers ou bras de servo

Palonnier de servo

12 servos embarqués juste pour la mobilité des pattes, ça fait 12 palonniers, et ces derniers coutent chèrs comparés à la quantité de plastique qu'ils sont : l'idée est donc de les imprimer, pas moyen de trouver une librairie OpenSCAD pour cela, chose en partie compréhensible car la tête des servos sur laquelle vient se greffer le palonnier est très fine et requiert une précision d'impression assez poussée, cependant, nul besoin d'obtenir une empreinte parfaite, avec un peu de marge, les imperfections de l'impression devraient suffir à faire en sorte que le palonnier reste en place...

Et ça marche parfaitement bien avec ma librairie OpenSCAD qui vous permet de créer des palonniers de toutes les tailles avec le nombre désiré de bras.

Les palonniers réalisés en ABS attendent leur montage :
Les palonniers de servo réalisé en ABS avec une Ultimaker.

L'électronique

Pour le moment, je ne sais pas encore si toute l'électronique sera sur une ou deux cartes, la facilité / reproductibilité m'oriente vers le premier choix (avec une carte fille compatible Arduino), la raison technique m'oriente vers 2 cartes distinctes, bien séparées, à réfléchir donc...

Voici le rôle que doit avoir l'électronique sur Bleuette en plus de l'Arduino :

  • Marche / Arrêt général
  • Génération des tensions 5V pour l'Arduino, 6V pour les servos
  • Mesure du courant consommé
  • Contrôle de la charge de la batterie (surêment en technologie LiPo)
  • Sécurité en tout genre
  • Pilotage de 14 servos (les 12 des pattes + 2 pour une tourelles mobiles par exemple)

L'électronique sera basée principalement sur une carte de gestion de 24 servos réalisée il y a maintenant quelques années.

La suite

La conception des pièces étant pour ainsi dire finie, il faut maintenant lancer la production des pièces restantes, autant dire que l'Ultimaker va avoir du boulot, en parallèle, je vais m'attaquer à la partie électronique.

Tout le développement se fait via GitHub à cette adresse : http://github.com/hugokernel/Bleuette/

Pour finir, voici un tiers de Bleuette :
Avancement de l'hexapode Bleuette

Ouvrir l'article

Le retour de l'hexapode Bleuette

...et cette fois ci, il n'est pas content !

Ce projet à pour but de fabriquer une bestiole à 6 pattes et de la faire marcher sans l'aide de quiconque. Pour certain d'entres vous, le nom “Bleuette” vous est peut être familier, en fait, c'est une féminisation de Bleuet, le robot de la série FX, Effet spéciaux, nous n'avons aucun rapport avec cette série mais on s'est dit que le pauvre Bleuet devait se sentir seul et qu'il faudrait lui fabriquer un congénère et puis tant qu'à faire femelle… :) extrait de la page du wiki sur Bleuette

Le projet s'est arrêté il y a quelques années faute d'avoir trouvé une solution robuste pour le pivot de chaque patte, sur notre prototype, il était réalisé en bois mais nous voulions une autre matière plus robuste. Le projet est bien sûr OpenSource / OpenHardware.

Une des première version de Bleuette

Plus d'informations sur la première version :

Le logiciel

De grosses modifications vont être faite sur la partie logiciel par rapport au plan initial, sur la première version de Bleuette, c'est une carte à base de PIC qui devait être développé from scratch et exécuter le noyau temps réel PICOS18 mais afin de simplifier la prise en main, une carte Arduino sera le cerveau de l'engin et une carte fille développée par mes soins en 2006 pour Bleuette sera utilisée pour piloter les 12 servos de manière parfaitement synchrone.

La nouvelle structure

Dans ses premières versions, Bleuette était réalisé en Plexiglas, découpé à la scie sauteuse et à la scie à chantourner, un vrai boulot, long et pénible avant de nous rendre compte des limites de cette matière : elle est cassante et se raye facilement.

Puis, nous avons pu faire découper gracieusement toutes les pièces (patte et corp) en Lexan par http://jegrave.fr/, merci Jean-Louis pour le boulot, cette matière est beaucoup plus solide, ne se casse pas et résiste incroyablement bien à la torsion mais nous n'avions toujours pas de réelle solution pour les supports de pattes autre que le bois...

Et depuis, plus rien, quelques années se sont écoulées et, depuis, l'impression 3D s'est considérablement développée, au point d'être devenue attractive pour les particuliers et intéressante pour un projet comme Bleuette, l'achat d'une l'Ultimaker à été guidé par l'arrière pensée de pouvoir enfin finir ce projet et là, plus aucun souci concernant le pivot : il sera comme toute le reste : en PLA.

Tous les plans de Bleuette ont été refait à l'aide de OpenSCAD, un dépôt GitHub à été créé à l'occasion pour partager tous les documents inérant à la fabrication du robot.

Le corps de Bleuette modélisé avec OpenSCAD
Le corps de Bleuette

Son corps étant trop grand pour être imprimé en une seule fois sur la surface de mon imprimante 3D, j'ai développé une librairie OpenSCAD qui permet de découper des pièces avec un motif en queue d'arronde (dovetail), ainsi, le corps sera réalisé en 3 tronçons qui seront emboités les uns aux autres et enfin définitivement bloqués à l'aide de tiges filetées.

Découpe en queue d'arronde du corps de Bleuette

La suite

Pour le moment, la dernière section (partie haute et basse) est imprimé, ça à pris environ 13h d'impression, j'imprime à 50mm/s pour avoir la meilleure qualité possible, 1 patte est fonctionnelle pour le moment, le design n'est pas figé encore, j'y apporte quelques corrections...

Avancement du moment avec le test de la cinématique du mouvement de la patte :
Test de la cinématique de la patte

Todo liste mécanique :

  • Correction des entretoises des pattes
  • Ajout d'un support pour une tête
  • Bout des pattes avec capteurs d'appuis

Restez connecté à Bleuette !

Il est possible de suivre l'avancée de Bleuette via différent moyen :

Ouvrir l'article