Vue lecture

Défi scolaire: des piles maisons pour alimenter un Pico

Bonjour à tous,

Commençons par vous souhaiter un joyeux Noel et un maximum de joie en famille.

Introduction

Il n'y a pas si longtemps, Kev écrivait un article où il se demandais s'il était possible d'alimenter un Pico avec des pommes de terre (avec du Zinc et du Cuivre).

La réponse est non car s'il est possible d'atteindre une tension raisonnable, le courant disponible est limité à quelques µA!

Le sujet n'est pour autant pas clôturé... il y a d'autres façons de créer des piles.
Je me suis penché sur ce sujet passionnant et captivant.
Les options intéressantes ne manquent pas... voici ma petite liste aide-mémoire :-)

Piles salines - Aluminium / Air / eau salée

La vidéo ci-dessous présente la réalisation d'une pile saline à l'aide d'aluminium, charbon de bois, eau salée et quelques éléments d'usage courant (tube PVC, essui-tout, ...).

Voir cette vidéo YouTube

Selon l'auteur, la configuration démontrée permet de d'obtenir une pile capable de produire 4V et un courant de 20mA.

Ce que j'aime dans cette approche, c'est qu'il est possible de réaliser cette pile SANS avoir besoin d'outils énergivores (comme une foreuse).


Lien vers la vidéo

Pile Cuivre - Zinc

Mon premier réflexe a été de penser à cette combinaison. Je vous propose deux vidéos sur le sujet. 

Ce qui est intéressant c'est que le zinc et le cuivre sont faciles à trouver.
Par contre la production en tension et courant sont relativement faible. Par contre, il est envisageable de recharge ce type de batterie (avec un électrolyte adéquat).


Les matériaux étant faciles à trouver, il est possible d'expérimenter différents types d'assemblage des électrodes (série,parallèle,espacement) et d'électrolytes.

Pile Saline Aluminium / Cuivre 

Voici un autre type de pile saline a base de tube en aluminium, fil de cuivre, eau salée et sable. Des éléments faciles a trouver.
L'intérêt ici réside dans l'épaisseur des matériaux, grâce notamment au tube en aluminium.

Le sable est ici utilisé comme "électrolyte". Initialement utilisé comme élément de remplissage, cet isolant est ensuite mouillé avec de l'eau salée!

Selon la vidéo, l'assemblage permet de produire ~5.3V. Le courant de court-circuit est inconnu mais l'expérience n'est pas dénuée d'intérêt.

J'ai tendance a penser qu'il faudrait maximiser la surface de cuivre et réduire l'espace entre le cuivre et l'aluminium.

Remarque:
le fil de cuivre va inévitablement s'oxyder et se couvrir de vert-de-gris... qui est aussi un isolant. Attention en manipulant le vert-de-gris car il est toxique pour l'environnement (et l'homme en cas d'ingestion).

La pile canette

Juste un dérivé de la pile ci-dessus. les canettes utilisées dans cette vidéo sont certainement en aluminium (attention, il en existe en fer avec revêtement protecteur). La réalisation des piles est probablement plus aisée.


Electrolyte polymère en Gel

L'électrolyte est un des éléments principaux des piles. Jusqu'ici c'est de l'eau salée qui sert d'électrolyte.

En navigant sur Internet, on se rend rapidement compte qu'il est existe beaucoup d'autres.... mais sans vraiment savoir lequel resterait à la portée des Maker.

La vidéo ci-dessous propose de réaliser un électrolyte Polymer sous forme de Gel. Les constituants peuvent être achetés sur Internet et la réalisation est relativement simple.

Cerise sur le gâteau, il est possible de régénérer le films électrolyte en le plaçant dans l'eau.


Bon visionnage
Dominique

Circuit Superstars : le frisson de la course vu d’en haut

Amateurs de courses endiablées et de sensations fortes, attachez vos ceintures ! Circuit Superstars est le jeu qui va faire vrombir vos moteurs et accélérer votre rythme cardiaque. Imaginez un instant la fusion improbable entre le gameplay frénétique de Micro Machines et la profondeur stratégique de Gran Turismo, le tout saupoudré d’une bonne dose d’arcade. […]

L’article Circuit Superstars : le frisson de la course vu d’en haut est apparu en premier sur Windtopik.

Encodeur à quadrature, Pico et MicroPython

Bonjour à tous,

L'article d'aujourd'hui regroupe plusieurs domaines.
Il démarre en effet de la récupération d'éléments sur l'imprimante HP DesignJet T520 ou je m'arrête spécifiquement sur les moteurs équipés de disques optiques.


Equipé d'un moteur 5V (CN459-60067 BN026Y18), d'un disque optique et d'un encodeur à quadrature optique, je voulais savoir s'il était possible de l'utiliser avec MicroPython.

Le disque optique

La photo haute résolution du disque optique permet de relever plusieurs informations utiles.

Le disque présente 50 interstices transparents entre deux numéro successif. Le disque étant numéroté de 1 à 12, cela représente 600 pulsations par tour (ce que reprend l'une des références sur le disque).

Les autres références/informations sur le disque ne renvoi malheureusement que vers les imprimantes HP.

L'encodeur optique

Pour sa part, l'encodeur optique est monté sur une plaquette fixée directement sur le support métallique.
Cet encodeur contient un LED (émetteur de lumière) ainsi que deux capteur photo-sensibles. Le décalage entre les deux capteurs permet d'identifier le sens de rotation du moteur.



Le connecteur 4 contacts est utilisé pour:

  • la masse
  • l'alimentation 5V (déduit de la résistance utilisée pour la LED).
  • Deux signaux à quadrature.

Les signaux

Quelques mesures rapides permettent de savoir que le capteur produit une tension de sortie (pas besoin de résistances pull-up ou pull-down).

Maintenant que le brochage est identifié, il ne reste plus qu'à branché un oscilloscope sur les deux canaux de sorties.


 


Notez le décalage entre les deux signaux entre marche avant et marche arrière!

L'oscilloscope nous informe aussi que la fréquence des pulsations est de 24.4 KHz (soit 24400 fois par seconde). La période est de 1/24400 soit 41µSec (temps en deux impulsions sur un même canal).

Brancher sur Raspberry-Pi Pico

Les signaux de sortie étant étant en 5 volts (ou presque), il faut utiliser un pont diviseur de tension pour ramener la tension sous 3.3V.

 

Bibliothèque et code d'exemple

D'autre part la période de 41µSec nécessitera un code particulièrement rapide pour ne pas rater d'impulsion.
Une section de code en PIO permettra de suivre suivre la cadence... même sous MicroPython!

La bibliothèque adéquate est disponible dans le dépôt esp8266-upy ( esp8266-upy/LIBRARIAN/rp2lib ).
rp2qenc.py contient le code PIO et la classe PIO_QENC permettant d'utiliser un encodeur à quadrature autonome sur un Pico.
La classe PIO_QENC permet de compter (ou décompter) un compteur permettant de connaître le nombre de tour moteur (valeur signée encodée sur 32 bits).

Le code permettant de lire le compteur est relativement simple.

from machine import Pin
from time import sleep_ms
from rp2qenc import PIO_QENC

pinA = Pin(15, Pin.IN, Pin.PULL_UP)
pinB = Pin(16, Pin.IN, Pin.PULL_UP)

qenc = PIO_QENC(0, (pinA, pinB))
print('starting....')
for i in range(120):
    print('iter %3i : Quadrature value = %i' % (i,qenc.read()) )
    sleep_ms(500)
qenc.sm_qenc.active(0)
print('stop')


Voici qui termine ce petit article.

Comment économiser de l’argent sur les logiciels et les services en tant qu’entreprise

Pour les entreprises, les dépenses liées aux logiciels et services peuvent rapidement devenir un gouffre financier. Pourtant, une gestion judicieuse et quelques bonnes pratiques permettent d’économiser sans compromettre la performance. Cet article propose des pistes concrètes pour optimiser les coûts en choisissant les bonnes solutions et en adoptant des stratégies adaptées. 1. Optimiser la gestion […]

L’article Comment économiser de l’argent sur les logiciels et les services en tant qu’entreprise est apparu en premier sur Windtopik.

Biais de disponibilité : Le piège des informations récentes

Le biais de disponibilité est un phénomène fascinant qui influence notre façon de penser et de décider. Dans cet article, nous allons explorer ce biais cognitif, ses implications et comment nous pouvons le surmonter pour prendre des décisions plus éclairées. Qu’est-ce que le Biais de Disponibilité ? Le biais de disponibilité, décrit pour la première […]

L’article Biais de disponibilité : Le piège des informations récentes est apparu en premier sur Windtopik.

Raspberry Compute Module 5 : 8Go RAM - 32 Go eMMC en stock

Bonjour à tous,

A propos du compute module

Le monde du Raspberry-Pi ne se limite pas au célèbre nano-ordinateur mais s'étend aussi dans le monde industriel avec le Compute Module.
Le compute module concentre sur une carte les éléments essentiels du nano-ordinateur laissant à la carte fille la possibilité de mettre en place les interfaces adéquates.
Depuis le CM4, de nombreuses cartes furent lancées sur le marché. Celle-cis sont aussi compatible avec le CM5.

Une gamme Compute Module chez MCHobby

Depuis la sortie du CM5, MCHobby a décidé de s'intéresser un peu plus à cette plateforme avancée qui peut aussi offrir des possibilités inédites aux Makers et aux entrepreneurs.

Après le kit de développement CM5 (CM5 DevKit), MC Hobby à maintenant en stock son premier compute module 5:

Il s'agit du CM5108032

Compute Module 5, 8Go RAM, 32 Go eMMC - CM5108032
disponible chez MCHobby

Le CM5108032 est un compute module avec:

  • 8 Go de RAM
  • 32 Go stockage eMMC
  • WiFi / Bluetooth

Le stockage eMMC permet de stocker le système d'exploitation afin d'accélérer le démarrage de la plateforme. un stockage eMMC offre un débit similaire a un disque M2 sur le bus PCIe Gen 2, ce qui est plus qu'honorable :-)

eMMC vs disque M.2

Il serait tentant de penser qu'un disque M.2 serait plus intéressant d'une eMMC.
C'est vrai si l'on ne considère que l'espace de stockage!

L'usage d'un disque M.2 diminue significativement la fiabilité, d'autant plus si le projet est exposée à des vibrations ou écarts de température (ce qui est le lot de tout système mobile). Ce n'est pas pour rien que les SmartPhones stockent leur OS sur une eMMC plutôt qu'une carte SD ou en disque M2 interne ;-) .

En effet, utiliser un disque M.2 implique contact électriques et contraintes mécaniques, des éléments dont il faut tenir compte car ils peuvent empêcher le système de démarrer.

Un Compute Module avec eMMC intégrée assure une meilleure résilience au système car il est assuré de booter sur ses propres ressources. 
Un modèle eMMC aura -lui- la possibilité de rapporter la défectuosité si le disque M.2 devenait inaccessible ou inopérant mais en soi, rien n'empêche d'ajouter un disque M.2 pour du stockage de masse. 

A tester: le CM 4 Maker Board

Ce sera l'occasion d'utiliser ce module CM5 pour tester la carte CM4 Maker Board de Cytron, carte que je n'avais pas encore eu l'occasion de tester.


Je que te trouve particulièrement intéressant, c'est d'avoir tous les connecteurs sur un seul côté de la carte. Je trouve appréciable de disposer d'un HDMI standard, du GPIO Raspberry-Pi et d'un connecteur M.2 (pour un stockage de masse).

Il peut être alimenté via USB-C ou un jack (7-18V).


Vraiment une carte très intéressante pour créer un Mini-PC Raspberry-Pi avec des fonctionnalités complémentaires (puisque nous disposons de ports et de GPIOs.

Cela sera pour un prochain article.
Dominique

Plancha-CMS: Refusion et fin de projet

Amis Maker,

Pas plus tard qu'hier, le projet "Plancha-CMS", un projet MicroPython de refusion CMS, se voyait doté d'une interface utilisateur et de ses premières fonctionnalités (Cooling et Pre-Heat)!

Très excité par cette avancée rapide, je décidais de poursuivre sur ma lancée avec la refusion!

projet "Plancha-CMS"

La refusion

La refusion (reflow en anglais) est un procédé permettant de réaliser la soudure de composants montés en surface (CMS, SMD en anglais) placés sur la carte. C'est ma refusion de la pâte à soudé (aussi appliqué sur la carte) qui soude les composants.
Plus de détails ici sur Wikipedia.

Le profile de refusion

Il n'est pas question de placer la carte, les composants et la pâte de refusion sur une surface étant déjà 250°C! Il faut y aller "en douceur" si je peux m'exprimer ainsi.

Il faut donc suivre ce que l'on appelle un "profile de refusion" visant à:

  1. éviter un choc thermique trop brutal,
  2. de permettre au composant de monter un peu en température
  3. permettre au flux contenu dans la pâte de fondre et de se répandre sur la carte
  4. d'éviter que les composants ne grillent parce qu'il restent trop longtemps à une température trop élevée.

Voici deux exemples de profile de refusion:

 

Enfin, l'article "Reflow Soldering Technology" propose de nombreuses informations pratiques.

Source: Reflow Soldering Technology

Source: Reflow Soldering Technology

Profile d'essai SN0 de la Plancha-CMS

Sur base des informations ci-dessus, voici les 5 phases du profile que je vais mettre en oeuvre pour les premiers essais.

  1. Mise en chauffe: Montée à 150°C en 90' => soit une rampe de 2°C/sec
  2. pré-chauffage: (Rampe jsq'à 180°C en 90' => soit une rampe de 0.33°C/sec
  3. Mise en refusion: montée à 245°C en 45' => soit une rampe de 1.44°/sec
  4. Refusion: maintient à 245°C pendant 30'
  5. Refroidissement: coupure de la chauffe et ventilation

Codage du profile SN0 en Python

Le profile ci-dessous peut être encodé comme suit:

PROFILE_SN0 = [(150,90),(180,90),(245,45),(245,30)]

Voici une liste de tuple (t°_finale, temps_alloué_sec) décrivant les différentes phases détaillées ci-avant.
Le refroidissement venant après la dernière phases.

La première phase est donc 150°C en 90 sec. La dernière est 245°C pendant 30 sec (le maintient à la température de refusion).

Du code pour le peuple

Le code est bien entendu disponible sur le dépôt GitHub Plancha-CMS.
Le script main.py assure le traitement d'un profile par l'appel de la méthode  profile_heating( profile ) qui accepte le profile en paramètre (voir PROFILE_SN0 ci-avant).

Petit rappel

La mise en oeuvre du profile de chauffe s'appuie sur un contrôleur PID qui, lui, contrôle la température de la semelle chaque seconde et applique la correction nécessaire (voir les précédents articles sur Plancha-CMS).

Traitement d'une phase

Pour chacune des phases, le temps alloué en divisé en intervalles de 5 secondes, ce qui permet de calculer la rampe de température à suivre pour atteindre la température finale désirée.
Le PID est donc informé, toutes les 5 secondes, de la nouvelle température à atteindre. Cela permet d'éviter les trop brusques montées en température de la semelle.

Avec des intervalles de 5 secondes, le contrôleur PID dispose de 4 à 5 itérations pour effectuer l'asservissement de la température.

En admettant que la température de la semelle est à 22°C (t° de la pièce) lors du démarrage de la première phase (150,90) du profile, soit (atteindre 150°C, en 90Sec) , nous pouvons déduire:

  • Nous aurons 90 / 5 = 18 itérations de 5 secondes pour cette phase.
  • Une différence de température de 150°C - 22°C = 128°C à combler
  • Soit 128°C / 18 itérations = une augmentation de 7.11 °C toutes les 5 secondes.

La fin de la première phase atteinte, il ne reste plus qu'a  passer immédiatement à la suivant, donc (180,90), et procédé à l'identique... sauf que cette fois, la température de départ est 150°C (T° de fin de la phase précédente).

Contrôler l'exactitude de la régulation.

Voici les informations PID produites par l'exécution de profile_heating( PROFILE_SN0 ) :

1, 46, 41
2, 46, 40
3, 46, 41
4, 46, 41
5, 46, 42
0, 52, 43
1, 52, 44
2, 52, 44
3, 52, 46
4, 52, 47
1, 58, 48
2, 58, 50
3, 58, 50
4, 58, 51
5, 58, 52
0, 65, 53
1, 65, 54
2, 65, 54
3, 65, 55
4, 65, 56
0, 71, 57
1, 71, 58
2, 71, 59
3, 71, 61
4, 71, 63
1, 77, 64
....

On constate que la première colonne est remise a zéro toutes les 5 secondes (à chaque fois que le PID est informé d'une nouvelle température. La deuxième colonne est la T° a atteindre, la troisième colonne est la température de la semelle.

Les données importées dans une feuille de calcul permet de générer un rendu sous forme de graphique.
La première colonne (les itérations PID, chaque seconde) est remplacée par une valeur incrémentée permettant ainsi d'obtenir un écoulement du temps linéaire et globale sur la totalité de la régulation.


Rendu dans le graphique, il est possible de voir les escaliers des différentes consignes attribuées au PID (en bleu) et le suivit de température de la semelle (en rouge).

Phases de la refusion et température de la semelle

La courbe de refusion est excellente (même si elle présente un retard de 5 à 10 degrés). Il y manque la phase de maintient à 245°C qui n'était pas encodée dans le script Python.

Après une légère adaptation du code, il est maintenant possible de relever une courbe de refusion complète... et le résultat est plutôt satisfaisant :-)

Refusion SN0 -> refusion de SnCu à 245°C

Auto-critique:

1. il serait plus approprié d'avoir un pointe a 245°C qui dure plus longtemps.
2. le retard systématique entre la consigne et la température est probablement causée par le déplacement de la sonde de température du dessous de la semelle au dessus de la semelle. Ce qui aurait sensiblement modifié les paramètres PID.
3. Adapter les paramètres pour répondre au point 2 pourrait fort bien corriger le point 1.

Ressources

Voici un projet terminé qui saura se monter utile.

Promotions de fin d’année chez Algolaser

Je continue de vous retransmettre les offres qui arrivent des constructeurs. J’ai reçu ce communiqué d’Algolaser qui fait des promotions pour la fin d’année, je vous retransmets ces informations… Algolaser : les promotions de fin d’année (Valable Jusqu’au 25 décembre) 🎉 Économisez jusqu’à 50 % : Plus vous achetez, plus vous économisez, et gagnez des […]

Cet article Promotions de fin d’année chez Algolaser a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Plancha-CMS: contrôle utilisateur et premières fonctionnalités

Amis Maker,

Peut-être vous souvenez-vous du projet "Plancha-CMS", un projet MicroPython au long cours sur-lequel je me penche de temps à autre.
Le dernier article date de mai 2023 avec un dernier dernier opus technique  en Août 2021.

Interface Homme-Machine

Dans l'article de mai 2023, j’envisageai l'usage d'un écran OLED graphique.
Quand j'ai repris mon projet ce Week-end, j'ai finalement opté pour un afficheur 2x16 I2C et un encodeur rotatif+click I2C... c'est que je voulais avancer vite.


Sur l'image ci-dessus, il est possible de constater:

  • La finalisation de l'interface utilisateur
  • La connexion USB vers l'ordinateur (pour finaliser le développement)
  • La présence du bouton Reset (et du plus discret switch RUN_APP)
  • Le repositionnement du thermocouple sur le dessus de la plancha.

Securité avant tout

La Plancha-CMS dispose déjà d'un arrêt d'urgence qui s'avère essentiel durant le développement.

J'ai cependant ajouté quelques sécurités complémentaires:

  • Arrêt forcé du relais SSR au démarrage du microcontrôleur.
  • Définition d'une température critique (CRITICAL_T = 380).

La température est constamment surveillée par le contrôleur PID, contrôleur qui fonctionne en toute indépendance grâce à un Timer!
C'est donc l'endroit idéal pour renforcer la sécurité.
Si la température lue par le PID atteint CRITICAL_T alors:

  • le contrôleur PID est arrêté
  • le relais SSR est désactivé
  • le microcontrôleur est réinitialisé (pour assurer de l'arrêt du code).

Interface utilisateur

Le menu principal est simple a appréhender, il suffit d'utiliser l'encoder et de cliquer pour sélectionner la fonctionnalité. Les LEDs vertes de l'encodeur indique simplement qu'il n'y a pas de tâche en cours d'exécution.

Le menu prévoit 3 fonctionnalités:

  • Pre-Heat: préchauffage à la température sélectionnée par l'utilisateur. Affichage de la T° en temps réel.
    Maintenue de la température; cliquer pour sortir de la chauffe et entamer la phase de refroidissement par air forcé (jusqu'à T° < 35°C).
    Le refroidissement peut être interrompu à tout moment (en cliquant).
  • Cool: Refroidissement par air forcé avec affichage de la température. Interruption manuelle en cliquant.
  • Solder: en cours de développement - Processus de soudure en suivant un profil de refusion. 

Processus de Préchauffage

Si l'utilisateur sélection l'entrée Pre-Heat alors il à la possibilité de sélectionner la température de préchauffe souhaitée (à l'aide de l'encodeur rotatif).


Une fois la température sélectionnée... il faut encore confirmer la pré-chauffe (au cas où la sélection serait une erreur utilisateur).

Une fois confirmé, la température est configurée sur le contrôleur PID et affichée en temps réel sur l'écran.

L'utilisateur peut quitter le processus à tout moment en cliquant l'encodeur rotatif.

Le script affiche également des informations sur la connexion USB-Serie, de quoi reconstituer un graphique de la montée en température à l'aide d'une feuille de calcul.

Temps_sec, T_Consigne, T_reel
1, 100, 45
2, 100, 44
3, 100, 44
4, 100, 45
5, 100, 46
6, 100, 48
7, 100, 51
8, 100, 54

Ressources

  • Dépôt Plancha-CMS (GitHub, MCHobby)
    Voyez le fichier install.sh pour l'installation des dépendances.
     

A tout bientôt pour la suite ;-)
Dominique


Les makers fêtent Noël avec Creality – Falcon

Jusqu’à la fin de l’année, Creality et sa marque de machines Laser FALCON proposent leurs produits à des tarifs réduits. J’ai reçu le communiqué car je présente habituellement les produits Creality et Falcon sur le blog et sur les réseaux sociaux. Bien entendu ce sont ces produits qui équipent également mon atelier et je les […]

Cet article Les makers fêtent Noël avec Creality – Falcon a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Boostez votre Raspberry Pi 4 ou 5 en affinant l’accès à la SRAM

Dans un article récent publié sur son blog, Jeff Geerling nous dévoile les dernières optimisations apportées au Raspberry Pi 5 grâce à des ajustements de la SDRAM. Ces modifications, réalisées par les ingénieurs de Raspberry Pi, permettent d’améliorer significativement les performances du Pi 5, avec des gains de vitesse allant jusqu’à 20 % avec l’horloge […]

Cet article Boostez votre Raspberry Pi 4 ou 5 en affinant l’accès à la SRAM a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Comment installer Pi OS sur un Compute Module 5 équipé d'une eMMC

Introduction

Le compute module 5 (tout comme le CM4) existe en deux versions aux comportement fort différents:

  • CM5 Lite où il n'y a pas de stockage eMMC. Dans ce cas, l'OS est chargé depuis une carte SD. En cela, cela ne change en rien du fonctionnement d'un Raspberry-Pi 5.
  • CM5 avec stockage eMMC : le système d'exploitation est alors chargé depuis l'eMMC. Le connecteur SD n'est pas utilisable dans ce cas! 
Comment flasher l'eMMC
 

La question à laquelle il faut trouver une réponse est:

Comment installer Raspberry-Pi OS dans l'eMMC?

Si comme moi vous disposez d'un Kit de développement Compute Module 5 alors cette question est plus que pertinente.

La documentation officielle

l'article "Flash an image to a Compute Module" sur Raspberrypi.com apporte une réponse technique où il est possible de s'égarer.

Il me parait utile de préciser que SecurBoot et la Signature ne sont pas indispensables! Savoir cela peut grandement simplifier les opérations d'installation (ce qui est pratique lors de nos premières fois).

Principe d'installation

  1. Configurer l'IO board pour désactiver le boot eMMC (avec un jumper/cavalier).
  2. Brancher le CM5 sur un ordinateur a l'aide du cable USB-A ==> USB-C.
  3. Mettre le Compute Module sous tension (en pressant le bouton marche/arrêt sur l'IO board).
  4. Utiliser le logiciel rpiboot avec mass-storage-gadget64 sur l'ordinateur.
    Ce qui expose l'eMMC sur l'ordinateur par l'intermédiaire du lien USB.
  5. Utiliser RPI-Imager pour flasher une image Raspberry-Pi 5 sur l'eMMC.

Installer rpiboot

Le logiciel rpiboot est l'une des pierres angulaires du processus d'installation.
Il est préférable d'utiliser ce logiciel depuis une machine Linux (sous Ubuntu ou depuis un Raspberry-Pi).
A noter qu'il est également possible d'utiliser Windows au pris de quelques adaptations.

rpiboot peut être installé sur une machine Linux en utilisant la commande:

$ sudo apt install rpiboot

Si l'installation apt n'est pas possible par ce qu'un OS Linux est "plus agé" (comme c'est mon cas avec Linux Mint, un dérivé d'Ubuntu) alors il faudra compiler rpiboot sur votre ordinateur... comme je l'ai fait.

A propos de rpiboot

rpiboot est une interface générique de chargement de firmware. Il permet de booter un RPi distant et d'y charger un firmware spécifique... idéal pour tester vos images personnalisés / SecurBoot / etc.

L'un des firmwares spécialisés est mass-storage-gadget64 qui émule un périphérique de stockage de masse  dit MSD (Mass Storage Device). L'ordinateur hôte traitera alors le Pi comme un périphérique de stockage USB.

Compiler rpiboot

S'il n'a pas été possible d'installer le logiciel rpiboot alors il faudra le compiler directement depuis le code source.

Ce code source est disponible sur le dépôt raspberrypi/usbboot :

Voici les instructions permettant de compiler sur votre ordinateur:

$ sudo apt install git libusb-1.0-0-dev pkg-config build-essential
$ git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
$ cd usbboot
$ make

Une compilation qui se passe comme sur des roulettes.

Préparer votre configuration

Désactiver le boot eMMC

Avant de brancher votre DevKit sur l'ordinateur, il convient de désactiver le boot eMMC! Cela permettra de charger un firmware via USB avec rpiboot.

Commencez par placer le cavalier sur la position "disable eMMC boot".

Placer le cavalier "disable eMMC boot"

Brancher en USB

Assurez-vous que l'utilisateur fait déjà partie du groupe "plugdev". Cela peut facilement être vérifié avec la commande groups.

$ groups
domeu adm dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

Branchez ensuite le DevKit sur votre ordinateur avec le câble USB.
Ne pas oublier de presser le bouton marche/arrêt pour démarrer le computer module!


Utilisez dmesg pour vérifier la détection du Compute Module (le module Broadcom).

Démarrer rpiboot

1iere tentative

A mon premier démarrage, rpiboot ne trouvait pas mass-storage-gadget64 .

Voici les messages pour mémoires.

$ sudo ./rpiboot
RPIBOOT: build-date Dec  9 2024 version 20240422~085300 cbcf2934
Waiting for BCM2835/6/7/2711/2712...
2712: Directory not specified using default /usr/share/rpiboot/mass-storage-gadget64/
read_file: Failed to read "2712/bootcode5.bin" from "/usr/share/rpiboot/mass-storage-gadget64//bootfiles.bin" - No such file or directory
Failed to open bootcode5.bin

2ieme tentative

J'ai donc utilisé le paramètre -d pour indiquer le répertoire de stockage pour mass-storage-gadget64 . Il se fait que c'est un sous-répertoire direct de rpi-boot.

$ ./rpiboot -v -d mass-storage-gadget64

Alors malgré ma présence dans le groupe plugdev, je reçois un message d'erreur laissant entendre que "je ne fais peut-être pas partie du groupe plugdev"!
Voyez ci-dessous le message d'erreur.

...
2712/memsys03.bin position 0008b000 size 40972
2712/bootcode5.bin position 00095400 size 72660
Completed file-read 2712/bootcode5.bin in archive mass-storage-gadget64/bootfiles.bin length 72660
Permission to access USB device denied. Make sure you are a member of the plugdev group.

$ groups
domeu adm dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

3ieme tentative

Cette fois, je me suis fendu d'un sudo pour augmenter les privilège. Et cela à fonctionné :-)

$ sudo ./rpiboot -v -d mass-storage-gadget64
RPIBOOT: build-date Dec  9 2024 version 20240422~085300 cbcf2934
Boot directory 'mass-storage-gadget64'
Loading: mass-storage-gadget64/bootfiles.bin
Using mass-storage-gadget64/bootfiles.bin
Waiting for BCM2835/6/7/2711/2712...
Device located successfully
...
...
...
File 2712/boot.img not found in mass-storage-gadget64/bootfiles.bin
Loading: mass-storage-gadget64/boot.img
File size = 30409216 bytes
Received message ReadFile: boot.img
File read: boot.img
libusb_bulk_transfer sent 30409216 bytes; returned 0
Received message Done: boot.img
CMD exit
Second stage boot server done
rpi-boot ayant finalement démarré mass-storage-gadget64 sur le compute module, notre système hôte devrait avoir accès à un nouveau lecteur/drive... ce que nous allons constater de suite.

Accès à l'eMMC

Avec le mass-storage-gadget64 actif sur le compute module, l'ordinateur hôte à maintenant accès à un nouveau lecteur branché via USB.

Voici deux méthode pour s'en assurer.

lsblk : lister les périphérique de type block

la commande lsblk affiche tous les lecteurs branchés sur l'ordinateur.

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda      8:0    0 232,9G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 232,4G  0 part /
sdb      8:16   1  29,1G  0 disk 
sr0     11:0    1  1024M  0 rom

La commande révèle un disque sdb d'une  taille de 29.1 Go. Il s'agit de l'eMMC présent sur le compute module.

Le gestionnaire de disque

Les distributions Linux proposent généralement un gestionnaire de disque permettant d'inspecter les lecteurs/disques et le détail de leur partition.
Voyez ci-dessous une capture du gestionnaire de disque sous Linux Mint (dérivé d'Ubuntu).

Nous y retrouvons également le disque de 31 Go du compute module.
Cette fois les informations sont plus précise avec un modèle de disque reprenant la mention "mmcblk0 Raspberry Pi multi-fonction USB device (100)" .

Quel OS pour mon CM5

L'idéal est de créer un OS sur mesure pour votre projet enfoui.
Mais cela serait bien trop long pour réaliser notre premier test!

Par chance, le CM5 est un équivalent du Raspberry-Pi 5 et l'IO Board du Dev Kit propose -à peu prêt- les mêmes périphériques qu'un Raspberry-Pi 5.

Nous pourrons donc flasher un OS Pi 5 pour réaliser nos premiers essais avec le Compute Module 5.

Flasher l'OS sur CM5

Le documentation renseigne l'utilitaire Linux dd pour transférer l'image sur le disque eMMC. Mais dd est aussi surnommé Disk Destroyer parce qu'une simple erreur dans son utilisation peu littéralement écraser/détruire le contenu de votre disque.

L'approche la plus simple est encore d'utiliser RPi-imager qui fera le même boulot (mais avec moins de risque).

Choisir un OS Raspberry-pi 5 / 64 bits
 

Choisir le périphérique correspondant au disque mmcblk0.

Bien que pas forcement nécessaire pour un OS avec bureau graphique j'ai néanmoins personnalisé mon OS.

personnalisation du système d'exploitation

Pas forcement inutile pour un projet enfoui, l'activation du service SSH sera certainement se monter utile.

Activer le service SSH

Démarrer votre CM5

Une fois flashé:

  1. Eteindre le CM5 avec le bouton marche arrêt
  2. Débrancher de l'ordinateur hôte
  3. Brancher le câble HDMI sur la sortie HDMI0
  4. Brancher le bloc d'alimentation sur la prise USB-C.
  5. Presser le bouton marche/arrêt et soyez patient!

Comme pour un Pi 5, le CM5 redimensionnera le disque et rebootera une ou deux fois avant d'afficher quelque-chose sur la sortie HDMI.

Fiez vous à la LED activity qui rapporte les accès disques.

La LED power est:

  • éteinte ==> CM5 est activé
  • allumé ==> CM5 hors tension 

Et voici ci-dessous le démarrage du CM5 :

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.

Biais de récence : Quand le passé s’efface au profit du présent

Nous sommes souvent influencés par des mécanismes subtils dans notre manière de penser, et le biais de récence en fait partie. Ce phénomène psychologique nous pousse à accorder davantage de poids aux informations récentes dans nos prises de décisions ou jugements. Dans cet article, nous allons explorer les origines et les implications du biais de […]

L’article Biais de récence : Quand le passé s’efface au profit du présent est apparu en premier sur Windtopik.

Exploration du monde fractal - Mandelbrot, Julia sets et variations sur de multiples paramètres

Bonjour à tous,

J'ai toujours eu un faible pour les représentations fractales.
Les vidéos sur le sujet ne manquent pas mais il arrive parfois qu'il y en ait qui sorte du lot.

La vidéo "Mandelbrot's Evil Twin" de 2swap nous offre une habituelle introduction mais c'est l'exploration des paramètres (et domaines complexes) que les choses deviennent vraiment intéressantes.

Mandelbrot - source: Mandelbrot's Evil Twin

Chose que j'ai apprise dans cette vidéo, c'est que la couleur dépend du temps qu'il a fallut pour découvrir/calculer le point.

Julia set - source: Mandelbrot's Evil Twin

Et l'un des nombreux "morphisme" qu'il est possible de découvrir dans la vidéo

C'est mieux en vidéo


Introduction au calcul des Mandelbrot

La vidéo "The complete Idiot's Guide to the Mandelbrot Set" est une excellente vidéo qui repend le calcul depuis zéro avec explication à l'appui.
Les explications reprennent également le calcul dans le domaine des nombres complexes. Une vidéo à voir.



Passez une bonne journée,
Dominique
Dominique



Recycler les déchêts de PLA... sans refaire du filament

Bonjour à tous,

Dans les divers conversations avec Jeremy, qui fait de l'impression 3D sur BambuLab, il y a cette question qui revient régulièrement:

Comment réutiliser les déchets d'impression et les impressions ratées?

La réponse usuelle : refaire du filament

refondre le PLA pour en refaire un filament est la réponse la plus commune.
Il ne manque par d'article sur ce sujet! Cela demande par ailleurs un matériel relativement avancé (sans pour autant garantir une qualité équivalente).

La réponse innovante : fondre un objet

Objet réalisé à partir de PLA fondu

Refonte d'un nouvel objet

J'ai trouvé l'idée vraiment séduisante même si elle était bien cachée.
Voici quelques détails collectés sur la vidéo "Melting 3D print waste into silicone molds" de Shayway.

L'idée c'est d'utiliser un "moule en Silicone" dans lequel on place une couche de déchet de PLA


Puis que l'on place dans un four a 220°C  pour faire fondre

Puis on rempli encore avec du PLA... et on recommence jusqu'à ce que le moule est complètement rempli de PLA fondu.

Améliorer la technique

Cela pourrait être intéressant de calibrer les déchets pour avoir de meilleure opérations de remplissage.... et peut être même d'avoir des couleurs plus homogènes

Et quoi de mieux qu'un broyeur pour réaliser un calibrage (rapide et efficace).


Où trouver des moules en silicone

Dans les boutiques de bricolage/décoration DIY. Il est également possible d'en trouver sur des boutiques en lignes (mais il n'est pas possible d'en évaluer la qualité).


J'ai personnellement un faible pour les moules en hexagone... parce qu'ils permettent de réaliser des projets évolutifs comme celui-ci

J'espère que cela vous donnera de idées



Biais de négativité : quand le négatif prend le dessus

Dans notre quotidien, nous avons tous remarqué que les événements ou les commentaires négatifs semblent nous affecter davantage que les positifs. Ce phénomène, connu sous le nom de biais de négativité, est un biais cognitif qui nous pousse à accorder plus d’importance aux expériences négatives qu’aux positives. Dans cet article, nous allons explorer ce biais, ses […]

L’article Biais de négativité : quand le négatif prend le dessus est apparu en premier sur Windtopik.

Utilisation de l’écran rond CrowPanel IPS tactile Elecrow 1,28 pouce ESP32

Après la présentation de l’écran tactile circulaire équipé d’un ESP32 C3 que propose Elecrow, j’ai voulu tester l’afficheur en microPython, avec Thonny. Vous trouverez dans cet article les étapes de l’installation de microPython et les premiers tests. Utilisation de l’écran rond CrowPanel IPS tactile Elecrow 1,28 pouce Installation de microPython On va commencer par effacer […]

Cet article Utilisation de l’écran rond CrowPanel IPS tactile Elecrow 1,28 pouce ESP32 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

💾

💾

Google Docs : Organiser ses pages avec des onglets !

Google Docs regorge d’outils utiles, mais certaines de ses meilleures fonctionnalités passent souvent inaperçues. L’une d’entre elles est l’onglet Documents, un outil puissant mais sous-estimé qui peut simplifier l’organisation et l’accès à vos informations. // DECOUVRIR LA FORMATION COMPLETE SUR GOOGLE DOCS // Démonstration vidéo Découverte de la fonctionnalité des « onglets » dans Google Docs Les […]

L’article Google Docs : Organiser ses pages avec des onglets ! est apparu en premier sur Windtopik.

CrowPanel ESP32 Display – Afficheur IPS circulaire 1,28 pouce Tactile capacitif 240×240 pixel avec ESP32

Aujourd’hui nous plongeons dans l’univers des écrans tactiles avec le CrowPanel ESP32 de ELECROW. Cet écran rond IPS de 1.28 pouces avec une résolution de 240×240 et un panneau capacitif tactile est une petite merveille pour tous les amateurs de projets électroniques. Doté de l’impressionnant ESP32, il promet des performances de haut niveau tout en […]

Cet article CrowPanel ESP32 Display – Afficheur IPS circulaire 1,28 pouce Tactile capacitif 240×240 pixel avec ESP32 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Les nouveautés de Google Workspace (fin d’années 2024)

Avec l’approche de la fin de l’année 2024, Google Workspace continue d’évoluer, offrant à ses utilisateurs des fonctionnalités innovantes qui améliorent la productivité, la collaboration et la sécurité. Cet article vous présente les principales nouveautés introduites depuis septembre 2024, vous permettant ainsi de tirer le meilleur parti de cette suite d’outils. Google Workspace est devenu […]

L’article Les nouveautés de Google Workspace (fin d’années 2024) est apparu en premier sur Windtopik.

❌