En modélisme ferroviaire, la régularité de marche des trains est certainement aussi préoccupante que dans les chemins de fer réels.
Non seulement la résistance au roulement est très importante du fait des frottements des essieux sur leurs paliers mais aussi du fait des courbes trop serrées ou des montées et des descentes. A ceci s’ajoutent les mauvais contacts aux plus basses tensions et nous obtenons des variations de vitesse très importantes sans avoir touché au régulateur de vitesse.
L’électronique peut remédier en grande partie à ce défaut. Si c’est fait pour le digital avec des décodeurs qui comportent une fonction d’asservissement de vitesse, il n’existe pratiquement pas de solution pour les amateurs de commande analogique.
Il ne nous reste plus qu’à fabriquer un dispositif d’asservissement de vitesse de nos mains.
Avant de commencer, il faut tout de même comprendre comment fonctionne un système d’asservissement de vitesse électronique.
Les fonctions d’un système de régulation de vitesse pour train miniature.
Le schéma ci-dessous en donne les grandes lignes.
Nous appelons l’alimentation du moteur et le moteur lui même, le dispositif à commander.
A gauche la lettre “C” indique que nous fixons une consigne de vitesse pour notre moteur de locomotive.
A cette consigne de vitesse nous soustrayons une valeur “Mes” qui n’est que la mesure de la vitesse de rotation du moteur.
Cette soustraction nous fournit un signal “e” qui est l’erreur entre la consigne affichée et le vitesse réelle.
Ce signal d’erreur est traité par un système, que nous appellerons PID, qui fournit en sortie un signal de contrôle pour que la vitesse réelle du moteur reste en toute circonstance égale à la vitesse de consigne.
J’espère que cette explication est claire et facilement compréhensible par chacun.
Pour réaliser un asservissement de vitesse en commande analogique pour nos locomotives nous allons utiliser pour notre dispositif à contrôler une alimentation PWM en raison de ses nombreux avantages et de sa facilité de commande.
Il nous faut une alimentation PWM dont le signal de modulation est une tension variable, nous ne pourrons donc pas utiliser le schéma à base de NE555 qui circule sur le web où la modulation est faite en jouant sur le rapport entre 2 résistances comme cela a été expliqué dans l’article sur les alimentations PWM en modélisme ferroviaire.
Il faudra utiliser le schéma du NE555 monté en modulateur PWM commandé en tension si nous voulons conserver le circuit intégré universel NE555, mais nous pouvons aussi nous orienter vers des circuits spécifiquement conçus pour construire des alimentations PWM asservies.
Dans l’article mentionné précédemment nous avions aussi indiqué que la mesure de la vitesse pouvait se faire entre deux impulsions de commande par la lecture de la valeur de la force contre électro motrice (FCEM) du moteur.
Ceci nous conduit à installer un petit dispositif d’enregistrement de celle valeur de la vitesse au moyen d’un circuit appelé un échantillonneur bloqueur qui fournit le signal que nous avons appelé “Mes” dans le synoptique ci dessus.
Ensuite il faut soustraire la valeur sortant de l’échantillonneur bloqueur à la tension de consigne que nous avions appelé “C”. Un soustracteur à base d’amplificateur opérationnel est ce qu’il y a de plus simple.
Nous en arrivons maintenant à la boite qui s’appelle PID. Cette fonction peut faire l’objet de calculs extrêmement complexes si l’on veut un asservissement de vitesse très précis ou très rapide et encore, les calculs ne seront valables que pour un moteur particulier. L’expérience montre qu’une approche pragmatique pour le correcteur PID est bien plus efficace dans notre cas.
Mais au fait, qu’est ce qu’un correcteur PID?
Les 3 lettres signifient correcteur Proportionnel, Intégrateur, Différentiateur… Aie, voilà qui est bien chinois.
Voyons à quoi ceci correspond.
- En premier lieu, la correction proportionnelle signifie que le signal d’erreur est amplifié ou réduit de manière proportionnelle, En électronique ça correspond à la fonction de base d’un amplificateur opérationnel, à savoir une courbe de transfert linéaire entre l’entrée “e” et la sortie “Ctrl”.
- La correction par intégration correspond à la capacité du correcteur, en cas de très faible écart entre la vitesse réelle et la consigne, donc en cas de valeur très faible du signal d’erreur “e” d’augmenter progressivement la valeur du signal de commande du moteur “Ctrl” jusqu’à ce que l’écart de vitesse soit corrigé. C’est la fonction retard.
- Comme par magie, la lettre D qui correspond à la fonction d’anticipation signifie correcteur différentiateur. Cette fonction d’anticipation permet, en cas de variation brusque du signal d’erreur, d’envoyer un signal de contrôle “Ctrl” plus important que ce qui est prévu afin que le système réagisse plus vite à la variation de vitesse enregistrée, d’où l’appellation de fonction d’anticipation.
Le dosage entre chacune des trois composantes PID est toujours un compromis selon que l’on privilégie la vitesse de correction ou la précision, tout en conservant au système sa stabilité.
En effet tout système asservi peut rapidement devenir instable. Une telle instabilité peut être constatée par exemple avec l’effet Larsen. En effet, le signal sonore est transformé en signal électrique qui est amplifié pour être envoyé dans les haut-parleurs qui transforment à nouveau ce signal électrique en son. C’est le couplage acoustique entre les haut-parleurs et le micro qui constituent une boucle (pas d’asservissement en l’occurrence) qui provoque le sifflement de l’effet Larsen. Pour faire retrouver au système sa stabilité, il suffit bien souvent d’éloigner le micro ou de baisser le volume (l’amplification ou plutôt le gain).
Les circuits d’asservissement pour le modélisme ferroviaire que j’ai pu voir sur le web, lorsqu’ils sont conçus comme il se doit pour un circuit asservi, sont souvent dépourvus de correcteur PID et seule la fonction P est utilisée.
Pour illustrer les fonctions de la boucle d’asservissement, nous avons fait le rapprochement avec les solutions en électronique analogique, mais ces fonctions peuvent aussi prendre la forme d’algorithmes dans un micro-controleur. Un algorithme fréquemment utilisé pour ce type de petits systèmes se base sur la logique floue (fuzzy logic) que nous ne développerons pas ici.
Voilà pour la théorie qui, je l’espère aura été claire pour le plus grand nombre.
Réalisation d’un asservissement de vitesse pour train miniature.
En pratique, voici ce que nous aurons à faire :
- Fabriquer un régulateur PWM et son circuit de puissance.
- Fabriquer un échantillonneur bloqueur et le soustracteur.
- Fabriquer et dimensionner le correcteur PID.
Il reste un important travail rédactionnel pour compléter cet article. Je ferai au mieux de mes disponibilités pour enrichir ce sujet.
Fabriquer un régulateur PWM et son circuit de puissance.
Nous avons vu dans l’article consacré aux alimentations PWM que le circuit généralement utilisé était un 555 associé à un transistor de puissance.
Le circuit d’alimentation PWM classique disponible sur internet et figurant dans l’article mentionné ne convient pas pour un asservissement puisque la variation du rapport cyclique dépend du rapport de 2 résistances, l’une pour la charge, l’autre pour la décharge du condensateur.
Il est possible soit de se tourner vers 2 circuits 555 montés en vrai modulateur de largeur d’impulsion, soit vers un montage à base d’amplificateurs opérationnels, soit vers un circuit intégré spécifique.
Le montage à amplificateurs opérationnels nécessite rapidement un nombre important de composants alors que le circuit intégré spécifique ne nécessite que quelques résistances et quelques condensateurs additionnels.
J’ai longtemps fait appel au SG3524 destiné à la fabrication d’alimentations à découpage et qui se prête parfaitement à la réalisation d’une alimentation PWM.
Aujourd’hui, le choix se porte spontanément vers la carte programmée de type Arduino en raison des possibilités quasi infinies qu’elle offre. Sa facilité de mise en oeuvre la met à la portée du plus grand nombre. Pour faciliter encore la mise en oeuvre d’un asservissement, les bibliothèques de régulation PID et de logique floue sont disponibles, ce qui évite une programmation lourde et fastidieuse.