Carte de puissance But : Cette carte a deux fonctions principales. Tout d'abord, elle doit fournir aux autres cartes électronique, leur tension d'alimentation (0/5V stabilisé). Ensuite elle doit alimenter les moteurs qui permettent au robot de se déplacer. Elle reçoit donc des signaux de commande via la carte de protection du port parallèle, deux alimentations externe (batteries) et produit une tension d'alimentation stabilisée et deux tensions pour les moteurs (comprises entre -12 et +12V) Schéma bloc : Fonctionnement : La partie Alimentation : Cette partie est très simple. Nous avons besoin de produire une tension stabilisée. Il existe pour cela des composants dédiés, les 78xx. Ces composants sont des composants à trois pattes. Leur fonctionnement est très simple. Ils ont entre les deux premières pattes une tension d'alimentation quelconque (supérieure à la tension de sortie désirée). Ils fournissent alors en sortie une tension stabilisée égale à xx (05, 09, 12,...). On utilise donc ces composants en parallèle avec des condensateurs de découplage comme conseillé dans le datasheet.
Des diodes témoins ont également été mises en entrée et en sortie de ceux ci afin de dépanner plus facilement (problème de batteries ou régulateur HS?). La partie Commande des moteurs (puissance) : Cette partie est plus complexe. En effet, nous utilisons des moteurs à courant continu dont la vitesse de rotation (donc la vitesse du robot) est proportionnelle à la tension d'alimentation. Il va donc falloir être capable de produire une tension variable et commandable. Pour cela il existe un montage appelé montage en pont en H. Un montage est constitué de 4 transistors monté en H (d'où son nom) comme suit : In1 In2 Q1 Q2 Q3 Q4 État Schéma moteur 0 0 Saturé Saturé Bloqué Bloqué Arrêt a 0 1 Saturé Bloqué Bloqué Saturé Sens 1 b 1 0 Bloqué Saturé Saturé Bloqué Sens 2 c 1 1 Bloqué Bloqué Saturé Saturé Arrêt d
Nous avons donc maintenant un système qui à partir de deux signaux logique In1&In2 est capable de commander un moteur dans les deux sens et de l'arrêter. On a en réalité plus que ça car, le fait de court-circuiter le moteur (cas a et d) le freine. On a donc un système capable de faire tourner un moteur quand on veut, dans le sens que l'on veut et de le stopper dès que l'on veut. Il va maintenant falloir faire varier la vitesse de celui ci. Pour cela, nous allons utiliser la technique du hachage. Qu est ce que c est? Il s'agit d'une technique qui consiste à ne pas envoyer un signal qui soit un «1» pur ou un «0» pur mais un mélange des deux. En effet, si l'on envoi un signal qui bascule d'un état à un autre, à une fréquence suffisamment basse pour que les transistors puissent suivre les changements d'états, alors, si cette fréquence est suffisamment haute, les moteurs n'ont pas le temps de réagir à ce changement et ne voient qu'une tension moyenne. Ainsi pour un signal de rapport cyclique = TH/T, les moteurs agiront comme si la tension a leurs bornes était de Vcc. On a donc maintenant la théorie : Il nous faut deux signaux In1 et In2 par moteur dont le rapport cyclique donne la vitesse de rotation du moteur ( VitesseMAX), ainsi que 4 transistors et 4 diodes par moteur. Ceci est un peu «lourd». Heureusement pour nous, il existe des circuits spécialisés, tel que le Lm298N. Ce circuit intègre deux ponts en H. Il nous faut donc envoyer sur les broches adéquates, la tension d'alimentation commande (0/5V), la puissance moteur (12V), les signaux de commande pour chaque moteur In1&In2 (deux pour le moteur gauche, et deux pour le droit), des signaux de validation des ponts (au cas ou on utiliserai qu'un seul, par exemple) et d'éventuels signaux de retour des moteurs. Dans notre cas, on utilise les deux ponts en permanence, donc les entrées de validation seront activées en permanence (reliées à 5V). Comme nous n'utilisons pas les fonctionnalités avancées du Lm298N, les entrées «sense» seront reliées à la masse. La partie commande devra donc fournir pour chaque moteur : Un signal à «0» et un PWM (Pulse Width Modulator). Selon la voie sur laquelle se trouve le PWM, le sens de rotation du moteur sera inversé ou non (cf. Datasheet du Lm298N).
Les optocoupleurs : Lorsque les moteurs démarrent ou s'arrêtent, d'importants pics de courant peuvent se produire. Ceux ci pourraient être destructeurs pour l électronique de commande. Nous utiliserons donc des optocoupleurs afin d'avoir une isolation électrique parfaite entre les deux parties (commande et puissance). Les optocoupleurs utilisés ici sont des 74ol6000. Contrairement au optocoupleurs «classiques» (type 4N25), ceux ci nécessitent une alimentation des deux cotés : De cette façon pour un signal Vcccommande en entrée, on a un signal Vccpuissance en sortie. La partie Adaptation des signaux (électronique de commande) : C'est dans cette partie que nous allons envoyer les signaux PWM sur la bonne voie et un «0» sur l'autre. Pour ce faire, nous recevons les signaux de commande : SigneDroit : Signal indiquant le sens de rotation du moteur droit ; SigneGauche : Signal indiquant le sens de rotation du moteur gauche ; On/Off : Signal donnant l'ordre de faire tourner les deux moteurs. Avec différentes combinaisons de ces signaux, on obtient : On/Off SigneDroit SigneGauche Déplacement du robot 0 x x Arrêt 1 0 (arrière) 0 Arrière 1 0 1 (avant) Rotation droite 1 1 0 Rotation gauche 1 1 1 Avant Ce qui nous donne pour un seul moteur, la table de vérité suivante : Signe On/Off Sortie 1 Sortie 2 x 0 0 0 0 1 1 0 1 1 0 1 On doit donc réalisé un circuit qui à partir des informations Signe et On/Off nous donne les signaux Sortie 1 et Sortie 2 (In1&In2). Pour cela on utilise un multiplexeur (C'est un genre d'interrupteur commandé) :
En effet, on constate que si l'on fixe X0=Y1=On/Off, X1=Y0= «0», A=Signe et B= «0», alors on se retrouve avec la table de vérité désirée. On a donc ici réalisé facilement la fonction désirée. On rajoute à ceci des diodes de contrôles afin de pouvoir repérer plus facilement les pannes : 3 en entrée de la carte indique que les signaux de commandes sont actifs ; 4 en sortie des multiplexeurs indiquent la voie active. Il ne doit donc jamais y en avoir deux de la même couleur allumée (i.e. les deux voies seraient actives). Remarque : On voit ici que les mouvements sont très limités et ce pour deux raisons : 1) Un seul signal de commande On/Off pour les deux moteurs, on ne peut donc obtenir des rotations qu'autour de l'axe principal. Il faudrait donc prévoir un signal de validation par moteur. On aurait alors un signal de validation sur chaque multiplexeur et non et pour les deux comme c'est le cas actuellement. 2) On utilise pas la possibilité de faire varier la vitesse des moteurs (ils sont commandés en tout ou rien). Pour cela, il suffirait de remplacer les signaux On/Off par des signaux PWM. Aucun autre changement n'est nécessaire. En effet, les multiplexeurs sont «transparents» et recopie l'entrée sélectionnée sur la sortie. Nomenclature : Référence Désignation Quantité R1 à R11 Résistance 390 Ω 1/4W 11 D1, D4, D5, D8, D10 Led rouge 3mm 5 D3, D6, D7 Led verte 3mm 3 D2, D9, D11 Led orange 3mm 3 C1, C5 Condensateur 10µF/60V 2 C2, C3, C4, C6 Condensateur 100nF 4
U1, U2 74ALS153 1 U3 à U6 74ol6000 4 U7 Lm298N 1 U8, U9 7805 2 Schéma complet :