LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: Conchito le décembre 09, 2019, 07:50:28 pm

Titre: Wagon de mesure distance et vitesse
Posté par: Conchito le décembre 09, 2019, 07:50:28 pm
Je vous propose la réalisation d'un wagon HO de mesure de la vitesse et de la distance parcourue.
(http://Wagon complet.jpg)

Wagon odomètre-tachymètre en Bluetooth
Transformation d’un wagon de marchandises échelle HO pour mesurer, afficher et transmettre la distance parcourue et la vitesse de déplacement du wagon. La réception des données se fait sur une application pour smartphone Androïd développée en processing. Le cœur du système est un Arduino nano et fonctionne aussi bien en analogique qu’en digital.
Cahier des charges :
•   Mesure de la position angulaire d’un essieu en utilisant des aimants et des capteurs à effet Hall analogiques.
•   Traitement des mesures pour obtenir la distance totale parcourue.
•   Dérivation et filtrage de la distance parcourue pour le calcul de la vitesse.
•   Mise à l’échelle des mesures.
•   Affichage des valeurs calculées sur l’écran du wagon et transmission en Bluetooth.
•   Alimentation sur batterie et recharge de la batterie par les rails
•   Remise à zéro de la distance parcourue par Bluetooth
•   Sélection des unités d’affichage de la position et de la vitesse via Bluetooth.
•   Réception et affichage des données par smartphone

La description de cette réalisation a été concrétisée sous la forme d'un article plus complet qui est plus lisible que les posts successifs sur ce fil. Aussi, afin de désencombrer ce fil, je supprime mes posts précédents et je vous invite à consulter https://www.locoduino.org/spip.php?article259 (https://www.locoduino.org/spip.php?article259)

Titre: Re : Wagon de mesure distance et vitesse
Posté par: CATPLUS le décembre 09, 2019, 08:36:11 pm
Bonsoir

https://model-railroad-hobbyist.com/node/26134

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Dominique le décembre 10, 2019, 11:46:51 am
Bravo Conchito,

Voilà une réalisation complète bien documentée qui mériterait de figurer dans les articles du site éditorial, dans la catégorie "Projets ferroviaires niveau 2" car c'est assez complexe pour un néophyte (matériel et logiciel). Mais cela ferait plaisir à ceux qui se souviennent de la trigo et des dérivées (un cas concrêt de "à quoi ça sert !"). Cela interessera les clubs évidemment.

Je n'ai pas comparé ta réalisation à celle de Geoff Bunza , mais cela ferait de toute façon une version française et très claire.

Evidemment c'est réservé à l'échelle HO (ou plus grande), sauf si on peut externaliser le nano et l'afficheur.

Si cela te tente, envoies moi un MP pour que je t'inscrive parmi les rédacteurs.
Nous sommes plusieurs à donner notre avis sur chaque article avant publication, donc une garantie de qualité dans l'esprit Locoduino.

Amicalement
Dominique
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Thierry le décembre 10, 2019, 06:09:06 pm
Et je confirme, c'est un super boulot. Le texte présenté ici pourrait presque être copié/collé tel quel vers un article...
Titre: Re : Wagon de mesure distance et vitesse
Posté par: BrutDePomme le décembre 11, 2019, 09:00:36 am
Bonjour,
Je suis d'accord avec Dominique, cette réalisation doit figurer dans les projets du site éditorial. Ce serait dommage de perdre ces informations dans les méandres d'un forum. En plus, cette réalisation peut en inspirer d'autres.

Bonjour chez vous,
Brut de Pomme
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Dominique le décembre 11, 2019, 09:33:49 am
Je rassure tout le monde : ça va se faire !
Titre: Re : Wagon de mesure distance et vitesse
Posté par: nopxor le décembre 11, 2019, 11:11:17 am
Bonjour,

C'est un travail important certes, mais il eut été plus simple d'utiliser un seul capteur à effet Hall numérique.
Un simple aimant sur la périphérie de la roue de l'essieu comptabilise les tours de roue dont on connaît le diamètre, donc le périmètre et la distance parcourue s'obtient par une simple multiplication.
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Dominique le décembre 11, 2019, 11:22:01 am
J'avais posé la question en MP concernant la différence par rapport au projet de Geoff Bunza pointé par Marcel. Voici sa réponse qui explique aussi pourquoi 2 capteurs au lieu d'un :

Citer
Par rapport à la réalisation de Geoff Bunza, je n'ai pas de capteur d'effort de traction et surtout le principe de mesure de la position est différent. Geoff compte le temps écoulé et le nombre d'impulsions de roue avec un capteur à effet Hall tout ou rien. Pour ma part, je calcule la position avec 2 capteurs analogiques et un peu de trigo. J'ai utilisé deux petits accumulateurs alors qu'il utilise une réserve d'énergie sous forme de gros condensateurs. Il transmet les données par radio, moi par Bluetooth. Il a besoin d'un récepteur spécifique, moi j'utilise un smartphone, une tablette ou un PC.  Le filtrage des données, aussi, est différent: une moyenne flottante sur 5 points pour lui, un filtre du 2nd ordre pour moi, avec l'astuce du calcul de la dérivée par le filtre. Pour les champions de traitement du signal, on pourrait aller jusqu'à un filtre de Kalman.
Un autre point intéressant pour un article, est le développement sous Processing d'une appli pour Android.

Ceci dit, les deux réalisations se ressemblent un peu, c'est un wagon qui roule et qui affiche ...

J'ai utilisé ces principes de mesure et filtrage dans une vie antérieure...

Voilà qui promet de nous apprendre ou rapeller plein de bonnes choses.

Dominique
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Conchito le décembre 11, 2019, 12:17:31 pm
Bonjour,
Je suis content que ma réalisation suscite quelques réactions.
Pour répondre à nopxor
Citer
C'est un travail important certes, mais il eut été plus simple d'utiliser un seul capteur à effet Hall numérique.
Un simple aimant sur la périphérie de la roue de l'essieu comptabilise les tours de roue dont on connaît le diamètre, donc le périmètre et la distance parcourue s'obtient par une simple multiplication.
Effectivement c'est plus simple de compter les tours de roue, mais la résolution de mesure de distance n'aurait été que de :
pi * diamètre_roue / nbre_top_par_tour, soit pour une roue de 11mm et 4 aimants sur la roue, une résolution de 8,6mm.
En utilisant deux capteurs en quadrature, pour les mêmes paramètres, j'obtiens une précision de l'ordre du mm(erreurs de positionnement des capteurs), mais j'obtiens aussi le signe du déplacement. Je peux ainsi soustraire les mm parcourus en marche arrière, facilitant l'ajustement de la position du wagon pour la mesure de distance exacte entre deux points.
Bien le bonjour
Conchito
Titre: Re : Wagon de mesure distance et vitesse
Posté par: msport le décembre 11, 2019, 06:31:24 pm
Bravo, et l'aspect traitement du signal est impressionnant. Je ne sais pas si le modélisme ferroviaire en a jamais bénéficié et plus avec un Arduino !
Titre: Re : Wagon de mesure distance et vitesse
Posté par: trimarco232 le décembre 13, 2019, 01:42:09 am
bravo sans réserve, même si
- je vais être obligé de tout lire et essayer de comprendre  :P
- à part l'aspect didactique, je ne vois pas à quoi ça peut servir
Titre: Re : Wagon de mesure distance et vitesse
Posté par: DDEFF le décembre 13, 2019, 10:55:04 am
Bonjour Conchito,

C'est un excellent travail, très bien documenté, avec, mine de rien, un sacré matériel dont un très bel oscillo (qui fait rêver)...
C'est vrai qu'au niveau trigo, c'est assez rigolo :
Tes capteurs sont à 135° l'un de l'autre, mais comme il y a 4 aimants, c'est comme s'ils étaient à 2 x 135° = 270° = -90°. Pas mal !
Il est dommage qu'en "C" il n'existe pas la fonction "heading()" de Processing qui évite tout un tripatouillage de 180° avec les sauts d'ATAN().

Aboutir à une précision de distance d'1mm est un bel exploit.
Penser à ajouter un pied à coulisse pour mesurer le diamètre de l'essieu et des roues au matériel  ;D

Non content d'afficher tout ça sur la wagon lui-même, tu ajoutes le lien bluetooth ET vers un PC ET vers un Android.
Alors là, c'est vraiment complet. Je vais me faire un plaisir d'analyser ton système.
Je pense y trouver des idées sympas pour mon gestionnaire en Processing (le système de Denis).

BRAVO  8) 8) 8)

Denis


Titre: Re : Wagon de mesure distance et vitesse
Posté par: Dominique le décembre 13, 2019, 01:41:16 pm
Pour répondre à Trimarco232, c’est utile d’avoir un tel outil, par exemple :
- étalonner les vitesses des locos dans la centrale pour les commander à 30, 60 ou 90 km/h échelle en fonction des conditions de circulation.
- mesurer des portions de voies pour les intégrer dans des algo de ralentissement ou d’arrêt précis.
Et il y en d’autres sûrement.
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Conchito le décembre 13, 2019, 09:33:04 pm
Bonsoir Denis,

Merci pour ton jugement sur ma présentation qui malheureusement a du être coupée en plusieurs posts la rendant plus difficile à lire.

Pour ce qui est de l'oscillo, je n'ai pas les moyens de me payer une de ces dernières merveilles à écran plat et analyse de protocoles. Il ne s'agit que de la récupération d'un vieux Tektro monochrome, à tube cathodique, mais qui permet de stocker les images sur disquettes 3"1/4. Par contre, j'ai développé sur Excel une macro qui relit un fichier de type HPGL généré par le scope et qui trace les graphes en couleur. Je peux ainsi obtenir les courbes sur PC. Le maillon faible de la chaîne est la disquette car tout repose sur un bon alignement des têtes de lecture tant dans le scope que dans le lecteur (portable en USB) du PC et, malheureusement, tout ça n'est pas trop fiable.

En C j'utilise la fonction atan2(y,x) qui fournit un résultat sur ]-PI,PI].

Pour ce qui est de la précision, j'ai étalonné la mesure sur une voie droite de 1 m de long. Sans toucher aux coefficients théoriques (diamètre des roue), la précision était <1 mm.

Pour ce qui est de la vitesse, l'être humain sous-estime les vitesses pour les petites échelles. Lorsque un train roule à 150km/h à l'échelle HO, l'observateur a l'impression qu'il se traîne, et pense que le wagon surestime les vitesses. Il n'est pas rare de voir un MOYSE rouler à 180 km/h en HO, ce qui déstabilise l’observateur.

Le Bluetooth vers le PC se fait via un port COM spécifique, un peu comme la liaison série IDE Arduino qui passe par l'USB. Les données qui arrivent par ce port sont alors traitées par un programme "Processing" ou par des macros Excel qui tracent les courbes correspondantes.

Bonsoir
Conchito
Titre: Re : Wagon de mesure distance et vitesse
Posté par: DDEFF le décembre 14, 2019, 12:40:37 pm
Bonjour Conchito,

Le pauvre, j'ai "juste" un Tektro... ;D
Moi aussi (un vieux 465)
Ceci dit, je me doutais qu'Excel était la dessous. Parce que des oscillos tri-courbes, ça ne court pas les rues.
Alors qu'avec Excel, on n'a pas de limite. Et s'il restait un dernier doute, les courbes de régressions, sur un oscillo... ???

Bon, un peu de sérieux :
J'ai regardé tes .pde et j'y a ai appris des choses (comme d'habitude quand on lit le programme d'un autre) et ça va me simplifier l'afficheur du pupitre. Merci.

Je m'intéresserai au lien Bluetooth-Processing un peu plus tard.

Je te rassure sur ton inquiétude concernant le fait que tu aies été obligé de découper ton post : quand ce sera un article, ce sera nettement plus lisible.

Je pense que tu devrais détailler un peu plus la partie Android.
Installation de l'appli que tu as choisie, ses paramétrages...
Par exemple, ta phrase "La version Android s’installe facilement sur PC et permet de créer une application dédiée au wagon." mérite des éclaircissements.
A la limite, un article spécifique, pas forcément très long, mais détaillé. L'intérêt serait que cette partie, qui n'est pas le cœur de ton projet, peu servir à d'autres.
Dans ton article sur les distances et le vitesses, un simple lien vers l'autre article pour ceux qui veulent approfondir.

De même, sur le lien Bluetooth vers PC/Processing. Un petit article aiderait bien. Et un lien dans ton article principal.

Encore bravo et merci
Denis
Titre: Re : Wagon de mesure distance et vitesse
Posté par: pierrepv le août 10, 2022, 11:27:01 am
    Bonjour,

Nous sommes un club dans la région de Lyon et nous souhaitons réaliser ce wagon de mesure.

Je comprend mal la disposition des capteurs à effet Hall sur le plancher du wagon.

Je vois bien la disposition du capteur A face aux aimants, mais pour le capteur B, j'ai un peu de mal.

Pouvez-vous m'éclairer.

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: pierrepv le août 10, 2022, 12:28:29 pm
Bonjour,

Pour préciser ma question précédente, je bute sur la phrase suivante:

- "Les deux capteurs A et B sont décalés angulairement de + ou -90° pour fournir un sinus et un cosinus sur une période magnétique. Ici j’ai utilisé deux paires de pôles (4 aimants ⇒ 2 N et 2 S) et donc les signaux des capteurs auront une période d’un demi-tour d’essieu. Sur le dessin et dans la réalité les capteurs sont décalés de 270° électriques soit -90° modulo 360."

Quand je regarde les dessins, les capteurs A et B sont décalés de 225°, pas de 270°.

Je ne vois pas les + ou - 90°
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Conchito le août 10, 2022, 09:15:13 pm
Bonsoir,

Je viens de refaire un dessin, ci joint, de la position des capteurs. Il s'agit de la coupe longitudinale du wagon, au niveau de l'essieu portant les aimants.
J'ai positionné les fils de sortie des capteurs tels que je les ai implantés dans mon wagon, et surtout une cote angulaire de 135° mécaniques entre les capteurs. L'image est peut-être déformée dans l'article et les 135° mécaniques apparaissent mal.
J'espère que ce dessin est plus explicite.
135° mécaniques entre les capteurs correspond à 270° électrique. Ayant 2 paires de poles, 1 tour électrique ne fait que 180° mécaniques. Pour un tour d'essieu mécanique, chaque capteur voit passer de façon alternée deux poles nord et deux poles sud soit 2 tours électriques. Et donc 135° mécaniques correspondent à 270° électriques ou -90° électriques.

Cet angle de -90° électriques ou 135° mécaniques n'est pas critique au degré près, mais tout écart se traduira par une erreur de mesure plus ou moins "ondulée" sur un tour électrique. Une erreur sur cet angle se traduit par des signaux qui ne sont pas en quadrature. Les deux signaux sont en quadrature quand un signal est au maximum ou au minimum pendant que l'autre passe par zéro.
De même il faut que les aimants passent à la même distance des deux capteurs pour avoir des signaux de même amplitude.

Il est également possible d'utiliser un ESP32 au lieu due l'Arduino, ce qui permettrait, tout en utilisant l'IDE Arduino pour le développement, de disposer d'une liaison WIFI en plus du Bluetooth.

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: pierrepv le août 11, 2022, 12:08:39 am
   Bonsoir,

Et merci beaucoup de cette réponse rapide que je vais étudier soigneusement.

Les membres de mon club sont très enthousiastes sur ce projet.

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: pierrepv le août 12, 2022, 07:46:36 pm
    Bonjour,

J'ai trouvé tout le matériel, sauf le "régulateur de charge"pour les 2 batteries.

Je n'ai rien trouvé qui corresponde chez les fournisseurs classiques.

Pourriez-vous m'aiguiller?

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: msport le août 13, 2022, 10:48:45 am
Bonjour,

si on accepte une recharge hors des rails on peut utiliser ce module :

https://www.ebay.fr/itm/403644631964

Avec l'avantage de n'utiliser qu'une batterie.

Si on veut garder la charge par les rails, il faut réduire à 5V  la tension redressée par un step down  :
https://www.ebay.fr/itm/363903108517
https://www.ebay.fr/itm/403755865933

Mais Conchito pourra préciser ses sources.
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Conchito le août 13, 2022, 11:37:18 am
Bonjour,

Pour charger les batteries, j'ai utilisé un stepdown convertisseur qui permet de générer du 9V, car il faut une tension supérieure à 7,2V pour alimenter les batteries montées en série (jusqu'à 8,4V). La résistance de 10 ohm limite le courant de charge.

J'ai utilisé le module suivant https://www.ebay.fr/itm/173252476101 (https://www.ebay.fr/itm/173252476101) qui a l'avantage proposer une gamme de tensions de sortie fixes sélectionnables par un pont de soudure ainsi qu'une tension ajustable par potentiomètre.
Mais les modules proposés par msport https://www.ebay.fr/itm/403755865933 (https://www.ebay.fr/itm/403755865933) ou https://www.ebay.fr/itm/403644631964 (https://www.ebay.fr/itm/403644631964) conviennent également très bien, une fois réglé en 9V de sortie..

Dans tous les cas, il faut derrière un module de régulation de charge fait pour 2 batteries en série afin d'équilibrer les charges des 2 batteries (fournisseurs en France) :
https://www.ebay.fr/itm/334291536926 (https://www.ebay.fr/itm/334291536926)
https://www.ebay.fr/itm/174288736062 (https://www.ebay.fr/itm/174288736062)

Cette tension de 7,2V convient très bien pour alimenter l'Arduino nano dont le régulateur 5V fournira la tension d'alimentation des capteurs et de l'émetteur Bluetooth.

On pourrait également envisager de passer en 3,3V et n'alimenter qu'avec une seule batterie, mais je ne connais pas le comportement des capteurs à effet hall (faits pour fonctionner sous 5V) lorsqu'ils sont alimenté sous 3,3V.

Cordialement

PS: Quel type de wagon avez-vous l'intention d'utiliser ?

Titre: Re : Wagon de mesure distance et vitesse
Posté par: pierrepv le août 13, 2022, 01:46:27 pm
   Bonjour,3

Et merci de cette réponse rapide, j'ai maintenant tout ce qu'il me faut pour approvisionner le matériel.

Pour le wagon, nous attendons la réouverture du club le 16/08 pour consulter nos membres sur les wagons en leur possession.

Mais bien sûr quelque chose de très semblalble au votre.

Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: doume35.6 le décembre 13, 2023, 03:13:39 pm
Bonjour
Bravo pour le wagon de mesure.
Tout fonctionne ainsi que les 2 applications.
J'ai juste une différence de mesure entre le réel et la distance affichée sur le wagon.
Pour 100 mm de déplacement réel le wagon affiche 86mm.
Le wagon a des roues diamètre 11 mm sur axe d'essieu de 2 mm.
Il y a t'il un réglage à faire ,soit sur les capteurs ou une correction dans le programme.
Cordialement
Titre: Re : Wagon de mesure distance et vitesse
Posté par: Conchito le décembre 14, 2023, 12:10:41 am
Bonsoir,

Heureux que vous ayez réalisé ce wagon.  ;)

Quelques remarques :

Si vous disposez d'un oscilloscope ou d'un moyen d'acquisition, assurez vous que les signaux en sortie de chacun des capteurs sont sensiblement sinusoïdaux, de même amplitude et surtout sont en quadrature. ( voir figures 6 à 8 de l'article https://www.locoduino.org/spip.php?article259 (https://www.locoduino.org/spip.php?article259))
Sinon on peut utiliser la routine d'envoi par la liaison série pour transmettre les valeurs des mesures de chacun des capteur à effet Hall. Ces valeurs seront récupérée dans le moniteur de l'IDE et visualisées.

Comme expliqué, le diamètre des roues est un paramètre entré comme une constante dans le début du programme.
const double CSTE_ROUE = (11./4.);      // (mm/rad)  = diamètre roue/2 -> rayon  puis /2 car 2 paires d'aimants par tour de roue
Dans votre cas on peut essayer de corriger le paramètre du diamètre des roues pour compenser l'erreur mesurée.
Remplacer le 11. par 12.8 car 12.8=11. x 100. / 86.
const double CSTE_ROUE = (12.8 / 4.);      // (mm/rad)  = diamètre roue/2 -> rayon  puis /2 car 2 paires d'aimants par tour de roue

Cordialement

Titre: Re : Wagon de mesure distance et vitesse
Posté par: doume35.6 le décembre 14, 2023, 06:13:14 pm
Bonjour
A la suite de votre réponse j'ai refait un test sur un rail bien droit et effectivement la distance réelle correspond à la valeur affichée.
Je vais pouvoir emmener le wagon au club minirail de Brest.
Merci beaucoup de votre aide.
Cordialement