Après avoir validé le fonctionnement avec les composants énumérés dans l’article précédent, j’ai soudé toutes les connexions sur une petite plaque avec l’arduino nano qui relaie les ordres du Raspberry PI4 au pont H qui commande le moteur du pilote. Le moteur n’est plus un petit moteur de test 12V mais le moteur réel du pilote auto avec son « Clutch » ou « embrayage » (Raymarine Type 1 prévu pour des voiliers de 12 mètres)
On peut voir sur la vidéo que une fois le logiciel Pypilot lancé et le pilote engagé, le moteur du pilote réagit bien aux ordres du capteur IMU.
Un capteur IMU c’est quoi ? C’est une Unité de Mesure Inertielle, c’est un composant électronique inclus dans la famille des capteurs. Il mesure l’accélération du capteur, la vitesse angulaire et son orientation à l’aide d’une combinaison d’accéléromètres, de gyroscopes et de magnétomètres. Donc ici il transmet au RaspBerry tous les mouvement du voilier.
Ce genre de composant le capteur inertiel ou INU est fabriqué à très grande échelle et est utilisé dans notre vie de tous les jours, il est présent par exemple dans nos smartphones. Il équipe évidement plein d’autres objets dont les Drones FPV que j’aime bien bricoler et piloter…. Cela explique son très faible coût (moins de 10 €), quand on pense ce qu’on doit payer pour des capteurs inertiels pour nos voiliers de marque tels que Raymarine ou B&G ….
Rappel estimation du coût de tous les composants éléctroniques vu dans article précédent : environ 80 € (hors RaspBerry), quand on compare tout cela aux sommes importantes de plusieurs milliers d’euro qu’on doit débourser pour un système de pilote de grande marque, Bizarre non…? Alors si on est un peu « geek » et bricoleur et qu’on a envie de passer du temps là dessus pourquoi ne pas s’en priver ?
Extrait des principes qui guident en introduction le Pypilot WokBook traduit en français :
« La récompense est énorme. Avoir une bonne maîtrise de vos systèmes embarqués, savoir les régler et les réparer si nécessaire, c’est l’autonomie ultime que tous les marins devraient rechercher et que peu d’entre eux atteignent. Ne pas être dépendant de vendeurs commerciaux, de commerçants ignorants et de réparateurs négligents est un sentiment puissant. Dans un bon pilote automatique, vous trouverez un second de confiance.
Oui, il sera amusant à construire, mais le diable est dans les détails et tout se cassera de nombreuses fois avant que vous ne l’ayez rendu suffisamment robuste. Ne vous y trompez donc pas : vous êtes parti pour un long voyage. Vous devez avoir quelques connaissances pratiques de Linux et de l’électronique. Même dans ce cas, le début est complexe … »
Je précise que si j’ai développé des logiciels ces 30 dernières années, je suis néanmoins un bricoleur du dimanche en électronique que j’ai commencé à découvrir il y a 3 ans en bricolant mes propres Drones FPV. Donc si la partie paramétrage et configuration logicielle ne me pose pas trop de problème, ce projet Pypilot va me permettre de découvrir et apprendre plein de trucs en électronique. Défi intéressant pour moi qui va dans le sens d’une meilleure autonomie et maitrise d’instruments de bord.
Remplacer tout mon système B&G actuel du pilote qui fonctionne bien: non! , avoir un système de pilote de secours à faible coût qui peut fonctionner et m’apprendre plein de trucs tout en étant plus autonome: oui! Quand on part loin et longtemps en voilier savoir se débrouiller tout seul dans tous les cas de figure est important.
Rappel les 4 éléments de base:
A Le RaspBerry Pi avec l’ensemble logiciels Open OpenPlotter et PyPilot
B Le capteur IMU qui transmet les mouvements du voilier au RaspBerry et son logiciel PiPylot
C L’arduino Nano qui fait le lien entre les ordres du RaspBerry / PyPilot et le pont H
D Le pont H qui transmet les bonnes information de voltage et de polarité au moteur du Pilote.
Schéma de montage, n’étant pas électronicien cela reste juste un schéma qui se veut « explicatif »
Les éléments:
Le capteur IMU:
Les connexions du RaspBerry Pi4
L’arduino Nano:
Le Pont H IBT2
Le Mofset
Chargé d’ouvrir ou fermer le « Clutch » ou « embrayage » du moteur du pilote ( Fonctionnement du « Clutch » souvent basé sur des solénoïdes)
Comment connecter tout cela ?
Capteur INU __________ RaspBerry
VCC __________ Pin 1 3,3v
GND __________ Pin 9 Ground
SCL __________ Pin 5 SCL
SDA __________ Pin 3 SDA
Arduino Nano __________ Raspberry
RX0 __________ Pin 8 TX
TX1 __________ Pin 10 RX
Attention sur TX1 Arduino Nano Pont diviseur utilisant 2 résistances de 330 et 220 Ohm pour faire passer le signal de 5v à 2,8v car Raspberry en 3v. (Pas d’inquiétude c’est normal que RX va vers TX et TX vers RX sinon comment feraient t’ils pour communiquer….)
Arduino Nano __________ Pont H
D10 __________ R_PWM
D9 __________ L_PWM
D2 __________ R_EN
D2 __________ L_EN
A1 __________ R_IS
A1 __________ L_IS
Le branchement sur le Pin analogique A1 de l’arduino Nano est optionnel, il s’agit là d’une source d’affichage de la consommation du Pont H. Dans ce cas utiliser un pont diviseur avec 2 résistances de 10K Omh et 2k Omh pour faire passer les 7v maxi de ce contrôle d’affichage de voltage du Pont H à 1,2V sur le pin A1 analogique de l’arduino Nano.
Arduino Nano __________ Mofset
D11 __________ Mofset Input Signal (PWM+)
( Mofset utilisé uniquement pour commander le Clutch du moteur)
Toutes les leds de contrôle utilisent des résistances de 220 Omh et sont optionnelles
D13 -> LED Blanc : Pilote engagé
D11 -> LED Bleu: Clutch engagé
D10 -> LED Rouge: Right
D9 -> LED Verte : Left
D2-> LED Jaune.
L’arduino Nano peut être alimenté en 5V soit via les PIN 2 (5V) et PIN 6 (Ground) du RaspBerry (cf schéma) soit via un régulateur de tension de 12V vers 5V (solution que j’ai choisie)
Le Pont H IBT2 (VCC, GND) peut être alimenté en 5V soit via les PIN 2 (5V) et PIN 6 (Ground) du RaspBerry (cf schéma) soit via un régulateur de tension de 12V vers 5V (solution que j’ai choisie)
Attention les sources du motor.ino à installer sur l’arduino Nano sont des sources que j’ai modifié en me basant sur une ancienne version du motor.ino afin qu’elles soient adaptées aux commandes du Pont H IBT2, la version la plus récente du motor.ino sur le github de Pypilot ne fonctionnera donc pas et il faut impérativement utiliser cette version là (motorold) que j’ai moi même modifié à télécharger ici
L’ensemble RaspBerry Pi + écran + IMU + Arduino Nano avec ses multiples connexions + Pont H resteront sur un petit support amovible sur la table à carte (donc à l’abri des enbruns…) et alimentés par des convertisseurs 12v 5v, par défaut tout sera débranché. Des fils électriques avec la section suffisante partiront de là du Pont H et du Mofset vers le moteur du pilote (environ 8 mètres )
Prochaines étapes les essais de tout cela en condition réelles……
PS: J’avais commandé tous les composants électroniques « packagés et prêts à brancher » sur le site de PyPilot mais ceux ci tardant a arriver (arrivés au bout de 2 mois), poussé par la curiosité s’agissant d’un système Open Source avec beaucoup d’exemples de montages « exotiques » j’ai préféré réaliser le mien. L’aventure commence….