Dans ce tutoriel, nous allons interfacer un moteur CC à Arduino UNO et contrôler sa vitesse à l'aide du concept PWM (Pulse Width Modulation). Cette fonction est activée dans UNO pour obtenir une tension variable sur une tension constante. La méthode PWM est expliquée ici; considérez un circuit simple comme indiqué sur la figure.
Si le bouton est appuyé sur la figure, le moteur commencera à tourner et il sera en mouvement jusqu'à ce que le bouton soit enfoncé. Ce pressage est continu et est représenté dans la première vague de figure. Si, pour un cas, le bouton Considérer est enfoncé pendant 8 ms et ouvert pendant 2 ms sur un cycle de 10 ms, pendant ce cas, le moteur ne subira pas la tension de la batterie 9 V complète car le bouton n'est enfoncé que pendant 8 ms, donc la tension aux bornes RMS le moteur sera d'environ 7V. En raison de cette tension RMS réduite, le moteur tournera mais à une vitesse réduite. Maintenant, l'allumage moyen sur une période de 10 ms = temps d'activation / (temps d'activation + temps d'arrêt), cela s'appelle le cycle de service et est de 80% (8 / (8 + 2)).
Dans les deuxième et troisième cas, le bouton est enfoncé encore moins longtemps que dans le premier cas. Pour cette raison, la tension RMS aux bornes aux bornes du moteur diminue encore davantage. En raison de cette tension réduite, la vitesse du moteur diminue encore davantage. Cette diminution de vitesse avec cycle de service continue à se produire jusqu'à un point où la tension aux bornes du moteur ne sera pas suffisante pour faire tourner le moteur.
Nous pouvons donc en conclure que le PWM peut être utilisé pour faire varier la vitesse du moteur.
Avant d'aller plus loin, nous devons discuter du H-BRIDGE. Maintenant, ce circuit a principalement deux fonctions, la première est de piloter un moteur à courant continu à partir de signaux de commande de faible puissance et l'autre est de changer le sens de rotation du moteur à courant continu.
Figure 1
Figure 2
Nous savons tous que pour un moteur à courant continu, pour changer le sens de rotation, nous devons changer les polarités de la tension d'alimentation du moteur. Donc, pour changer les polarités, nous utilisons le pont en H. Maintenant, dans la figure 1 ci-dessus, nous avons quatre commutateurs. Comme le montre la figure 2, pour que le moteur tourne, A1 et A2 sont fermés. Pour cette raison, le courant circule dans le moteur de droite à gauche, comme indiqué dans la 2 ème partie de la figure 3. Pour l'instant, considérez que le moteur tourne dans le sens des aiguilles d'une montre. Maintenant, si les interrupteurs A1 et A2 sont ouverts, B1 et B2 sont fermés. Le courant à travers le moteur circule de gauche à droite comme indiqué dans 1 st partie de la figure3. Ce sens de circulation du courant est opposé au premier et nous voyons donc un potentiel opposé à la borne du moteur par rapport au premier, de sorte que le moteur tourne dans le sens inverse des aiguilles d'une montre. Voici comment fonctionne un H-BRIDGE. Cependant, les moteurs de faible puissance peuvent être entraînés par un H-BRIDGE IC L293D.
Le L293D est un circuit intégré H-BRIDGE conçu pour entraîner des moteurs CC de faible puissance et est illustré sur la figure. Ce circuit intégré se compose de deux ponts en H et peut donc entraîner deux moteurs à courant continu. Ainsi, ce circuit intégré peut être utilisé pour piloter les moteurs du robot à partir des signaux du microcontrôleur.
Maintenant, comme indiqué précédemment, ce circuit intégré a la capacité de changer le sens de rotation du moteur à courant continu. Ceci est réalisé en contrôlant les niveaux de tension à INPUT1 et INPUT2.
Activer la broche |
Broche d'entrée 1 |
Broche d'entrée 2 |
Direction du moteur |
Haute |
Faible |
Haute |
Tournez à droite |
Haute |
Haute |
Faible |
Tournez à gauche |
Haute |
Faible |
Faible |
Arrêtez |
Haute |
Haute |
Haute |
Arrêtez |
Ainsi, comme le montre la figure ci-dessus, pour une rotation dans le sens horaire, 2A doit être élevé et 1A doit être faible. De même pour le sens anti-horaire, 1A doit être élevé et 2A doit être faible.
Comme le montre la figure, Arduino UNO dispose de 6 canaux PWM, nous pouvons donc obtenir PWM (tension variable) sur l'une de ces six broches. Dans ce tutoriel, nous allons utiliser PIN3 comme sortie PWM.
Matériel: ARDUINO UNO, alimentation (5v), condensateur 100uF, LED, boutons (deux pièces), résistance 10KΩ (deux pièces).
Logiciel: arduino IDE (Arduino nightly).
Schéma
Le circuit est connecté à la maquette selon le schéma de circuit illustré ci-dessus. Cependant, il faut faire attention lors de la connexion des bornes LED. Bien que les boutons montrent un effet de rebond dans ce cas, cela ne provoque pas d'erreurs considérables, nous n'avons donc pas à nous inquiéter cette fois.
Le PWM d'UNO est facile, en temps normal, la configuration d'un contrôleur ATMEGA pour le signal PWM n'est pas facile, nous devons définir de nombreux registres et paramètres pour un signal précis, mais dans ARDUINO, nous n'avons pas à gérer toutes ces choses.
Par défaut, tous les fichiers d'en-tête et registres sont prédéfinis par ARDUINO IDE, nous devons simplement les appeler et c'est tout, nous aurons une sortie PWM à la broche appropriée.
Maintenant, pour obtenir une sortie PWM sur une broche appropriée, nous devons travailler sur trois choses,
|
Nous devons d'abord choisir la broche de sortie PWM parmi six broches, après cela, nous devons définir cette broche comme sortie.
Ensuite, nous devons activer la fonction PWM de UNO en appelant la fonction «analogWrite (pin, value)». Ici, «pin» représente le numéro de broche où nous avons besoin de la sortie PWM, nous le mettons comme «3». Donc, au PIN3, nous obtenons une sortie PWM.
La valeur est le cycle de service d'activation, entre 0 (toujours désactivé) et 255 (toujours activé). Nous allons incrémenter et décrémenter ce nombre en appuyant sur un bouton.
L'UNO a une résolution maximale de «8», on ne peut pas aller plus loin d'où les valeurs de 0 à 255. Cependant on peut diminuer la résolution de PWM en utilisant la commande "analogWriteResolution ()", en entrant une valeur de 4-8 entre parenthèses, on peut changer sa valeur de PWM à quatre bits à PWM à huit bits.
L'interrupteur sert à changer le sens de rotation du moteur à courant continu.