Affichage des articles dont le libellé est moteur. Afficher tous les articles
Affichage des articles dont le libellé est moteur. Afficher tous les articles

vendredi 24 décembre 2010

Commande d'un moteur pas à pas unipolaire

Salut Roboticien!!
Je vais vous présenter le circuit et ma façon de commande d'un moteur pas à pas unipolaire.
Pour ce montage, j'ai utilisé un circuit uln2803 comme un interface de puissance un moteur pas à pas bien évidement et un pic 16F877.
J'ai utilisé un virtual terminal qui communique avec le pic par l'intermédiaire du protocole uart et qui assure la commande.
  • Code avec Mikroc pro
unsigned char cmd[8]={0X01,0X03,0X02,0X06,0X04,0X0C,0X08,0X09};
unsigned char i=0; 
char k='r';


void main() {
     uart1_init(9600);
     uart1_write_text("Commande d'un moteur pas a pas unipolaire");
     uart1_write(10);
     uart1_write(13);
     uart1_write_text("pas complet: c");
     uart1_write(10);
     uart1_write(13);
     uart1_write_text("demi pas: d");
     uart1_write(10);
     uart1_write(13);
     portb=0X00;
     trisb=0;
     
     while(1){
            if(uart1_data_ready()==1){
                 k=uart1_read();
                 uart1_write(k);
                 switch(k){
                 case 'r':
                   break;
                 case 'c':
                   i=i+2;
                   if(i==9)i=1;
                   if(i==8)i=0;
                   break;
                 case 'd':
                   i++;
                   if(i==8)
                   i=0;
                   break;
                 default:
                   uart1_write(10);
                   uart1_write(13);
                   uart1_write_text("errure!!");
                   break;

             }
             portb=cmd[i];
        }
   }
}
A bientôt Dans Mon prochain Tutorial :)
Mazen