Important: Veuillez noter que cette page a été traduite avec la traduction automatique de notre article en anglais. Nous nous excusons pour la qualité de la traduction. Vous êtes invités à contribuer avec des corrections.
Merci.

Regardez le tutoriel vidéo

Moteurs à courant continu sont utilisés dans de nombreuses applications industrielles, commerciales et domestiques. Nous avons des moteurs à courant continu dans les jouets, les pompes d’irrigation, la robotique, forage et dans de nombreuses applications. Dans l’article interfacer le moteur à courant continu avec un Microcontrôleur PIC, nous avons appris comment interfacer un moteur à courant continu avec microcontrôleur PIC utilisant circuit en pont H construit à partir de quatre transistors MOSFET ou à l’aide d’une puce de commande de moteur comme le L293 / L293D.

Dans les applications réelles de la vie tourner un moteur sur dans des directions droite ou à gauche ou ETEINDRE est pas toujours tout ce qui est nécessaire. La vitesse de rotation doit être contrôlé aussi bien. Dans cet article, nous allons apprendre à contrôler la vitesse d’un moteur à courant continu en utilisant la modulation de largeur d’impulsion d’un PIC Microcontroller.

Avant de poursuivre ce tutoriel, vous devez d’abord lire:

Interface d’un moteur à courant continu avec microcontrôleur PIC

Pulse Width Modulation (PWM) avec Microcontrôleur PIC

Comme nous l’ avons appris de l’  interface de un moteur à courant continu avec PIC Microcontroller tutoriel, un moteur à courant continu ne peut pas être commandé directement à partir de l’axe d’un micro – contrôleur. Normalement , moteurs à courant continu exigent une haute tension et haute qu’un micro – contrôleur peut gérer comme Microcontrôleurs fonctionne habituellement à +5 ou + 3.3V et broches d’ E / S ne peut fournir que jusqu’à 25mA courant sur la plupart des cas ne suffit pas pour un moteur. Typiques petits moteurs à courant continu nécessitent 12V et environ 300mA courant au – delà ce qu’un Microcontrôleur peut gérer, nous allons utiliser t – il L293D puce contrôleur de moteur qui peut fournir des courants d’entraînement bidirectionnel allant jusqu’à 600 mA à des tensions de 4,5 V à 36 V.

En changeant la tension aux bornes du moteur à courant continu, nous pourrions changer sa vitesse. Nous ne pouvons pas utiliser une résistance variable (potentiomètre) pour modifier la tension aux bornes de notre moteur a ce présente plusieurs inconvénients.

  • Un moteur ne constitue pas une charge résistive, il est une charge inductive, il a besoin de plus de puissance pendant le démarrage de l’état en cours d’exécution. Il attire plus de courant également lorsqu’une charge mécanique est appliquée à l’arbre du moteur. Ainsi, une simple résistance ne fonctionnera pas.
  • La résistance diminue l’excès d’énergie sous forme de chaleur. Ainsi, ce sera une perte énorme.
  • Comme le moteur nécessite plus de courant, donc des résistances à valeur nominale supérieure de puissance doivent laisser tomber l’excès d’énergie.

La meilleure technique consiste à utiliser le PWM du microcontrôleur PIC. La modulation de largeur d’impulsion (PWM) est une technique de commande de la quantité de puissance fournie à une charge électronique par commutation MARCHE et ARRET d’un signal numérique. Ceci est la technique la plus simple qui peut être utilisé pour produire des tensions analogiques d’un numérique. La fraction de la période pendant laquelle le signal est activé à la période totale est connu comme le cycle de service. En modifiant le rapport cyclique du signal, la quantité d’énergie transférée à l’appareil peut être modifiée.

 Figure 1: Conduite L293D moteur Chip Circuit

Dans cet exemple, un moteur à courant continu est interfacé avec Microcontrôleurs PIC à l’aide du pilote L293D moteur comme indiqué sur la figure 1 ci-dessus. Un potentiomètre est connecté au canal analogique 0 (AN0) de la PIC. En faisant varier le potentiomètre, le cycle de service PWM sera varié aussi bien. En connectant la broche FR à une broche PWM d’un microcontrôleur PIC, la vitesse du moteur peut être contrôlé de cette manière.

MPLAB code XC8

Nous allons utiliser le plugin code MPLAB® Configurator (MCC) pour configurer nos broches de sortie, modules PWM et ADC. La figure 2 ci-dessous montre la configuration ADC.

 Figure 2: configuration ADC

Retardateur 2 utilise l’oscillateur sélectionné dans la section Système pour régler la période de la minuterie 2. période PWM de 1.953KHz est choisi de nous donner une valeur CCPR de 1023 avec un rapport cyclique de 100%. Cela nous permettra de faire varier le cycle de service de 0% à 100% que les valeurs de lecture analogiques sont de 0 à 1023, avec 1023 représentant 5V.

 Figure 3: configuration PWM

Vous pouvez télécharger les fichiers de projet complet (code source MPLAB XC8 et Proteus conception schématique) ci – dessous ici.  Tous les fichiers sont compressés, vous aurez besoin de les dézipper ( Télécharger une version gratuite de l’utilitaire Winzip pour  décompresser les fichiers ).  

Télécharger MPLAB projet:  DC_Motor_Speed_Control_xc8

Télécharger Proteus Schéma:  DC_Motor_Speed_Proteus_Project