MICROCONTROLADORES Escola Politécnica de Pernambuco - UPE Elaborado por: Betânia Ribeiro de Almeida Valdeckson Burgo NOVEMBRO/ 2007 PROJETO MOTOR DE PASSO CONTROLE DE MOTOR DE PASSO COM O 8051 NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO APLICAÇÃO PRÁTICA - Rotação à direita ou à esquerda com 0,5s entre steps - 10 rotações à direita ou à esquerda com 0,5s entre steps NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Motores de passos são dispositivos mecânicos eletro-magnéticos que podem ser controlados digitalmente através de um hardware específico ou através de softwares. Motores de passos são encontrados em aparelhos onde a precisão é um fator muito importante. São usados em larga escala em impressoras, plotters, scanners, drivers de disquetes, discos rígidos e muitos outros aparelhos. Existem vários modelos de motores de passos disponíveis no mercado que podem ser utilizados para diversos propósitos. Podem ser utilizados para mover robôs, câmeras de vídeo, brinquedos ou mesmo uma cortina . NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Tipos Básicos 1. Relutância Variável: Tem um rotor com várias polaridades feito com ferro doce e um estator laminado. Eles geralmente operam com ângulos de passo de 5 a 15 graus, a taxas de passo relativamente altas e, por não possuir imã, quando energizado apresenta torque estático nulo. Na Figura 6, quando fase A é energizada, quatro dentes de rotor se alinham com os quatro dentes do estator da fase A através de atração magnética. O próximo passo é dado quando a fase A é desligada e fase B é energizada fazendo o rotor girar 15 graus à direita. Continuando a seqüência, a fase C é energizada e depois a fase A novamente. NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO 2. Imã permanente: motores de imã permanente diferem dos de relutância variável pois têm rotores de material alnico ou ferrite sem dentes e magnetizado perpendicularmente ao eixo, devido a isto, o torque estático não é nulo. Energizando as quatro fases em seqüência, o rotor gira, pois é atraído aos pólos magnéticos. O motor mostrado na Figura 7 dará um passo de 90 graus quando os enrolamentos ABCD forem energizados em seqüência. Geralmente tem ângulos de passo de 45 ou 90 graus a taxas de passo relativamente baixas, mas eles exibem torque alto. NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO 3. Híbrido: Combinando as características dos de Relutância Variável e dos de Imã Permanente, o Motor Híbrido tem algumas das características desejáveis de cada um. Têm alto torque, não apresenta torque estático nulo e podem operar em velocidades de passo altas. Normalmente, eles têm ângulos de passo de 0.9 a 5 graus. Geralmente são providos de pólos que são formados por dois enrolamentos (como mostrado na Figura 8), de forma que uma fonte única pode ser usada. Se as fases são energizadas uma de cada vez, na ordem indicada, o rotor giraria em incrementos de 1.8 graus. Este motor também pode ser controlado de forma a usar duas fases de cada vez, para obter maior torque, ou alternadamente, ora uma ora duas fazes de cada vez, a fim de produzir meio-passos ou incrementos de 0.9 grau NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Três etapas de um motor de passo Desligado: Não há alimentação suprindo o motor. Nesse caso não existe consumo de energia, e todas as bobinas estão desligadas. Na maioria dos circuitos este estado ocorre quando a fonte de alimentação é desligada. Parado: Pelo menos uma das bobinas fica energizada e o motor permanece estático num determinado sentido. Nesse caso há consumo de energia, mas em compensação o motor mantem-se alinhado numa posição fixa. Rodando: As bobinas são energizadas em intervalos de tempos determinados, impulsionando o motor a girar numa direção. NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Modos de operação de um motor de passo Passo completo 1 (Full-step) -Somente uma bobina é energizada a cada passo; -Menor torque; -Pouco consumo de energia; -Maior velocidade. Passo completo 2 (Full-step) -Duas bobinas são energizadas a cada passo; -Maior torque; -Consome mais energia que o Passo completo 1; -Maior velocidade. Meio passo (Half-step) -A combinação do passo completo1 e do passo completo 2 gera um efeito de meio passo; -Consome mais energia que os passo anteriores; -É muito mais preciso que os passos anteriores; -O torque é próximo ao do Passo completo 2; -A velocidade é menor que as dos passos anteriores. NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Passo Completo 1 (Full-step) NOVEMBRO 2007 Nº do passo B3 B2 B1 B0 Decimal 1--> 1 0 0 0 8 2--> 0 1 0 0 4 3--> 0 0 1 0 2 4--> 0 0 0 1 1 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO - Passo Completo 2 (Full-step) NOVEMBRO 2007 Nº do passo B3 B2 B1 B0 Decimal 1--> 1 1 0 0 12 2--> 0 1 1 0 6 3--> 0 0 1 1 3 4--> 1 0 0 1 9 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO Meio passo (Half-step) NOVEMBRO 2007 Nº do passo B3 B2 B1 B0 Decimal 1 1 0 0 0 8 2 1 1 0 0 12 3 0 1 0 0 4 4 0 1 1 0 6 5 0 0 1 0 2 6 0 0 1 1 3 7 0 0 0 1 1 8 1 0 0 1 9 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO A direção (esquerda / direita) de um motor de passo Para mudar a direção de rotação do motor, basta inverter a seqüência dos passos conforme os exemplos abaixo: Passo completo 1 (direita) Nº do passo B3 B2 B1 B0 Decim al 1--> 1 0 0 0 8 2--> 0 1 0 0 4 3--> 0 0 1 0 2 4--> 0 0 0 1 1 Passo completo 1 (esquerda) Nº do passo B3 B 2 B1 B 0 Decimal 1--> 0 0 0 1 1 2--> 0 0 1 0 2 3--> 0 1 0 0 4 4--> 1 0 0 0 8 NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO Direita Esquerda PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO R4 R6 R3 R5 4k7 4k7 4k7 4k7 +12V C1 U1 U2 1nF X1 19 XTAL1 CRYSTAL C2 18 XTAL2 1nF 9 R9 R10 4k7 4k7 29 30 31 RST PSEN ALE EA ANTE1 1 2 3 4 5 6 7 8 HORA1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 R8 R7 4k7 4k7 10 11 12 13 14 15 16 17 ANT10 HOR10 GND NOVEMBRO 2007 1B 2B 3B 4B 5B 6B 7B COM 1C 2C 3C 4C 5C 6C 7C 9 16 15 14 13 12 11 10 +88.8 ULN2003A 21 22 23 24 25 26 27 28 80C51 GND 1 2 3 4 5 6 7 UNIVERSIDADE DE PERNAMBUCO A B C D PROJETO MOTOR DE PASSO NOVEMBRO 2007 UNIVERSIDADE DE PERNAMBUCO PROJETO MOTOR DE PASSO ORG 00H; Diretiva de origem no endereco 0 LJMP INICIO; Salto para o inicio do programa ; ***INT EXTERNA_0*** ORG 03h; Externa 0 LJMP EXTERNA_0; Salta para Rotina EXTERNA_0 ; ***INT TIMER_0*** ORG 0Bh; TIMER 0 LJMP TIMER_0; Salta para Rotina TIMER_0 ; ***INT EXTERNA_1*** ORG 13h; EXTERNA 1 LJMP EXTERNA_1; Salta para Rotina EXTERNA_1 ; ***INT TIMER_1*** ORG 1Bh; TIMER 1 LJMP TIMER_1; Salta para Rotina TIMER_1 ; ***INT SERIAL*** ORG 23h; SERIAL LJMP SERIAL_COM; Salta para Rotina SERIAL_COM TEMPO EQU 15535 INICIO: MOV IE, #10000010B MOV IP, #00000010B MOV TMOD,#00000001B ORG 30H MOV R1,#00H MOV R4,#00H MOV P1,#0FFH MOV A,#033H MOV P0,A ESPERA: JNB P1.0,ANTH1 JNB P1.1,HORAR1 JNB P1.2,ANTH10 JNB P1.3,HORAR10 SJMP ESPERA ANTH10: LCALL ATRASO RR A MOV P0,A INC R4 CJNE R4,#0AH,ANTH10 MOV R4,#00H SJMP ESPERA NOVEMBRO 2007 HORAR10: LCALL ATRASO RL A MOV P0,A INC R4 CJNE R4,#0AH,HORAR10 MOV R4,#00H SJMP ESPERA ATRASO: MOV R1,#0AH VEZ: CLR TR0 CLR TF0 MOV TH0,#HIGH(TEMPO) MOV TL0,#LOW(TEMPO) SETB TR0 JNB TF0,$ DJNZ R1,VEZ CLR TR0 CLR TF0 RET ANTH1: LCALL ATRASO RR A MOV P0,A SJMP ESPERA HORAR1: LCALL ATRASO RL A MOV P0,A SJMP ESPERA ;****** TRATAMENTO DAS INTERRUPÇÕES***************** EXTERNA_0: NOP ; Código de tratamento de EXTERNA_0 RETI TIMER_0: NOP ; Código de tratamento de TIMER_0 RETI EXTERNA_1: NOP ; Código de tratamento de EXTERNA_1 RETI TIMER_1: NOP ; Código de tratamento de TIMER_1 RETI SERIAL_COM: NOP ; Código de tratamento de serial RETI ;************************************************************************ END ; Fim de Arquivo p/ compilação UNIVERSIDADE DE PERNAMBUCO