 |
A.M.F.N. |
 |
Association
des Modélistes Ferroviaires de Nice
PICALIM:
alimentation traction à base de PIC 16F684
Pourquoi
cette alimentation
Quelques
principes relatifs à l'asservissement
Réalisation
Questions
et réponses
Téléchargement
Pourquoi
cette alimentation:
Picalim est une variante
de l'alimentation à asservissement de vitesse présentée
sur notre
page sur les alimentations traction.
On peut se demander pourquoi
remplacer un simple temporisateur 555 par un microcontrôleur
PIC.
La raison principale est
de pouvoir réaliser des changements de
vitesse progressifs: démarrages, ralentissements et arrêts.
C'est une fonction qu'on nous demande souvent.
On peut aussi fonctionner
en mode
accélérateur et frein,
ou avec des niveaux de vitesse pré-réglés.
Ces fonctions ne sont pas
faciles à introduire sur le montage originel à base de 555,
notamment parce que le potentiomètre est flottant.
Picalim peut fonctionner
également sans asservissement,
comme une alimentation à découpage ordinaire.
Quelques
principes relatifs à l'asservissement:
La Force Contre-Électro-Motrice
(FCEM):
Lorsqu'on fait tourner un
moteur à aimant permanent, il génère une tension continue,
la FCEM (Force Contre Électro-Motrice), de même
polarité que la tension d'alimentation.
Si on alimente un moteur
par une tension hachée, on peut, pendant les périodes de
non alimentation, mesurer l'amplitude de cette FCEM.
La FCEM ne dépend
que
de la vitesse de rotation du moteur, et notamment pas
de la tension d'alimentation, ni du courant, ni de la charge, ni d'un autre
facteur. C'est donc une excellente façon de mesurer la vitesse de
rotation.
Oscillogramme d'un montage
alimenté en continu:

Oscillogramme d'un montage
alimenté en alternatif redressé:
État transitoire à
la coupure:
Avec un moteur conventionnel,
lorsqu'on cesse d'alimenter le moteur, sa composante inductive produit
un effet transitoire qui se traduit par une tension inverse. Il est facile
d'étouffer cette tension au moyen d'une diode, mais néanmoins
la tension aux bornes de l'ensemble reste négative ou nulle pendant
quelques millisecondes, avant que la FCEM ne reprenne le dessus.
La conséquence est
qu'on ne peut mesurer la FCEM convenablement qu'un certain temps après
la coupure de l'alimentation.
Pour cette raison, les alimentations
à asservissement par FCEM ont un rapport cyclique qui ne peut atteindre
100
%. Si on fonctionne à 100 Hz, par exemple, soit
avec une période de 10 ms, comme il faut attendre environ
2
ms avant de pouvoir mesurer la FCEM, le rapport cyclique ne
peut dépasser 80 %.
En pratique ceci n'est guère
gênant, parce que les derniers pour cents de rapport cyclique on
peu d'effet sur la vitesse du moteur, surtout si on alimente le montage
en alternatif.
Si on augmente la fréquence,
le rapport cyclique diminue, et il faut alors compenser en augmentant la
tension. Un compromis doit être trouvé.
Un autre limitation du rapport
cyclique est lié à la régulation de la vitesse: pour
que le montage garde une réserve de puissance propre à compenser
un éventuel effort supplémentaire, il faut bien que le rapport
cyclique en marche moyenne ne soit pas maximum.
Ondulation de la FCEM:
Pendant la phase de non alimentation,
la FCEM n'est pas constante: on voit nettement à l'oscilloscope
une ondulation de la tension. Cette ondulation est due au passage des pôles
du moteur sous ceux de l'aimant. En fait, notre moteur à courant
continu se comporte comme un alternateur mal redressé. Rien d'étonnant
si on se souvient que le collecteur n'a que 3 ou cinq lames dans la plupart
des cas.
Pour la raison indiquée
plus loin, le plus simple est de tolérer cette ondulation, plutôt
que d'essayer de la lisser par un intégrateur quelconque qui créerait
d'autres problèmes.
Avec les moteurs à
rotor sans fer (RSF),
qui ont une inductance très faible, le phénomène est
quasi invisible, et on voit simplement, à l'oscilloscope, la tension
passer directement d'une valeur à l'autre.
Picalim étant
conçue pour les moteurs conventionnels, le programme est écrit
pour ce genre de moteurs, mais fonctionne aussi avec un RSF.
Si on est sûr de n'utiliser
que des RSF, la fréquence de fonctionnement peut être augmentée. |
 |
Valeur de la FCEM:
Cette valeur dépend
essentiellement de la qualité du moteur: pour un vieux Jouef tournant
à vide, elle est de l'ordre de 20 à 30 % de
la tension d'alimentation, alors que pour un moteur à rotor sans
fer, elle peut monter jusqu'à 80 ou 90 %. (À
titre indicatif, le rapport FCEM / tension d'alimentation est égal
au rendement du moteur).
En conséquence, si
on règle une alimentation asservie pour un moteur conventionnel,
puis qu'on l'utilise ensuite pour un moteur RSF, ce dernier va tourner
beaucoup trop lentement. Il est donc nécessaire de pouvoir régler
le "gain" de la mesure de la FCEM.
Commande de la vitesse:
La vitesse peut être
commandée en agissant soit sur la durée de la phase traction
(rapport cyclique), soit sur l'amplitude de la tension d'alimentation,
soit sur les deux.
Notre alimentation n'agit
que sur le rapport cyclique.
Cependant, dans le cas où
elle est alimentée en alternatif, la variation temporelle du point
de déclenchement influe sur la tension, puisqu'on n'est pas au même
endroit de la sinusoïde.
Asservissement:
Il s'agit ici d'un asservissement
proportionnel,
c'est à dire que le rapport cyclique est proportionnel à
la différence entre la valeur de consigne (vitesse souhaitée)
et la valeur mesurée (vitesse réelle).
Un tel asservissement n'est
pas parfait, puisqu'il reste, par principe, une différence entre
la consigne et la mesure. Cependant un asservissement plus complexe (par
exemple intégral, qui supprime cette erreur résiduelle)
conduit dans notre cas à un fonctionnement hoquetant absolument
inacceptable.
Il est même souhaitable
de réduire au minimum le laps de temps compris entre la mesure de
la FCEM et son utilisation pour commander la vitesse. C'est pourquoi Picalim
fonctionne période par période, sans intégration des
signaux.
Réalisation:
La première réalisation
de Picalim était destinée à commander le moteur
d'une plaque tournante Fleischmann, avec trois niveaux de vitesse (arrêt,
mini, maxi) et variation de vitesse progressive. Nous l'avons ensuite modifiée
pour alimenter des locomotives.
Merci à Alex Leroy
qui nous a bien aidés pour la mise au point sur un réseau
réel.
Le schéma:
Commentaires sur le schéma:
Il est établi autour
d'un PIC 16F684, choisi pour avoir suffisamment de potentiomètres
de réglage.
Deux modes d'alimentation
sont possibles:
• en courant alternatif,
depuis le secondaire d'un transformateur,
• en courant continu,
depuis une alimentation appropriée, ou simplement en ajoutant un
condensateur en sortie du pont redresseur (non représenté
sur le schéma, et non prévu sur le circuit imprimé).
Le PIC détecte s'il
est dans un cas ou dans l'autre. En alternatif, le fonctionnement
est synchronisé sur la fréquence du secteur. En continu,
il est synchronisé par l'horloge interne du PIC.
À notre avis, le
mode alternatif assure un fonctionnement plus satisfaisant. De plus il
nécessite moins de composants.
Plusieurs modes de fonctionnement
sont possibles:
• sans asservissement:
la largeur d'impulsion traction ne dépend que de la valeur de consigne
de la vitesse.
Ce mode est obtenu en mettant
à zéro le potentiomètre ASS.
• avec asservissement:
la largeur d'impulsion est fonction de la valeur de consigne et de la FCEM.
Le potentiomètre
ASS permet donc 5 réglages: sans asservissement (niveau 0) ou avec
asservissement (niveaux 1 à 4).
Le réglage est facilité
par l'allumage de la LED2 aux niveaux 1 et 3.
La mesure de la FCEM
est réglable par le potentiomètre FCEM.
La valeur maximum (à
pleine vitesse) doit correspondre à un peu moins de 5V (tension
d'alimentation du PIC).
Si le moteur a une FCEM
supérieure à cette valeur et qu'on ne la réduit pas,
la vitesse maximum sera trop faible.
Inversement, si on réduit
trop la mesure de la FCEM, les basses vitesses seront trop élevées.
Les accélérations
et ralentissements sont réglables par les potentiomètres
ACC et RAL.
Le réglage de la
vitesse de consigne se fait par le potentiomètres VIT.
Un disjoncteur est
prévu, réglable par le potentiomètre DISJ.
Si le courant dépasse
la valeur réglée, le courant est coupé pendant 5 secondes,
puis l'alim repart de zéro.
Le sens de marche
peut être contrôlé par un relais. Dans ce cas la position
médiane du potentiomètre VIT correspond à l'arrêt,
et on a la marche avant dans un sens, la marche arrière dans l'autre
comme sur les alimentations Gretel de J-C. Grimaldi (voir Gretel,
Gretel2,
Gretel3).
Si cette fonction n'est
pas souhaitée, il est inutile de monter ce relais; il suffit de
le remplacer par deux 'straps".
Il y a deux versions du
programme, suivant qu'on désire ou non avoir cette fonction.
Variantes:
• pour fonctionner avec
des vitesses pré réglées (arrêt, ralenti, maximum),
on peut prévoir plusieurs potentiomètres VIT, et les commuter
par un dispositif quelconque (commutateur, relais...).
Le circuit imprimé:

Cette photo est celle du
prototype, d'où une légère différence avec
le circuit imprimé: il manque la LED de mise sous tension.
• les radiateurs ne sont
pas indispensables, tout dépend de la tension d'entrée.
• le nombre de résistances
de 3,9 ohms constituant le shunt du disjoncteur dépend du courant
consommé: la chute de tension aux bornes de ces résistances
doit être de l'ordre de 1V pour le courant de disjonction. le potentiomètre
DISJ permet de régler plus finement le seuil de disjonction.
• et bien sûr pour
une utilisation plus commode les potentiomètres ajustables doivent
être remplacés par des modèles traditionnels montés
en face avant.
Le programme:
La période de base
de 10 ms est divisée en quatre phases:
• une phase d'attente, destinée
à attendre que le régime transitoire (voir plus haut) se
dissipe, pour qu'on puisse mesurer fiablement la FCEM,
• une phase de mesure,
• une phase non alimentante
(OFF),
• puis une phase d'alimentation
(ON).
La durée cumulée
des quatre phases est de 10 ms, et la durée cumulée
des deux dernières est constante (fonctionnement en MLI).
L'ordre des phases est propre
à l'alimentation en alternatif: la phase OFF précède
la phase ON pour obtenir une coupure de courant plus douce, au passage
à zéro, et pour profiter de la forme de la sinusoïde
lors du démarrage.
La période est divisée
en 312 intervalles de temps (ITs) de 32 µs (32 x 312 =
9984 ms).
La phase d'attente dure
32 ITs (1,024 ms), la phase de mesure 25 ITs (0,800 ms) et la durée
cumulée des phases OFF et ON 255 ITs (8,160 ms).
Pour commander la vitesse,
le programme fait varier la durée des phases ON et OFF en maintenant
leur somme constante.
D'autres détails
sont mentionnés dans le programme.
Questions
et réponses:
Pourquoi se synchroniser
sur le secteur?
Le mode alternatif a
plusieurs avantages:
• tout d'abord, si on a
plusieurs alimentations, elles sont automatiquement synchronisées
entre elles, ce qui est nécessaire pour éviter des problèmes
disgracieux lorsque les locomotives passent de l'une à l'autre.
• par ailleurs on n'a pas
besoin d'une alimentation primaire stabilisée ou régulée.
On peut se contenter d'un condensateur de faible valeur au niveau de l'alimentation
du PIC.
Quel est l'intérêt
du mode continu?
Le mode continu permet
de fonctionner à une cadence différente de celle du secteur,
ce qui peut être intéressant si on a des moteurs RSF. Mais
cela nécessite une modification du programme.
Pourquoi fonctionner à
100 Hz en mode synchro autonome (continu)?
Cette valeur de cycle de
10 ms est voisine de l'optimum pour des moteurs classiques, pour les raisons
exposées plus haut: durée de l'état transitoire qui
empêche la mesure de la FCEM.
Avec des cadences plus élevées,
la composante inductive du moteur devient gênante.
Avec des cadences moins
élevées, le moteur ronfle davantage.
L'utilisation d'une cadence
proche de 100 Hz, mais non synchrone, provoque un bruit cyclique inesthétique.
Téléchargement:
Le fichier
ZIP contient:
• le programme source en
MikroBasic, avec et sans contrôle du sens.
• le programme compilé
(.hex) sans contrôle du sens.
• le programme compilé
(.hex) avec contrôle du sens.
• le typon du circuit imprimé.
|
page précédente:
utilisez la touche "PRÉCÉDENT(E)" de votre navigateur
|
|
|