| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| fr:examples:motor:dc [2010/02/22 15:56] – sdeniaud | fr:examples:motor:dc [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| ====== Moteur DC ====== | ====== Moteur DC ====== |
| |
| //Connaissances nécessaires: [HW] [[en:hardware:homelab:motor]], [AVR] [[en:avr:io]], [LIB] [[en:software:homelab:library:module:motor]], [LIB] [[en:software:homelab:library:delay]]// | //Necessary knowledge: [HW] [[en:hardware:homelab:motor]], [AVR] [[en:avr:io]], [LIB] [[en:software:homelab:library:module:motor]], [LIB] [[en:software:homelab:library:delay]]// |
| | |
| | //Connaissances nécessaires: [HW] [[fr:hardware:homelab:motor]], [AVR] [[fr:avr:io]], [LIB] [[fr:software:homelab:library:module:motor]], [LIB] [[fr:software:homelab:library:delay]]// |
| |
| ===== Théorie ===== | ===== Théorie ===== |
| |
| [{{ :examples:motor:dc:motor_dc_picture.jpg?220|Alalisvoolu mootor}}] | [{{ :examples:motor:dc:motor_dc_picture.jpg?220|Moteur à courant continu}}] |
| |
| Les moteurs DC avec des aimants permanents sont très courants dans différentes applications, avec de petites dimensions, lorsqu’on recherche beaucoup de puissance à bas prix. A cause de leur vitesse assez importante, ils sont utilisés dans plusieurs sortes de transmission (pour obtenir beaucoup de couple avec peu de vitesse). | Les moteurs DC avec des aimants permanents sont très courants dans différentes applications, avec de petites dimensions, lorsqu’on recherche beaucoup de puissance à bas prix. A cause de leur vitesse assez importante, ils sont utilisés dans plusieurs sortes de transmission (pour obtenir beaucoup de couple avec peu de vitesse). |
| Les moteurs DC à aimant permanent sont d’une fabrication assez simple et les commander est assez élémentaire. Bien que les contrôler soit assez simple, leur vitesse n’est pas déterminée précisément par le signal de contrôle parce qu’il dépend de nombreux autres facteurs, dont le couple appliqué sur l’arbre et le courant d’alimentation. La relation entre le couple et la vitesse d’un moteur DC parfait est linéaire, ce qui signifie que : plus grand est l’effort sur l’arbre, plus petite est la vitesse de l’arbre et plus grand est le courant dans la bobine. | Les moteurs DC à aimant permanent sont d’une fabrication assez simple et les commander est assez élémentaire. Bien que les contrôler soit assez simple, leur vitesse n’est pas déterminée précisément par le signal de contrôle parce qu’il dépend de nombreux autres facteurs, dont le couple appliqué sur l’arbre et le courant d’alimentation. La relation entre le couple et la vitesse d’un moteur DC parfait est linéaire, ce qui signifie que : plus grand est l’effort sur l’arbre, plus petite est la vitesse de l’arbre et plus grand est le courant dans la bobine. |
| |
| Les moteurs DC utilisent la tension DC et ne nécessitent pas de contrôle électronique supplémentaire puisque toutes les communications nécessaires sont faites dans le moteur. Lorsque le moteur fonctionne, deux broches statiques glissent dans le commutateur de rotation et garde la tension dans la bobine. La direction de la rotation du moteur est déterminée par la polarité du courant appliqué. Si le moteur ne doit tourner que dans une seule direction, alors le courant peut passer à travers un relai ou tout autre connexion simple. Si le moteur doit tourner dans plusieurs directions, on utilisera un circuit électronique appelé //H-bridge//. | Les moteurs DC utilisent la tension DC et ne nécessitent pas de contrôle électronique supplémentaire puisque toutes les communications nécessaires sont faites dans le moteur. Lorsque le moteur fonctionne, deux broches statiques glissent dans le commutateur de rotation et garde la tension dans la bobine. La direction de la rotation du moteur est déterminée par la polarité du courant appliqué. Si le moteur ne doit tourner que dans une seule direction, alors le courant peut passer à travers un relai ou tout autre connexion simple. Si le moteur doit tourner dans plusieurs directions, on utilisera un circuit électronique appelé //H-bridge// (ou “demi-pont”) . |
| | |
| [{{ :examples:motor:dc:motor_h_bridge_principle.png?220|Principe de fonctionnement du //H-bridge// utilisé avec les interrupteurs.}}] | [{{ :examples:motor:dc:motor_h_bridge_principle.png?220|Principe de fonctionnement du //H-bridge// utilisé avec les interrupteurs.}}] |
| En plus de changer la direction de la rotation, le //H-bridge// permet de modifier la vitesse de rotation. Pour ce faire, les transistors doivent être ouvert et fermés constamment en utilisant la modulation de la largeur de l’impulsion (PWM), ainsi l’énergie totale fournie au moteur est quelquepart entre le moteur éteint et le moteur fonctionnant à pleine puissance. Le temps d’ouverture dans toutes les périodes du PWM est appelé cycle de service, donné en pourcent. 0% signifie que le transistor est constamment fermé – ce n’est pas du courant conducteur. 100% signifie que le transistor est constamment fermé ainsi le courant conducteur. La fréquence du PWM doit être assez élevée afin d’éviter les vibrations dans l’arbre du moteur. A petites fréquences le moteur produit du bruit, on utilise alors le plus fréquemment une fréquence de modulation de 20 kHz. D’autre part le rendement du //H-bridge// n’est pas très bon à hautes fréquences. Les vibrations de l’arbre du moteur sont réduites par l’inertie du rotor et l’induction des bobines. | En plus de changer la direction de la rotation, le //H-bridge// permet de modifier la vitesse de rotation. Pour ce faire, les transistors doivent être ouvert et fermés constamment en utilisant la modulation de la largeur de l’impulsion (PWM), ainsi l’énergie totale fournie au moteur est quelquepart entre le moteur éteint et le moteur fonctionnant à pleine puissance. Le temps d’ouverture dans toutes les périodes du PWM est appelé cycle de service, donné en pourcent. 0% signifie que le transistor est constamment fermé – ce n’est pas du courant conducteur. 100% signifie que le transistor est constamment fermé ainsi le courant conducteur. La fréquence du PWM doit être assez élevée afin d’éviter les vibrations dans l’arbre du moteur. A petites fréquences le moteur produit du bruit, on utilise alors le plus fréquemment une fréquence de modulation de 20 kHz. D’autre part le rendement du //H-bridge// n’est pas très bon à hautes fréquences. Les vibrations de l’arbre du moteur sont réduites par l’inertie du rotor et l’induction des bobines. |
| |
| Pour les courants peu conducteurs, il existe des //H-bridges// intégrés. Pour les courants spéciaux plus importants, on utilise les MOSFET-s. Le //H-bridge// avec d’autres composants est appelé contrôleur du moteur ou //driver//. Le //driver// du moteur DC du //Home Lab// L293D inclus deux //H-bridges// intégrés et un circuit de diodes. Le moteur est contrôlé avec trois signaux numériques dont l’un d’entre eux est le signal d’activation de l’opération //enable// alors que les deux autres déterminent l’état des transistors du //H-bridge//. L’ouverture simultanés des deux transistors verticaux ne doit jamais se produire, cela provoquerait un court circuit de la source d‘alimentation. Cela signifie que le //driver// est conçu comme étant infaillible et la seule option qui peut être choisie est quel transistor (inférieur ou supérieur) d’un côté du //H-bridge// (ou “demi-pont”) est ouvert. En d’autres mots, on sélectionne la polarité en utilisant deux signaux pilotant qui s’appliquent aux deux extrémités de la bobine du moteur. | Pour les courants peu conducteurs, il existe des //H-bridges// intégrés. Pour les courants spéciaux plus importants, on utilise les MOSFET-s. Le //H-bridge// avec d’autres composants est appelé contrôleur du moteur ou //driver//. Le //driver// du moteur DC du //Home Lab// L293D inclus deux //H-bridges// intégrés et un circuit de diodes. Le moteur est contrôlé avec trois signaux numériques dont l’un d’entre eux est le signal d’activation de l’opération //enable// alors que les deux autres déterminent l’état des transistors du //H-bridge//. L’ouverture simultanés des deux transistors verticaux ne doit jamais se produire, cela provoquerait un court circuit de la source d‘alimentation. Cela signifie que le //driver// est conçu comme étant infaillible et la seule option qui peut être choisie est quel transistor (inférieur ou supérieur) d’un côté du //H-bridge// est ouvert. En d’autres mots, on sélectionne la polarité en utilisant deux signaux pilotant qui s’appliquent aux deux extrémités de la bobine du moteur. |
| |
| Note: ne pas confondre les signaux RC PWM et les signaux classiques PWM. | Note: ne pas confondre les signaux RC PWM et les signaux classiques PWM. |
| |
| |
| ===== Entrainement ===== | ===== Pratique ===== |
| |
| La carte des moteurs du //Home Lab// permet de connecter quatre moteurs DC. Les schémas et instructions de connexion sont dans le chapitre “Motors module”. Fondamentalement, pour chacun des moteurs on trouve un //H-bridge// correspondant avec deux barrettes de sortie numérique du micro contrôleur, parce que la barrette //enable// est constamment en position haute. Si plusieurs barrettes de contrôle ont la même valeur, soit le moteur s’arrète s’il est différent soit il tourne dans le sens correspondant. L’état du //H-bridge// fonctionne selon la table suivante : | La carte des moteurs du //Home Lab// permet de connecter quatre moteurs DC. Les schémas et instructions de connexion sont dans le chapitre “Motors module”. Fondamentalement, pour chacun des moteurs on trouve un //H-bridge// correspondant avec deux broches de sortie numérique du micro contrôleur, parce que la broche //enable// est constamment en position haute. Si plusieurs broches de contrôle ont la même valeur, soit le moteur s’arrète s’il est différent soit il tourne dans le sens correspondant. L’état du //H-bridge// fonctionne selon la table suivante : |
| |
| ^ Input A ^ Input B ^ Output A ^ Output B ^ Result ^ | ^ Input A ^ Input B ^ Output A ^ Output B ^ Result ^ |
| | 0 | 1 | - | + | Le moteur tourne dans la direction 2 | | | 0 | 1 | - | + | Le moteur tourne dans la direction 2 | |
| |
| Les moteurs DC peuvent être contrôlés en influençant directement les barrettes de commande du micro contrôleur correspondantes aux barrettes en entrée. On trouve dans la librairie du //Home Lab// les fonctions simplifiées qui servent à la commande du moteur : | Les moteurs DC peuvent être contrôlés en influençant directement les broches de commande du micro contrôleur correspondantes aux broches en entrée. On trouve dans la librairie du //Home Lab// les fonctions simplifiées qui servent à la commande du moteur : |
| |
| <code c> | <code c> |
| </code> | </code> |
| |
| Grâce à la liste //dcmotor_pins// dans la librairie, on défini les barrettes de contrôle des quatre //motor-controller//. Avant de contrôler les moteurs, on doit appeler la fonction //dcmotor_init// avec le nombre de //motor-controller// (0 – 3). On doit définir les barrettes comme des sorties. Le contrôle du moteur est géré par la fonction //dcmotor_drive//, en utilisant le paramètre de //direction// négatif pour donner au moteur un mouvement de rotation dans l’une des directions sachant que l’autre direction utilise le paramètre positif et 0 pour arrêter le moteur. | Grâce à la liste //dcmotor_pins// dans la librairie, on défini les broches de contrôle des quatre //motor-controller//. Avant de contrôler les moteurs, on doit appeler la fonction ''dcmotor_init'' avec le nombre de //motor-controller// (0 – 3). On doit définir les broches comme des sorties. Le contrôle du moteur est géré par la fonction ''dcmotor_drive'', en utilisant le paramètre de //direction// négatif pour donner au moteur un mouvement de rotation dans l’une des directions sachant que l’autre direction utilise le paramètre positif et 0 pour arrêter le moteur. |
| |
| Le programme suivant est un exemple qui permet de contrôler les deux premiers moteurs DC en inversant de direction de rotation toutes les secondes. La vitesse pourrait être modifiée en contrôlant l’une des barrettes par la modulant par un signal PWM. | Le programme suivant est un exemple qui permet de contrôler les deux premiers moteurs DC en inversant de direction de rotation toutes les secondes. La vitesse pourrait être modifiée en contrôlant l’une des broches par la modulant par un signal PWM. |
| |
| <code c> | <code c> |
| | |
| // | // |
| // Testing program of the DC motor of the motor's module of the home-lab. | // Testing program of the DC motor of the motor's module of the home-lab. |
| } | } |
| } | } |
| | |
| </code> | </code> |