En fait pas tant que ça !
Je vous ai en effet expliqué comment le moteur, lorsqu'on lui applique les bons signaux, veut bien se donner la peine de tourner. Oui mais ces signaux, il faut les produire ! Et ça ce n'est pas si simple. Analysons le problème:
Il semblerait qu'il suffise de générer trois signaux rectangulaires déphasés de 120 degrés (2pi/3), un courant triphasé en quelque sorte, (plus exactement des tensions) et l'appliquer au moteur pour que celui-ci se mette à tourner. Hé bien ça ne marche pas ! Imaginez qu'on applique un tel courant triphasé ayant une certaine fréquence, par exemple 60Hz... le moteur au repos ne peux pas se mettre INSTANTANÉMENT à tourner à une dizaine de tours à la seconde, comme ça clac ! On pourrait penser qu'il va se mettre à accélérer progressivement depuis zéro jusqu'à la bonne vitesse correspondant à la fréquence du courant... hé bien justement, les vitesses intermédiaires qu'il devrait prendre ne correspondent PAS à la fréquence du courant ! Et le moteur ne se mettra donc pas à tourner, il entrera en vibration, c'est tout ! (Les moteurs de machines à laver un peu anciennes savaient le faire, mais c'était des moteurs ASYNCHRONES à champ glissant, sans aimants permanents. Les Brushless dont je parle sont plutôt des moteurs SYNCHRONES )
Bon, me direz vous, si le moteur ne s'adapte pas à la fréquence du courant, adaptons la fréquence au moteur . On lui applique d'abord une fréquence nulle... heu c'est quoi une fréquence nulle ? Bon d'accord, disons une fréquence très faible, genre 1 Hz qui le fera vibrer, puis on augmente la fréquence progressivement en laissant le temps au moteur d'accélérer pour suivre docilement cette fréquence. Ce n'est pas une mauvaise idée, il s'agit d'un moteur dit synchrone, ça marche, mais ça pose des problèmes...
En simplifiant un peu, si on augmente le couple (on freine le moteur) une fois la vitesse désirée obtenue, il décrochera brusquement. La vitesse de rotation ne pouvant plus suivre la fréquence d'alimentation, le moteur arrêtera de tourner et se mettra à vibrer à la place, et pourrait même être détruit ! Il faudrait pour éviter le décrochage, soit augmenter l'intensité du courant d'alimentation, soit... diminuer la fréquence. Ce qui est très compliqué à réaliser. Détecter le couple ? comment ? On peut mesurer le courant. Pas simple... Et surtout: si le couple augmente très brusquement, même une fraction de seconde, le moteur décrochera quand même. Et un moteur synchrone décroché ne raccroche pas. Il faut alors détecter le fait qu'il ne tourne plus, et ré-appliquer une fréquence partant de zéro... Sans compter que si le moteur propulse une voiture... elle risque de se vendre très mal.
Mais alors que faire ? le moteur ne s'adapte pas à la fréquence du courant, et il est difficile d'adapter le fréquence au régime du moteur et aux aléas de la tension d'alimentation, du couple etc...
L'IDEE : Et si c'était le moteur qui indiquait au montage électronique ce qui lui convient comme signaux de commande, à tout moment ? V'la que c'est le moteur qui commande au courant maintenant !
Mais réfléchissons un peu à ce qui se passe dans un moteur à courant continu, à collecteur, balais et charbons. C'est la rotation du rotor qui par l'intermédiaire des secteurs (bagues) du collecteur tournant sous les charbons, DECOUPE le courant continu d'alimentation pour en faire, vu des bobines du rotor un courant alternatif exactement adapté à tout moment à la position du rotor dans le champ magnétique des aimants fixes. Et bien sûr, forcément toujours à la bonne fréquence ! Bon, nous on a un moteur brush-less, on ne va quand même pas y rajouter un collecteur et des balais ! Non mais certaines réalisations utilisent trois capteurs magnétiques extérieurs à la cage tournante, qui renseignent l'électronique sur la position du rotor et donc sur les tensions à appliquer. Et ces réalisation se trouvent par exemple sur certains lecteurs de CD... C'est mécaniquement compliqué, fragile (près des parties tournantes du moteur), encombrant, cher...
C'est donc ici que nous retrouvons notre BEMF, la tension induite par les aimants en rotation dans les bobines fixes... et tout à fait exploitable. Le circuit analogique combinatoire (voir le schéma) produit en sortie des trois comparateurs (LM139) trois tensions rectangulaires déphasées de 2pi/3, synchrones non pas avec les tensions d'alimentation, mais avec la vitesse de rotation effective du moteur. Et le microprocesseur PIC16F628 fera commuter les six transistors MOSFET en cadence avec ces tensions au moyen des interruptions logicielles des bits 4 à 7 de son port B. (Il s'agit d'une des sources d'interruptions sur ce microcontrôleur).
La variation de vitesse est obtenue par découpage des signaux de sortie, avec rapport cyclique fonction F(x) des signaux de la télécommande, et en proportion de la période de base du cycle (une "simple" règle de trois, avec division sur 24 bits quand même ). Voir le timing ci-dessous.
Enfin, lors de la phase de démarrage, la mise en service temporaire du Timer2 découpe le signal de sortie avec une fréquence relativement haute, afin de limiter le courant.
Voir le soft minutieusement commenté, je vous dévoile tout et... en français !