90
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO EM ENGENHARIA ELÉTRICA PROJETO E IMPLEMENTAÇÃO DE UM MÓDULO DIDÁTICO PARA ACIONAMENTO DE MOTOR DE PASSO UTILIZANDO MICROCONTROLADOR PIC TRABALHO DE CONCLUSÃO DE CURSO Leandro Cargnelutti Santa Maria, RS, Brasil 2013

Tcc Leandrov6.1 (Final)

Embed Size (px)

Citation preview

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA

CURSO EM ENGENHARIA ELÉTRICA

PROJETO E IMPLEMENTAÇÃO DE UM MÓDULO DIDÁTICO PARA ACIONAMENTO DE MOTOR DE PASSO UTILIZANDO MICROCONTROLADOR PIC

TRABALHO DE CONCLUSÃO DE CURSO

Leandro Cargnelutti

Santa Maria, RS, Brasil

2013

PROJETO E IMPLEMENTAÇÃO DE UM MÓDULO

DIDÁTICO PARA ACIONAMENTO DE MOTOR DE PASSO

UTILIZANDO MICROCONTROLADOR PIC

Leandro Cargnelutti

Trabalho de Conclusão de Curso apresentado ao curso de Engenharia Elétrica da Universidade Federal de Santa Maria (UFSM, RS), como requisito parcial para

obtenção do grau de Engenheiro Eletricista.

Orientador: Prof. Dr. Cassiano Rech

Santa Maria, RS, Brasil

2013

Universidade Federal De Santa Maria Centro De Tecnologia

Curso De Engenharia Elétrica

A Comissão Examinadora, abaixo assinada, aprova o Trabalho de Conclusão de Curso

PROJETO E IMPLEMENTAÇÃO DE UM MÓDULO DIDÁTICO PARA ACIONAMENTO DE MOTOR DE PASSO UTILIZANDO

MICROCONTROLADOR PIC

elaborada por Leandro Cargnelutti

como requisito parcial para obtenção do grau de Engenheiro Eletricista

COMISÃO EXAMINADORA:

Cassiano Rech, Dr. (Presidente/Orientador)

Claiton Moro Franchi, Dr. (UFSM)

Tadeu Vargas, Ms. (UFSM)

Santa Maria, 31 de julho de 2013.

Dedico este trabalho á minha família, por todo apoio, segurança, incentivo e principalmente amor. Obrigado por sempre estarem ao meu lado.

AGRADECIMENTOS

Agradeço aos meus pais, Alvenir e Fanísia, que me deram toda a estrutura, apoio e

confiança para que me torna-se a pessoa que sou hoje.

À minha irmã Franciéli e ao meu irmão Leonardo, por estarem sempre presentes em

minha vida, pelo amor e preocupação.

Ao meu orientador Professor Cassiano Rech, pela sua sabedoria transmitida,

esclarecendo as minhas dúvidas, tendo muita paciência, competência, confiança e

conhecimento.

À minha namorada Jéssica ofereço um agradecimento especial, por ter vivenciado

comigo todo este trabalho, por ter me dado todo o apoio que necessitava nos momentos

difíceis, todo carinho, respeito, por ter me aturado nos momentos de estresse, e por tornar

minha vida cada dia mais feliz.

A todos os meus professores, que contribuíram para minha formação acadêmica.

Agradeço à coordenação do curso de engenharia elétrica pela sua competência em

resolver meus problemas.

Agradeço a todos os meus amigos e colegas que de alguma maneira ajudaram para

atingir este resultado.

“Que os vossos esforços desafiem as impossibilidades, lembrai-vos de que as grandes coisas do homem foram conquistadas do que parecia impossível.”

(Charles Chaplin)

RESUMO

Trabalho de Conclusão de Curso Curso de Engenharia Elétrica

Universidade Federal de Santa Maria

PROJETO E IMPLEMENTAÇÃO DE UM MÓDULO DIDÁTICO PARA ACIONAMENTO DE MOTOR DE PASSO UTILIZANDO

MICROCONTROLADOR PIC

AUTOR: LEANDRO CARGNELUTTI ORIENTADOR: PROF. CASSIANO RECH

Data e Local da Defesa: Santa Maria, 31 de julho de 2013.

Neste trabalho é realizado o projeto e a implementação de um módulo didático para auxílio

em aulas onde envolvam conceitos relativos a motores de passo. Este módulo utiliza o

microcontrolador PIC16F887. A programação é feita para três modos de passo: passo

completo com dupla excitação, passo completo com excitação simples e meio passo. Após a

definição do modo de passo o usuário define quantos passos o motor irá dar e acompanha

todas as informações através de um LCD, de LEDs indicativos representando enrolamentos e

através do movimento do motor sobre uma circunferência graduada. Um driver unipolar é

utilizado para acionar o motor de passo. São apresentados detalhes relativos confecção do

módulo como placa de circuito impresso, componentes utilizados e programação do

microcontrolador.

Palavras-chave: Módulo Didático, Motor de Passo, Microcontrolador.

ABSTRACT

Electrical Engineering Course Federal University of Santa Maria

PROJECT AND IMPLEMENTATION OF A DIDACTIC MODULE FOR

STEPPER MOTOR DRIVE USING PIC MICROCONTROLLER

AUTHOR: LEANDRO CARGNELUTTI ADVISER: CASSIANO RECH

Local and Date: Santa Maria, July 31th, 2013.

This work presents the design and implementation of a module for teaching aid in classes

which involve concepts related to stepper motors. This module uses the PIC16F887

microcontroller. Programming is done for three stepping modes: wave drive, full step drive

and half step drive. After setting the mode step the user defines how many steps the motor

will provide, monitoring all information through a LCD, indicative LEDs representing

windings and through the movement of the engine on a graduated circle. A unipolar driver is

used to drive the stepper motor. Details about the module printed circuit board, components

used and programming of the microcontroller are also presented.

Keywords: Didactic Module; Stepper Motor; Microcontroller.

LISTA DE FIGURAS

Figura 1 – Sistema básico de acionamento de motores de passo. ............................................ 20 Figura 2 – Alinhamento de polos do rotor com polos do estator. ............................................ 20 Figura 3 – Esquemas de terminais de motor de passo com 6 terminais. .................................. 21

Figura 4 – Esquema elétrico simplificado do driver unipolar. ................................................. 22 Figura 5 – Esquema básico de driver para acionamento unipolar. ........................................... 22 Figura 6 – Esquema de terminais de motor de passo do tipo bipolar. ...................................... 23

Figura 7 – Esquema básico de um driver de acionamento bipolar usando transistores. .......... 23 Figura 8 – Configuração unipolar, a) motor com 5 fios, b) motor com 6 fios e c) motor com 8

fios. ...................................................................................................................... 24 Figura 9 – Configurações bipolares de motores de passo, em a) com 4 fios, b) com 6 fios, c)

com 6 fios, em série, d) com 8 fios, em série e e) 8 fios, em paralelo. ............... 25

Figura 10 – Sequência de energização simples de fase com driver bipolar [9]. ...................... 26

Figura 11 – Sequência de excitação dupla de fases com driver bipolar [9]. ............................ 27

Figura 12 – Sequência de acionamneto de fases (a) fase a-1a, (b)fase b-1b, (c) fase a-2a, (d) fase b-2b. ............................................................................................................. 28

Figura 13 – Sequência de ativação dupla de fases com driver unipolar, (a)fases a-1a e b-1b, (b) fases b-1b e a-2a, (c) fases a-2a e b-2b, (d) fases b-2b e a-1a. ...................... 29

Figura 14 – Correntes de fase em níveis e defasadas de 90º, conforme [11]. ......................... 31

Figura 15 – Oito Subdivisões em um passo polar, conforme [11]. .......................................... 31

Figura 16 – Esquema da construção de um motor de passo de imã permanente, retirado de[9]. ............................................................................................................................. 32

Figura 17 – Estator e rotor de um motor bipolar de imã permanente. ...................................... 33

Figura 18 – Rotor de um motor de relutância variável. ............................................................ 33 Figura 19 – Comportamento das linhas de fluxo magnético. ................................................... 34 Figura 20 –Esquema de motor de relutância variável com a) 3 fases, b) com 4 fases. ............ 34

Figura 21 – Representação em a) rotor e em b) estator de um motor híbrido. ........................ 35

Figura 22 – Motor de passo híbrido desmontado. .................................................................... 35 Figura 23 – Arquitetura do módulo didático. ........................................................................... 36 Figura 24 – Esquemático representavivo do software implementado. ..................................... 39

Figura 25 – Diagrama de blocos do hardware de acionamento. .............................................. 40 Figura 26 – Cores dos fios do motor de passo escolhido para o projeto [17]. ......................... 41

Figura 27 – Dimensões do motor de passo, em milímetros [17]. ............................................. 42 Figura 28 – Imagem do motor de passo utilizado. ................................................................... 42 Figura 29 - Circuitos de interrupção e proteção da fonte de alimentação. ............................... 43

Figura 30 - Etapas da transformação de tensão na fonte de alimentação. ................................ 43

Figura 31 - Estágios da retificação da tensão. .......................................................................... 44 Figura 32 - Esquemático da fonte de alimentação. ................................................................... 45 Figura 33 – (a) Esquemático do ULN2803A, (b) detalhe interno de cada driver. ................... 46 Figura 34 - Esquemático das ligaçoes entre driver e motor de passo....................................... 47 Figura 35 – Arquitetura Harvard. ............................................................................................. 47 Figura 36 – Esquemático do microcontrolador PIC16F887. .................................................... 48

Figura 37 – Esquema do display de LCD, [20]. ....................................................................... 49

Figura 38 – Localização de botões e LED na placa de comandos. .......................................... 50

Figura 39 – Esquemático da localização dos LEDs na placa indicativa. ................................. 51

Figura 40 – Detalhes da (a) parte inferior e (b) parte superior do protótipo. ........................... 51

Figura 41 – (a) Detalhes internos do protótipo, (b) visual externo do protótipo em funcionamento. .................................................................................................... 52

Figura 42 – Simulação de sinais no motor de passo. ................................................................ 53 Figura 43 – Esquemático de um ponto de medição. ................................................................. 54 Figura 44 – Resultados de simulações em (a) modo passso completo excitação simples e em

(b) modo passso completo dupla excitação. ........................................................ 55

Figura 45 – (a) e (b) formas de onda de tensão simuladas para o modo meio passo. .............. 55

Figura 46 – Níveis de tensão e corrente. Em (a) comutação no intervalo de acionamento de uma fase, em (b) comportamento da corrente no motor e no diodo de roda livre. 56

Figura 47 – Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo passo completo com simples excitação. ......................................... 57

Figura 48 - Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo passo completo com dupla excitação. ............................................ 57

Figura 49 – Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo meio passo. ..................................................................................... 58

Figura 50 - Resultados experimentais em (a) entrada e saída de condução, (b) entrada em condução de corrente pela bobina do motor de passo. ........................................ 58

Figura 51 – Localização de componentes da interface do módulo........................................... 63

Figura 52 – Disposição dos botões de controle. ....................................................................... 64 Figura 53 – Esquemático do módulo didático parte I. .............................................................. 70 Figura 54 – Esquemático do módulo didático parte II. ............................................................ 71 Figura 55 – Mapa de localização dos componentes. ................................................................ 75 Figura 56 – Face superior da placa. .......................................................................................... 76 Figura 57 – Face inferior da placa (espelhada)......................................................................... 77

LISTA DE TABELAS

Tabela 1 – Ângulos de passo e número de passos por revolução de motores de passo

frequentemente usados. ....................................................................................... 18 Tabela 2 – Tabela de acionamento por passo inteiro excitação simples com driver bipolar. .. 26 Tabela 3 – Tabela de acionamento por passo inteiro e excitação dupla de fases com driver

bipolar. ................................................................................................................. 27 Tabela 4 – Sequência de ativação em passo completo excitação simples com driver unipolar.

............................................................................................................................. 28 Tabela 5 – Sequência de ativação em passo completo excitação dupla com driver unipolar. . 29 Tabela 6 – Sequência de acionamento em ângulos de meio passo polar com energização

bipolar. ................................................................................................................. 30 Tabela 7 – Sequência de acionamento em ângulos de meio passo polar com energização

unipolar. ............................................................................................................... 30 Tabela 8 – Especificações do motor de passo. ......................................................................... 41 Tabela 9 – Valores máximos absolutos do PIC16F887 conforme [19]. ................................... 48

Tabela 10 – Descrição dos pinos da interface do display de LCD, conforme [20]. ................. 49

Tabela 11 – Comandos dados ao microcontrolador por botão. ................................................ 64 Tabela 12 – Especificações do projeto. .................................................................................... 67 Tabela 13 – Conexões de entrada e saída da placa. .................................................................. 67 Tabela 14 – Descrição de ligações em pinos dos conectores CN1 a CN4. .............................. 68

Tabela 15 – Descrição de ligações em pinos dos conectores CN5 a CN10. ............................ 68

Tabela 16 – Botões e chaves seletoras...................................................................................... 68 Tabela 17 – LEDs indicadores. ................................................................................................ 69 Tabela 18 – Lista de componentes. .......................................................................................... 72 Tabela 19 – Orçamento de componentes. ................................................................................. 79

LISTA DE SIGLAS

CPU Central Processing Unit EEPROM Electrically-Erasable Programmable Read-Only Memory LCD Liquid Crystal Display LED Light Emitting Diode MCLR Master Clear N Polo Norte PIC Programmable Interface Controller RISC Reduced Instruction Set Computer RMS Root Mean Square S Polo Sul SRAM Static Random Access Memory

LISTA DE APÊNDICES

APÊNDICE A – Manual de Operações. .......................................................... 63

A.1 Apresentação .................................................................................................................... 63

A.2 Descrição .......................................................................................................................... 63

A.3 Operação .......................................................................................................................... 64

A.3.1 Escolha do modo de passo ............................................................................................ 65

A.3.2 Definir número de passos ............................................................................................. 65

A.3.3 Acompanhamento de informações durante o movimento do motor ............................. 65

A.3.4 Funções adicionais ........................................................................................................ 66

A.4 Reprodução do material ................................................................................................. 66

A.4.1 Descrição e especificações do projeto da placa de circuito impresso........................... 66

A.4.2 Entradas e saídas da placa ............................................................................................. 67

A.4.3 Interruptores, botões e chaves seletoras ........................................................................ 68

A.4.4 LEDs indicadores .......................................................................................................... 69

A.4.5 Esquemático .................................................................................................................. 69

A.4.6 Lista de materiais .......................................................................................................... 72

A.4.7 Leiaute da placa ............................................................................................................ 73

A.4.8 Descrição de funcionamento ......................................................................................... 78

A.4.9 Modos de utilização da placa ........................................................................................ 78

A.4.10 Precauções .................................................................................................................... 79

A.4.11 Orçamento ..................................................................................................................... 79

APÊNDICE B – Código em linguagem de programação C. ......................... 81

SUMÁRIO

INTRODUÇÃO ................................................................................................. 16 1.1 Objetivos ........................................................................................................................... 17

1.1.1 Objetivos gerais ............................................................................................................ 17

1.1.2 Objetivos específicos .................................................................................................... 17

CAPÍTULO 2 REVISÃO DA LITERATURA ............................................ 18 2.1 Introdução ........................................................................................................................ 18

2.2 Conceitos relacionados aos motores de passo. .............................................................. 19

2.3 Princípios de operação .................................................................................................... 20

2.4 Configurações e polaridades dos motores de passo ...................................................... 21

2.4.1 Motores unipolares e driver de acionamento unipolar ................................................. 21

2.4.2 Motores bipolares e driver de acionamento bipolar ..................................................... 23

2.4.3 Enrolamento unifilar ..................................................................................................... 24

2.4.4 Enrolamento bifilar ....................................................................................................... 24

2.4.5 Configurações das ligações externas do motor de passo .............................................. 24

2.5 Modos de passo ................................................................................................................ 25

2.5.1 Passo completo ............................................................................................................. 25

2.5.2 Meio passo .................................................................................................................... 29

2.5.3 Micropasso .................................................................................................................... 30

2.6 Tipos de motores de passo .............................................................................................. 32

2.6.1 Motores de imã permanente .......................................................................................... 32

2.6.2 Motores de relutância variável ...................................................................................... 33

2.6.3 Motores híbridos ........................................................................................................... 34

CAPÍTULO 3 PROJETO E IMPLEMENTAÇÃO .................................... 36 3.1 Introdução ........................................................................................................................ 36

3.2 Implementação do software ............................................................................................ 37

3.3 Hardware .......................................................................................................................... 40

3.3.1 Motor de passo .............................................................................................................. 40

3.3.2 Fonte de alimentação .................................................................................................... 42

3.3.3 Driver de adequação de sinal entre microcontrolador e motor de passo ...................... 46

3.3.4 Microcontrolador .......................................................................................................... 47

3.3.5 Display LCD ................................................................................................................. 49

3.3.6 Placa de potência .......................................................................................................... 50

3.3.7 Placa de comandos ........................................................................................................ 50

3.3.8 Placa indicativa ............................................................................................................. 50

3.3.9 Protótipo ....................................................................................................................... 51

CAPÍTULO 4 SIMULAÇÕES E RESULTADOS...................................... 53 4.1 Simulações em software ................................................................................................... 53

4.2 Resultados experimentais ............................................................................................... 56

CONCLUSÃO ................................................................................................. 59

REFERÊNCIAS ................................................................................................ 60

INTRODUÇÃO

O motor de passo é uma máquina síncrona rotativa que pode ter seu giro controlado

por pulsos enviados ao sistema de acionamento que geram os sinais em nível CC para o motor

de passo. O seu princípio de funcionamento básico é baseado no alinhamento eletromagnético

entre rotor e estator, esta característica garante a alta precisão do posicionamento do eixo.

Os motores de passo, por ser facilmente controlados, ter baixo custo em relação à sua

precisão de posicionamento, ter boa relação entre torque e tamanho, eles são amplamente

utilizados em projetos de automação e robótica.

Com o intuito de despertar interesses, motivar e sintetizar conhecimentos de motores

de passo, bem como realizar um trabalho que envolva os conhecimentos adquiridos ao longo

do curso de engenharia elétrica, este trabalho foi proposto. Ainda, o trabalho visa o projeto e

implementação de um módulo didático para auxiliar em aulas que envolvam conceitos sobre

motores de passo.

Módulos didáticos, recursos didáticos ou kits didáticos auxiliam na apresentação do

conteúdo aos alunos. De acordo com [1], “recurso didático é todo material utilizado como

auxílio no ensino - aprendizagem do conteúdo proposto para ser aplicado pelo professor a

seus alunos”.

O módulo didático proposto terá uma interface amigável e de fácil entendimento.

Neste módulo didático, os usuários podem definir o modo de passo, quantidade de passos e

velocidade de acionamento das bobinas em um motor de passo, acompanhando as

informações como ângulo de rotação, número de passos, número de voltas e sentido de giro

em um display de LCD e também pelo próprio eixo do motor. Também, LEDs indicarão

quando uma determinada bobina ao LED associada é acionada.

Na literatura já existem trabalhos onde os usuários podem controlar o movimento do

motor por um software em um computador, conforme em [2].

17

1.1 Objetivos

1.1.1 Objetivos gerais

Tem-se como objetivos gerais do trabalho:

a) Projetar e implementar um módulo didático para acionamento de um motor de

passo.

b) Contribuir com o aprendizado dos usuários do módulo didático.

c) Desenvolver os conhecimentos adquiridos ao longo do curso.

1.1.2 Objetivos específicos

Tem-se como objetivos específicos do trabalho:

a) projeto de um driver de acionamento unipolar para motores de passo;

b) programar o microcontrolador PIC16F887, responsável pelo controle do sistema,

em linguagem de programação C;

c) realizar o leiaute do módulo didático visando ter uma interface amigável e ser de

fácil visualização e entendimento;

d) realizar a montagem e obter resultados experimentais.

CAPÍTULO 2 REVISÃO DA LITERATURA

2.1 Introdução

A estrutura básica de um motor de passo é composta de estator e rotor. O estator é a

parte fixa onde são enrolados os enrolamentos de fase formando as bobinas, que quando

percorridas por corrente, geram um campo magnético. O rotor é a parte girante do motor,

pode ser de material permanentemente magnetizado ou pode ser de ferro doce. Tanto no

estator quanto no rotor existem polos, que são regiões de um corpo magnetizado onde a

densidade de fluxo está concentrada.

Entre os polos do rotor e os polos do estator podem-se ter múltiplos alinhamentos em

um giro de 360º de eixo. Este número de alinhamentos possíveis é dado como o número de

passos por volta do motor. Através deste número de passos pode-se saber qual é a resolução

ou ângulo de passo, que é a razão de uma volta completa pelo número de passos por volta.

Conforme [3] os ângulos de passo juntamente com o número de passos por revolução

mais frequentes nos motores de passo podem ser vistos na Tabela 1.

Tabela 1 – Ângulos de passo e número de passos por revolução de motores de passo frequentemente usados.

Ângulo de Passo Passos por revolução

0,72º 500 1,8º 200 2,0º 180 2,5º 144 3,6º 100 5,0º 72 7,5º 48 15º 24

A característica principal na rotação do eixo é um incremento angular específico de

passo do motor a cada pulso de excitação. Os motores de passo podem apresentar erros

19

angulares não acumulativos a cada passo, sendo na maioria dos casos menores que 5%. Como

os erros não são acumulativos os motores realizam um giro de 360º no número de passos que

foram projetados.

Esses motores tem excelente resposta à partida, parada e inversão de sentido de giro.

Conforme [4], em casos onde o torque no eixo pelo motor produzido é suficiente para

movimentar a carga a ele acoplada, pode-se dispensar o controle em malha fechada já que o

resultado do movimento é bem preciso e seu movimento é fixo e conhecido a cada pulso de

excitação.

2.2 Conceitos relacionados aos motores de passo.

Os principais conceitos relacionados aos motores de passo para auxiliar na

apresentação deste capítulo são relacionados abaixo.

Estados do motor de passo: conforme [5], existem 3 estados que um motor de passo

pode assumir:

a) Desligado: Não há alimentação, nenhuma bobina está energizada. Não há gasto de

energia neste estado;

b) Parado: Pelo menos uma bobina está energizada. Neste estado o rotor permanece

estático e alinhado em um determinado ponto fixo, consumindo energia;

c) Rodando: Os enrolamentos de fase são acionadas sequencialmente em intervalos

determinados fazendo o rotor girar em um sentido.

Fase: para [4], “cada uma das bobinas, ou cada uma das metades de uma bobina no

caso das que possuem derivação central, que compõem o enrolamento do motor.”

Torque de retenção: conforme [4], é o torque máximo aplicado ao eixo sem tirar o

motor do estado de parado.

Torque residual: de acordo com [4] nos casos onde o rotor for de imã permanente,

haverá um fluxo magnético permanente agindo sobre os polos do estator.

Resposta de rasso: conforme [4], tempo gasto pelo motor para executar um passo

comandado.

Ressonância: [4] diz “motor de passo possui uma certa frequência natural

característica, sendo que quando o motor atinge esta frequência, ocorre um aumento de ruído

e vibração, e o motor pode ainda perder alguns passos ou até oscilar.”

20

2.3 Princípios de operação

Quando o motor de passo é excitado por pulsos sequenciais de energia ele os converte

em movimentos mecânicos discretos. Um circuito de excitação é constituído basicamente por

um controlador que gera sinais de pulso sequencialmente e um sistema de amplificação que

adequa esses sinais para atender os níveis de tensão e corrente requeridos pelo motor. A

sequência de sinais enviados pelo controlador define o sentido de giro, se o rotor avançará ao

seu ângulo de passo, meio passo ou em micropassos. A Figura 1 mostra o sistema básico de

acionamento de motores de passo.

Figura 1 – Sistema básico de acionamento de motores de passo.

Para analisar o principio de funcionamento de um motor de passo considera-se como

base, um motor de passo elementar com seu rotor de imã permanente e estator bifásico e

ângulo de passo de 90º. Toda vez que um conjunto de bobinas é acionado, seja com uma fase

ou com ambas, gera um campo magnético alinhando o rotor na posição do melhor caminho

para o fluxo magnético. A Figura 2 mostra o alinhamento dos polos do estator com os polos

do rotor energizados na fase A.

Figura 2 – Alinhamento de polos do rotor com polos do estator.

21 O motor pode ser acionado de três modos de passos distintos: por passo inteiro (ou

passo completo), por meio passo e por micropasso. Sendo que o modo passo inteiro é dividido

em passo inteiro com dupla excitação e passo inteiro com excitação simples.

2.4 Configurações e polaridades dos motores de passo

Os motores de passo são também classificados quando ao sentido da corrente elétrica

nas bobinas. A maioria dos motores de passo tem 4, 5, 6 ou 8 terminais. Os de 4 fios são de

configuração exclusivamente bipolares. Os de 5 fios são exclusivamente unipolares. Já os de

6 e 8 fios pode-se configurar tanto unipolar quanto bipolar.

2.4.1 Motores unipolares e driver de acionamento unipolar

A corrente elétrica nos enrolamentos destes motores de passo fluem sempre no mesmo

sentido. Para cada fase existe uma derivação central, motores de 5 ou 6 terminais (Figura 3),

ou também pode ser dois enrolamentos separados para motores de 8 terminais.

b

1a

a

2a

1b 2b

Figura 3 – Esquemas de terminais de motor de passo com 6 terminais.

Quando uma metade do enrolamento é alimentada, o campo magnético no polo é em

um sentido quando a outra metade é alimentada o campo magnético se inverte no polo.

O circuito acionador unipolar é relativamente simples. Os terminais de derivação são

conectados a uma fonte e um controlador sequencial envia sinais para chaves que estão

22

conectados entre os terminais do motor e a referência da fonte. Na Figura 4 pode ser

observado um esquema elétrico simplificado do driver unipolar.

Figura 4 – Esquema elétrico simplificado do driver unipolar.

De acordo com [6], esta configuração possibilita a passagem de corrente pela metade

das bobinas do motor a cada pulso elétrico nas chaves C1 e C2, a corrente não muda de

sentido.

O esquema básico de um driver de acionamento unipolar usando transistores é

mostrado na Figura 5.

Figura 5 – Esquema básico de driver para acionamento unipolar.

23

2.4.2 Motores bipolares e driver de acionamento bipolar

A corrente elétrica flui em ambos os sentidos em um enrolamento de fase durante o

funcionamento. Necessitam de um driver que inverta o sentido da corrente nos enrolamentos

de fase. A Figura 6 mostra um esquema dos terminais de um motor bipolar.

Figura 6 – Esquema de terminais de motor de passo do tipo bipolar.

Uma técnica utilizada para o acionamento em modo bipolar é a com dupla ponte H.

Para cada terminal, os sinais vindos do controlador controlam duas chaves de modo que altere

entre a tensão positiva e de referência da fonte de alimentação, conforme a Figura 7.

Figura 7 – Esquema básico de um driver de acionamento bipolar usando transistores.

24

2.4.3 Enrolamento unifilar

Tem apenas um enrolamento por polo do estator, motores com enrolamentos unifilares

terão 4 fios de conexão externa. São acionados exclusivamente com drivers bipolares.

2.4.4 Enrolamento bifilar

Dois fios idênticos são enrolados em paralelo no mesmo polo. Desta maneira, o campo

magnético pode ser invertido sem inverter o sentido da corrente elétrica. Tem 5, 6 ou 8 fios de

conexão externa.

2.4.5 Configurações das ligações externas do motor de passo

Para motores de passo de 4 fios e para motores de 5 fios a única forma de acionamento

é com driver bipolar e com driver unipolar, respectivamente.

Para motores de 6 fios pode-se fazer três tipos de configuração. Como unipolar, como

bipolar utilizando metade do enrolamento ou em série não utilizando as derivações centrais,

conforme [7] .

Para motores com 8 fios pode ser feito ligações em série e em paralelo [8].

A Figura 8 mostra a possíveis configurações unipolares e Figura 9 a as bipolares com

diferentes números de fios.

Figura 8 – Configuração unipolar, a) motor com 5 fios, b) motor com 6 fios e c) motor com 8 fios.

25

Figura 9 – Configurações bipolares de motores de passo, em a) com 4 fios, b) com 6 fios, c) com 6 fios, em série, d) com 8 fios, em série e e) 8 fios, em paralelo.

2.5 Modos de passo

Para o acionamento dos motores de passo unipolares ou bipolares existem basicamente

três modos, passo completo, meio passo e micropasso, sendo o passo completo dividido em

excitação simples e excitação dupla.

2.5.1 Passo completo

Este modo de acionamento se caracteriza pelo fato de que o motor desloca seu rotor

em um passo completo a cada pulso de acionamento que recebe em suas fases a partir do

circuito de acionamento.

O modo de passo completo divide-se em passo completo excitação simples e passo

completo excitação dupla.

Excitação simples: quando somente uma fase é energizada por vez a cada passo. O

consumo de energia é menor e tem menor torque quando comparado ao modo de dupla

excitação.

26 Excitação dupla: quando duas fases são energizadas ao mesmo tempo a cada passo.

Duas bobinas adjacentes são energizadas e geram um campo magnético atraindo o polo do

rotor a uma posição intermediária às bobinas energizadas do estator.

A sequência de acionamento de fases para dar um giro de 360º em um motor de passo

elementar com excitação simples com driver bipolar é mostrada na Tabela 2 com base na

Figura 10.

Tabela 2 – Tabela de acionamento por passo inteiro excitação simples com driver bipolar.

Passo Posição Energização

Figura 10 Fase A Fase B A A’ B B’

0 0º + – Off Off (a) 1 90º Off Off + – (b) 2 180º – + OFF Off (c) 3 270º Off Off – + (d)

Figura 10 – Sequência de energização simples de fase com driver bipolar [9].

A sequência de acionamento de fases para dar um giro de 360º em um motor de passo

elementar com excitação dupla movendo-se em passos completos é mostrada na Tabela 3 com

base na Figura 11.

27

Tabela 3 – Tabela de acionamento por passo inteiro e excitação dupla de fases com driver bipolar.

Passo Posição Energização

Figura 11 Fase A Fase B A A’ B B’

0 45º + – + – (a) 1 135º – + + – (b) 2 225º – + – + (c) 3 315º + – – + (d)

Figura 11 – Sequência de excitação dupla de fases com driver bipolar [9].

Para acionamento com motores em configurações unipolares, como ele nunca inverte

o sentido da corrente na fase, adota-se para fins de representação “1” para fase energizada e

“0” para fase não energizada. Tabela 4 mostra a sequência de acionamentos de fase para

acionamento com driver unipolar em passo completo simples.

A Figura 12, mostra uma sequência de ativação de fases para excitação simples

utilizada em motores unipolares.

28

Figura 12 – Sequência de acionamneto de fases (a) fase a-1a, (b)fase b-1b, (c) fase a-2a, (d) fase b-2b.

Tabela 4 – Sequência de ativação em passo completo excitação simples com driver unipolar.

Passo Posição Energização

Figura 12 Fase a Fase b 1a 2a 1b 2b

0 0º 1 0 0 0 (a) 1 90º 0 0 1 0 (b) 2 180º 0 1 0 0 (c) 3 270º 0 0 0 1 (d)

A Tabela 5 mostra a sequência de ativação em passo completo dupla excitação com

driver unipolar.

A Figura 13 mostra uma sequência de ativação dupla de fases para motores unipolares.

29

Figura 13 – Sequência de ativação dupla de fases com driver unipolar, (a)fases a-1a e b-1b, (b) fases b-1b e a-2a, (c) fases a-2a e b-2b, (d) fases b-2b e a-1a.

Tabela 5 – Sequência de ativação em passo completo excitação dupla com driver unipolar.

Passo Posição Energização

Figura 13 Fase a Fase b 1a 2a 1b 2b

0 45º 1 0 1 0 (a) 1 135º 0 1 1 0 (b) 2 225º 0 1 0 1 (c) 3 315º 1 0 0 1 (d)

2.5.2 Meio passo

De acordo com [10], no acionamento com meio passo aciona-se intercaladamente uma

e duas fases, cada fase com a mesma intensidade de corrente elétrica. Quando apenas uma

fase é energizada o torque produzido é menor que quando duas fases são energizadas, ficando

o motor limitado pelo torque mais baixo. Contudo, há um ganho em suavidade de

movimentos em baixa rotação.

A Tabela 6 e a Tabela 7 detalham, respectivamente a sequência de acionamentos para

motores bipolares e unipolares de forma que acionem com ângulo de meio passo.

30

Tabela 6 – Sequência de acionamento em ângulos de meio passo polar com energização bipolar.

Passo Posição Energização Bipolar

Figura Fase A Fase B A A’ B B’

0 0º + – Off Off Figura 10 (a) 1 45º + – + – Figura 11 (a) 2 90º Off Off + – Figura 10 (b) 3 135º – + + – Figura 11 (b) 4 180º – + Off Off Figura 10 (c) 5 225º – + – + Figura 11 (c) 6 270º Off Off – + Figura 10 (d) 7 315º + – – + Figura 11 (d)

Tabela 7 – Sequência de acionamento em ângulos de meio passo polar com energização unipolar.

Passo Posição Energização Unipolar

Figura Fase a Fase b 1a 2a 1b 2b

0 0º 1 0 0 0 Figura 12 (a) 1 45º 1 0 1 0 Figura 13 (a) 2 90º 0 0 1 0 Figura 12 (b) 3 135º 0 1 1 0 Figura 13 (b) 4 180º 0 1 0 0 Figura 12 (c) 5 225º 0 1 0 1 Figura 13 (c) 6 270º 0 0 0 1 Figura 12 (d) 7 315º 1 0 0 1 Figura 13 (d)

2.5.3 Micropasso

Como visto anteriormente, ao acionar duas fases adjacentes com a mesma intensidade

de corrente os polos do rotor se deslocam a uma posição intermediaria aos polos do estator.

No acionamento em micropassos varia-se a intensidade de corrente em cada fase, deslocando

o rotor em direção ao campo magnético resultante, que estará mais próximo ao polo mais

forte. Assim, o ângulo de passo pode ser subdividido, aumentando a precisão e suavidade de

movimento em baixas velocidades.

31 As curvas da Figura 14 representam, em porcentagem, correntes de fase e estão

defasadas de 90º. Com esta configuração de níveis de correntes de fase se divide um passo

completo em oito subpassos, como mostra a Figura 15.

Figura 14 – Correntes de fase em níveis e defasadas de 90º, conforme [11].

Figura 15 – Oito Subdivisões em um passo polar, conforme [11].

32

2.6 Tipos de motores de passo

Os motores de passo são divididos basicamente em três grupos: motores de imã

permanente, motores de relutância variável, e motores híbridos.

2.6.1 Motores de imã permanente

Este tipo de motor é bastante utilizado em periféricos de informática como

impressoras e no posicionamento de leitores em drivers de disquetes [12]. Devido a sua forma

simples de construção apresenta baixo custo, em contrapartida tem ângulos de passo

relativamente grandes.

Esses motores, geralmente, apresentam dois enrolamentos no estator e um rotor de imã

permanente e polos lisos. As bobinas estão enroladas em um alojamento de ferro maciço com

“dentes”. Cada alojamento de bobina tem o número de dentes iguais ao número de polos do

rotor. A Figura 16 mostra um esquema em corte da construção de um motor de passo com

rotor de imã permanente.

Figura 16 – Esquema da construção de um motor de passo de imã permanente, retirado de[9].

A Figura 17 mostra uma foto de um motor de imã permanente desmontado.

33

Figura 17 – Estator e rotor de um motor bipolar de imã permanente.

2.6.2 Motores de relutância variável

Este tipo de motor de passo não possui imã permanente em seu rotor. Não

apresentando torque residual, ou seja, o rotor gira livremente ao aplicarmos uma força de

revolução ao seu eixo quando em estado desligado.

O rotor é de ferro maciço composto de vários dentes, exemplo em Figura 18, e o

estator composto por bobinas. Ao alimentar as bobinas com uma corrente contínua

magnetizam-se os polos. No campo magnético estabelecido as forças mecânicas agem no

sentido de alinhar o rotor ao estator onde as linhas de fluxo magnético tendem a fluir no

caminho de menor relutância1, Figura 19 extraída de [13].

Figura 18 – Rotor de um motor de relutância variável.

1 A relutância é a grandeza magnética que mede a “dificuldade” que os materiais apresentam de serem

atravessados por fluxo magnético devido ao campo magnético no qual este material está inserido.

34

Figura 19 – Comportamento das linhas de fluxo magnético.

De acordo com [9], motores de passo de relutância variável necessitam de no mínimo

3 fases, sendo comum de 3, 4 e 5 fases. A Figura 20, extraída de [9], mostra um esquema de

um motor de passo de relutância variável de 3 fases e outro de 4 fases, onde pode ser

visualizada as saliências nos polos do rotor estator.

Figura 20 –Esquema de motor de relutância variável com a) 3 fases, b) com 4 fases.

2.6.3 Motores híbridos

O custo de um motor de passo híbrido é mais caro que o de imã permanente, mas

apresenta um desempenho superior em relação à resolução de passo, torque e velocidade.

Tem resoluções de passo típicas entre 0,9º a 3,6º.

O rotor apresenta imã permanente, como os motores de imã permanente, e é dentado

como os de relutância variável. Os dentes estão dispostos em duas camadas com polaridade

oposta uma da outra, os dentes de uma camada ficam em meio passo polar da outra camada

35

dentada. Os polos do estator também são dentados. Esquema de um rotor e um estator de

motor híbrido qualquer é mostrado na Figura 21, retirada de [14].

Quando é energizada uma fase, os dentes dos polos do estator se alinham em mesmo

número com os dentes do rotor de polaridade oposta.

Figura 21 – Representação em a) rotor e em b) estator de um motor híbrido.

A Figura 22 mostra uma foto de um motor híbrido desmontado.

Figura 22 – Motor de passo híbrido desmontado.

CAPÍTULO 3 PROJETO E IMPLEMENTAÇÃO

3.1 Introdução

O projeto consiste em desenvolver hardware e software para o acionamento de um

motor de passo, tendo uma interface ao usuário e permitindo a este a programação do

movimento do motor.

Esquemáticos, leiaute da placa de circuito impresso, listas de materiais e modos de

operação do módulo didático estão apresentados no Apêndice A deste trabalho.

As divisões do hardware do projeto são: Placas de circuito impresso (Placas de

potência, placa indicativa e placa de comandos), LCD, motor de passo, transformador e caixa

metálica.

O software é desenvolvido em linguagem de programação C. Este software permite ao

microcontrolador controlar todo hardware a partir de entradas com chaves do tipo táctil.

A Figura 23 mostra a arquitetura do módulo didático. Um sistema fornece potência ao

microcontrolador, ao LCD e para o motor de passo. Microcontrolador PIC16F887 interpreta

os estados do botões de comandos, envia informações ao LCD, envia sinais ao driver de

adequação de sinais e aciona LED’s indicadores.

Figura 23 – Arquitetura do módulo didático.

37

3.2 Implementação do software

O módulo didático faz uso de um microcontrolador PIC, este que necessita de

programação para desenvolver as tarefas desejadas. A programação do microcontrolador é

feita com base no compilador CCS C, que é um compilador em linguagem C para

microcontrolador PIC.

A estrutura básica de um programa em C, de acordo com [15], pode ser dividido em:

a) Comentários – Servem para documentação e auxilio no entendimento do programa

e não é ignorado pelo compilador;

b) Diretivas de compilação – As diretivas de compilação são instruções para o

compilador, informam, por exemplo, o processador para o qual o código deverá ser

gerado, o tipo de entrada e valor do clock que será usado pela unidade central de

processamento e se o código é protegido contra leitura.

c) Definições de dados – Todas as variáveis e constantes devem ser de um tipo

definido, como byte, char, long int, float, unsigned int, entre outros.

d) Blocos com instruções e funções – Partes do programa que desempenham rotinas.

A partir da escolha do microcontrolador são definidas, então, as bibliotecas de

comandos, os fuses (diretivas para configuração inicial de diversos parâmetros de um PIC,

essas configurações variam de PIC para PIC), definição de variáveis e constantes, definição

de portas de entrada e saída ou registradores e é desenvolvido o corpo do programa que pode

ser dividido em procedimentos ou funções e programa principal.

O microcontrolador utilizado neste projeto é o PIC16F887, na programação dos fuses

definiu-se que o código não teria proteção contra leitura, que utilizaria um cristal oscilador

externo e com frequência de 4 MHz, definiu-se que quando o pino (master clear)

estiver em nível baixo reiniciaria o microcontrolador.

No corpo do programa existem as rotinas que o programa principal chama para

executar determinada função. Nesta aplicação, o programa principal usa 12 rotinas para obter

os resultados desejados. Os nomes das rotinas utilizadas na programação estão citadas

abaixo.

38

()

_()_()_()_()__ ()__ () !!()()_()()_"()!#_inf()

Sempre que uma rotina relacionada ao LCD é chamada, os resultados, em byte, são

enviados para a rotina lcd_send_byte( ) a qual divide em duas metades de 4 bits e a rotina

lcd_send_nibble( ) envia cada metade (nibble) paralelamente em 4 vias de dados ao display,

economizando pinos do microcontrolador.

A rotina inicializa_lcd( ) consiste no envio de uma sequência de instruções para

configurar o modo de operação para execução de um dado programa de interfaceamento,

conforme [16]. Esta rotina deve ser feita sempre que é alimentado o módulo LCD.

As funções das rotinas lcd_putc( ), limpa_lcd( ) e lcd_gotoxy( ) são imprimir

caracteres no display, limpar o display e definir o ponto onde a escrita no display irá iniciar,

respectivamente.

A rotina inicializacao( ) inicializa todas as portas do microcontrolador, define a

direção das portas de entrada e saída e inicializa o LCD.

A rotina abertura( ) mostra informações úteis ao usuário do módulo didático. A rotina

mod_tempo( ) modifica o tempo morto entre o acionamento de bobinas em sequência,

modificando a velocidade de giro do motor.

Ao passo que a rotina aciona( ) é chamada as saída da porta C do microcontrolador são

acionadas conforme o programado e juntamente a esta, a rotina escreve_inf( ) é chamada para

dar informações ao usuário pelo display de LCD, informações como o sentido de giro, ângulo

de giro a partir do repouso e o número de voltas e passos percorridos.

A rotina aciona_fast( ) aciona as saída da porta C do microcontrolador sem dar

informações de giro, sentido e número de voltas e passos percorridos no display, excluindo o

tempo morto causado pela atualização do display. A porta C do microcontrolador controla o

motor de passo e os LEDs indicativos que são espelhos de comandos de cada enrolamento do

motor de passo.

39 O programa principal, main( ), é executado chamando as rotinas de inicialização e

abertura, logo após, a partir dos botões da interface entrada, define-se o tipo de passo que o

motor irá girar, nesta etapa pode ser modificado o intervalo de tempo de acionamento entre

bobinas sequenciais. Escolhido o tipo de passo passa-se para a definição de número de passos

que o motor percorrerá, nesta etapa pode-se fazer o acionamento rápido sem informações no

display.

Quando o movimento do motor acaba ele continua energizado em estado parado e

consumindo energia. Outro passo do programa é colocar as saídas da porta C do

microcontrolador em nível baixo e reiniciar o ciclo do programa a partir da definição do tipo

de passo.

O código em utilizado para programar o microcontrolador pode ser visto no Apêndice

B.

Na Figura 24 pode ser observado um esquemático representativo simplificado do

software implementado.

Figura 24 – Esquemático representavivo do software implementado.

40

3.3 Hardware

No hardware deste projeto fazem parte as placas de circuito impresso e componentes

eletrônicos, LCD, motor de passo, transformador e caixa metálica, como pode ser observado

no diagrama de blocos da Figura 25.

Figura 25 – Diagrama de blocos do hardware de acionamento.

As placas de circuito impresso foram desenvolvidas para se adequarem às dimensões

de uma caixa metálica de fonte de computador, usada no projeto.

3.3.1 Motor de passo

A escolha do motor de passo, para este projeto, levou em conta critérios de custo,

potência, resolução e tipo de enrolamento. O motor de passo selecionado para este projeto

apresenta um baixo custo, tensão de 12 volts e corrente de 290 mA por fase, 6 fios, com

enrolamento bifilar, sendo um motor do tipo imã permanente.

O preço deste motor foi de R$ 44,00 . A compra foi realizada via internet no dia 05 de

abril de 2013 na empresa Tekkno Mecatrônica (www.tekkno.com.br) de CNPJ

04.924537/0001-07 com sede em Bauru, São Paulo.

Hardware

PCIDisplay LCD Motor de PassoTransformador Caixa Metálica

SeleçãoPotência Indicativa

41 Na Tabela 8, retirada de [17], são descritas as especificações do motor de passo

escolhido para o projeto.

Tabela 8 – Especificações do motor de passo.

Item Especificação Marca Akiyama Modelo AK35BY/12-7.5

Tensão Nominal 12 V Nº de Fases 2

Ângulo de Passo 7,5º ±7% Nº de Passos por Revolução 48

Resistência por Fase 42±7% Ohm Indutância por Fase 16,5±20% mH

Corrente por Fase (máxima) 290 mA Holding Torque 350 g.cm Pull-in Torque 110 g.cm/pps

Temperatura da Operação -10ºC~40ºC Temperatura da Armazenamento -30ºC~80ºC

Detent Torque <90 g.cm Inércia do Rotor 3.5 g.cm²

Vida útil (mínima) 3000 h Peso 76,5 g

O motor tem 6 fios e as cores são como descritas na Figura 26.

Figura 26 – Cores dos fios do motor de passo escolhido para o projeto [17].

As dimensões, em milímetros, do motor de passo estão expostas na Figura 27.

42

Figura 27 – Dimensões do motor de passo, em milímetros [17].

A Figura 28 mostra uma imagem do motor de passo utilizado no projeto.

Figura 28 – Imagem do motor de passo utilizado.

3.3.2 Fonte de alimentação

A fonte de alimentação deste protótipo é composta de circuito de acionamento,

circuito de proteção contra sobretensão e sobrecorrente e estágios de transformação de nível

CA, retificação, filtragem e regulação de tensão.

A proteção contra aumento de corrente é feita por fusível, já a proteção contra

sobretensão faz uso de um varistor. Quando o sistema sofre um sobretensão o varistor gera

um caminho de baixa impedância fazendo a corrente passar pelo seu interior, com isso haverá

um aumento na corrente de entrada, ocasionando a queima do fusível e protegendo e o

43

sistema. A Figura 29 mostra um esquemático de ligação dos circuitos de interrupção e

proteção da fonte de alimentação.

Figura 29 - Circuitos de interrupção e proteção da fonte de alimentação.

Na Figura 30 é mostrado um esquemático das etapas de transformação da tensão da

rede até alcançar os níveis adequados de tensão para utilização no projeto.

Figura 30 - Etapas da transformação de tensão na fonte de alimentação.

Conforme na Figura 30, na Etapa 1 a tensão de rede é reduzida, na Etapa 2 a

retificação da tensão alternada em tensão continua pulsante , na Etapa 3 acontece a filtragem

da tensão. Já na Etapa 4, tem-se a regulação da tensão aos níveis específicos de trabalho dos

componentes eletrônicos.

O circuito é alimentado com tensão de 220 VRMS e necessita tensão em níveis

suportados pelos reguladores de tensão utilizados no projeto, por isso utilizou-se um

transformador com tensão de entrada ajustada para 220 VRMS e três tensões de saída em 15

44

VRMS, 0 V e 15 VRMS com defasagem de 180º e corrente no secundário de 1A, satisfazendo as

necessidades do projeto.

O processo de retificação usa um retificador de onda completa composto de um

transformador com derivação central no secundário e dois diodos retificadores. As tensões no

enrolamento secundário superior e no enrolamento secundário inferior ficam defasadas de

180º tendo como referência o ponto de derivação central. Os diodos D1 e D2, conforme a

Figura 31, deixam passar as tensões positivas e o somatório destas tensões formam a tensão

retificada pulsante com frequência de 120 Hz.

Figura 31 - Estágios da retificação da tensão.

Usa-se um capacitor eletrolítico para a filtragem da tensão a fim de transformar a

tensão contínua pulsante em tensão contínua com ondulações.

Componentes como microcontroladores e LCDs necessitam de uma tensão fixa para

obter bom funcionamento, então, faz-se o uso de reguladores de tensão para obter a tensão de

operação do componente eletrônico. Este protótipo utiliza os reguladores de tensão LM7805 e

LM7812 que mantém a tensão de saída em 5 e 12 volts, respectivamente, fornecendo até 1

ampère na saída. Deve-se observar também que os reguladores de tensão possuem faixas

mínimas e máximas de tensão de entrada para o correto funcionamento.

Este projeto tomou como limitação a tensão mínima de entrada do componente

LM7812 e a tensão máxima de entrada do componente LM7805, respectivamente 14,5 volts e

25 volts. Logo a tensão máxima retificada deve ficar dentro deste intervalo de tensões. A

tensão máxima retificada e igual a tensão de pico em um dos enrolamentos do secundário

subtraída da queda de tensão no diodo quando em condução, Equação( 1 ).

45

'!(á* + ',-. ∗ √2 2 0,7 + 15 ∗ √2 2 0,7 + 20,51# ( 1 )

Onde:

Vretmáx, é a tensão máxima retificada;

Vts1, é a tensão no enrolamento secundário superior do transformador.

Com a tensão de 20,51 volts os reguladores de tensão funcionarão corretamente, já que

está dentro de seus limites de operação.

Outra limitação é quanto a tensão reversa de pico e a corrente elétrica que o diodo

retificador deve suportar. Para este projeto o diodo deve suportar uma tensão reversa de pico

acima de 25 volts. Diodos da família 1N400x são bastante interessantes em projetos que

envolvem baixas potências e baixo custo. Os componentes desta família são bastante

semelhantes em custo, a principal diferença é quanto às tensões reversas de pico suportadas.

A escolha do diodo 1N4007 no projeto foi pela sua disponibilidade no laboratório. A

sua tensão reversa de pico suportada é de 1000 volts e corrente de condução 1 ampère.

Um esquemático da fonte de alimentação utilizada no módulo didático pode ser

visualizado na Figura 32.

Figura 32 - Esquemático da fonte de alimentação.

46

3.3.3 Driver de adequação de sinal entre microcontrolador e motor de passo

O circuito integrado ULN2803A é o driver usado para adequar sinais entre o

microcontrolador e o motor de passo, já que o microcontrolador fornece no máximo um sinal

de 5 volts e 25mA por saída e a tensão e corrente nominal de fase do motor de passo é 12

volts e 290mA, respectivamente. Este circuito integrado é composto por oito transistores

Darlington, com os quais se obtém alto ganho de corrente capaz de drenar toda a corrente

necessária para alimentar o motor de passo quando em sua entrada é aplicado um sinal de

tensão e corrente adequado. Cada saída pode fornecer corrente de até 500 mA e podem ser

conectadas em paralelo para aumentar a capacidade de corrente. Possui diodos no interior do

invólucro para proteção contra o pico reverso produzido pelas bobinas do motor de passo.

A Figura 33(a) mostra o esquemático do ULN2803A e a Figura 33(b) os detalhes de

uma entrada e saída, como em [18].

O baixo custo desse circuito integrado aliado com suas características faz dele um

componente interessante para o projeto.

(a) (b)

Figura 33 – (a) Esquemático do ULN2803A, (b) detalhe interno de cada driver.

O esquemático das ligações entre o circuito integrado e o motor de passo pode ser

observada na Figura 34.

47

Figura 34 - Esquemático das ligaçoes entre driver e motor de passo.

3.3.4 Microcontrolador

O microcontrolador PIC16F887 da Microchip, foi escolhido pela disponibilidade no

laboratório e por atender as necessidades do projeto.

O microcontrolador possui um processador que gerencia todas as funções do PIC,

processador este que tem apenas um núcleo e, portanto, executa uma tarefa por vez. O PIC

usa a tecnologia RISC (Computador com conjunto reduzido de instruções) baseada na

arquitetura Harvard, Figura 35, tendo um barramento de dados de 8 bits e um barramento de

programa de 14 bits. Tem uma memória de programa de 8k words2 onde estão todas as

instruções a serem executadas. Possui duas memórias de dados, a SRAM com 368 bytes onde

armazena dados temporariamente durante a execução de um programa e uma memória

EEPROM de 256 bytes que armazena dados por tempo indeterminado.

Figura 35 – Arquitetura Harvard.

2 Word é uma sequência de bits de tamanho fixo que é processado em conjunto em uma máquina. O PIC16F887 usa 14 bits como word.

48 O PIC16F887 possui 35 pinos que podem ser configurados como entrada ou saídas, 1

pino que é apenas entrada ou outras funções especificas do pino e 4 pinos para alimentação. O

esquemático dos pinos do microcontrolador pode ser observado na Figura 36, como em [19].

Figura 36 – Esquemático do microcontrolador PIC16F887.

Os valores máximos das características elétricas são fundamentais para o projeto do

hardware. Essas características podem ser observadas na Tabela 9.

Tabela 9 – Valores máximos absolutos do PIC16F887 conforme [19].

Valores máximos absolutos Tensão de Vdd em relação a Vss -0,3V a +6,5V

Tensão e MCLR em relação a Vss -0,3V a +13,5V Tensão em todos outro pinos em relação a Vss -0,3V a (Vdd +0,3V)

Potência total dissipada 800 mW Corrente máxima de saída no pino Vss 95 mA

Corrente máxima de entrada no pino Vdd 95 mA Corrente máxima de saída drenada em qualquer pino 25 mA

Corrente máxima de saída fornecida por qualquer pino 25 mA Corrente máxima drenada por todas portas

(combinado) 90 mA

Corrente máxima fornecida por todas portas (combinado)

90 mA

49

3.3.5 Display LCD

O display de 2 linhas por 16 colunas e modelo AGM-1602W-801foi utilizado pela sua

disponibilidade em laboratório e por ter características desejadas.

A alimentação para o nível lógico é em 5 Vcc e corrente típica de 3 mA. Possui luz de

fundo com corrente típica de 20mA. A Figura 37, retirada de [20], mostra o esquemático do

display onde podem ser vistos detalhes importantes como a distâncias de furo e numeração de

pinos. A Tabela 10 mostra detalhes das funções de cada pino do display.

Figura 37 – Esquema do display de LCD, [20].

Tabela 10 – Descrição dos pinos da interface do display de LCD, conforme [20].

Pino Símbolo Nível Descrição 1 VSS -- GND 2 VDD -- Alimentação para nível lógico (+5V) 3 V0 -- Alimentação para o LCD 4 RS H/L Seleção de Registro (H: Dados, L: Instruções) 5 RW H/L Seleção de Leitura /Escrita (H: Leitura, L: Escrita 6 E H/H->L Sinal habilitador para o chip

7 ~ 14 DB0 ~ DB7 H/L Barramento de Dados 15 LED A -- Fonte de Tensão para Backlight – (+) 16 LED K -- Fonte de Tensão para Backlight + (–)

50

3.3.6 Placa de potência

Nesta placa acontece a proteção, retificação e regulação da tensão. Apresenta o driver

de acionamento, os circuitos limitadores de corrente para a placa de comando, placa indicativa

e LCD, e o microcontrolador PIC que controla os sinais enviados e recebidos pelas placas e

LCD.

3.3.7 Placa de comandos

Na placa de comandos encontram-se os botões de comandos e um LED acionado pelo

microcontrolador indicativo de estado ligado. O botão de reset reinicia o microcontrolador.

Os botões A, B, C, D e E fazem a interface de entrada do módulo onde se define o modo de

passo, sentido de giro, velocidade, número de passos e comando de partida do motor. A

função de cada botão pode ser vista no Apêndice A deste trabalho.

Figura 38 – Localização de botões e LED na placa de comandos.

3.3.8 Placa indicativa

A placa indicativa aciona LEDs no momento em que uma bobina correspondente ao

LED é acionada. A Figura 39 mostra um esquemático do painel frontal onde se localizam os

LEDs.

51

Figura 39 – Esquemático da localização dos LEDs na placa indicativa.

3.3.9 Protótipo

Detalhes internos e externos do protótipo do módulo de acionamento de motor de

passo projetado e implementado podem ser observados na Figura 40 e na Figura 41.

Figura 40 – Detalhes da (a) parte inferior e (b) parte superior do protótipo.

52

Figura 41 – (a) Detalhes internos do protótipo, (b) visual externo do protótipo em funcionamento.

CAPÍTULO 4 SIMULAÇÕES E RESULTADOS

As simulações e obtenção dos resultados foram realizadas com um período de 800ms

para o modo de passo completo excitação simples e dupla excitação e 1600ms para o modo de

meio passo. Desta forma uma bobina é acionada a cada 200ms.

4.1 Simulações em software

As simulações foram realizadas no PSIM v9.0 com as especificações do driver de

condicionamento de sinal e do motor de passo do projeto, como apresentado na Figura 42.

Figura 42 – Simulação de sinais no motor de passo.

54 O ponto de medição é apresentado na Figura 43 e tendo como referência o GND.

Figura 43 – Esquemático de um ponto de medição.

Devido ao ponto de medição ser na saída da bobina quando o sinal medido é nível

baixo a bobina está em condução.

A Figura 44 e a Figura 45 mostram as formas de onda nos pontos 1a, 1b, 2a e 2b do

motor de passo unipolar para o modo de passo completo e meio passo, respectivamente.

Observar que a bobina está em condução quando o nível é baixo.

55

Figura 44 – Resultados de simulações em (a) modo passso completo excitação simples e em (b) modo passso completo dupla excitação.

Figura 45 – (a) e (b) formas de onda de tensão simuladas para o modo meio passo.

56 Na Figura 46(a) nota-se que a quando o sinal no driver é alto a tensão no ponto de

medição diminui pois as bobinas estão em condução. Há uma tensão de 0,9 volts relativos a

condução das chaves do driver, 0,2V entre coletor e emissor de Q1 (ver Figura 43) mais 0,7V

entre base e emissor de Q2. O acréscimo de tensão na medição na saída de condução da

bobina é relativo à entrada em condução do diodo de roda livre.

Figura 46 – Níveis de tensão e corrente. Em (a) comutação no intervalo de acionamento de uma fase, em (b) comportamento da corrente no motor e no diodo de roda livre.

4.2 Resultados experimentais

As medições foram realizadas nos sinais de saída do driver de condicionamentos de

sinal ao referencial de GND, da mesma forma como nas simulações. Seus resultados são

apresentados na Figura 47, Figura 48 e Figura 49 para os modos de passo completo simples,

passo completo dupla excitação e em meio passo com o motor em configuração unipolar.

Onde os canais CH1, CH2, CH3 e CH4 do osciloscópio medem respetivamente a

tensão nos pontos 1a, 1b, 2a e 2b do motor de passo unipolar que estão ligados aos terminais

do driver de condicionamento de sinal. Observar que a bobina está em condução quando o

nível é baixo.

57

(b)(a)

Figura 47 – Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo passo completo com simples excitação.

Figura 48 - Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo passo completo com dupla excitação.

58

Figura 49 – Resultados experimentais em (a) e (b) tensão nos terminais do motor de passo para o modo meio passo.

A Figura 50 mostra a entrada e saída de condução de uma bobina do motor de passo.

Figura 50 - Resultados experimentais em (a) entrada e saída de condução, (b) entrada em condução de corrente pela bobina do motor de passo.

CONCLUSÃO

Neste trabalho foi abordado o projeto e a implementação de um módulo didático de

acionamento de motor de passo. Este módulo é constituído por hardware e software. O

hardware foi projetado par aceitar a programação de três modos de passo para acionar um

motor de passo unipolar, bem como apresentar informações ao usuário por um LCD e por

LEDs.

A parte física do módulo apresenta um motor de passo, um LCD, um transformador,

uma placa de circuito impresso dividida em três partes e seus componentes e uma caixa

metálica. O software é desenvolvido em linguagem C voltada ao microcontrolador

PIC16F887 da Microchip.

Através do projeto do módulo didático pôde-se desenvolver novos conhecimentos

como o funcionamento de motores de passo, desenvolvimento de leiaute e confecção de

placas de circuito impresso e comportamento de componentes eletrônicos, bem como a

veracidade de métodos matemáticos no desenvolvimento de uma aplicação real.

É interessante disponibilizar ao usuário sinais que possam ser medidos e visualizados

em osciloscópio, portanto como proposta de continuidade desse trabalho cito a colocação de

pontos de medição disponíveis ao usuário.

REFERÊNCIAS

[1] SOUZA, S. E. O uso de recursos didáticos no ensino escolar. In: I encontro de pesquisa em educaçao, IV jornada de prática de ensino, XIII semana de pedagogia da UEM: “infancia e práticas educativas”. Maringá, PR, 2007. Disponível em: <http://www.pec.uem.br/pec_uem/revistas/arqmudi/volume_11/suplemento_02/artigos/019.pdf>. Acesso em: 23 Set. 2012.

[2] CAMARGO, T. A. Desenvolvimento de Kit Didático para Ensino de Teoria de Motor de Passo. Universidade Estadual de Campinas. Campinas, 2007. Trabalho de Graduação.

[3] PATSKO, L. F. Tutorial Controle de Motor de Passo.2006. Disponível em: <http://www.maxwellbohr.com.br/downloads/robotica/mec1000_kdr5000/tutorial_eletronica_-_motor_de_passo.pdf> Acesso em: 31 de Jan. 2013.

[4] SOUZA, P. J. A. Motor de Passo. UFMG, 2006. Disponível em: <http://www.ebah.com.br/content/ABAAAAFWcAK/motor-passo> Acesso em: 31 jan. 2013.

[5] MESSIAS, A. R.. Controle de Motor de Passo através da Porta Paralela. Disponível em: <http://www.rogercom.com/pparalela/IntroMotorPasso.htm> Acesso em: 13 dez. 2012.

[6] Akiyama Soluções Tecnológicas. Treinamento de Motores de Passo, Drivers e Introdução a Servo Acionamentos. Setembro de 2009. Disponível em: <http://www.guiacnc.com.br/motores-em-geral/palestra-akiyama-dimensionamento-de-motores/?action=dlattach;attach=38613> Acesso em: 12 set. 2012.

[7] AMS, INC. Stepper Motor System Basics. 2010. Disponível em: <http://www.ams2000.com/pdf/step101.pdf> Acesso em: 11 de nov. 2012.

[8] Introduction to Stepper Motors and Drives. Disponivel em: <http://www.omega.com/prodinfo/stepper_motors.html> Acesso em 22 dez. 2012.

[9] Introduction to Step Motors. Disponível em: <http://www.omega.com/auto/pdf/REF_IntroStepMotors.pdf> Acesso em 22 dez 2012.

[10] Tecnologia da Automação – Motor de Passo. Disponível em: <http://pt.scribd.com/doc/53143096/22751183-Motor-de-Passo>. Acesso em: 23 out. 2012.

61

[11] ALLEGRO Micro Systems,LLC. Product Information: A New Microstepping Motor-Driver IC with Integrated Step and Direction Translator Interface. Disponível em: <http://www.allegromicro.com/~/media/Files/Technical-Documents/stp01-2-Microstepping-Motor-Driver-IC.ashx.> Acesso em: 12 set. 2012.

[12] JÚNIOR, E. S.; MONTEIRO, F. A; SILVA, J. P. Motores de Passo. Documento Prévio apresentado ao CEFET-SP Campus Unidade Descentralizada de Cubatão. 2006.

[13] GASTLI, A. Electromechanical Systems & Actuators: Stepper Motors;. Disponível em: <http://emsa.gastli.net/Chapter5/stepper_motor.pdf>.

[14] SHINANO KENSHI. Steper Motor – Operation And Theory. Disponível em: <http://www.shinano.com/motors/docs/SKC_stepper_operation.pdf> Acesso em: 23 dez. 2012.

[15] JÚNIOR, V. P. S. Linguagem C para microcontroladores PIC. Novembro de 1999. Disponível em: <http://usuarios.upf.br/~fpassold/PIC/C_PIC.PDF> Acesso em: 1 jul. 2013.

[16] BARBACENA, I. L.; FLEURY, C. A. Display LCD. Outubro de 1996. Diponível em: <ftp://ftp.dca.fee.unicamp.br/pub/docs/ea079/complementos/Lcd.pdf>. Acesso em: 30 set. 2012.

[17] Datasheet do motor de passo AK35BY/12-7.5. Disponível em: <http://www.neoyama.com.br/index.php?dispatch=attachments.getfile&attachment_id=145> Acesso em: jan. 2013.

[18] SGS-THOMSON Microelectronics. Eight Darlington Arrays. Disponível em: <http://www.datasheetcatalog.org/datasheets/105/366825_DS.pdf > Acesso em: 19 de dez. 2012.

[19] Microchip. Manual do Microcontrolador PIC16F887. Disponível em: <http://ww1.microchip.com/downloads/en/DeviceDoc/41291G.pdf> Acesso em: 12 dez. 2012.

[20] Folha de dados do LCD AGM-160w-801. Disponível em: <http://www.mosaico.com.br/Midias/Documentacao/AGM-1602W-801.pdf> Acesso em: jan. 2013.

[21] FUENTES, R. C. Apostila de Automação Inustrial. Santa Maria, 2005. Disponível em: <http://w3.ufsm.br/fuentes/index_arquivos/CA06.pdf> Acesso em: jan. 2013.

62

[22] PCB Width Calculator . Disponível em: <http://www.desmith.net/NMdS/Electronics/TraceWidth.html > Acesso em: jan. 2013.

[23] ANSI PCB Trace Width Calculator. Disponível em: <http://www.mcuexamples.com/PCB-Trace-width-calculator.php> Acesso em: jan. 2013.

APÊNDICE A – Manual de Operações.

A.1 Apresentação

Neste manual você encontra todas as informações o uso adequado e reprodução do

módulo de acionamento de motor de passo.

Leia as instruções antes de utilizar o protótipo de acionamento de motor de passo e

guarde este manual para futuras referências.

A.2 Descrição

A Figura 51 mostra o esquemático da interface com usuário partes do protótipo.

Figura 51 – Localização de componentes da interface do módulo.

1- Cabo de alimentação. 2- Chave Interruptora. 3- LEDs indicadores. 4- Display LCD. 5- LED indicativo de aparelho ligado. 6- Botão de reset. 7- Botões de controle. 8- Circunferência graduada sobre o motor de passo.

64

A.3 Operação

O controle do motor de passo é feito por comandos nos botões de controle. Os botões

aumentam a contagem de números em +1 e +10 e diminuem a contagem em -1 e -10,

conforme for o botão acionado. Todas as alterações de contagem podem ser conferidas no

display de LCD. A Tabela 11 mostra as instruções que o microcontrolador recebe ao ser

pressionado os botões de controle. A Figura 52 mostra a disposição dos botões de controle.

Figura 52 – Disposição dos botões de controle.

Tabela 11 – Comandos dados ao microcontrolador por botão.

Botão(ões) Instrução

A (Direita) +1

B (Cima) +10

C (Esquerda) –1

D (Baixo) –10

E (Central) Confirma

A+B +100

C+D –100

A+C Modifica Frequência de Pulso

B+D Aciona Sem Informações no LCD

Reset Reinicia Microcontrolador

65

A.3.1 Escolha do modo de passo

Com os botões da direita e esquerda seleciona-se o modo de passo que o motor de

passo usará para o movimento. O aparelho foi projetado para aceitar programação de 3 modos

de passo, são eles:

a) 1 – Passo Completo com excitação simples; b) 2 – Passo Completo com excitação dupla; c) 3 – Meio Passo. Selecione o modo de passo e aperte a tecla central para confirmar.

A.3.2 Definir número de passos

Acompanhe no display as informações como ângulo de giro, número de passo, número

de voltas e sentido de giro (H: horário e AH: anti-horário) ao passo que você vai definindo o

valor para a quantidade de passos desejado.

Com os botões de comando defina o número de passos desejado e aperte a tecla

central para confirmar. A partir da confirmação o motor inicia seu giro.

A.3.3 Acompanhamento de informações durante o movimento do motor

O acompanhamento das informações durante o movimento do motor pode ser de três

formas, pelo display, pela circunferência com ângulos demarcados ao redor do eixo do motor

e por LEDs indicativos de bobinas acionadas.

O display vai atualizando a posição angular, número de passo dados e número de

voltas.

Os LEDs indicativos indicam qual enrolamento está sendo energizado.

66

A.3.4 Funções adicionais

A.3.4.1 Modificações na frequência de pulsos elétricos enviados ao motor.

O intervalo mínimo de tempo entre acionamento de bobinas em sequência pode ser

alterado, ocorrendo a modificação da velocidade de giro do motor.

A.3.4.2 Acionamento rápido

O intervalo mínimo de tempo entre acionamento de bobinas em sequência enquanto o

motor está em movimento e o display atualizando informações é de 60 ms devido a

atualização de informações no display. Na forma de acionamento rápido o display não

atualiza as informações e desta forma consegue-se atingir maior velocidade pois aumenta a

frequência dos pulsos elétricos.

A.4 Reprodução do material

Todas as informações para reprodução ou eventual conserto deste protótipo estão

descritas a seguir.

A.4.1 Descrição e especificações do projeto da placa de circuito impresso

As placas comandam o acionamento de um motor de passo, onde o usuário pode ter o

controle total do giro do motor, podendo visualizar seus comandos em um LCD.

O projeto das placas de circuito impresso é realizado em uma etapa e após a confecção

as placas são divididas em três, a PIC LC /220V–V1.0, a IND LC/5-V1.0, COM LC/5-V1.0,

e trabalham em conjunto através de cabos de conexão.

67

A placa COM LC/5-V1.0 possibilita ao usuário comandar o motor de passo, enquanto

a placa IND LC/5-V1.0 indica visualmente qual enrolamento do motor está acionado.

A Tabela 12 mostra as especificações do projeto.

Tabela 12 – Especificações do projeto.

Característica Especificação

Tensão de Entrada 220 Vrms

Corrente máxima de entrada em 220Vrms 500mA

Tensão máxima contínua 20 Vdc

Tensão de acionamento de motor 12 Vdc

Tensão dos sinais de comando 5 Vdc

A.4.2 Entradas e saídas da placa

A descrição de todas as conexões de entrada e saída da placa estão na Tabela 13.

Tabela 13 – Conexões de entrada e saída da placa.

Nome do conector

Tipo de conector Sentido Função

Faixa de tensão

Faixa de corrente

CN1 Borne 2P I Entrada da tensão em

220V 220 Vrms 0-500mA

CN2 Borne 2P I Conector da chave

ON/OFF 220 Vrms 0-500mA

CN3 Borne 2P O Saída em 220V para o

transformador 220 Vrms 0-500mA

CN4 Borne 4P I Entrada em 15+15V

para placa 0 –

30Vrms 0 - 1,2A

CN5 HEADER 8 O Acionamento de

Motor 0 -12V 0 – 1A

CN6 HEADER

2X6 O Display LCD 0 - 5V 0- 50mA

CN7 HEADER 8 I Controle 0-5V CN8 HEADER 5 O Indicativo 0-5V CN9 HEADER 8 O Controle 0-5V CN10 HEADER 5 I Indicativo 0-5V

68

A descrição das ligações de pinos dos conectores podem ser vistos na Tabela 14 e

Tabela 15.

Tabela 14 – Descrição de ligações em pinos dos conectores CN1 a CN4.

Pino/ Conector CN1 CN2 CN3 CN4

1 Fase (220V) SW1 Primário transformador +Vcc Sec. Transformador

2 Neutro SW1 Primário Transformador +Vcc Sec. Transformador

3 -- -- -- Ref1. Sec. Transformador

4 -- -- -- Ref2. Sec. Transformador

Tabela 15 – Descrição de ligações em pinos dos conectores CN5 a CN10.

Pino/ Conector CN5 CN6 CN7 CN8 CN9 CN10 1 Fio 1a LEDK CN9_P1 CN10_P1 GND LED3 2 Fio 2a LEDA CN9_P2 CN10_P2 CH1 LED4 3 Fio 1b VSS CN9_P3 CN10_P3 CH2 LED5 4 Fio 2b VDD CN9_P4 CN10_P4 CH3 LED6 5 Comum Fase A V0 CN9_P5 CN10_P5 CH4 GND 6 Comum Fase B RS CN9_P6 -- CH5 -- 7 Comum Fase A RW CN9_P7 -- CH6 -- 8 Comum Fase B E CN9_P8 -- LED 2 --

9~12 -- DB4 ~ DB7 -- -- -- --

A.4.3 Interruptores, botões e chaves seletoras

Descrição de todos os interruptores, botões e chaves seletoras existentes na placa estão

conforme descrições na Tabela 16.

Tabela 16 – Botões e chaves seletoras.

Nome do Interruptor

Tipo do Interruptor

Polaridade do sinal

Função Faixa de tensão

Faixa de corrente

CH1 Push-Button

CC Reset 0 – 5V 0-20mA

CH2 Push-Button

CC Seletor de tensão

0 – 5V 0-20mA

69

Nome do Interruptor

Tipo do Interruptor

Polaridade do sinal

Função Faixa de tensão

Faixa de corrente

CH3 Push-Button

CC Seletor de tensão

0 – 5V 0-20mA

CH4 Push-Button

CC Seletor de tensão

0 – 5V 0-20mA

CH5 Push-Button

CC Seletor de tensão

0 – 5V 0-20mA

CH6 Push-Button

CC Seletor de tensão

0 – 5V 0-20mA

SW1 Alavanca CA Interrupção de energia

200 VRMS 0-500mA

A.4.4 LEDs indicadores

O módulo didático apresenta 6 LEDs, conforme a descrição na Tabela 17.

Tabela 17 – LEDs indicadores.

Nome do LED

Tipo do LED

Cor do LED Função

LED1 redondo 3mm RED Placa energizada LED2 redondo 3mm Blue Microcontrolador em funcionamento LED3 redondo 3mm RED Representativo do enrolamento 1a LED4 redondo 3mm Blue Representativo do enrolamento 2a LED5 redondo 3mm Yellow Representativo do enrolamento 1b LED6 redondo 3mm Green Representativo do enrolamento 2b

A.4.5 Esquemático

O esquemático está dividido em duas partes para uma melhor visualização e é

apresentado na Figura 53 e na Figura 54.

70

Figura 53 – Esquemático do módulo didático parte I.

71

Figura 54 – Esquemático do módulo didático parte II.

72

A.4.6 Lista de materiais

A lista de componentes utilizados no projeto do módulo didático para acionamento de

motor de passo é apresentada na Tabela 18.

Tabela 18 – Lista de componentes.

Nome do componente Tipo do componente

Tecnologia do componente

Modelo

C1, C2 Capacitor Cerâmico, 50V 330nF C3, C4, C5, C6, C7 Capacitor Cerâmico, 50V 100nF

C8, C9 Capacitor Cerâmico, 50V 18pF C10 Capacitor Eletrolítico, 50V 2000uF

C11, C12 Capacitor Eletrolítico, 35V 1uF C13, C14 Capacitor Eletrolítico, 35V 10uF

Cabos 1 e 2 Flat 2x(8Lx15cm) Cabo 3 Flat 5Lx15cm

CH1, CH2, CH3, CH4, CH5, CH6

Push-button Chave Táctil/ 50mA

CI1 Regulador de Tensão TO-220, 1A LM7805 CI2 Regulador de Tensão TO-220, 1A LM7812 CI3 Arranjo de transistores

Darlington DIP18, 50V, 500mA/pino

ULN2803

CI4 PIC DIP40 PIC16F887 CN1, CN2, CN3 Borne 2P Top 2 pinos

CN4 Borne 4P Top 4 pinos CN5, CN7 e CN9 Header XH 8P Top 8 pinos

CN6 Latch 12P Top 2x6 pinos CN8 e CN10 Header XH 5P Top 5 pinos

D1 e D2 Diodo D0-201, 1A, 1000V 1N4007 D3 Diodo DO-35, 200mA 1N4148

Display Display LCD Backlight 16x2 AGM-1602W-801

F1 Fusível 250V/500mA LED1, LED2, LED3, LED4, LED5, LED6

LED Cilíndrico 3mm, 20mA

Motor Motor de Passo 7,5º/12V/290mA 6 fios

AK35BY/12-7.5

Porta Fusível 5mm x 20mm R1, R2, R3, R4, R5, R6 Resistor 1/8 W 10kΩ R7, R8, R9, R10, R11,

R12, R13 Resistor 1/8 W 560 Ω

R14 Resistor 1/8 W 3.3k Ω Soquete 1 DIP18 Soquete 2 DIP40

73

Nome do componente Tipo do componente

Tecnologia do componente

Modelo

SW1 Chave Alavanca SPST 35-000 TP1 Trimpot Horizontal PT10 20kΩ TP2 Trimpot Horizontal PT10 1kΩ TR1 Transformador 15+15V, 1A VR1 Varistor 250V

A.4.7 Leiaute da placa

O leiaute da placa de circuito impressa foi desenvolvido no software Ultiboard 11.0,

obedecendo a regras simples de projeto como manter distância mínima de largura de trilhas e

entre trilhas e evitar ângulos retos em mudanças na direção de trilha.

É possível calcular e obter os resultados de distância mínima de largura de trilhas e a

largura mínima entre trilhas com a Equação( 2 ) [22] e a Equação( 3 ) [23], respectivamente.

Equações que se baseiam em normas internacionais como a International Electrotechnical

Commission (IEC) e Institute for Interconnecting and Packaging Electronic Circuits to IPC

(IPC).

dtrilha(mm) = (23+0,2*VP) ∗ 0,0254 ( 2 )

Onde:

dtrilha – mínima distância entre trilhas, em milímetros;

VP – tensão máxima que a trilha será submetida.

9() = : 11,4 ∗ ℎ< ∗ :

=> ∗ [email protected].<

.,DEF∗ 0,0254

( 3 )

Onde:

w – mínima largura de trilha requerida, em milímetros;

I – corrente máxima, em ampères;

dT – máxima variação de temperatura acima da temperatura ambiente, ºC;

h – espessura do revestimento de cobre, em oz/ft²;

74

k – é 0,024 para camadas internas e 0,048 para camadas externas.

Este projeto utiliza uma espessura de trilha de 0,7mm e distância entre trilha 2,7mm

para tensões de pico de 311 volts e 0,7mm para tensões abaixo de 21 volts.

75

A.4.7.1 Mapa de localização dos componentes

Na Figura 55 é mostrada a disposição dos componentes da vista superior da placa de

medida.

Figura 55 – Mapa de localização dos componentes.

76

A.4.7.2 Face superior

Na Figura 56 encontra-se a face superior da placa, nesta camada não há a presença de

superfície de cobre.

Figura 56 – Face superior da placa.

77

A.4.7.3 Face inferior

Na Figura 57 encontra-se o leiaute face inferior da placa onde contém a superfície

cobreada.

Figura 57 – Face inferior da placa (espelhada).

78

A.4.8 Descrição de funcionamento

Alimenta-se a placa através do conector CN1 com tensão de 220Vrms. Ao conector

CN2 coloca-se uma chave para gerenciar a interrupção de energia do módulo na tensão de

220Vrms. Ao CN3 liga-se o primário de um transformador de 220/15+15V e o secundário ao

conector CN4. A tensão do secundário do transformador é retificada e dois reguladores de

tensão regulam em 5V e 12V. A tensão de 12V alimentará apenas um motor de passo e seu

driver amplificador de corrente (ULN2803A). A tensão de 5V alimentará o restante do

circuito.

O LED1 é uma indicativa de placa ligada.

Na placa COM LC/5-V1.0 encontra-se as chaves de comando e também um LED

indicativo de microcontrolador em funcionamento. As chaves funcionam como entradas de

controle e reset do módulo didático.

É utilizado um microcontrolador PIC16F887. As chaves CH2, CH3, CH4, CH5, CH6

que estão na placa COM LC/5-V1.0 conectadas através dos conectores CN7 da placa PIC LC

/220V–V1.0 e CN9 da placa COM LC/5-V1.0 selecionam o nível de tensão em entradas do

microcontrolador, sendo o modo de entrada de controle do microcontrolador. As informações

de entrada e saída podem ser acompanhadas por um LCD conectado ao conector CN6.

Na placa IND LC/5-V1.0 encontram-se LED’s indicadores, onde a cada comando

dado ao acionamento de uma determinada bobina no motor de passo acionada o LED

correspondente, as placas PIC LC /220V–V1.0 e IND LC/5-V1.0 estão conectadas através

dos conectores CN8 e CN10 respectivamente.

Para o acionamento do motor de passo, o microcontrolador envia as informações ao CI

ULN2803A (ou equivalente) e este amplifica o sinal de corrente necessária para o

acionamento do motor de passo.

A.4.9 Modos de utilização da placa

Esta placa deve ser usada para acionamento e controle de um motor de passo de 12V e

corrente máxima de 300mA por fase.

79

A.4.10 Precauções

As placas são confeccionadas em uma etapa apenas e ficam ligadas entre si por

pequenos pontos que devem ser contados para separação.

Em CN9 e CN10 os fios devem ser soldados diretamente nas placas por limitações de

espaço.

A.4.11 Orçamento

O orçamento detalhado dos componentes utilizados no projeto é visto na Tabela 19,

orçamento realizado até julho de 2013.

Tabela 19 – Orçamento de componentes.

Tipo do componente Modelo Qtd.

Preço Unitário

Preço Total

Fornecedor

Motor de Passo 12V 290mA 7.5º 1 R$ 44,00 R$ 44,00 Tekkno

Mecatrônica Capacitor 100nF 5 R$ 0,10 R$ 0,50 Miro Capacitor 18pF 2 R$ 0,10 R$ 0,20 Miro Capacitor 330nF 2 R$ 0,10 R$ 0,20 Miro

Capacitor 1uF/35V

eletrolítico 2 R$ 0,10 R$ 0,20 Miro

Capacitor 10uF/35V eletrolítico

2 R$ 0,10 R$ 0,20 Miro

Capacitor 2200uF/50V eletrolítico

1 R$ 4,00 R$ 4,00 Miro

Resistor 560Ω 6 R$ 0,10 R$ 0,60 Miro Resistor 10kΩ 6 R$ 0,10 R$ 0,60 Miro Resistor 3.3kΩ 11 R$ 0,10 R$ 1,10 Miro Diodo 1N4007 2 R$ 0,06 R$ 0,12 Farnell Diodo 1N4148 1 R$ 0,04 R$ 0,04 Farnell LED 3mm, cilíndrico 6 R$ 0,23 R$ 1,38 Farnell

Trimpot PT10 horizontal /

10k 1 R$ 0,80 R$ 0,80 soldafria.com.br

Trimpot PT10 horizontal /

2k 1 R$ 0,80 R$ 0,80 soldafria.com.br

80

Tipo do componente

Modelo Qtd. Preço Unitário

Preço Total

Fornecedor

Regulador de Tensão

LM7805CT 1 R$ 1,15 R$ 1,15 Farnell

Regulador de Tensão

LM7812CT 1 R$ 1,19 R$ 1,19 Farnell

Arranjo Darlington

ULN2803 1 R$ 3,00 R$ 3,00 Miro

Microcontrolador PIC16F887 1 R$ 11,63 R$ 11,63 Farnell 27M9657

Fusível 500mA 250V 1 R$ 0,06 R$ 0,06 Eletrodex Eletrônica

Varistor 250V 1 R$ 1,00 R$ 1,00 Miro

Push-Button Chave táctil SPST-NO

6 R$ 0,30 R$ 1,80 soldafria.com.br

Conector Borne 2P 3 R$ 0,23 R$ 0,69 Eletrodex Eletrônica

Conector Borne 4P 1 R$ 0,23 R$ 0,23

Conector HEADER 6P 3 R$ 0,15 R$ 0,45 Eletrodex Eletrônica

Conector HEADER 8P 2 R$ 0,15 R$ 0,30 Eletrodex Eletrônica

Conector HEADER 2x6P 1 R$ 0,17 R$ 0,17 Eletrodex Eletrônica

Conector Conector Latch

fêmea 12P 1 R$ 0,30 R$ 0,30

Eletrodex Eletrônica

Chave SPST 35-000 1 R$ 4,00 R$ 4,00 soldafria.com.br Socket DIP40 1 R$ 1,00 R$ 1,00 Farnell Socket DIP18 1 R$ 0,85 R$ 0,85 Farnell

Base Porta Fusível 5X20 1 R$ 0,05 R$ 0,05 Eletrodex Eletrônica

Display LCD 16X2 1 R$ 26,17 R$ 26,17 Farnell

(AGT0001) Transformador 15+15 1A 1 R$ 17,00 R$ 17,00 Mieletronics

TOTAL R$ 133,78

APÊNDICE B – Código em linguagem de programação C.

/* Trabalho de Conclusão de Curso Acionamento de uma motor de passo, escreve no LCD utilizando um PIC16F887 09 de setembro de 2012 Autor: Leandro Cargnelutti Orientador: Prof. Cassiano Rech, Dr. Eng. Universidade Federal de Santa Maria */ #include <16f887.h> #include <math.h> #include <stdio.h> // necessário para uso do printf #include <stdlib.h> #include <string.h> #FUSES NOWDT //No Watch Dog Timer #FUSES XT //Crystal osc #FUSES NOPUT //No Power Up Timer #FUSES MCLR //Master Clear pin enabled #FUSES NOPROTECT //Code not protected from reading #FUSES CPD //Data EEPROM Code not Protected #FUSES BROWNOUT //Reset when brownout detected #FUSES IESO //Internal External Switch Over mode enabled #FUSES FCMEN //Fail-safe clock monitor enabled #FUSES NOLVP //No low voltage prgming, B3 used for I/O #FUSES NODEBUG //No Debug mode for ICD #FUSES NOWRT //Program memory not write protected #FUSES BORV21 //Brownout reset at 2.1V #use delay(clock=4000000) // Definem quais pinos do PIC controlarão os pinos do LCD #define lcd_enable pin_a1 // pino enable do LCD #define lcd_rs pin_a0 // pino rs (register select)do LCD #define lcd_db4 pin_a5 // pino de dados d4 do LCD #define lcd_db5 pin_a2 // pino de dados d5 do LCD #define lcd_db6 pin_a4 // pino de dados d6 do LCD #define lcd_db7 pin_a3 // pino de dados d7 do LCD //Botões de seleção e comandos #define right pin_b7 #define up pin_b5 #define left pin_b4

82

#define down pin_b6 #define Ok pin_b0 #define N_Passo 48 // Numero de passos em uma volta completa #define LED2 pin_d4 // Pino 27 do PIC - LED indicativo //DEFINIÇÃO E INICIALIZAÇÃO DOS PORTS ///*Configura todos os pinos como GPIO (General purpose In/Out). #use fast_io(a) // Inicialização rápida dos Pinos de I/O #use fast_io(b) #use fast_io(c) #use fast_io(d) //#use fast_io(e) //endereço em hexadecimal - banco 0 #byte porta = 0x05 #byte portb = 0x06 #byte portc = 0x07 #byte portd = 0x08 #byte porte = 0x09 // variáveis globais int8 i=0; // i - variável auxiliar para contagem do número de posições do vetor de comandos. unsigned int16 tempo=1000; // Tempo de espera antes de acionar a próxima bobina, sem considerar o tempo que o comando do LCD incrementa. //ENVIO DE NIBBLE PARA O LCD //Esta rotina lê o "Nibble" inferior de uma variável e envia para o LCD. //1byte = 8 bits = 2 Nibbles //Serão enviados para os pinos db4, db5, db6, db7 do LCD void lcd_send_nibble(int dado) // nibble=meio byte, transmissao em 4 bits //Carrega as vias de dados (pinos) do LCD de acordo com o nibble lido output_bit(lcd_db4, bit_test(dado,0)); //Carrega DB4 do LCD com o bit DADO<0> output_bit(lcd_db5, bit_test(dado,1)); //Carrega DB5 do LCD com o bit DADO<1> output_bit(lcd_db6, bit_test(dado,2)); //Carrega DB6 do LCD com o bit DADO<2> output_bit(lcd_db7, bit_test(dado,3)); //Carrega DB7 do LCD com o bit DADO<3> //Gera um pulso de enable output_high(lcd_enable); // ENABLE = 1 delay_us(1); // Tempo para estabilizar o LCD output_low(lcd_enable); // ENABLE = 0 return; // Retorna ao ponto de chamada

83

//ENVIO DE BYTE PARA O LCD // Esta rotina irá enviar um dado ou um comando para o LCD conforme abaixo: // ENDEREÇO = 0 -> a variável DADO será uma instrução // ENDEREÇO = 1 -> a variável DADO será um caractere void lcd_send_byte(boolean endereco, int dado) output_bit(lcd_rs,endereco); // Seta o bit RS para instrução ou caractere delay_us(100); // Aguarda 100 us para estabilizar o pino do LCD output_low(lcd_enable); // Desativa a linha ENABLE lcd_send_nibble(dado>>4); // Envia a parte ALTA do dado/comando lcd_send_nibble(dado & 0x0f); // Limpa a parte ALTA e envia a parte BAIXA do //dado/comando delay_us(40); // Aguarda 40us para estabilizar o LCD return; // Retorna ao ponto de chamada da função // Esta rotina serve apenas como uma forma mais fácil de escrever um caractere no display. void lcd_gotoxy( byte x, byte y) // x->COLUNA, y->LINHA byte endereco; if(y!=1) endereco = 0x40; //lcd_seg_lin; endereço da segunda linha -> tabelado else endereco = 0; endereco += x-1; lcd_send_byte(0,0x80|endereco); // endereçoo 0x00 mas somado de 80 return; // Rotina para enviar caractere ao display LCD void lcd_putc(char c) switch (c) case '\f' : lcd_send_byte(0,1); delay_ms(2); break; // limpa o LCD case '\n' : lcd_gotoxy(1,2); break; // posiciona o cursor na segunda linha case '\b' : lcd_send_byte(0,0x10); break; // retorno de um caractere default : lcd_send_byte(1,c); break; //Envia o caractere ao display // Rotina para limpar display LCD void limpa_lcd() lcd_send_byte(0,0x01); // Envia instrução para limpar o LCD delay_ms(2); // Aguarda 2ms para estabilizar o LCD return; // Retorna ao ponto de chamada da função // Rotina para inicialização do Display LCD

84

void inicializa_lcd() output_low(lcd_db4); // Garante que o pino DB4 estão em 0 (low) output_low(lcd_db5); // Garante que o pino DB5 estão em 0 (low) output_low(lcd_db6); // Garante que o pino DB6 estão em 0 (low) output_low(lcd_db7); // Garante que o pino DB7 estão em 0 (low) output_low(lcd_rs); // Garante que o pino RS estão em 0 (low) output_low(lcd_enable); // Garante que o pino ENABLE estão em 0 (low) delay_ms(15); // Aguarda 15ms para estabilizar o LCD lcd_send_nibble(0x03); // Envia comando para inicializar o display delay_ms(5); / Aguarda 5ms para estabilizar o LCD lcd_send_nibble(0x03); // Envia comando para inicializar o display delay_ms(5); // Aguarda 5ms para estabilizar o LCD lcd_send_nibble(0x03); // Envia comando para inicializar o display delay_ms(5); // Aguarda 5ms para estabilizar o LCD lcd_send_nibble(0x02); // CURSOR HOME - Envia comando para zerar //o contador de caracteres e retornar à posição inicial // (0x80). delay_ms(1); // Aguarda 1ms para estabilizar o LCD lcd_send_byte(0,0x28); // FUNCTION SET - Configura o LCD para 4 bits, // 2 linhas, fonte 5X7. lcd_send_byte(0,0x0C); // DISPLAY CONTROL - Display ligado, sem cursor limpa_lcd(); // Limpa o LCD lcd_send_byte(0,0x06); // ENTRY MODE SET - Desloca o cursor para a direita return; // Retorna ao ponto de chamada da função // Escreve no display o numero de passssos, o valor do angulo, o numero de voltas, e o sentido de giro void escreve_inf(signed long int Passo, byte Tipo,byte sentido) float Angulo=0.0; float v360=360.0; float volta=0.0; if (Tipo==0) Tipo=1; // se for halfstep o valor do angulo deve ser dividido por 2; Angulo=Passo*v360/N_Passo/Tipo; ;//Angulo Volta=Passo/N_passo/Tipo; if ((Angulo>=v360)||(Angulo<=-v360)) Angulo=Angulo-v360*Volta; lcd_gotoxy(1,1); printf(lcd_putc,"P:%5ld",Passo); printf(lcd_putc," A:%5.1f",Angulo); printf(lcd_putc,"\nV:%2.0f",Volta); if (sentido==1) lcd_putc(" Sentido:AH");

85

else lcd_putc(" Sentido: H"); RETURN; // Aciona a porta C conforme a programação void ACIONA(signed long int Passo, byte tipo, short int sentido ) int16 k=0; // k - variável auxiliar para contagem do número de passos //int8 i=0; // i - variável para contagem do número de posições do vetor de comandos. //Para acionar os LED's incdicadores de acionamento de bobinas. char vector[3][8]=17,66,36,136,17,66,36,136, 83,102,172,153,83,102,172,153, 17,83,66,102,36,172,136,153; // Primeiros 8 numeros relativos ao acionamento Passo Completo Simples // Oito seguidos relativos ao acionamento Passo Completo Dual // Últimos 8 números relativo ao acionamento em meio passo; lcd_send_byte(0,0x01); // Envia instrução para limpar o LCD if (Passo>=0) for (k=1; k<=Passo; k++) delay_ms(tempo); output_c(vector[tipo][i]); // saida do portC de 8 bits escreve_inf(k,Tipo,sentido); i++; if(i==8)i=0; else for (k=1; k<=-Passo; k++) delay_ms(tempo); output_c(vector[tipo][i]); / saida do portC de 8 bits escreve_inf(k,Tipo,sentido); i--; if(i==-1)i=7; Return; // Aciona o PortC sem atualizar informações no Display void aciona_fast(signed long int Passo, byte tipo, short int sentido ) int16 k=0; // k - variável auxiliar para contagem do número de passos char vector[3][8]=17,66,36,136,17,66,36,136, 83,102,172,153,83,102,172,153, 17,83,66,102,36,172,136,153;

86

printf(lcd_putc,"\f Tempo Morto \n %lu ms ",tempo); while(input(ok) == true) if (Passo>=0) for (k=1; k<=Passo; k++) delay_ms(tempo); output_c(vector[tipo][i]); // saida do portC de 8 bits i++; if(i==8)i=0; else for (k=1; k<=-Passo; k++) delay_ms(tempo); output_c(vector[tipo][i]); // saida do portC de 8 bits i--; if(i==-1)i=7; break; output_c(0b00000000); // desativa as bobinas para economia de energia Return; // Abertura void abertura () lcd_putc("\fEscolha as opcoes\ne aperte OK "); lcd_send_byte(0,0x0F); // ativa cursor piscante delay_ms(500); lcd_send_byte(0,0x0C); // desativa cursor limpa_lcd(); // envia comando para linpar LDC // delay_ms(500); // Escolha do tipo de acionamento do motor lcd_putc(" Tipo de \n Acionamento:"); delay_ms(500); lcd_putc("\f1-Passo Completo"); lcd_putc("\nSimplesExcitacao"); delay_ms(500); //desloca(13,0); //desloca(0,13);

87

lcd_putc("\f2-Passo Completo"); lcd_putc("\nDupla Excitacao"); delay_ms(500); //desloca(15,0); //desloca(0,15); lcd_putc("\f3-Meio Passo"); lcd_putc("\nExcitacao Mista "); delay_ms(500); //desloca(20,0); //desloca(0,20); return; // retorna ao ponto de chamada da função. // Rotina para modificar intervalo de acionamento das bobinas void mod_tempo() float tm; // tempo morto fixo dependente da programaçao e acionamento float ppm, pps,T,f,rpm, pps0=(16.666667); // pps0 -> passo por seg -> via ensaio limpa_lcd(); while(input(ok) == true) if (input(right) == FALSE) tempo=tempo+1; limpa_lcd(); if (input(up) == FALSE) tempo=tempo+10; limpa_lcd(); if (input(left) == FALSE) tempo=tempo-1; limpa_lcd(); if (input(down) == FALSE) tempo=tempo-10; limpa_lcd(); if (!(input(right)) && (!input(up))) tempo=tempo+100; limpa_lcd(); if (!(input(down)) && (!input(left))) tempo=tempo-100; limpa_lcd(); //if (tempo<0) tempo=1000; if (tempo>(5000))tempo=0; tm=(1e3/pps0); // tempo morto (ms) fixo - encontrado por ensaio f=(1e3/(N_Passo*(tm+tempo))); // tempos que funçoes do LCD ocupam T=(1/f); rpm=(f*60.0); ppm=(rpm*N_Passo); // passos por minuto pps=(ppm/60); // passos por segundo tm=(tm+tempo); printf(lcd_putc,"%4.0fms %4.1fpps ",tm,pps); printf(lcd_putc,"\n%2.2frpm %4.0fppm ",rpm,ppm); //printf(lcd_putc,"Tempo Morto \nTempo(ms):%lu ",tempo); delay_ms(200);

88

delay_ms(500); return; // Rotina de Inicialização de de portas e LCD void inicializacao() // Reseta portas porta = 0; //ou porta=0x00; ou porta=0b00000000; portb = 0; portc = 0; portd = 0; porte = 0; // configura os tris set_tris_a(0b11000000); // configuração da direção dos pinos de I/O set_tris_b(0b11111111); // ou set_tris_b(0b00000000); set_tris_c(0b00000000); // 1 - IN , 0-OUT set_tris_d(0b00000000); // output_high(LED2); // Liga led indicador de Estado inicializa_lcd(); // Inicializa o LCD return; //retorna ao ponto de chamada // PROGRAMA PRINCIPAL main() byte tipo=1; short int sentido; signed long int Passo=0; inicializacao(); abertura(); while (true) // Laço infinito lcd_putc("\f"); // Limpa tela LCD while (input(ok)) if (!input(right)) Tipo++; if (!input(up)) Tipo++; if (!input(left)) Tipo--;

89

if (!input(down)) Tipo--; if (!(input(right)) && (!input(left))) mod_tempo(); // Modificar intervalo de acionamento limpa_lcd(); // Limpa LCD if (!(input(down)) && (!input(up))) aciona_fast(Passo,Tipo,sentido); limpa_lcd(); if (Tipo>3)Tipo=1; if (Tipo<1)Tipo=3; // printf(lcd_putc,"\n--> %u",Tipo); switch (Tipo) case 1 : lcd_gotoxy(1,1); printf(lcd_putc,"%d-Passo Completo\nExcitacaoSimples",Tipo); break; case 2 : lcd_gotoxy(1,1); printf(lcd_putc,"%d-Passo Completo\nDupla Excitacao ",Tipo); break; case 3 : lcd_gotoxy(1,1); printf(lcd_putc,"%d-Meio Passo \nExcitacao Mista ",Tipo); break; default : break; delay_ms(200); Tipo--; // para facilitar a chamada do vetor de comandos que tem inicio em 0; limpa_lcd(); delay_MS(500); // define quantos passos deve percorrer while (input(ok)==true) if (input(right) == FALSE) Passo=Passo+1; limpa_lcd(); if (input(up) == FALSE) Passo=Passo+10; limpa_lcd(); if (input(left) == FALSE) Passo=Passo-1; limpa_lcd(); if (input(down) == FALSE) Passo=Passo-10; limpa_lcd(); if (!(input(right)) && (!input(up))) Passo=Passo+100; limpa_lcd(); if (!(input(down)) && (!input(left))) Passo=Passo-100; limpa_lcd(); if (!(input(right)) && (!input(left))) mod_tempo(); // Modificar intervalo de acionamento limpa_lcd(); // Limpa LCD if (!(input(down)) && (!input(up))) aciona_fast(Passo,Tipo,sentido); limpa_lcd(); // diminui o temp morto

90

if (Passo>=0) sentido=0; else sentido=1; escreve_inf(Passo,Tipo,sentido); delay_ms(200); // Aciona o Motor, dando informações ao usuário no LCD ACIONA(Passo,Tipo,sentido); //delay_ms(200); while (input(ok)) delay_ms(200); output_c(0b00000000); // desativa as bobinas para economia de energia delay_ms(500); // FIM DO PROGRAMA