| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| fr:examples:motor:dc [2010/03/09 10:55] – sdeniaud | fr:examples:motor:dc [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| ===== 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). |
| |
| |
| ===== 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> |
| |
| </code> | </code> |
| |
| |
| |