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