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.
Ce que j'adore dans ce kit, c'est qu'il permet de commander un appareil électrique de faible puissance (ventilateur, petite pompe, foreuse, sapin de Noel, éclairage, ...) depuis un microcontrôleur sans prendre le risque d'entrer en contact avec le réseau électrique.
Cela en fait un outil idéal pour l'exploration pédagogique et apprentissage STEM mais aussi la domotique domestique... tous les domaines exploitant des appareils électriques de faible puissance.
Recréation du PowerSwitchTail
Les années on passées si bien que le PowerSwitchTail n'est plus disponible (c'est un produit Hawaïen).
J'ai donc décidé de le recréer ce kit pour éviter l'usage de module relais nus sous haute tension et sans protection particulière. C'est un usage particulièrement dangereux si l'on dispose pas du savoir faire nécessaire.
Voici à quoi il ressemble pour l'instant une fois équipé d'une prise et fiche multiple.
Les électrovannes avec joint ont généralement besoin d'une pression minimale pour s'ouvrir (et ne fonctionne que dans un seul sens). Ce sont généralement des vannes moins coûteuses (~10 EUR).
A titre d'exemple, un réservoir d'eau de pluie, une cuve de brassage pour la bière, une chasse d'eau sont tous des dispositifs sans pression (ou presque sans pression).
Dans pareilles situations, il n'est pas possible d'utiliser des électrovannes à joint (bon marché) puisqu'il n'y a pas assez de pression pour activer la vanne.
Si vous n'êtes pas disposé à vous tourner vers une électrovanne plus coûteuse, il reste des options à base d'impression 3D.
Des vannes sans pression (impression 3D)
J'ai déniché pour vous une série d'objets 3D permettant de réaliser des électrovannes sans pression minimale.
La plupart des solutions utilisent des servo-moteurs, il y a aussi quelques solutions exploitant un moteur pas-à-pas avec réducteur.
Servo Valve from ball Valve + Hobby Servo
D'apparence peu convaincant, cet assemblage fait le job attendu de façon plutôt efficace (voir la vidéo). Comme il utilise un servo-moteur le couple est suffisant pour contrôler la vanne avec précision.
Même principe que ci-dessus. Cependant, compte tenu de la réduction, il est fort probable qu'il s'agisse d'un servo-moteur à rotation continue (à tester).
Encore un autre contrôleur de valve à base de micro servo-moteur et d'un réducteur. L'intérêt de celui-ci réside dans sa robustesse et la conception que piège tous les éléments dans le corps de l'objet.
Parce qu'il ne faudrait pas négliger le contrôle d'une vanne de boyaux d'arrosage... modèle très usité dans le monde, voici un autre projet basé sur un Servo-Moteur.
Plus élaboré que le modèle ci-dessus, le projet propose de commander la valve avec un moteur pas-à-pas (assez commun) et un engrenage réducteur. Ce projet 3D très élaboré permettra un contrôle très fin du débit en sortie de valve.
Envie de réaliser un projet d'irrigation DIY de petite taille ? ou en classe avec des élèves ? Voici un système de valve sans pression et exploitant une vanne de perfusion. Idéal pour réaliser un arrosage au compte goûte.
Nous sommes nombreux à avoir une alimentation similaire à celle présentée sur la vidéo de ce sujet (j'en ai une similaire).
De bonne facture, elles présentent néanmoins un bruit non négligeable, souvent provoqué par le circuit de hachage.
La vidéo de cet article montre comment détecter la source du bruit mais aussi comment insérer une résistance sur la ligne de Gate (et un condensateur de filtrage) pour diminuer significativement le bruit.
Détection de la source du bruit
En réalisant une boucle avec la raccord de masse et en branchant celle-ci sur la broche de mesure, nous obtenons ainsi une sonde de mesure des interférences.
Amélioration du circuit de commutation
Dans le cas de la vidéo d'exemple, la Gate des MosFet est commandé en ligne directe. C'est performant et provoque donc peu d'échauffement par contre cela génère aussi un bruit assez important.
La solution est d'insérer une résistance dans le ligne de commande du transistor (sur la Gate) puis d'ajouter un condensateur de filtrage entre la Gate et la Source.
Les valeurs ci-dessus était optimale pour l'alimentation testé. TheStuffMan a commencé par une résistance de 10 Ohms, puis 20 Ohms pour enfin terminer avec une résistance de 33 Ohms. C'est pareil pour le condensateur de filtrage: celui-ci était de 22 nF lors du premier essai pour terminé par un condensateur de 47 nF.
Attention à l'échauffement !
En plaçant une résistance sur la Gate, la commutation sera moins efficace. Cela provoquera inévitable un échauffement plus important des MosFet durant la phase de commutation. Il faudra donc surveiller l'échauffement des MosFets (soit en améliorant le refroidissement, soit en diminuant la résistance).
Résultat de la modification
Bruit sur l'alimentation avant modification
Bruit sur l'alimentation après modification
On constate une très nette diminution du bruit sur l'alimentation.
Sur la carte Pi-Holder présentée dans cet article, le signal panic est directement transmit du Rack vers le GPIO17 du Raspberry-Pi (voir schéma-ci-dessous).
Schéma du Pi-Holder
Où est le problème?
Intrinsèquement, avec une seule carte sur le Rack... probablement pas. Surtout qu'initialement, un GPIO est généralement configuré en entrée par défaut donc en haute impédance.
Donc tout se présente sous le meilleur jour... Mais que se passe t'il si l'un des 14 Pi du Rack à un problème? Par exemple: un problème de configuration GPIO -ou- un problème de mise en route (un retardataire).
Intuitivement, je me dis que mettre des GPIOs en parallèle n'est pas une bonne idée.
Correction apportée
J'ai donc décidé d'isoler les GPIOs "signal" sur chaque Raspberry avec un transistor MosFET 2N7002H qui se contente d'un d'une tension de Gate de 2 à 2.5V (donc compatible avec une logique 3.3V).
Voila, correction testé et pleinement fonctionnel :-)
Première carte sur le Rack
Pour configurer l'OS, j'ai monté le premier Pi + Pi-Holder dans le rack. L'OS a été configuré à l'aide de la liaison série sur le GPIO et d'un Pico Debug Probe.
Pi 3B+ sur Pi-Holder (en cours de configuration)
Système d'exploitation
Le système d'exploitation et sa configuration sont décris sur notre Wiki (un article qui sera complété au fur et à mesure).
Une version de Raspbian antérieure est sélectionnée car plus légère.
La bonne nouvelle, c'est que l'ensemble tient sur une carte de 4 Go.