Tous les forums > Equipements > Phrase VHW sans compas: comment se débarrasser de l'info cap?
Missing
Ydeclave

Phrase VHW sans compas: comment se débarrasser de l'info cap?

Bonjour à tous,

D'avance merci à ceux qui liront.
Derrière ce titre assez obscur (pas trouvé mieux...) se cache un problème que je commence à croire insoluble.
J'ai un speedo en NMEA0183. En NMEA0183, l'info de vitesse sur l'eau est dans la phrase VHW, qui contient aussi (forcément? c'est tout le problème) l'info cap.
Or comme le boitier qui émets cette phrase n'est pas relié à un compas, il la transmets avec un cap=000.

J'ai un réseau NMEA2000. Sur celui-ci se trouve mon anémomètre et son afficheur, ainsi que mon pilote Simrad TP32, ce qui me permets de l'utiliser en mode vent (et bientôt aussi en mode GPS en principe). Ce dernier possède un compas intégré, mais est paramétré d'office pour que si une info cap est présente sur une de ses entrées (soit Simnet/N2K soit NMEA0183), il l'utilise, puisque celle-ci est censée provenir d'un compas dédié qui serait plus performant que l'intégré.
Pour avoir le calcul du vent vrai sur l'afficheur de l'anémomètre, l'info du speedo est diffusée sur le réseau NMEA2000. Sauf que du coup, l'info cap aussi...

Vous voyez certainement venir le problème: le pilote en mode cap va se baser uniquement sur cette info, et patatra, le bateau va finir par tourner en rond (j'ai mis un peu de temps à comprendre le soucis...).
Côté pilote, à priori pas possible de changer ça.
Côté interface NMEA0183-2000: j'ai commencé par utiliser un convertisseur Actisense. Mais aucun paramétrage possible.
J'ai investi dans un Miniplex3, celui-ci permettant pas mal de chose dont l'interfaçage avec un ordinateur, qui m'intéressait aussi par ailleurs. Mais là encore je bloque, cet appareil permets beaucoup de chose côté 0183, mais côté 2000 c'est une boite noire, la notice dit même "toutes les données NMEA 0183 et SeaTalk1 reçues sont toujours transmises vers le réseau NMEA 2000."

Je ne sais même pas si investir dans un compas genre EV-1 changerait quelque chose, il y aurait alors 2 infos cap sur le réseau, et je ne sais pas laquelle le TP32 prendrait!

Je peux toujours tricher en ne diffusant pas le speedo sur le réseau N2K, l'afficheur utilise alors la vitesse GPS pour calculer le vent vrai, mais en présence de courant, ce n'est pas alors le vrai vent vrai.
Mais c'est dommage. D'autant qu'à moyen terme je voudrais investir dans un afficheur qui m'affiche les 2 vitesses entre autre, genre triton ou i70.

Une sonde DST800 connectée directement en NMEA2000 diffuse t'elle une info cap avec?...

Merci d'avance pour toute piste...
Yann

jeudi 03 octobre 2019 19:07

Liste des contributions

Missing
Ydeclave

En fait je ne comprends pas pourquoi je suis le seul à avoir ce problème, les compas électronique étant peu courant.
Peut-être que la norme est que la phrase VHW ne contienne pas de cap dans ce cas, mais alors à quoi ressemble t'elle?
Chez moi c'est "$IIVHW,,,000,M,00.00,N,,*54 " le bateau étant à l'arrêt.
Une solution que j'ai trouvée est de couper le speedo, enclencher le mode cap, et là je peux remettre le speedo en route, le pilote ne change pas de source... Mais ça m'oblige à descendre dans le bateau, génial...

jeudi 03 octobre 2019 19:32 *** Message modifié par son auteur ***
Double_vision
1
tiersp

Bonjour,
Pour calculer le vent réel, il faut la donnée vitesse fond, donc celle du gps,.On utilise la vitesse du speedo quand on n'a pas autre chose. C"est pour cela que les anciens matériels utilisaient le speedo.

5 jours
Helios_20100917_3801_50x50
1
ODeclav (Helios)

La sonde DST800 ne diffuse pas de cap : uniquement température de l'eau, profondeur et vitesse.

Sauf erreur :
VHW - Vitesse par rapport à l'eau et cap suivi
$--VHW,x.x,T,x.x,M,x.x,N,x.x,K*hh
8 informations séparées par des virgules :
Cap suivi, Degrés Vrais
T = True
Cap suivi, Degrés Magnétiques
M = Magnetique
Vitesse du bateau par rapport à l'eau en nœuds
N = Nœuds
Vitesse du bateau par rapport à l'eau ( en Kilomètres)
K = Kilomètres,

Impossible avec un speedo seul d'avoir le cap vrai ou le cap magnétique ...

jeudi 03 octobre 2019 20:21 *** Message modifié par son auteur ***
Missing
Ydeclave

Voila, sauf que mon Speedo Stowe Marine (que je soupçonne d'avoir l'âge du bateau soit 25 ans) balance la phrase avec le champ cap non vide mais avec 000. Et c'est là tout le problème.

Je n'ai apparemment plus qu'à me pencher sur les cartes Arduino!

samedi 05 octobre 2019 16:37
Nam_that
matelot@19001

Tu pourrais peut-être conserver le capteur et trouver une autre interface (chez Airmar ?)

samedi 05 octobre 2019 17:27
Missing
Ydeclave

C'est vrai, il faut que j'étudie la liaison entre les capteurs (speedo d'une part et sondeur d'autre part, la température devant venir d'un des 2 mais je ne sais pas lequel) et le boitier Stowe Databox qui fait ensuite la liaison vers l'afficheur unique en NMEA0183.

Il y a 2 fils pour le sondeur, un + et un -. Il y a 5 fils pour le speedo, de couleurs différentes, et malgré des recherches je n'ai pas trouvé à quoi chacun correspond. Il va falloir tester sur le terrain, mais je ne sais pas trop à quoi m'attendre...

Est-il possible que le speedo fasse parvenir ses infos en NMEA0183 vers le boitier?

samedi 05 octobre 2019 21:50
Nam_that
matelot@19001

Non, le speedo n'envoie que des impulsions électriques dont la fréquence est convertie en donnée vitesse, puis traduite en nmea.
Tes cinq fils c'est probablement semblable au schéma ci-dessous.

samedi 05 octobre 2019 22:36
Nam_that
matelot@19001

PS : je viens de voir ton ancien fil où tu parlais déjà de ton boîtier Databox :
https://www.hisse-et-oh.com/forums/equipements/messages/2565798-seatalkng-nmea2000-0183-tp32-et-girouette-tacktick#reply_2569845
Puisque ce databox possède deux entrées 0183, tu n'as qu'à brancher un compas sur une de ces entrées, et le databox devrait reconstituer la phrase complète. Ou peut-être le COG issu d'un gps ferait aussi l'affaire.
PS2 : sinon tu achètes ceci et tu conserves tes capteurs :
http://www.actisense.com/product/dst-2/

samedi 05 octobre 2019 23:12 *** Message modifié par son auteur ***
Missing
Ydeclave

Merci beaucoup, effectivement si j'avais un compas NMEA0183 je pense que ça résoudrait le problème (et encore, je me retrouverais peut-être avec une phrase HDM correcte à côté mais toujours la partie 000 dans la phrase VHW... là je ne sais pas ce que le pilote ferait!). Mais le prix est prohibitif.
En revanche j'ai déjà branché mon traceur Garmin sur les entrées de la Databox, que ce soit sur l'entrée Compass ou R.Nav ou les 2 à la fois puisque le Garmin a 2 sorties, ça marche parfaitement c'est à dire que les phrases du GPS sont bien multiplexés par la Databox mais il y a toujours ce 000 dans la phrase VHW. mais la COG est visible aussi sur le réseau N2K sans soucis, mais le pilote s'en fiche, c'est le cap et pas la route fond qui l'intéresse.
Au passage on pourrait peut-être convertir la route fond en cap (le Miniplex est censé pouvoir le faire mais je n'ai pas réussi...), mais à ce moment là je pense que le pilote barrerait mal. La route fond issue du GPS est sujette à retard et imprécision, contrairement au cap qui évolue tout de suite dès lors que la barre est tournée suffisamment. Je pense que le bateau ferait des S. On pourrait peut-être s'en sortir en jouant sur le gain du pilote... Mais ça ne change pas le fait que le programme du pilote est fait pour le cap et pas la route.

Quand au DST-2, comment savoir s'il marcherait bien avec les vieux capteurs Stowe?...

J'ai l'impression que le mieux à faire est de commander une carte Arduino et tout ce qu'il y a autour. Sur cette page (https://kingtidesailing.blogspot.com/2015/09/how-to-connect-any-nmea-0183-device-to.html) quelqu'un donne l'exemple de transformer la phrase température de l'eau (en Celsius) pour la réécrire en ayant converti la valeur en Fahrenheit. En me basant sur ce code je dois pouvoir sans y passer des jours écrire le code pour réécrire la phrase sans le 000 et le M!
Pour 50€ je conserve mes capteurs (c'est l'idée, sinon je pourrais certes tout changer mais c'est dommage pour des capteurs qui marchent encore...).

Merci pour ton aide en tout cas.

mardi 08 octobre 2019 12:00 *** Message modifié par son auteur ***
Nam_that
matelot@19001

Je pense qu'il n'y aurait aucun problème avec le DST-2, puisqu'il est entièrement calibrable selon le type de speedo à effet Hall, d'près la feuille de caractéristiques :
https://www.actisense.com/wp-content/uploads/2016/12/DST-2-Data-Sheet-issue-3.0.pdf
De plus il y a de fortes chances que le capteur Stowe provienne de chez Airmar.
Tu peux toujours envoyer un message à Actisense pour demander.
Mais si tu te sens de te lancer dans l'Arduino sans y passer trop de temps alors vas-y.

mardi 08 octobre 2019 13:25
Missing
Gonio-Coque

Yess. Je ne vois pas comment traiter ton problème autrement. Il faut récupérer les phrases d'un compas et de ton speedo et réécrire une phrase vhw combinant les deux. Cela suppose un ordinateur ou un arduino (ou un rasberry) dédié en marche et développer le soft qui va bien.

P...g d'usine à gaz !!!

Au cas où je peux te donner en VB les codes qui me permettent de lire le sondeur dans Marées dans le Monde mais j'imagine que tu sais déjà faire ça.

mardi 08 octobre 2019 13:35
Nam_that
matelot@19001

Il n'a pas de compas, c'est le TP32 qui utilise son propre compas.
Le tout c'est de pouvoir supprimer le "000" entre les deux virgules dans la phrase VHW.
Mon vieux multiplexeur Brookhouse, par exemple, sait très bien faire ça.

6 jours
Missing
Gonio-Coque

Tu es sur que si on remplace le ,000, par ,, l'interface ne va pas interpréter cela comme étant arbitrairement 0 ? C"est une bogue que j'ai eu dans Marées dans le Monde

6 jours
Missing
Ydeclave

Je ne pense pas, parce que à priori c'est comme ça que ça devrait être "normalement", et que c'est dans 99% des installations à priori... Chose que je n'ai pas tout de suite compris quand je me demandais pourquoi je suis le seul à avoir ce problème.

Je suis aussi en contact avec le support actuel Stowe (c'est plus ou moins dans Simrad je crois maintenant), ils me disent qu'il faut acheter leur NMEA databox (412€ avec la livraison en France... Soit plus cher qu'une sonde DST-800 neuve, ça n'aurait pas vraiment de sens...). J'attends aussi une réponse du support ShipModul pour savoir si le MiniPlex peut le faire, techniquement tout le hardware est là, mais son logiciel ne le prévoit pas...
Etonnant d'ailleurs que vieux Brookhouse de matelot@19001 puisse le faire!

6 jours
Nam_that
matelot@19001

Bien sûr tant qu'on n'a pas essayé on ne peut jurer de rien, mais je pense que c'est le cas.
Idem pour le Brookhouse, mais il permet un tas de manipulations sur les phrases nmea et de mémoire ce serait possible.

6 jours
Missing
Gonio-Coque

Sinon il te reste ma proposition. Je peux te bidouiller un soft qui te retraiter à sous Windows la phrase vhw. Je l'exploite déjà dans Marées dans le Monde donc ça ne me prendra que quelques heures à faire.

6 jours
Pavillonbleuocc
a_guy

la phrase VHW $VHW,x.x,T,x.x,M,x.x,N,x.x,K*hh

normalement vide c'est pas 0 c'est vide genre

$PIVHW,,T,211,M,9.2,N,0.0,K*75

>si elle balance 0.0,0 sans le T ta première valeur n'est pas prise en compte
as tu fais une capture avec opencpn par exemple pour voir cette trame ?

>sinon essaye de discrédité avec l'ID (sur le miniplex ? )

>au pire interfacer un Raspberry 3 avec opencpn pour faire du ménage avant de renvoyer la trame !
> ou mieux mais je ne sait pas si ça passe monter un rpi 0 avec une configue minima et toujours opencpn ? certainement trop gros !!!

>dernière solution un Arduino et 1 compas type MPU et lui injecter le cap comme l'autre valeur est à 0

https://kingtidesailing.blogspot.com/2015/09/how-to-setup-mpu-9150-9-axis.html

ça devrait pouvoir tourner sur un petit puisque juste 1 entrée et 1 sortie !

bonne bricole !

5 jours
Missing
Ydeclave

Oui, j'ai mis une copie de la trame telle qu'elle est envoyée le bateau à l'arrêt. Si je discrédite l'ID je discrédite la profondeur et la vitesse surface: autant ne pas brancher l'appareil.

Effectivement un Arduino semble le moins cher et le plus simple une fois que j'aurai codé : de quoi s'occuper cet hiver. Il faut que je compare les cartes, en effet une entrée et une sortie suffise.

5 jours
Pavillonbleuocc
a_guy

oui en ne cherchant pas à trop dépouiller les trames genre un truc comme ça

def trame;
def Newtrame;

serial 0 read trame;

if trame =( $IIVHW,,,000,M,00.00,N,,*54);

{ Newtrame = ($IIVHW,,,,,M,,,,N,,*66) };

else

{Newtrame = (trame)};

print serial1 (Newtrame);

ça devrait même passer sur un nano !!!

même pas besoin de lib math !!!

4 jours *** Message modifié par son auteur ***
Avatar
Schnaps


Bonjour,

Loin de moi l'idée de me mêler de ce qui ne me regarde pas, mais le bout de programme ci-dessus comporte des inexactitudes...

J'avais moi-même une DataBox et un afficheur Stowe, je suis donc sensible au souhait de vouloir faire perdurer ce vieux matériel.
Me concernant, j'étais dans la même démarche mais j'ai dû tout remettre en cause quand un OVNI a désintégré ma girouette-anémo Stowe durant l'hiver 2015/2016...

Je me suis alors équipé en 2016 d'un anémomètre LCJ (parfait) qui délivre des phrases NMEA0183. Seul souci, mon afficheur Stowe n'affiche que les ancienne trames de ce protocole et n'affichait donc aucune des données fournies par le CV7 de LCJ.
Or l'afficheur était en bon état, et son design me plaisait (plait) plus que les afficheurs premier prix déjà très chers...

Après moult recherches, je me suis penché sur le système arduino que je ne connaissais pas et à l'aide des informations du site de kingtidesailing et beaucoup de recherches, j'ai réussi à convertir les données fournies par l'anémomètre de LCJ (pour résumer, de 0 à 360°) au format des anciennes données NMEA ( de 0 à 180°, avec L pour left et R pour right) lisibles par mon vieil afficheur.

Comme je ne suis qu'un simple bidouilleur, la courbe d'apprentissage a été rude, mais bon, cela fonctionne toujours très bien depuis 3 ans...

Concernant la problématique du VHW évoqué dans ce fil, je pense en effet que la meilleure réponse a été donnée par Tiersp, càd utiliser la vitesse fond du GPS...

Mais si l'on souhaite malgré tout utiliser la vitesse surface (et ainsi on calcule le vent surface et non pas le vent vrai), il est possible d'utiliser une carte Nano (largement suffisante) et 2 fois deux fils...
(N.B: pour les tests, il est plus simple d'utiliser des fils dupond, mais pour le définitif, il est préférable de souder les fils sur la carte Nano).

J'ai retrouvé ce premier programme que j'avais écrit pour mon anémomètre, je l'ai rapidement modifié/simplifié et je le mets en pièce jointe.
ATTENTION : il est proposé en tant que tel, il y a peut-être des erreurs, je n'ai rien vérifié in situ.
De plus, il faudra peut-être faire des tests (avec et sans "M" par exemple), mais cela est très simple.
Le plus dur amha sera de bien connecter les entrées/sorties (RX,TX).
A noter que le calcul du checksum est nécessaire si l'on modifie la structure de la phrase nmea, donc autant la re-écrire proprement...

Pour ce faire, il "suffit" de télécharger l'IDE d'arduino, d'acheter une carte Nano, de téléverser le programme et de faire les tests ...

A noter que le fichier nmea.h corrigé est disponible sur mon site où je décris d'autres bidouilles arduino, mais là n'est pas la question.

Voili, voilà...

4 jours
Missing
Ydeclave

Merci beaucoup !
Avec ça et les bouts de code du site kingtidesailing je suis sur d'y arriver!

3 jours

Répondre

Pour participer aux forums, vous devez être inscrit et identifié

Vous identifier | Créer un compte matelot

Retour forums