Variateur de vitesse pour moteur monophasé

Variateur de vitesse pour moteur monophasé

Objectifs

  • Comprendre l’utilité de la fonction MikroC Button
  • Comprendre le fonctionnement d’un thyristor
  • Savoir utiliser un thyristor comme variateur de vitesse
  • Et autres astuces.

Fonction Button()

Syntaxe

unsigned short Button(unsigned short *port, unsigned short pin, unsigned short time, unsigned short active_state);
  • unsigned short *port: Le pointeur du port (Exemple : &PORTA, &PORTB, &PORTC, etc)
  • unsigned short pin : Le numéro du pin pour lequel le bouton est connecté. Le numéro commence de 0 à 7
  • unsigned short time : Le temps de rebonds estimé en milliseconde
  • unsigned short active_state : Le type de logique d’activation du pin. Il peut être niveau bas (0) ou niveau haut. Dans le cas de la logique positive, la valeur sera (1).

Note : Logique positive : L’état initial est « 0 »du pin, il sera égal à « 1 » lorsqu’on appuis sur le bouton. Logique négative : L’état initial du pin est égal à « 1 », il sera mise à zéro lorsqu’on appuie sur le bouton. Les deux logiques sont complémentaires.

La fonction retourne « 255 » lorsque l’état du port est actif pour le durée donnée, « 0 » dans le cas échéant.

Exemple

// Détection de la logique positive dans le pin « 2 », 10ms 
if (Button(&PORTB, 2, 10, 1))
{
Etat=1 ;
}
else
{
Etat=0 ;
}

Fonctionnement

Montage Variateur de vitesse

Le mini projet consiste de varier la vitesse d’un moteur asynchrone monophasé ou un moteur à courant continu en utilisant la technique PWM. En effet, on peut varier la valeur moyenne ou la valeur efficace (dans le cas d’une tension AC) en modulant la tension d’alimentation à la borne de la charge. La particularité de notre application sera l’utilisation d’un composant de puissance le thyristor. Le thyristor est semblable à une diode commandée d’une part, d’autre part sa grande puissance. Le thyristor peut supporter des tensions importantes (plusieurs centaines ou milliers de volts) et courant important (plusieurs centaines ou milliers d’ampères) contrairement aux transistors. Le thyristor en revanche est limité par son fréquence de fonctionnement, relativement faible de l’ordre de dizaines voir centaines de Hz. Ci-dessus le schéma de principe du projet.

Partie commande

Ajustement de la vitesse

Elle est constituée essentiellement de deux boutons poussoirs BP1 et BP2 avec une résistance de pull-up chacun de 10k. Les signaux IN1 et IN2 sont à 0V, ils passent à « 1 » lorsqu’on appuis manuellement sur les boutons (IN1= « 1 » ou IN2= « 1 »). Les deux entrées sont ensuite branchées avec les pins 0 et 1 du port A du microcontrôleur.

Bouton BP1 : Lorsqu’on appuie sur ce dernier, on incrémente le rapport cyclique d’un pas. La valeur du pas est ajustable par programme. Il faut bien noter que le PWM ont on dispose est d’une résolution 8 bits, autrement dit on peut avoir  256 valeurs possibles du rapport cyclique. La valeur initiale est égale à 128 (50% ou un signal carré), lorsqu’on appuie sur BP1 on augmente le rapport, lorsque on arrive à 255 on commence à zéro

Bouton BP2 : Lorsqu’on appuie sur ce dernier, on décrémente le rapport cyclique d’un pas. Lorsqu’on arrive à zéro on recommence à 255. Nous avons intégrer une temporisation de quelques ms entre les cycles (incrémentation ou décrémentation) afin d’ajuster le rapport cyclique d’une façon précise.

Partie puissance

Partie puissance Variateur de vitesse

La partie puissance est constituée d’une source de courant à base du transistor bipolaire 2N2222 et le thyristor U1. On injecte un courant à la gâchette du thyristor modulé (PWM) d’une valeur de l’ordre de 50mA ajustable par le potentiomètre RV1. Le thyristor conduit lorsque le courant passe au niveau haut (PWM=5V), le thyristor reste conduit tant durant l’alternance positive ou partie de cette dernière en fonction de l’angle d’amorçage, puis passe de l’état saturé à l’état bloqué durant l’alternance négative d’une façon naturelle. Autrement dit, le thyristor  n’a pas besoin d’être commandé pour passer de l’état conduit à l’état bloqué. Il faut bien noter, une fois que le thyristor est amorcé, il le reste tant que la tension entre l’anode et la cathode ne soit pas au-dessous d’une imite, qu’on a supposé nulle dans notre cas (le thyristor reste bloqué durant l’alternance négative).  En résumé, on peut ajuster la valeur efficace de la tension à la borne du thyristor en utilisant un signal PWM adéquat. Ci-dessous des exemples des signaux à la borne du moteur pour diverses valeurs des  rapports cycliques :

Il faut impérativement séparer les deux masses: Puissance & commande. La masse du générateur AC ne doit pas être branchée avec la masse du µC.

Rapport cyclique 10 thyristor Rapport cyclique 25 thyristor Rapport cyclique 75 thyristor

Programme MikroC

#include <built_in.h>

unsigned short pwm_val=128;
unsigned short pwm_step=2;

void main() {

// Configure AN pins as digital
ANSEL = 0;
ANSELH = 0;

// Initialisation PWM
PWM1_Init(1000);
PWM2_Init(1000);

// Mise à jour des rapports cycliques
PWM1_Set_Duty(128);
PWM2_Set_Duty(128);

// Start PWM
PWM1_Start();
PWM2_Start();

// Port A en entrée
TRISA=0xFF;

// Configuration en sortie des ports
TRISB=0;
TRISC=0;
TRISE=0;

// Delay
delay_us(1500);

// Lecture et affichage de la donnée ADC
while(1)
{
// Lecture des entrées & Mise à jour PWM
if (Button(&PORTA, 0, 1, 1))
{
// Mise à jour valeurs PWM
pwm_val=pwm_val+pwm_step;

// Affectation valeurs
PWM1_Set_Duty(pwm_val);
PWM2_Set_Duty(pwm_val);

// Tempo attente
delay_ms(10);

}
if (Button(&PORTA, 1, 1, 1))
{
pwm_val=pwm_val-pwm_step;
PWM1_Set_Duty(pwm_val);
PWM2_Set_Duty(pwm_val);
delay_ms(10);
}
}
}

Retour à l’accueil MikroC