Auteur Sujet: L9110S Dual Motor Driver pour DCC++  (Lu 24546 fois)

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
L9110S Dual Motor Driver pour DCC++
« le: juin 18, 2019, 02:18:33 pm »
Bonjour à tous,

Dominique m'avait fait découvrir il y a quelques temps cette carte moteur tout à fait impressionnante et, comme vous le voyez, très économique qui s'adapte vraiment bien à un environnement DCC++



La carte est vraiment parfaite visuellement ce qui est un apriori favorable sur ses qualités intrinsèques.

Un atout et non des moindres, c'est que cette carte existe en 10A et en 15A ce qui est intéressant pour des réseaux qui comptent entre 10 et 20 locos actives simultanément (en HO).



Elle dispose de deux entrées (DIR et PWM) et de deux sorties distinctes ce qui veut dire qu'elle peut alimenter à la fois les voies principales et une voie de programmation ce qui en fait une carte très complète à l'instar de la POLOLU MC33926 qui coute trois fois plus cher et est trois fois moins puissante !

Vous veillerez cependant à modifier le câblage ou le programme car il n'est possible de monter qu'un seul MAX471.

Il n'y a en effet qu'une seule entrée de courant de puissance (fil rouge et fil noir sur la photo). Aussi, la sortie AT du MAX471 devra t'elle être distribuée sur A0 et A1 ou mieux, le programme modifié dans le fichier DCCpp.h

  #define CURRENT_MONITOR_PIN_MAIN A0
  #define CURRENT_MONITOR_PIN_PROG A0

Pour exploiter la carte avec des tensions importantes, vous aurez aussi à régler le seuil d'intensité maxi dans CurrentMonitor.h

La valeur par défaut de 300 correspond approximativement à 2A de charge, vous pouvez donc augmenter selon vos besoins, mais tout en restant prudent.
#define  CURRENT_SAMPLE_MAX         300

7A à 8A me semblent des charges raisonnables, au delà, il faut, à mon avis, se poser la question de diviser le réseau donc les sources d'alimentation.
« Modifié: juin 18, 2019, 02:21:24 pm par bobyAndCo »

fcot2002

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #1 le: juin 18, 2019, 02:55:56 pm »
Hello everybody

...
Un atout et non des moindres, c'est que cette carte existe en 10A et en 15A ce qui est intéressant pour des réseaux qui comptent entre 10 et 20 locos actives simultanément (en HO).
...

Et fort utile en Zéro aussi  ;) ;) ;)

Merci

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #2 le: juin 18, 2019, 04:56:47 pm »
On peut aussi rappeler le module à BTS7960B qui revendique supporter 43A !
Et qui a eu les honneurs de la réalisation de la souris et centrale sans fil d'Antoine :
http://locoduino.org/spip.php?article237 (avec la description complète et détaillée)
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #3 le: juin 19, 2019, 09:30:34 am »
La BTS7960B n'a qu'une sortie et ne permet pas d'alimenter la voie main et la voie prog en même temps et est sensiblement dans la même fourchette de prix.

En HO, et je crois que c'est ce que dit Tony, ll faut limiter à 7A environ l'intensité, bien au deça des capacité de la carte donc.

Je vois bien l'utilisation de la La BTS7960B dans un environnement en O. La L9110S plus polyvalente me semble mieux adaptée pour le HO.

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #4 le: juin 19, 2019, 12:26:58 pm »
Juste une note concernant la réactivité du système quand un court circuit se produit. J'avais discuté de ça avec Dominique.

Le MAX471 a une latence d'environ 5µs
Une conversion analogique numérique nécessite 150µs (mais ça peut aller plus vite en changeant la fréquence de l'horloge du convertisseur)
La latence due au logiciel est difficile à évaluer, je ne connais pas la durée d'exécution de loop de DCCpp ni d'ailleurs où cette mesure est effectuée, dans le programme principal ? dans la routine d'interruption ? (probablement pas car elle serait plus longue que le temps entre deux interruptions sauf si DCCpp change l'horloge du convertisseur). Disons 100µs ?
Ensuite le temps de couper, disons 5µs

Le pont en H lui même est-il protégé par un mécanisme ?

Bon, le court jus dure donc 260µs. Avec 10A et 18V, ça représente pas grand chose : 46,8 mJ

Mais que se passe-t-il si le logiciel plante mais pas l'IT qui génère le signal DCC ?
« Modifié: juin 19, 2019, 02:00:38 pm par Jean-Luc »
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #5 le: juin 19, 2019, 12:34:28 pm »
Bon en gros, tu veux nous dire que les locos peuvent cramer avant même que la procédure de coupure du jus ait pu s'exécuter.

Que faire alors pour sauver nos petits matériels d'une mort certaine ???

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #6 le: juin 19, 2019, 01:59:43 pm »
Non non non

je veux dire qu'il faut regarder de ce côté pour voir si ce danger existe  :) (surtout quand je vois passer des dizaines d'ampères)

Et si il existe, modifier ou ajouter ce qu'il faut pour rendre tout cela plus robuste. Par exemple mettre un watchdog sur le micro. La procédure de coupure de jus est suffisamment rapide mais si programme principal cesse de fonctionner, ça fera du vilain.
« Modifié: juin 19, 2019, 02:01:59 pm par Jean-Luc »
Cordialement

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #7 le: juin 19, 2019, 03:22:28 pm »
Coucou à tous,

n'utilise-t-on pas, dans la grande majorité des cas, des alimentations qui sont elles-même protégées et qui le font très bien ? Alors est-ce justifié de se ronger les ongles pour cela  :-\ ?

Antoine

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #8 le: juin 20, 2019, 09:03:21 am »
Il ne s’agit pas de se ronger les ongles mais d’examiner les moyens défensifs contre des pannes qui peuvent survenir. Pour fabriquer des systèmes fiables il est nécessaire de ne pas s’occuper que du fonctionnement nominal. Mais il ne s’agit pas non plus de mettre en œuvre des dispositifs complexes. Programmer le watchdog pour faire un reset du CPU ou bien pour déclencher une interruption qui va couper la génération du signal DCC c’est simple.
Cordialement

Rob1

  • Jr. Member
  • **
  • Messages: 62
    • Voir le profil
    • Mon projet réseau
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #9 le: juin 20, 2019, 11:32:18 am »
Certes mais un watchdog n'est pas que de la programmation car par définition il doit surveiller la bonne scrutation du programme et que si celle-ci est défaillante il y a de forte chance que la séquence du watchdog le soit également. C'est pour cela qu'il faut un système externe voire plusieurs et votre chien de garde deviendra une meute ... Amicalement Roland

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #10 le: juin 20, 2019, 02:04:52 pm »
Il y a un watchdog intégré aux Arduino. Il est conçu pour fonctionner de manière indépendante du programme pour construire des systèmes plus sûrs. Il a sont propre oscillateur interne. Donc ajouter du matériel externe n'est pas nécessaire.
Cordialement

Rob1

  • Jr. Member
  • **
  • Messages: 62
    • Voir le profil
    • Mon projet réseau
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #11 le: juin 20, 2019, 08:59:42 pm »
Merci de cette info très intéressante qui rend cette petite merveille encore plus séduisante.
S'il existe un lien documentant cette fonctionnalité merci d'avance, de toute façon je vais à la pêche sur le net

Bonne soirée

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : L9110S Dual Motor Driver pour DCC++
« Réponse #12 le: juin 20, 2019, 10:03:01 pm »
Bonsoir,

La doc est dans la datasheet. J'ai fait une bibliothèque il y a quelques temps pour l'utiliser avec l'interruption plutôt que reset : https://github.com/Locoduino/KeepMeAlive

C'est disponible via le gestionnaire de bibliothèques de l'IDE.
Cordialement