Acionamento de Motor de Passo
(Step Motor)
Este código foi escrito para o microcontrolador PIC16F628A em C para o compilador MikroC PRO PIC que pode ser baixado neste blog. O motor de passo utilizado deve ser do tipo unipolar com 5 ou 6 fios. O sinal para o motor sai da PORTB e deve ser utilizado um transistor de potência (TIP122) na saída. Na PORTB temos duas chaves, uma em PORTB.7 que gira o motor em um sentido e a outra em PORTB.6 que gira o motor em outro sentido. Veja o esquema abaixo:
Esquema:
DOWNLOAD:
Firmware - stepmotor.hex;
Código-Fonte - stepmotor.asm;
CÓDIGO-FONTE:
unsigned char motor;
int Out[4] = {0xFC,0xF6,0xF3,0xF9};
void main() {
TRISB=0b11110000;
motor=0;
while(1){
if(PORTB.F7==1 && PORTB.F6==0){
motor++;
if(motor==4){
motor=0;
}
PORTB=Out[motor];
}
else if(PORTB.F7==0 && PORTB.F6==1){
motor--;
if(motor==255){
motor=3;
}
PORTB=Out[motor];
}
else{
PORTB=0;
}
delay_ms(100);
}
}
TIPOS DE MOTOR DE PASSO
TIPOS DE LIGAÇÕES




Olá, não entendi o: if(motor==255){
ResponderExcluirmotor=3; E se fosse para duas voltas, como seria o código ? Me desculpe se estou sobrando.
caso 'motor' seja igual a 0, ao decrementá-lo, seu valor será 255.
ExcluirValeu Tiago, estou tentando criar um código para ele girar apenas 02 voltas e por enquanto estou tentando entender seu código que está enxuto e muito bom. Esse valor 255 é valor máximo do binário ? estava pensando que para atingir o 255 teria que incrementar... Valeu.
ExcluirOla amigo, como faço para que, quando clicado o botão o motor gire 360 graus e pare ? Obrigado
ResponderExcluirAlguém tem um codigo usando timer0 no CCS para o controle de motor de passo unipolar
ResponderExcluirAMIGO ESTE PROJETO NÃO FUNCINA
ResponderExcluirPODE SER O HEX ERRADO
amigo este codigo nao funciona
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirAMIGOS ME RETRATANDO. E DANDO OS PARABENAS AO AUTOR DO PROJETO POIS FUNCIONA MUITO BEM.(TEM QUE USAR UM CRISTAL DE 4mhz/ RESISTORES DE POLLANP NOS BOTOES / RESISTOR DE MCLIER). eSPERO TER AJUDADO. OBRIGADO
ResponderExcluir