Les amateurs de LEDs RGB et NeoPixels trouveront en cpt-city une incroyable ressource graphique.
Il s'agit d'une ressource utilisée pour la création d'un accessoire du film Beyond Skyline (pour l'animation des "grenades"). A peine ce projet terminé, j'ai perdu le lien de cpt-city et il n'aura fallu plusieurs années pour remettre la main dessus!
C'est quoi ces gradients de couleurs?
C'est une énorme collection, regroupé par auteur, reprenant des progressions de couleurs (des palettes).
Gradiants de Blackheartedwolf
En sélectionnant l'un des gradients, celui-ci est affiché en gros plan.
Détail du gradient bhw1 01
Le texte au dessus des formats d'export disponibles indique que le gradient utilise deux segments avec une progression linéaire (continue) pour chacun des segments. Le libellé "0...100" indique gradient couvre/décrit une plage de valeurs de 0% à 100%.
En cliquant sur le lien "c3g" nous avons accès à la description du gradient au format CSS3 Gradiant.
Description du gradient au format c3g
L'indication 0deg indique que le gradient progresse de bas en haut (selon CSS) mais n'est pas exploité dans le cas de la présente archive.
Pour le reste, la description du gradient est simple à comprendre.
L'idée est somme toute assez simple tout en proposant des éléments mobiles, c'est justement ce qui le rend intéressant.
Déplacement des segments
Notez le placement des différents moteurs sous les segments
Le segment central
Le segment central est piégé par les autres segments. Sa mise en place ou son retrait nécessite de coordonner son mouvement avec celui des autres segments.
Par exemple, en partant de 9: on écarter les segment supérieurs à gauche et à droite
Ensuite on dégage le segment centrale en le faisant pivoter.
On remet en place les deux segments supérieurs (gauche et droite)
Enfin, on peut achever le mouvement du dernier segment pour former le chiffre suivant (qui est un 0).
Bonjour à tous et plus particulièrement à nos amis de l'enseignement!
Le futur tronc commun pour l'enseignement Belge fait apparaître un nouveau programme nommé Formation Manuelle Technique Technologique et Numérique (pour connu sous l'acronyme FMTTN).
Ce sujet fait couler beaucoup d'encre avec un grand questionnement de nos amis enseignants.
Lors de la "journée du Virage numérique" organisé par le SeGec et à laquelle MCHobby participait, nous avons eu l'occasion d'entamer une réflexion avec Philippe Godts sur les outils pratiques au support du FMTTN.
Ainsi est né le projet "STEM Belgian Knife" (SBK en cours), une sorte de couteau Suisse Belge destiné à faciliter l'intégration du numérique dans le cursus mais aussi dans les activités STEM.
Actuellement orienté vers le premier degré secondaire, SBK est un DataLogger intelligent capable d'identifier le/les capteurs qui y est/sont connecté/s, d'afficher les données physiques. Il permet même de créer un fichier Excel (CSV) en vue d'un traitement sur tableur.
Cliquer pour agrandir
SBK est conçu pour être:
Abordable : une nécessité dans l'enseignement!
Evolutif : recevoir de nouveaux capteurs et ainsi répondre à de nouvelles expériences
Solide : les petites mains ne sont pas forcement tendre avec le matériel.
Réparable : le matériel sera manipulé, il va donc souffrir!
Avancées du projet
Le projet avance plutôt rapidement avec des validations qui se succèdent a rythme soutenu.
Début Juin, c'est le prototype de développement qui fût présenté à la réunion du Segec.
SBK DataLoger en action
Mi juin, c'est les premiers préparatifs de l'interface graphique.
Vers fin juin, passage en multi-thread et gestion des traitements concurrents pour dissocier affichage et acquisition de données. Test d'échantillonnage avec plus de 10 millions d'acquisition sans plantage!
10 Millions d'échantillons
Test en situation
Dès la rentrée prochaine (sept 2025), le projet passe en phase de pré-test auprès de deux professeurs du secondaire
Enfermez des Makers dans un garage avec une VW Polo et voilà qu'ils décident de RetroFitter la Polo!
Découvrez donc les aventures de Loïc, Thibault et Marc... des Makers avec des idées démesurées pour un projet hors normes. Merci à eux de partager leur expérience!
Qu'est-ce que le RetroFit ?
C'est
une opération qui consiste à enlever le moteur thermique et le réservoir
d'un véhicule pour remplacer le tout avec un moteur électrique et des batteries.
Grâce à Internet, il est aujourd'hui possible d'acheter des moteurs électriques de voiture, les batteries ad-hoc et même le BMS (gestion d'alimentation et contrôle moteur).
Ne vous attendez à des colis style Amazon mais plutôt à des livraisons au transpalette!
Piloter une Polo avec des Raspberry-Pi et des Arduino
Dans l'univers des Makers, il arrive régulièrement qu'on y croise des personnes aux idées qu'on pourrait parfois qualifier de farfelues... Loïc, Thibault et Marc entrent probablement dans cette catégorie de personnes qui décident de passer leur temps libre sur des projets inhabituels.
Ils se sont mis pour défi de prendre une Volkswagen Polo de 2007, d'y mettre un moteur électrique de Nissan Leaf de 2013 à l'intérieur, une batterie de Nissan nv200 et de modifier la polo pour la préparer en vue d'une conduite autonome en milieu contrôlé, rien que ça...
Un projet issu d'une réflexion sur la durabilité des véhicules
Le Retrofit de véhicule est présenté comme une des solutions possibles à la décarbonation du transport individuel.
Le RetroFit permet de capitaliser sur l'empreinte carbone déjà existante du véhicule thermique en partant de l'hypothèse que le modifier pour rouler en électrique aura une empreinte carbone moins importante que d'acheter un tout nouveau véhicule électrique (et envoyer le véhicule existant à la casse).
Le terme "RetroFit" est également utilisé dans d'autres contextes, notamment pour l'augmentation d'engins de chantier ou agricoles avec de nouvelles technologies, comme par exemple de la conduite autonome, avec ou sans électrification de la motorisation, ou encore dans l'amélioration/conversion de machines lourdes industrielles, fixes ou mobiles.
La question que Loïc, Thibault et Marc se sont posée est la suivante:
En pratique, quel est le coût et l'effort nécessaire pour le rétrofit d'un véhicule, que ce soit en terme de modifications mécaniques, logicielles et/ou technologiques au sens large, afin de l'amener au niveau des véhicules actuels ?". Avec une autre sous-question: "Est-ce que cela en vaut vraiment la peine ?
La question de la viabilité économique du RetroFit d'un véhicule est un sujet d'actualité. Bien que populaire dans certains pays pour la conversion de voitures personnelles qualifiées d'ancêtres, la question reste ouverte pour les véhicules plus récents sans oublier les véhicules plus lourds (camions, engins de chantiers, engins agricoles, bateaux).
Que l'on RetroFit n'importe quel véhicule, la démarche reste la même, mais l'espace et l'outillage nécessaire peuvent changer... Pour cette petite équipe de Makers, il était plus simple de travailler dans une garage sur une citadine que sur un semi-remorque.
Des choix techniques
Un des obstacles lorsque l'on change les composants d'une
voiture par d'autres qui n'étaient pas
prévus à l'origine, c'est de les faire communiquer ensembles... Par chance, en 2007, une quantité importante de fonctions de la voiture
communiquaient déjà sur un bus de communication toujours d'usage aujourd'hui, le bus de données CAN.
Le bus CAN est utilisé principalement
dans l'automobile mais se rencontre aussi dans la plupart des machines
industrielles et l'aéronautique.
Dans l'exemple qui nous occupe: placer un moteur
électrique de Nissan dans une Polo laisse entrevoir les premières incompatibilités. Les messages que la Polo échange sur
son bus de données sont différents de ceux attendus par le moteur Nissan
et vice versa. Il est donc nécessaire de créer un système de
"traduction" entre les deux permettant à ces composants de s'échanger des informations. Tout composant ajouté à la voiture, et qui n'est pas
supporté par celui-ci, doit passer par ce système de
traduction.
Ce système de traduction est créé avec des Raspberry-Pi 4 et des Arduino R4 !
Une bonne dose de rétro-ingénierie a été nécessaire pour identifier les messages CAN a supporter sur
leur système. Les constructeurs n'étant pas très enclin à partager la documentation de ces messages avec le grand public !
Ainsi est né le projet OVCS : Open Vehicule Control System!
Leur plateforme OVCS est composés de plusieurs éléments:
Le VMS : Vehicle Management System qui est le cerveau et s'occupe de
la traduction et du routage des messages vers les bus de communications
concernés. Tous les composants existants de la voiture y sont
connectés, ainsi que les contrôleurs et l'infotainment.
Les contrôleurs : ils permettent d'augmenter des fonctions
analogiques et/ou digitales de la voiture qui peuvent être ajoutés sur le bus de
communication. Par exemple, permettre à la pédale analogique d'accélération de la Polo d'envoyer des messages sur le bus CAN. Ces contrôleurs peuvent aussi activer les relais de charge et de pré-charge du moteur.
L'infotainment : est un module optionnel qui permet d'ajouter
un écran tactile. Cet écran fourni des informations
utiles au conducteur et permettra de configurer des paramètres du véhicule. L'infotainment est également une interface de choix pour visualiser des informations de diagnostic.
Le projet OVCS combine donc plusieurs bus de données agrégés par le VMS (Vehicule Management System), une architecture qui ressemble à ceci
Architecture du projet OCVS
Le VMS est constitué de:
3x Raspberry-PI 4 (pour assurer de la redondance dans le futur)
1x "hub" SPI fait maison permettant d'y connecter jusqu'à 12 bus de données CAN grâce à des MCP2518fd
1x alimentation faite maison pour le tout
Les contrôleurs sont constitués de:
1x Arduino R4 Minima
1x module SPI CAN (mcp2515)
VMS à l'étape de prototype
Gros plan sur les Raspberry-Pi (aussi visible sur la gauche du panneau ci-dessus)
Les firmwares des Rasbpberry-Pi sont développés sur une plateforme appelée Nerves qui utilise un langage de haut niveau, basé sur Erlang et appelé Elixir.
Elixir est un langage particulièrement adapté à leur cas grâce au concept de programmation appelé
"pattern-matching" (filtrage par motif) idéal pour le traitement des messages
CAN envoyés en continu sur le bus.
Enfin pour gérer la charge et la décharge de la batterie, l'équipe s'est rabattue sur un Battery Management System Orion configurable (aussi appelé BMS). Il est assez incroyable de pouvoir acheter un tel dispositif directement sur Internet.
Les modifications mécaniques
Trouver le moteur électrique qui pouvait rentrer correctement dans
l'espace laissé disponible une fois le moteur diesel retiré n'aura
certainement pas été chose facile.
Au delà de la problématique des échanges de données entre les
composants de marques différentes, il reste la question de la connexion physique.
En effet, un moteur de Nissan n'aura
pas les mêmes fixations de châssis que ceux disponibles dans la Polo pour son moteur diesel.
Le nouveau moteur n'a pas la même empreinte que
l'ancien et est donc physiquement incompatible avec la boîte de vitesse
de la Polo. Il faut fabriquer des pièces sur mesure pour cette
combinaison exotique.
De nouvelles fixations
pour le moteur électrique ont été soudés sur le châssis de la Polo.
Moteur électrique monté sur les nouvelles fixations de la Polo
Deux pièces de connexion "sur mesure" furent
fabriquées grâce à une découpeuse CNC et un tour à métaux.
Coupleur fabriqué spécialement pour le projet
Empreinte prototype du socle côté moteur électrique
Découpe à la CNC
Essayage sur moteur
Brasure
Il est enfin possible de connecter le moteur électrique Nissan sur la boîte de vitesse de la Polo!
Il faut maintenant considérer l'ajout du BMS et des batteries qui représentent eux aussi un volume non négligeable.
D'autres modifications et fabrications
ont été nécessaires pour placer les batteries. Trois bacs en aluminium ont été fabriqués afin d’accueillir les différentes cellules et des modifications de
carrosserie ont été apportées à la voiture afin de placer les 3 bacs au
mieux dans l'espace disponible:
Le réceptacle de la roue de secours a été enlevé afin de placer 2 bacs de cellules juste en dessous de la voiture
Le réservoir a été enlevé afin de permettre d'y insérer le troisième bac de cellules.
Ajout des bacs à l'arrière pour les batteries
Au delà de ces changements nécessaires pour la modification, les trains
avant et arrières ont été complètement rénovés et la voiture a été
équipée de nouveaux freins a disque aux 4 roues ainsi que de nouvelles
suspensions.
Et ça roule ?
La voiture n'est pas encore sortie du garage mais les roues tournent !
La plateforme développée permet de tester la communication
entre tous les composants et de faire tourner les roues lorsqu'on appuie
sur la pédale d'accélération.
Voyez les deux vidéos suivantes disponibles sur GitHub:
Plusieurs adaptations ont d'ailleurs été faites afin de rendre ce RetroFit le plus "naturel" possible:
La clé de la polo enclenche les relais permettant au moteur de tourner
L'indicateur de tours par minute sur le tableau de bord de la polo affiche bien les tours par minute du moteur électrique
L'infotainment indique le statut de plusieurs
composants (frein à main, phares , ...)
La solution est pour le moment au stade de prototype
fonctionnel.
L'équipe est occupée à recâbler la voiture et y connecte batteries et composants du système afin de pouvoir sortir la voiture du
garage !
Etapes vers la conduite autonome
Il reste encore du chemin à parcourir avant d'en faire un
véhicule d'expérimentation de conduite autonome,
et en particulier:
Changer la colonne de direction: La colonne de direction d'origine ne permet pas le contrôle électronique.
Changer le système de freinage: Dans les anciennes voitures,
les servo freins utilisent la dépression créée par le moteur pour
activer un piston et fournir une assistance au freinage. Difficile à
faire avec un moteur électrique...
Améliorer le logiciel: Poursuivre le développement et s'assurer suffisamment de redondance.
Plusieurs phases de tests en milieu contrôlé permettrons de tester la voiture en conduite manuelle... et peut-être, un
jour, de tester la conduite autonome !
Le coût et les efforts
L'équipe à bien entendu son avis concernant les questions du coût d'un RetroFit et des efforts nécessaires pour mener un tel projet à bien!
Le plus lourd dans un rétrofit est l'élaboration du kit de conversion en
lui même. Ce kit sera compatible avec un nombre très limité de
composants et de modèles de voitures. Si on compare avec toutes les
combinaisons possibles de modèles, de moteurs électriques et de
batteries, on se rend vite compte que la mise à l'échelle de ce genre de
conversion n'est pas une mince affaire. Sur le plan écologique, la conversion
d'un véhicule reste la meilleure manière de capitaliser sur son
empreinte carbone existante, mais économiquement, à part dans certains
cas précis et à petite échelle, il est difficile de se dire que cela
vaut vraiment le coup! Pour les ancêtres c'est une autre histoire, il y a
souvent un aspect émotionnel qui transcende la question du prix consenti à la
conversion. Pour les véhicules plus grands ou plus
onéreux, cela peut avoir plus de sens. Un semi remorque avec 25 tonnes
de charge utile peut se permettre de transporter 3 tonnes de batteries,
sa charge utile restant encore de 22 tonnes. Au final, c'est le
rapport coût/bénéfice qui dirigera le choix de RetroFitter ou pas des véhicules lourds.
Un accès grand publique aux protocoles CAN des ancêtres
Une manière de réduire le prix de la fabrication des kits serait
d'avoir un accès plus facile aux spécifications des véhicules considérés
en fin de vie par leurs constructeurs (+ de 10 ans par exemple). Ainsi une documentation publique ou sur demande des messages permettant de
faire fonctionner les composants utilisés (les fameux messages CAN) éviterait une fastidieuse et coûteuse phase de retro-ingénierie.
Malheureusement, ce n'est pas vraiment dans l'intérêt des constructeurs
de fournir ces informations mais on peut se poser cette question
légitime: Si on achète un véhicule ou un composant précis, ne devrait-on
pas pouvoir utiliser chaque composant individuellement comme bon nous
semble ? La situation actuelle nous paraît contradictoire avec la notion
de "right to repair" qui est de plus en plus poussée au niveau
Européen. Nous verrons dans quelle mesure le secteur automobile sera
impacté par les futures évolutions de ce côté là.
Découvrir, apprendre et partager
Au delà de l'aspect RetroFit, ce projet est avant tout
une opportunité d'apprentissage énorme. On ne peut mener à bien ce
projet que si l'on est une équipe pluridisciplinaire qui maîtrise à la
fois la mécanique, la fabrication, le software et le hardware. Nous
avons la chance d'avoir suffisamment de connaissances dans tous ces
domaines pour mener un tel à bien. Certains payent, parfois des sommes
importantes, pour assister à des formations, nous avons choisi la voie de
l'apprentissage par projet ! A chaque obstacle nous discutons ensemble
des options, chacun apporte sa contribution, on teste et voit ce qui
marche ou pas. A ce stade, nous ne savons pas encore jusqu'où va nous mener ce
projet, mais cela nous donne déjà plusieurs idées sur le genre
d'activités que l'on pourrait développer par la suite. On se donne
encore quelques mois avant de faire le point. Tout le travail effectué
sera documenté et rendu public.
Conclusion
Pour un projet démarré en 2024, je trouve que les résultats atteint en Juin 2024 sont particulièrement impressionnant.
Nous sommes loin du petit bricolage robotique du dimanche... juste quelques niveaux au dessus de nos bricolages de Makers.
En même temps, le projet est conduit dans un modeste garage avec des moyens mécaniques qui restent financièrement abordables.
Ceci étant, se lancer dans l'achat d'un moteur électrique, des batteries et d'un BMS de voiture pour réaliser un tel projet est franchement culotté.
Merci à Marc, Thibault et Loïc pour le partage de leur projet, information, vidéo et article. Vivement la suite!
Ressources
dépôt d'OVCS - Open Vehicule Control System (Github)
Voici un robot crée en Lego Technique pour créer des tableaux de type PixelArt en Lego.
Une idée très intéressante faisant intervenir une IA pour générer l'image (1024x1024px) et des techniques de simplifications d'image pour descendre la résolution à 32x32px. Ajoutez à cela la réalisation mécanique... c'est un projet vraiment top.
Diminuer la résolution
Si on utilise une application comme Gimp pour diminuer la résolution alors on fini avec un résultat flou et "baveux".
Pour contourner ce problème, l'auteur à divisé l'image 1024x1024px en 32 x 32 carrés.
Les images sont générées en couleurs 24 bits, ce qui fait pas moins de 16 millions de couleurs. 24 bits permet de coder une couleur en RGB (Red, Green, Blue) à raison de 8 bits par couleurs. Sur 8 bits, il est possible de coder un entier de 0 à 255. Cela fait donc 256 tons possibles par couleur fondamentale.
Image 24 bits => 256 tons de rouge * 256 tons de vert * 256 tons de bleu.
Les couleurs Lego
Seulement voilà, il n'existe 70 couleurs de brique Lego. Il n'est par ailleurs pas envisageable d'en utiliser autant pour un robot.
La projet réduit le nombre de couleur à 15 couleurs (plus raisonnable).
Simplification de couleurs
Il faut donc pouvoir réduire les couleurs de 16 Millions à 15 couleurs. Voici l'idée utilisé pour simplifier les couleurs en fonction de celles disponibles.
Il ne reste plus qu'à analyser chaque pixel de l'image 32x32 puis attribuer la couleur simplifiée correspondant à la couleur 24 bits. Sans oublier la couleur de fond... en blanc.
Dans le premier article, je faisais l'investigation d'une HP DesignJet T520 pour voir ce qui était "réparable". Dans le deuxième article, j'ai essayer de tromper le détecteur optique... mais les cartouches coulent...
Cette fois-ci, je vais essayer de démonter la tête pour la nettoyer. voici la suite de cette histoire
3 juin 2024 18:00 : test du ruban Flex ajouté à l'article.
Récupérer le chariot
Après avoir démonter la plaque en bout de rail
Et après avoir retirer la roulette pour libérer la courroie crantée, l'ai essayé de glisser la tête d'impression hors du rail.
Mais pas de chance, je ne vais pas plus loin que cela....
... à cause du ruban Flex qui va jusqu'à la tête d'impression (et qui n'est pas extensible).
Ne sachant pas trop comment m'y prendre, j'ai décidé de libérer le ruban du côté du panneau de contrôle (sur la gauche de l'imprimante)
Et après avoir retiré l'écran LCD et la carte mère... je m’aperçois que les rubans Flex ne sont toujours pas libérés!
Il faut continuer le démontage.
Après le retrait d'une vis supplémentaire, j'ai enfin pu libérer le ruban et enfin extraire la tête du rail.
C'est à ce moment là que je j'ai pu l'arrêter sur le débranchement de la tête.
Les ruban Flex sont maintenu en place par un clips... et pas vraiment facile a extraire.
Nettoyer la tête d'impression
La tête d'impression ne semble pas en mauvais état. Par contre, les traces d'écoulement sont très nettement visible sur la partie droite.
Nettoyer délicatement la tête à l'alcool iso-propylique à l'aide d'un cotton tige.
Par contre, enlever l'accumulation d'encre est un sacré travail. Après quelques heures (oui... littéralement), la tête présente une bien meilleure allure.
La carte mère
c'est le moment de faire un petit détour par la carte mère. Sans pousser les investigations très loin, je remarque immédiatement la présence d'une clé USB!
En voila une façon intéressante de créer espace de stockage temporaire
En insérant la clé dans un système Linux, on y découvre quelques petite choses intéressante.
Deux partition de 34 Mio : type non identifié. A tout les coups, c'est le stockage de firmware et sa copie (en cas d'échec de mise-à-jour)
Une partition de 1.9 Go en Fat (certainement Ext-Fat ), plutôt destiné au stockage de fichiers temporaires car la partition est vide.
Curieux de nature, je voulais jeter un coup d'oeil dans le contenu brute (binaire) de la partition de 34 Mo... pour essayer d'y retrouver des chaînes de texte.
L'identification des partition Linux se fait avec un simple lsblk pour lister les périphérique de type block device.
Puis le contenu de la partition est inspectée en hexadécimal avec xxd /dev/sdb1 .
J'étais étonné de retrouver des chaînes de caractères comme Samsung, Daimler, InnoLux (très certainement l'écran) et quelques autres noms connu.
J'ai fait une copie de cette partition dans un fichier à l'aide de la commande Linux suivante:
dd if=/dev/sdb1 of=hpkey.img conv=sync,noerror
Il est aussi possible faire une copie compressée de la partition avec:
Je vais essayer d'identifier le système de fichiers... puis aller fureter dedans ;-)
Remontage
C'est le moment de remonter l'imprimante dans les règles de l'art.
LES BONNES NOUVELLES:
Elle démarre toujours...c'est une très bonne nouvelle
Elle entame le cycle de nettoyage
Elle ne fuit plus
LES MOINS BONNES NOUVELLES:
Elle ne termine pas le cycle de nettoyage
La pompe à air ne se met pas en route
J'ai de nouveau le beau message d'erreur (ouinnnnn)
Diandre, cette machine va me rendre fou!
Une suite ?
Je me souviens avoir eu des difficultés pour retirer les rubans de la tête d'impression.
Comme j'ai malheureusement tordu l'un des rubans en le sortant de la tête d'impression. je me demande si je n'ai pas rompu l'une ou l'autre piste du ruban Flex.
Je vais donc retirer une nouvelle fois les rubans de la tête d'impression et faire un test de continuité. Comme je sais comment faire, ce sera moins compliqué.
Test du Ruban Flex
J'ai finalement extrait les rubans Flex.
Double ruban Flex allant jusqu'à la tête d'impression
Pas de chance... tous les contacts sont parfaits!
C'est parti pour la récupération
Puisqu'il n'est pas possible de rendre la machine opérationnelle, je vais faire de la récupération.
Il y a pas mal de chose intéressantes:
Le chariot, son axe, moteur pas-à-pas et son système de positionnement.
La motorisation du bac de nettoyage (avec disque de positionnement)
Une mini-pompe à air comprimé et tuyauterie en silicone
En tant que bricoleur, je me suis souvent dit qu'une 3ieme main ou une queue (comme les singes) me serait bien utile. L'évolution étant ce qu'elle est... je me contente de ce que l'évolution à bien voulu nous laisser.
A l'évidence, je ne suis pas le seul que cela travaille puisque l'Université de Cambridge conduit une étude très sérieuse sur l'utilité d'un troisième pouce.
Il ne s'agit pas uniquement d'une étude sociologique puisqu'elle s'accompagne d'une prothèse expérimentale qui se commande à l'aide des deux pieds (entre autre avec le gros doigt de pied).
Voici le genre d'application que je pourrais apprécier (surtout si l'autre main maintient le composant en place ;-)
Cédric F. qui se reconnaîtra nous à fait parvenir un boîtier pour Raspberry-Pi 5 afin de nous pencher dessus.
Il s'est dit qu'entre passionnés de Raspberry-Pi nous trouverions ce boîtier digne d'intérêt. Il a bien raison, c'est une découverte intéressante.
Mini Tower Kit pour Raspberry-Pi 5 de GeeekPi
Commençons par le packaging qui est très soigné.
Le boîtier est livré en kit avec un excellent manuel de montage. S'il n'est pas en français, il est très facile de suivre les différentes étapes.
En cours de montage, il est intéressant de noter que le kit est livré avec un réplicateur GPIO permettant de reporter le GPIO à l'extérieur du boîtier.
Délicate attention pour les amateurs de prototypage.
Alors, une fois le pied assemblé sur le ventilateur, il faut extraire la base du boîtier (dévisser les 4 vis en dessous du boîtier).
Le ventilateur, le Raspberry-Pi et la base sont fixés ensembles grâce aux vis de fixation qui s'insère dans les 4 pieds de la base.
L'utilisation d'une base adaptée en fonction du modèle de RPi est une approche plutôt intelligente (cela permet au boîtier d'être adapté facilement).
Comme le ventilateur est branché sur le port "Fan" du Raspberry-Pi, celui-ci ne se mettra en marche que lorsque est vraiment nécessaire.
A noter qu'une fois mis dans le boîtier l'écran OLED se branche sur le GPIO.
Vue arrière
Il est possible de voir:
l'accès GPIO
les ouvertures de ventilation
l'ouverture arrière offrant l'accès à la carte SD, le connecteur PCIe et le bouton marche arrêt.
Vue avant
Nous pouvons voir :
L'autre partie de la ventilation
L'accès au connecteur d'alimentation et HDMI
les port USB et Ethernet
Et l'écran OLED branché sur le GPIO du Raspberry-Pi
Ecran OLED
L'écran OLED de 128x32px permet d'afficher de nombreuses animations (voir documentation). Les exemples, écrits en Python, ne manquent pas!
Si l'affichage est très compacte, il permet aussi d'afficher quelques caractéristiques intéressantes du système en cours de fonctionnement.
La photo est malheureusement un peu floue (mais le contenu assez évocateur).
Cliquer pour agrandir
Eclairage RGB
Le ventilateur est équipé de LEDs RGB variante, ce qui permet de profiter d'un bel effet de lumineux en cours de soirée.
Eclairage RGB
En bref
Un beau boîtier en rapport qualité prix tout a fait raisonnable. Il est facile de se le procurer sur Amazon, les vendeurs ne manquent pas.
Points positifs
Design de qualité
Tous les ports sont accessibles (facile d'accès), y compris le GPIO
Exploite port ventilateur du Pi 5
Facile à monter
Ecran OLED pour statistique (ou autre affichage) et personnalisable grâce à Python
Dans l'article précédent, nous avions déniché un capteur optique sous la tête d'impression, capteur qui inspecte l'état du buvard.
Dans un premier temps, nous allons essayer de tromper le firmware en faisant croire que le l'absorbant est redevenu blanc comme neige.
J'ai donc placer un collant double face qui ne tient pas trop mal....
Puis j'y ai superposé une couche de papier blanc. L'ensemble tient plutôt bien.
Voila de quoi tromper notre capteur.
La bonne et la mauvaise nouvelle
La bonne nouvelle
Le firmware démarre et ne veux plus de l'intervention d'un technicien.
La mauvaise nouvelle
L'imprimante démarre le nettoyage des cartouche (j'en ai mis une nouvelle).
Tout se passe bien pour la noir... et plus l'imprimante bogue sur la cartouche bleue (toute neuve elle aussi).
Après avoir débloqué la cartouche (car oui, elle est bloqué par le bac de nettoyage, les deux cartouches ont mis de l'encre un peu partout...
Une autre tentative
Cette fois, il va falloir jeter un oeil sur la tête d'impression elle-même :-(
Cette fois, il faudra démonter la plaque d'arrêt... celle qui soutient le système pneumatique qui éjecte l'encre, tout comme elle soutient l'axe et la bande de positionnement.
Mon quart de gendre, oui encore lui, m'a proposé de récupérer une Imprimante Jet d'encre capable d'imprimer des formats jusqu'à presque 1M de large.
La HP DesignJet T520 permet d'imprimer en couleur et principalement utilisé pour l'impression de plan. Avec un prix oscillant entre 1500 Eur et 2500 Eur, nous somme loin de l'imprimante jouet.
Le problème
Alors voila, cette jolie petite chose à eu un problème de fuite sur sa cartouche noire et refuse de démarrer. L'afficheur LCD déclare un problème technique... veuillez contacter HP.
Vu son age et l'urgence de sortie de schémas multiples, cette HP fût déclassée et destinée au container.
Alors quitte à passer au rebus, autant explorer les entrailles de la machine et voir ce qu'un Maker pourrait y récupérer.
Avant la destruction
Avant d'ouvrir la machine en mode Brutus, il serait peut être intéressant de savoir pourquoi elle refuse de terminer son démarrage.
Sachant qu'il y a un zone de nettoyage/purge de la tête d'impression et qu'une cartouche ai fuit... nous avons peut être un problème avec un capteur (problème déjà rencontré sur une Epson Stylus).
Extraire le bac de nettoyage
Je me suis donc lancé dans le démontage du bac de nettoyage. Et bien évidement tout est fait pour compliquer la tâche! Heureusement qu'il est possible de mettre la main sur le "Service manual"... cela aide vraiment dans le démontage.
Le bac de nettoyage se trouve à droite de l'imprimante. Y accéder demande le démontage de quelques éléments pour atteindre les vis de fixation du caisson.
J'ai bien entendu déjà extrait le bac de nettoyage... j'ai pris les photos à la fin. Il a été nécessaire de retirer la motorisation du bac... l'extraction du bac demande de la patience et du doigté!
autre vue de l'emplacement du bac. Comme on peut le voir la tête d'impression passe bien au dessus de la zone en question.
Voici le bac de récupération... presque vide! Il n'y par ailleurs aucun capteur sur cet élément.
Comment l'imprimante peut elle savoir qu'il y a eu un problème avec une cartouche d'encre? Puisque c'est ce qui empêche le firmware de démarrer!
Détails intéressants:
La présence d'une petite brosse en poil doux! Vraiment inattendu sur une "poubelle à encre".
La présence d'un élément absorbant plongé dans le banc de récupération d'encre. Celui-ci est presque noir tellement il est imbibé... mais pas de capteurs en vue.
Le trait vert indique un alignement entre l'absorbant (devenu noir) la zone de nettoyage et le petite brosse de poil.
C'est à ce moment là que j'ai poussé la tête d'impression jusqu'au dessus de la zone de nettoyage.
La tête d'impression
La tête d'impression passe pile au dessus de la ligne verte. En inspectant la tête de plus prêt, je découvre un ruban flex sur la partie externe.
Au bout de ce ruban, il y a un détecteur photo-sensible
La petite brosse de poil est là pour nettoyer la surface du capteur (pour retirer les poussières!!!).
Je vous le met dans le mille... le capteur inspecte la couleur de l'élément absorbant. Il ne reste plus qu'à faire redevenir l'absorbant totalement blanc et tout devrait rentrer dans l'ordre.
Les extensions et schéma présentées dans l'article précédent ont pris forme sur cette carte spécialement conçue pour ce projet.
Adaptateur ELEGOO-4WD-PICO
Une fois les divers composants installés, voici à quoi ressemble la carte une fois équipée des composants.
Adaptateur ELEGOO-4WD-PICO
Le petit connecteur Qwiic/StemmaQt en bas à gauche permet de connecter facilement des extensions compatibles Qwiic... comme par exemple un SerLCD 16x2 de SparkFun (comme sur l'imahe.
Elegoo avec Ecran SerLCD de SparkFun (interface Qwiic)
Ca y est, la fondation Raspberry-Pi nous annonce son tout dernier produit: un Hat M.2 officiel pour Raspberry-Pi 5 . Nous attendions ce produit depuis début 2023 car c'est le HAT M2 que nous voulions distribuer avec le Raspberry-Pi 5!
Sans surprise les performances offertes par le connecteur PCIe Gen 2 (4GBits/s) permettent de charger le système d'exploitation de façon quasi instantané. C'est impressionnant mais aussi très fluide.
Le dernier firmware Raspberry-Pi (voir tuto de mise-à-jour) permet de détecter le disque M.2 au démarrage et démarrer l'OS depuis ce périphérique.
Par ailleurs, l'installation réseau du Firmware (lorsque la carte SD/disque M2 est non initialisé) permet de télécharger et installer le système d'exploitation depuis la connexion Ethernet filaire.
Cette mise-à-jour permettra de démarrer le système d'exploitation directement depuis un périphérique PCIe (donc di disque M.2).
Un fois fait, nous pouvons commencer le montage du HAT M.2 .
Etape 1:
Insérer le Header sur le connecteur du HAT. Ne surtout pas l'enfoncer à fond mais seulement venir à affleurement de l'autre côté du connecteur.
Si cela n'est pas encore fait, placer le ruban PCIe sur le Hat. Manipuler ce connecteur avec soin.
Glissez y le ruban avec les connexions électriques vers le haut. Le ruban doit être bien enfoncé dans le connecteur avec les contacts bien parallèle au connecteur.
Etape 2:
Visser les entretoises et présenter/aligner le Hat sur le GPIO. Ne pas encore enfoncer le Hat sur le connecteur.
C'est le moment idéal pour fixer le ruban sur connecteur FPC du Raspberry-Pi.
Comme le Hat n'est pas encore enfoncé sur le GPIO, nous avons toute la latitude pour manipuler repositionner le ruban. Vu qu'il n'est pas très flexible, cela facilitera grandement le montage.
Etape 3:
Maintenant nous pouvons finir de mettre le Hat_M2 en place sur le GPIO.
Utilisez aussi les vis incluses avec le HAT pour fixer celui-ci sur les entretoises (ce que je n'ai pas encore fait sur l'image ci-dessus).
Etape 4:
Nous allons placer le disque M.2 sur le HAT. Il s'agit d'un disque au format 2242 de 128 Go avec l'OS pré-installer.
128 Go de stockage est plus que confortable pour un système Linux.
Le disque est présenté dans le connecteur avec un angle de 30 à 45°. Il n'est pas nécessaire de forcer, le disque doit rentrer sans effort particulier.
Ensuite, utiliser la vis de fixation que l'on positionne correctement dans l'arc en demi-lune. Il ne reste plus qu'a viser la vis pour abaisser la carte M.2 (ce qui assure le contact électrique) et maintient le disque en place.
Voilà,
Il ne reste plus qu'à mettre sous tension et terminer l'installation de Raspberry-Pi OS.
Il y a quelques nouvelles intéressantes pour nos Raspberry-Pi 5.
MàJ de la Boot-Rom
Bien que l'image soit floue, il est possible de voir une tentative de boot NVME. Et le message mentionne qu'il faut presser la touche <SHIFT> pour démarrer une installation depuis la connexion Réseau.
Cela était possible sur une Carte SD, c'est maintenant aussi le cas sur NVME.
Depuis sa sortie, il dispose de 2 mise-à-jour de la boot ROM:
Très attendu par la communauté, le support matériel du GPU via l'API Vulkan permet d'atteindre des performances graphiques inégalée à ce jour sur Raspberry-Pi.
Vulkan est maintenant activé par défaut dans Raspberry-Pi OS pour le rendu graphique du Bureau (info de Phoronix.com).
Leepsvideo a fait une revue du support Vulkan sur Raspberry-Pi OS et sur quelques jeux. Je vous invite à consulter sa video (le rendu de Doom3 est vraiment excellent!).
Le magnétomètre sert a détecter l'accélération selon les 3 axes X,Y,Z et donc aussi la position de capteur par rapport au sol (puisqu'il y a le vecteur accélération terrestre "g" dirigé vers le centre de la terre).
L'accéléromètre sorti des chaînes d'assemblage fonctionne généralement avec une précision acceptable pour des applications générales/scolaires.
Usage exigeant
Il existe des domaines plus exigeant comme par exemple les centrales inertielles utilisées dans les systèmes de pilotages (ex: QuadCopter). Dans pareilles situation l'erreur n'est pas acceptable car vol + erreur = crash! . Il faut donc pouvoir étalonner/calibrer l'accéléromètre afin de pouvoir appliquer une correction mathématique sur les mesures.
Car oui, la correction s'applique par voie logicielle!
Résultat tangible de la correction
Le graphique ci-dessous reprend les mesures (valeur max) effectuées sur les axes X et Y (en bleu) et le résultat de la correction appliquée sur les mesures (en rouge).
Mesure et correction accéléromètre XY Source: cette vidéo
On peut y voir les mesures (en bleu) ne sont pas centrées sur 0,0 et qu'il existe un décalage notable sur le bas du graphe.
Après correction (en rouge), le graphe des mesure est alors recentré sur les axes et évolue également entre -1g et +1g (puisque c'est l'accélération terrestre qui est utilisée comme étalon).
Il s'agit bien entendu d'une correction dans l'espace, voici donc les deux autres vues.
Mesure et correction accéléromètre XZ et YZ Source: cette vidéo
Avec pour finir, cette très belle vue en 3D (attention, les données brutes sont ici en rouge et la correction en bleu). Il faut bien avouer que les rendus en 2D permettent de mieux apprécier les défauts et corrections.
On place la capteur dans une orientation donnée (ci-dessous avec le cable USB vers l'armoire et vers le haut).
Prendre un série de mesures selon différents angles d'inclinaison (de l'horizontale à la verticale) avec une capture de données dans chaque position dans un fichier CSV.
Modifier l'orientation du capteur et recommencer une série d'acquisition
Capture de mesures
Avec les 3 axes Z,Y,Z cela fait pas moins de 6 relevés à effectuer complet a effectuer. En effet, pour chaque axe, il faut un relevé sur la section positive de l'axe et un relevé sur la section négative de l'axe.
Ces derniers produisent une tension de sortie entre 0 et 3.6V (donc juste au dessus de la limite supérieure de 3.3V).
Pour ce cas de figure, j'ai décidé d'utiliser cette astuce technique limitant le courant de fuite dans les diodes de protection de l'entrée numérique du Pico.
Solution testée in-situ pendant quelques heures
Test du hack électronique exploité sur les détecteurs de ligne
L'alimentation du Pico
Les deux accus 18650 produisent un tension d'environ 7.2V (8.4 à pleine charge, 6V déchargées... moment où il faut arrêter).
Le Pico ne pouvant pas être alimenter avec une tension supérieure à 5.5V, il faut placer un régulateur entre le bornier d'alimentation et le Pico. Cette tension sera également utilisé pour le micro servo moteur (limité à 6V max). Un Hacheur DC/DC S7V7F5 sera utilisé pour disposer d'un meilleur rendement (80-90%).
Un meilleur rendement signifie moins de pertes calorifique là où le régulateur linéaire dissipe l'excédent d'énergie en chaleur. > Grâce aux régulateur DC/DC, nous ne gaspillons pas d'énergie en chaleur!
Une nouvelle carte
C'est le moment de créer une nouvelle carte. Il est préférable d'utiliser la même connectique que le modèle d'origine Arduino. N'ayant pas identifier les connecteur, il faudra dessouder ceux de l'ancienne carte pour pouvoir les réutiliser.
Comme vous pouvez le constater, j'ai laissé la nappe branchée sur le connecteur. Cela permet:
de pouvoir tirer plus facilement sur le connecteur pendant qu'on le dessoude.
de guider l'excédent de chaleur les fils de cuivre, ce qui retarde la fonte du plastique du connecteur. En s'y prenant bien, il est possible de récupérer facilement les connecteurs.
Connecteurs récupérés
La carte Elegoo-4WD-Pico
Voici le premier jet de la nouvelle carte permettant d'utiliser un Pico sur le robot Elegoo. La carte contient quelques fonctionnalités supplémentaires.
Carte Pico pour Elegoo (by MCHobby)
Avec le Pico en haut aux centre, la carte reprend tous les connecteurs Elegoo sur la partie droite (jusqu'en bas au centre).
La carte indique les GPIOs utilisés par les différentes connecteurs (carte auto-documentée).
A noter que la section infrarouge permet de monter un pont diviseur de tension entre la sortie du connecteur et GP15.
Vient ensuite le connecteur d'alimentation et régulateur DC/DC en haut à gauche.
La gauche reprend un connecteur UEXT standardisé. C'est un connecteur IDC 10 positions très résistant qui transporte une alimentation (3v3, GND) , un bus SPI (pour LCD) un bus I2C (pour nombreux capteurs) et un UART (GPS, connexion REPL et autre). Le connecteur UEXT permet de brancher rapidement un extension sur sur la carte microcontrôleur. Voir gamme UEXT chez MCHobby ou gamme UEXT chez Olimex.
le connecteur RFM69 permet de brancher un module de communication paquet radio RFM69HCW en 3.3V. Ce module est très pratique pour réaliser une communication encryptée avec contrôle d'erreur. C'est un peu l'Ethernet des module radio. Notre Wiki CanSat contient une documentation MicroPython+Pico pour le RFM69HCW. Le RFM69 utilise un bus SPI, le même que celui présent sur le connecteur UEXT. Les deux connecteurs peuvent être utilisés de concert car ils disposent chacun de leur propre ligne d'activation!
Le connecteur Qwiic en bas à gauche (compatible StemmaQt) transporte un bus I2C et une alimentation 3V3. Ce connecteur permet de brancher l'un des nombreux modules Qwiic de SparkFun ainsi que les modules StemmaQt d'Adafruit (ceux qui peuvent fonctionner en 3.3V). Une chouette connectique mais pas franchement résistant aux mauvais traitement.
Quelques signaux en extra non utilisés comme GP10, GP11, GP3 (et non GP28) sont accessible sur le connecteur Extra avec une alimentation 3V3 et la masse. Je suis certain que cela pourra se montrer utile.
Schéma
Si cela vous intéresse, voici le schéma de la première itération de la carte.
Schéma de la carte (V1) - Source: MCHobby Cliquer pour agrandir
Voilà, j'espère que vous avez trouvé cela intéressant. Dominique
Aujourd'hui je vais vous présenter un nouveau pilote MicroPython pour le VEML6075 de Vishay permettant d'évaluer le niveau d'UltraViolet et l'index UV (très important pour éviter les brûlure de peau sur la plage).
Index UV
Le capteur de VEML6075 Vishay permet de calculer l'index UV de la lumière visible à partir de la mesure d'UV-A (350 à 375nm) et UV-B (315 à 340nm).
Il s'agit d'un capteur utilisé dans les applications médicales et humaines (Indications météorologiques d'index UV)
Etant donner qu'il fonctionne sur un bus I2C, le branchement de ce capteur est relativement simple. Voici comment nous l'avons réalisé sur un Raspberry-Pi Pico.
Brancher un VEML6075 sur Raspberry-Pi Pico Source: GitHub de MCHobby
Ce capteur est destiné à être utilisé avec de la lumière visible et non avec des lampes UV car ces dernières ne produisent pas un spectre UV complet.
Le graphique ci-dessous montre très clairement les longueurs d'ondes utilisées pour réaliser les mesures. On peut facilement y constater les deux pics de sensibilités du capteur.
L'image ci-dessous reprend le spectre d'une lampe UV Raptor, des lampes de qualités utilisées dans les terrariums.
Si on superpose le graphique du capteur Vishay avec le spectre de la lampe Raptor alors on obtient ceci
On peut clairement y voir que les pics de sensibilité du capteur ne correspondent absolument pas aux pics d'émission de la lampe UV.
C'est pour cette raison que le capteur VEML6075 doit être exclusivement utilisé pour mesurer le rayonnement solaire!
MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.