Compas fluxgate et Arduino

Bonjour,
j'essaie de faire un pilote auto avec un arduino et j'aimerias récupérer le compas raymarine fluxgate de mon vieux Autohelm 800 (référence Ray-M022). J'écume le web depuis 3 jours et je ne trouve pas le début d'un plan de cablage ou de fonctionnement quelconque.
Quelqu'un c'est-il déjà frotté à ca ?
Merci.
P.

L'équipage
25 avr. 2022
25 avr. 202225 avr. 2022

Complètement dépassé et en plus en analogique.
Regarde ce genre de page www.circuitbasics.com[...]rduino/

Ps : l’arduino aussi est complètement dépassée. Regarde du côté des esp32


26 avr. 2022

Bonjour,

Les fluxgates sont une veille technologie supplantée par la technologie des Mems popularisée par les smartphones. Ils offrent jusqu'à:

gyroscope 3 axes
accéléromètre 3 axes
compas 3 axes

Cela sans aucune mécanique et (généralement) numérique.
Il y a un projet d'autopilote sur base Arduino, YAAAP, ici:

forum.arduino.cc[...]85917/9
github.com[...]p/yaaap

et qq infos ici:
www.hisse-et-oh.com[...]-plante
www.hisse-et-oh.com[...]topilot

Si tu souhaite malgré tout utiliser ton fluxgate, il y a pas mal d'infos disponibles sur le net, et oui c'est analogique.

Je te joint le service manuel du ST1000/2000 qui inclus les schémas pour te donner une idée de l'interfaçage à un µC.

Olivier



pater13:Je regarde également les modules compas genre lmc5883, mais je m'interrogeais sur leurs sensibilité aux champs magnétiques généré par le moteur du vérins du pilote. Mais je trouverais assez cool de pouvoir récupérer le compas fluxgate. Merci pour la doc du ST, c'est exactement ce que je cherchais.·le 26 avr. 2022 11:42
26 avr. 2022

Bonjour,

Ci-joint le schémas du compas Raytheon page 30.
Vive l'électronique! a bas l'informatique...

@ptitoine un magnétomètre MEMS ne remplace pas un Compas fluxgate, à moins de le monter sur cardans et encore. Il faut lui adjoindre au moins un Gyromètre, voir un accéléromètre + traitement numérique.



pater13:c'est quoi du coup l'avantage du fluxgate ? Les MEMS on l'air tellement polyvalent et simples à cabler...·le 26 avr. 2022 19:11
26 avr. 202226 avr. 2022

Si tu es passionné, je peux te passer quelques schémas simples mais c'est plus simple et mieux d'utiliser un IMU 9 axes tel le MPU9255 qui ne vaut que quelques euros. Il dispose de 3 magnétomètres, 3 gyromètres et 3 accéléromètres.

Cela permet de calculer une verticale correcte, même dans des conditions de mer difficile. C'est indispensable pour calculer ensuite le cap magnétique dans le plan horizontal à partir des 3 magnétomètres (axes X, Y et Z).

Le fluxgate Autohelm ou Raymarine a été conçu il y a plus de 30 ans et son point faible est l'oscillation du cardan par mauvaise mer. Le champ magnétique terrestre n'est pas du tout horizontal mais à environ 60° vers le haut. La moindre oscillation du cardan crée une grosse erreur. C'est pourquoi on a équipé les pilotes de gyromètres pour les mouvements rapides de barre (action dérivée). Le magnétomètre n'est alors plus utilisé que pour recaler le cap sur un temps long pour ne pas être perturbé par ces oscillations (action intégrale).

Les logiciels libres pour les IMU permettent de calibrer les différents accéléromètres et permettent même une compensation magnétique 3D automatique du capteur. Il suffit d'indiquer quand le capteur est vertical puis de caler le cap indiqué avec le cap magnétique


pater13:Quel est l'avantage du MPU9255, fait-il compas ? j'avais l'impression qu'il faisait que du déplacement relatif. Je regardais les HMC5883 qui me semblais mieux.Merci pour les retours sur le fluxgate.·le 26 avr. 2022 11:50
pater13:@J-Marc je veux bien les schemas du fluxgate que tu as... J'ai confondu MPU9255 avec le MPU6050 que j'ai et qui lui ne fait pas magnétomètre. Je ne connaissait pas le MPU9255. Merci.·le 26 avr. 2022 19:29
meretvent:il y a encore des MPU9255 de dispo? il me emblait que la fabrication était arrêtée...·le 27 avr. 2022 13:16
J-Marc:C'est le MPU9150 qui est obsolète. Les circuits intégrés MPU9250 et MPU9255 sont compatibles et aussi précis l'un que l'autre. On trouve toujours des petits modules avec l'un ou l'autre des ces circuits. Parfois, il y a même un capteur BMP280 sur le module (mesure de la pression atmosphérique).·le 27 avr. 2022 16:46
27 avr. 2022

Voici deux schémas du début des années 90 utilisant des circuits logiques Cmos ainsi que le schéma de l'Autohelm 3000 qui utilise son microcontroleur de façon optimale avec le fluxgate que tu as.

Les schémas des années 90 peuvent te permettre de t'amuser avec ton fluxgate mais je n'ai jamais vu d'équivalent au AH3000 sur internet pour un arduino ou un autre microcontroleur.



pater13:Super intéressant. Merci !·le 27 avr. 2022 14:24
Spisea:Très instructif ces documents. Merci beaucoup !·le 27 avr. 2022 20:08
pater13:Tes docs sont géniaux, mais je crois que j'ai pas le niveau ;-P? Merci en tous cas. Je vais les re-relire, on sait jamais.·le 29 avr. 2022 09:16
27 avr. 2022

Vous m’intéressez...
Juste pour le fun, je ferais bien un petit montage qui ferait la même chose que la "boussole" des téléphone, puis qui générerais du NMEA...


pater13:Vous pouvez récupérer la boussole du téléphone à partir d'une simple page web servis par un ESP32 : lamplightdev.github.io[...]ompass/ ·le 27 avr. 2022 14:27
27 avr. 2022
27 avr. 2022

j'avais essayé ESP32 + mpu 9250 (GY91) mais j'ai eu un problème de bibliothèque car l adresse n’était pas la même que laversion officiel ,je devais passer par une bibliothèque d un japonais . à la fin ça ma trop soulé ! je reprendrez l hiver prochain !!!

bonne amusement

a.guy


27 avr. 2022

@a.guy
Je ne suis pas sûr que tu puisses trouver ton bonheur parmi les bibliothèques disponibles sur internet car l'attitude d'un voilier n'est ni celle d'un avion, ni celle d'un drone.
Les pitch, yaw et roll d'un avion ne sont sont pas forcément ceux dont on a besoin sur un bateau.
Pour un voilier, le roulis et le tangage sont considérés comme des mouvements parasites qui ne doivent pas influer sur le cap; c'est une approche spécifique...
Pour le NMEA 2000, les bibliothèques standard, elles aussi, ne sont pas très satisfaisantes. Difficiles à comprendre, incomplètes, erronées, éloignées de la norme, elles rendent la maintenance quasi impossible.
Personnellement, je bannis systématiquement les bibliothèques, mais à chacun de voir.


ptitoine:J'ai fait joujou avec celle ci il fut un temps github.com[...]MEA2000 Elle est très complète et fonctionne parfaitement sur l'esp32·le 27 avr. 2022 23:19
CapCool:@ptitoineJe la connais bien et c'est celle dont je parle en particulier. Comme tu dis, c'est pour faire "joujou".·le 29 avr. 2022 07:54
CapCool:A noter : pour le NMEA2000, l'ESP32 intègre un contrôleur CAN parfaitement fonctionnel.·le 29 avr. 2022 08:17
ptitoine:Je vois pas ce que tu lui reproche alors, c'est une vraie librairie bien faite, et pas du bidouillage comme y'en a bcp trop.·le 29 avr. 2022 12:41
27 avr. 202227 avr. 2022

En opensource, il y a du code très fiable et très bien documenté en python et micropython pour gérer les IMU. Micropython a l'avantage de pouvoir être utilisé avec la plupart des microprocesseurs intéressants pour nous : arduino, ESP8266, ESP32, ESP32 TTGO, etc ....
Les possibilités de micropython font que cela vaut vraiment le coup de s'y mettre à long terme. C'est simple pour des choses simples mais on peut aussi faire des choses qui sortent vraiment de l'ordinaire.


CapCool:Tu as certainement raison, mais pour piloter un IMU sur ESP32, le language Arduino est amplement suffisant...·le 27 avr. 2022 20:40
ptitoine:Pour l'ESP32 il y a 3 langages :Le C/C++ => y'a pas plus rapide, par contre c'est clairement un langage bas niveau, il faut des connaissances pour faire un programme qui fonctionne, bien architecturé, et maintenable.Le Rust => plus simple que le C/C++, mais peu de doc et quasi aucune bibliothèque github.com[...]/esp-rs Le Python => plus facile, mais interprété donc clairement plus lent que les deux autres ·le 27 avr. 2022 23:25
BMayer (LauBen):Je ne connais pas cette implémentation de Python. Il est possible que l'interpréteur fasse une compilation, puis fasse tourner le résultat. C'est fait ainsi avec Java depuis des lustres, c'est assez proche en perf que du C. C'est juste le lancement qui est coûteux en temps.·le 28 avr. 2022 21:10
ptitoine:En Java c'est du bytecode, mieux que de l’interprété mais pas aussi rapide que du compilé pur. L'interrêt est de ne pas avoir plusieurs implémentations selon le cpu.En MicroPython c'est de l’interprété pur.Un exemple de calcul d'image entre C++ et MicroPython www.reddit.com[...]rsus_c/ ·le 29 avr. 2022 12:49
27 avr. 2022

Pour info et plus ;=)

La biblio de Asuki Kono

github.com[...]sukiaaa

@ CapCool : je n'en étais même pas encore là !!! j'utiliserai du nmea0183 plus facile pour moi . mais merci pour l'avertissement .

@j-Marc je suis un Noob en C et j'ai essayer le micropython mais je trouve imbuvable !!! ou je n'arrive pas à m'y plonger certainement manque de méthode ! ;=)


27 avr. 2022

Il y a quelques temps, je m'étais intéressé au MPU-9250 pour le calcul du courant en temps réel.

Travail que j'ai suspendu pour l'instant, le temps d'écrire un livre de bord numérique complet.

Il y a malgré tout quelques indications sur cette page (trois onglets), si ça peut servir...

www.schnaps.fr[...]les.php


a_guy:Merci Schnaps pour ces infos !·le 28 avr. 2022 08:24
Spisea:A noter que le MPU-9250 n'est plus produit. Son remplaçant est le ICM-20948. Olivier·le 28 avr. 2022 12:36
CapCool:Ton site est sympa.Un détail : si tu disposes du cap magnétique, gite et tangage ne sont pas nécessaires au calcul du courant. La cap magnétique donné par un magnétomètre digne de ce nom, qu'il soit fluxgate ou IMU, ne varie pas selon la gite et le tangage, fort heureusement.·le 29 avr. 2022 09:13
CapCool:Un autre détail : sur le croquis, l'axe de lacet est défini comme "vertical". C'est une erreur car, en aviation, l'axe de lacet n'est pas défini selon le repère terrestre mais selon le plan défini par l'appareil (ailes et fuselage). Le lacet n'est pas le cap...·le 29 avr. 2022 09:24
28 avr. 202228 avr. 2022

Pour diminuer encore la consommation de nos téléphones, le circuit intégré MPU9250 est remplacé par l'ICM20948 qui s'alimente en 1,8V au lieu de 3,3V pour les MPU9250 et MPU9255. Pour utiliser le circuit intégré ICM20948 avec nos microcontrôleurs habituels (arduino, py ou ESP), il faut donc ajouter des composants supplémentaires pour adapter l'alimentation de l'ICM20948 et le niveau des ports.

Heureusement, on utilise jamais directement le circuit intégré MPU9250 ou ICM20948. On utilise en fait un module sous forme d'un petit circuit imprimé compatible avec Arduino, Py ou ESP qui intègre le capteur 9 axes et tous les composants nécessaires pour une utilisation avec un microcontrôleur fonctionnant en 3,3V.

Dans tous les cas, il faut un module compatible avec son microcontrôleur.

On peut lire sur différents forum que les modules avec ICM20948 ne sont pas toujours détectés par les applications sur pi et arduino. Cela va s'arranger. Heureusement, il a été fabriqué tellement de modules MPU9250 qu'on en trouve encore de grandes quantités chez beaucoup de distributeurs, même s'ils sont parfois équipés d'un circuit intégré MPU9255 plus performant.


CapCool:Chaque type d'IMU a des caractéristiques propres (fréquence, adresse, paramétrage...). Les IMU sont toujours détectés par les cartes, seules les bibliothèques peuvent être obsolètes.·le 29 avr. 2022 08:51
29 avr. 2022

Perso je me suis tourné vers le QMC5883L qui est moins chère mais ne fait que le compas. Par contre je galère à trouver une libraire pour ESP32 (y en a bien une pour HMC5883L mais elle à pas l'air compatible). Des pistes ?


CapCool:Sans gyromètres ni accéléromètres, tu feras une boussole tout juste bonne à t'orienter dans ton jardin.·le 29 avr. 2022 09:32
J-Marc:Pour avoir un cap compas avec ce capteur, il faut supprimer la composante verticale du champ magnétique terrestre en installant la puce sur un cardan et en utilisant uniquement les deux magnétomètres dans le plan horizontal. La compensation doit être faite manuellement. L'avantage du 9 axes est que les 3 accéléromètres et 3 gyromètres permettent de définir la verticale pour calculer le cap compas dans le plan horizontal et aussi de calculer automatiquement les courbes de déviation pour pouvoir réaliser une compensation automatique en 3D, c'est à dire à la gite.·le 29 avr. 2022 09:33
29 avr. 2022

bonjour ,
Peso j'utilise un cmps12 , rien a dire .super efficasse .


Cabo Sao Vicente

Phare du monde

  • 4.5 (81)

Cabo Sao Vicente

2022