Contacts
Enseignant: Jérôme Collin, responsable (local M-4013, poste 5060)
Support technique supplémentaire: Laurent Tremblay (local M-4011, poste 7181)
Chargés de laboratoire: Section 1: Stefan Cotargasanu (Lundi AM)
Raphaël Tremblay (Mercredi PM)
Section 2: Ely Cheikh Abass (Mardi PM)
Manel Keddam (Jeudi AM)
Section 3: Tristan Rioux (Lundi PM)
Charles De Lafontaine (Jeudi PM)
Section 4: Paul Petibon (Mardi AM)
Julien Bourque (Vendredi AM)
Section 5: Sunnee Chevalier (Mercredi AM)
Meriam Ben Rabia (Vendredi PM)
Section 6: Ghali Chraibi (Mardi soir)
Xavier Caron (Jeudi soir)

Explications sur le fonctionnement du circuit du pont en H


Les moteurs sont contrôlés par un circuit particulier appelé «pont en H». Il faut quelques notions sur le fonctionnement des moteurs électriques et des transistors pour bien comprendre son fonctionnement. Son étude est donc hors du domaine d'intérêt de l'ingénieur-informaticien. Toutefois, il y a quelques points très intéressants qu'apporte ce circuit et qui méritent notre attention.


Une grande figure en format PNG donne le schéma électrique du circuit du pont en H. La vue ci-dessous est une vue de la réalisation physique du circuit (board level view). Elle est donnée uniquement pour situer certains composants et pour permettre de brancher correctement ce circuit au reste du système. La compréhension des autres détails n'est pas nécessaire.




Buts de la présence d'un pont en H


Que fait un pont en H? Les moteurs électriques nécessitent des courants importants par rapport à ce que peut fournir un microcontrôleur. Il est donc impensable de brancher directement les bornes d'un moteur à une sortie du ATmega324PA. L'AVR serait brûlé instantanément, car il peut fournir au maximum 10 mA alors qu'un moteur du robot peut demander facilement 1A. Le premier rôle du pont en H est donc de fournir de forts courants aux moteurs tout en permettant leur contrôle par la carte mère.


Un autre problème avec les moteurs est qu'on veut pouvoir inverser la tension à leurs bornes pour changer le sens de rotation. Un robot qui ne reculerait pas perdrait de son intérêt. Inverser le sens d'un courant peut être réalisé par un bon agencement d'interrupteurs. C'est exactement ce qui constitue la base d'un pont en H. Par contre, il est souvent plus pratique d'utiliser des transistors à la place d'interrupteurs pour réaliser des commutations. En plus de son rôle de commutation, un transistor peut amplifier un courant et est plus facile à contrôler par des signaux numériques ou analogiques.


Un autre problème dans le contrôle des moteurs est plus subtil. La vitesse d'un moteur électrique n'est pas proportionnelle à la tension électrique à ses bornes. Le moteur demande une tension minimale assez importante pour démarrer. Si cette dernière est trop basse, les forces électromagnétiques ne sont pas suffisantes pour combattre le frottement. Il devient donc difficile d'ajuster la vitesse de façon précise.


La solution à ce problème est astucieuse. Il suffit de fournir au moteur une tension qui est toujours la même soit la tension maximale! Par contre, cette tension ne sera appliquée que par très courtes périodes de temps. En ajustant la longueur de ces périodes de temps, on arrive à faire avancer plus ou moins vite les moteurs. Mieux, on remarque que la vitesse des moteurs devient proportionnelle à la longueur des périodes de temps. Contrôler la longueur des périodes passées à la tension maximale par rapport au temps passé sans application de tension (tension nulle) est donc le coeur de la solution. En réalité, cette solution est fort connue en contrôle des systèmes et en électronique et elle porte le nom de PWM (Pulse Width Modulation). Il s'agit d'une forme de signal qui sera étudiée en travaux pratiques.


Un signal PWM n'est pas généré par un pont en H. Le PWM est même un concept distinct de celui du pont en H. Par contre, le fait qu'un pont en H soit constitué de transistors le rend particulièrement apte à être contrôlé par un signal PWM. On doit donc voir le couple PWM et pont en H comme un outil particulièrement efficace pour arriver à contrôler des moteurs électriques.


Quelques sites offrent de bonnes explications sur le fonctionnement général du pont en H. Cette explication simple sur Wikepedia est complète et suffisante. Plus sérieusement, on trouve ici des détails intéressants pour les gens qui veulent aller plus loin.




Au-delà du principe de fonctionnement d'un pont en H, il y a une remarque importante que l'ingénieur-informaticien doit garder en tête. Dans tout système complet, il est très important de séparer les parties de contrôle et de puissance. Dans notre cas, le circuit du pont en H offre une interface numérique qui est compatible TTL. On peut donc brancher une sortie du ATmega324PA sur les entrées du circuit du pont en H sans craindre d'endommager la carte mère. Les interfaces sont compatibles et bien définies. Il n'y a aucune cohabitation des tensions du système de contrôle (de la carte mère) et celles de puissance (pour les moteurs). Il s'agit d'une règle de conception qui évite toute possibilité de catastrophes. Avec des tensions plus élevées à contrôler ou dans des situations critiques, il arrive même que l'interface se réalise avec des octocoupleurs. L'usage de lumière garantit qu'aucun morceau de métal ne relie les deux parties. Il y a aussi fort à parier que l'établissement d'un tel genre d'interface prendra forme lors d'une discussion entre les ingénieurs-informaticiens d'un côté et des ingénieurs-électriciens de l'autre d'où l'importance de notre propos...


Utilisation du pont en H


Il est très simple de brancher le circuit du pont en H au reste du système. Il y a essentiellement 3 types de branchement à effectuer. Le premier concerne l'alimentation. On l'a dit lors des instructions de montage, il faut brancher l'alimentation à l'aide d'un connecteur AMP à deux positions. La masse est au bas et la tension d'alimentation est au haut du connecteur. Une languette de plastique polarise la connexion pour éviter un branchement dans le mauvais sens.


Le second type de branchement est celui qui permet de relier le circuit aux moteurs. Encore ici, les instructions de montage ont été assez claires sur le sujet. Il suffit de relier les fils soudés aux bornes des moteurs aux connecteurs 5 mm à 2 positions. Il faut viser fermement les vis sur le dessus de ces connecteurs pour que les fils soient bien retenus dans les ouvertures latérales.


Le dernier type de branchement est intéressant puisqu'il concerne les signaux de contrôle. Pour chaque moteur, on veut pouvoir ajuster la vitesse et préciser la direction de rotation. C'est pourquoi il y a deux broches IDC de chaque côté du circuit. La broche du haut (identifiée E pour «Enable») est celle pour le signal PWM. Celle du bas est pour le signal binaire (0 ou 5 Volts) de direction (identifiée «D»). Bien entendu, ces signaux proviendront des ports de la carte mère.


À partir de ces explications, on peut déduire qu'il existe deux façons de régler le sens de rotation des moteurs. La première a été mentionnée dans les instructions de montage. On peut tout simplement inverser les fils retenus dans les connecteurs 5 mm à 2 positions. On peut considérer cette méthode comme une façon matérielle d'atteindre le but. L'autre est plutôt logiciel puisqu'elle peut se faire uniquement par programmation. Elle consiste à inverser la valeur du signal de direction de la broche «D». Ce qui est un 0 devient un 1 ou vis versa.


Composants du circuit


Les deux transistors 2N3904 sur le système sont en place pour offrir une interface TTL pour les entrées numériques du circuit du pont en H. Le 78L05 régule la tension d'entrée à 5V pour alimenter une partie numérique du système.


Et la puce au milieu? On pourrait réaliser un pont en H en utilisant directement plusieurs transistors. Cependant, il est plus facile et souvent plus économique d'utiliser un circuit déjà tout fait. Dans notre cas, le SN754410 de Texas Instrument a été utilisé. Il coûte moins de 3 dollars et convient parfaitement pour de petits moteurs CC. Bien d'autres circuits similaires existent, mais ils sont souvent plus puissants et peuvent contrôler des moteurs plus gourmands en courant. Ils sont aussi beaucoup plus chers.


Deux DEL au bas s'allument lorsque le circuit est en fonction. Elles sont rouges pour indiquer une certaine direction et vertes pour indiquer la direction opposée. Par contre, on ne peut déterminer si le robot avance ou recule uniquement en regardant la couleur des DEL. En effet, les fils qui se rendent aux bornes du moteur peuvent avoir été branchés dans un sens ou dans l'autre. Il est donc possible que les deux roues n'aillent pas dans le même sens même si les deux DEL ont la même couleur. Il faut alors prendre un tournevis et inverser les fils dans l'un ou l'autre des deux connecteurs 5 mm à 2 positions verts du pont en H pour régler le problème. Les deux roues iront alors dans le même sens pour une même couleur des deux DEL. Cependant, la couleur rouge pourrait alors apparaître pour indiquer un mouvement vers l'avant et vert pour indiquer un mouvement vers l'arrière. Ce n'est peut-être pas l'indication la plus intuitive pour suivre les mouvements du robot. La convention inverse: vert indique un mouvement vers l'avant et rouge un mouvement de recul est probablement meilleure. Pour régler le problème, il faut alors inverser les fils sortant des deux connecteurs 5 mm verts du pont en H.


Par ailleurs, de nombreuses diodes assurent qu'un courant inversé soit bloqué et ne cause pas de dommage. Enfin, de grosses résistances de puissance limitent le courant qui peut être consommé par les moteurs si une roue venait à bloquer. Avec toutes ces protections, on pourra donc utiliser le circuit sans être trop nerveux de provoquer un court-circuit néfaste au système.