Auteur Sujet: Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072  (Lu 50009 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #15 le: mars 14, 2021, 01:57:33 pm »
Mais ça marche quand même d’après tes essais ici ?
https://forum.locoduino.org/index.php?topic=1151.msg12620#msg12620
Donc avec les capas ?

De toute façon la mesure de courant doit être en serie avec le et au plus près du pont en H, soit en haut (coté 12v ou plus), soit en bas (côte GND).

Il conviendrait donc d’utiliser des cartes pont en H qui embarquent la mesure de courant, pour se passer des cartes Max471/472

Les cartes qui en possèdent sont celles du LMD18200 et du L298, mais limitées en courant. La carte de msport à base de L6203 est plus intéressante pour la plupart des besoins mais il faudrait en fabriquer et monter une boutique.
Pour la carte L9110S je ne sais pas...(je vais regarder)
Cordialement,
Dominique

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #16 le: mars 14, 2021, 02:25:11 pm »
Justement : j'ai du mal pour le moment à obtenir un résultat cohérent avec un MAX471...
C'est paradoxal parce qu'il me semble  que cette bestiole est utilisée assez largement, mais par exemple dans l'article sur la station de bobyAndCo, on a bien le max471 placé dans la ligne d'alimentation de la carte L 9110 S.

Pour l'instant je bloque avec le MAX. J'arrive à mesurer du courant correctement sur un faisceau de leds de test...mais pas pour monitorer un mini pic de consommation lié à un ACK d'une loco.

Bien entendu, le composant fait le taff pour de la mesure de consommation en vue de détecter un court-circuit...mais encore une fois, j'arrive à mieux avec un ACS 712 placé en série avec le pont en H, ce malgré sa résolution plus faible (1/10ème).

« Modifié: mars 14, 2021, 02:27:15 pm par AmadeusHF »
Sébastien.
La perfection est un chemin, non un but...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #17 le: mars 14, 2021, 03:04:16 pm »
C’est vrai que le DCC est du courant alternatif avec des passages par zéro. Donc un échantillonnage va donner des valeurs inégales.

C’est pour cela qu’il faut faire une moyenne sur un nombre d’échantillons relativement grand.

Attention ça retarde un peu la détection de court-circuit mais pas beaucoup.
Cordialement,
Dominique

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #18 le: mars 14, 2021, 03:35:18 pm »
Avec l'ACS 712 on mesure le courant dans les deux sens (+/-) par rapport à VCC/2.
Avec ce composant j'ai une lecture viable du courant consommé en échantillonnant 50 points en série.

Actuellement j'ai une mesure de courant de repos (avant ACK) fiable sur une mesure.
Puis je vérifie que je vois passer un pic de courant en échantillonnant des valeurs de 50 points et en recherchant un delta (en mA) d'au moins 40 (la norme étant 60.

Je valide l'ACK si j'ai reçu un pic sur au moins une mesure (donc moyenne de 50 échantillons consécutifs > seuil).

C'est comme ça que j'obtiens le résultat actuel. J'ai 90% de readCV qui passent du premier coup.
En ajoutant 5 tentatives de lectures max pour une lecture CV donnée, j'arrive à lire le CV dans 100% des cas sur mon décodeur de test.
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #19 le: mars 14, 2021, 03:37:54 pm »
Précisions : tant que le courant mesuré reste supérieur au seuil, j'attends (je laisse passer le pic), avec un maximum de 16 mesures de 50 points (soit 800 échantillons en bouche au max).

De cette manière j'évite de passer à la lecture du bit suivant du CV avant que le courant d'ACK ne soit retombé.
Sébastien.
La perfection est un chemin, non un but...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #20 le: mars 14, 2021, 03:58:38 pm »
Précisions : tant que le courant mesuré reste supérieur au seuil, j'attends (je laisse passer le pic), avec un maximum de 16 mesures de 50 points (soit 800 échantillons en bouche au max).

De cette manière j'évite de passer à la lecture du bit suivant du CV avant que le courant d'ACK ne soit retombé.

Il n'y a pas, dans la norme NMRA de lecture de CV qui donne une réponse contenant tous les bits du CV : il n'y a que des lectures de bits isolé (les bits 0 à 7) puis une demande de vérification de la valeur du CV (OK ou NOK) : donc chaque lecture ne concerne qu'un seul bit.
Donc tu ne risques pas de tomber dans le bit suivant, il faut le demander !

Dans LaBox, sur ESP32, les choses ne se passant pas comme sur les AVR, j'ai testé en long et en large jusqu'à m'apercevoir que la réponse du décodeur (une impulsion de 6ms) ne tombait pas toujours là où on l'attendait. J'ai donc enchainé plusieurs créneaux de lecture du dépassement de seuil et, si le bit est 1, il y a toujours un qui donne une réponse positive (sinon, aucun des créneaux ne trouve ce 1). Donc avec ta méthode, tu risques de louper une réponse, mais tu as certainement une fenêtre de tir assez bonne car les résultats sont assez bon.
Je pense que les réponses des différents décodeurs existants n'ont pas un temps de réponse équivalents.
Si tu testes un Laisdcc, tu peux finir par avoir de bons résultats.
Avec un autre, c'est peut-être différent.

Mais j'avoue que je n'ai pas étudié les autres méthodes des DCC++EX, ou Atanisoft (https://github.com/atanisoft/ESP32CommandStation et il y en a surement d'autres.
Cordialement,
Dominique

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #21 le: mars 14, 2021, 04:09:38 pm »
Bon j'arrive au meme résultat avec un MAX471 en mesure du courant d'alimentation de la carte moteur finalement.

J'avais un problème sur la conversion des échantillons en valeur mA.

Allez pour la petite histoire : les int sont sur 16 bits ! Ca fait tellement longtemps que je ne manipule plus que du 32 ou 64 bits dans mon quotidien, j'étais loin de me douter que sur ces CPU le int de base était encore réglé à 16 bits !
J'avais des dépassements de capacité qui me donnaient des valeurs bidons, forcément !

Donc avec mon code actuel (je viens de pousser sur GITLAB), j'arrive à lire 100% des CV de mon échantillon de test avec :

* Soit  un ACS712 inséré dans la ligne d'alimentation de la voie, ce qui me permet d'envisager une mesure pour chaque voie bien séparée ;
* Soit un MAX471 (celui que tu m'as envoyé Dominique) inséré dans la ligne d'alimentation de la carte moteur, auquel cas la voie de programmation ne peut pas fonctionner de façon certaine en meme temps que la voie principale pour une carte bi-moteur comme la LS 9110 S (incertitude de mesure).

Reste à élargir l'échantillon de test !
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #22 le: mars 15, 2021, 03:35:14 pm »
@MSport : sur les photos de tes circuits à base de 472 il y a, si je ne m'abuse, deux résistances de 10 k qui ne sont pas reprises dans la nomenclature.

L'une pour fixer je crois le courant de la LED témoins de marche, à priori R2...bon celle là je peux m'en passer vu que je ne monte pas la LED pour mes tests.

L'autre est au dos, dans le circuit de sortie vers la pin sérigraphiée I (donc à inverser puisqu'il y a une sérigraphie inversée) serait il me semble R1 du pont diviseur de sortie. Donc pas négociable.

Tu me confirmes ? En CMS je n'en ai pas donc juste pour savoir si j'en commande ou si je peux m'arranger...
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #23 le: mars 15, 2021, 03:40:09 pm »
Je corrige : R1 n'est pas dans le circuit de sortie...mal lu le tracé....mais ça ne change pas ma question...bien qu'à priori ce diviseur serve à reproduire la mesure de la tension d'alimentation qu'on a sur les circuits MAX 471 ?

Autre question plus "sur le geste" : quelques conseils pour la soudure des traversants soudés de part et d'autre ? Comme le condo électro chimique ici ?
Sébastien.
La perfection est un chemin, non un but...

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #24 le: mars 20, 2021, 09:09:10 pm »
Pour compléter le sujet de ce fil, après échanges avec Dominique et constat des composants qui restent disponibles, on vous propose une solution qui nous semble jouable.

Voici un kit de composants pour faire un booster à L6203 et LM358 basé sur le schéma qui fonctionne pour LaBox.
Le Isense + LM358 délivrent 1 V/A (comme les modules à MAX471 pour la compatibilité avec les programmes existants)

Il suffit de connecter I à A0, D à D10 et P à D3 d'un arduino Uno, Nano ou Pro Mini pour faire une BaseStation. Il y a un pont à souder pour alimenter le L6203 par le D3 au lieu du 5V (U). G se connecte aux GND. V permet d'afficher la tension.
( I à A0, D à D12 et P à D3 pour un Mega )
voir Arduino UNO ( et Mega ) et la seule voie principale :
https://www.locoduino.org/spip.php?article187

Ce kit met en œuvre des composants traversant pour faciliter sa réalisation par le maximum de lecteurs de Locoduino. Il n'y a que la résistance de 0,5 ohm qui soit CMS.

Il existe bien les modules à base de ACS712, mais la détection des 60 mA conduit à détecter 11 mV soit 2 sur 1024 (avec 185 mV / A pour le modèle 5A), cela semble expliquer les problèmes rencontrés pour sa mise en œuvre.

Ci-joint le schéma, la liste des composants et le tracé du circuit imprimé réalisable chez JLCPCB par exemple .

Comme on a du mal à savoir si nos montages sont réalisés, faites nous signe si les gerber vous intéressent.

« Modifié: mars 21, 2021, 10:21:46 am par msport »
Cordialement

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #25 le: mars 22, 2021, 07:43:38 pm »
Exemplaire monté, voir ce que ça donne de mon coté avec ce montage ;)
Sébastien.
La perfection est un chemin, non un but...

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #26 le: mars 23, 2021, 10:21:23 am »
Bonjour,
une petite question (sans doute car je n'ai pas tout lu) :
pourquoi ne pas avoir utilisé IC1B en inverseur, à la place du transistor et de ses 2 résistances ?
« Modifié: mars 23, 2021, 10:57:20 am par trimarco232 »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #27 le: mars 23, 2021, 01:52:06 pm »
Bonne idée : proposée à msport pour une prochaine version.

Au passage qui serait intéressé par cette carte à monter soi-même ?
- Elle remplace une carte LMD18200 ET une carte Max471 !
Cordialement,
Dominique

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #28 le: mars 23, 2021, 02:06:50 pm »
Retour d'expérience pour ceux qui veulent se lancer : mise en oeuvre très simple sous réserve d'avoir un fer à souder qui ne soit pas prévu pour souder du zing sur une toiture ! ;)

Le PCB est aéré, la seule résistance de surface étant grande et facilement accessible, elle se soude comme tous les autres composants : très facilement.

Bref : pas la moindre difficulté ! Du bon boulot.

Sur le modèle que j'ai soudé hier j'ai préféré monter 2 borniers (prévus sur le PCB) plutot qu'un connecteur d'alimentation traditionnel (prévu aussi) car j'utilise des montages de tests et alimentation de labo.
« Modifié: mars 23, 2021, 02:09:05 pm par AmadeusHF »
Sébastien.
La perfection est un chemin, non un but...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : Mesure de courant MAX471, MAX472, MAX4070, MAX4071 et MAX4072
« Réponse #29 le: mars 23, 2021, 03:12:20 pm »
Merci pour ce retour positif auquel je souscris sans réserve  ;D

Pour ceux qui montent ou qui envisagent de monter LaBox, c’est le même montage qui y est embarqué.
Jusqu’à maintenant ça fonctionne à merveille et sans le moindre ennui.

Mais cette petite carte 5x5 s’adresse surtout aux monteurs de centrales DCC.
Cordialement,
Dominique