Você está na página 1de 28

UTFPR

Departamento de Eletrônica

Microcontroladores

Interfaceamento com
motores, LCD e teclados

Prof. Heitor Silvério Lopes


Prof. Heitor S. Lopes – UTFPR - 2009

Motor de passo
 Fases = número de
enrolamentos
 Tandon TM100
 +12v dc, four-phase,
unipolar, 3.6°/passo

Unipolar 8 fios
 Polaridade: Unipolar 6 fios

 Unipolar = corrente circula


em um só sentido
 Bipolar = corrente flui
alternadamente em ambos os
sentidos
 Resolução: dada pelo  Bipolar
número de polos do rotor
Prof. Heitor S. Lopes – UTFPR - 2009

Modos de acionamento
 Passo completo:
 Energiza-se ambos os enrolamentos e reverte-se o sentido
da corrente alternadamente.
 P.ex. um motor de 200 passos por volta faz 360/200=1,8o
por passo
 Meio passo:
 Energiza-se um enrolamento, depois dois enrolamentos
alternadamente.
 P.ex. um motor de 200 passos por volta faz 360/400=0,9o
por passo
 Micropasso:
 Subdivide o número de posições entre os polos através do
controle preciso da corrente. É possível chegar até a 1/256
de um passo completo, isto é, 0,007o por passo
 É utilizado para posicionamento de alta precisão
Prof. Heitor S. Lopes – UTFPR - 2009

Acionamento de motor de passo


(passo completo e meio-passo)
 Unipolar:

 Bipolar:
Prof. Heitor S. Lopes – UTFPR - 2009

Curva Rotação x Torque


 A indutância dos enrola-
mentos determina os tempos
de subida/descida da corrente

 Para baixa rotação Ts e Td têm


pouca influência no motor

 Para alta rotação, o efeito da


indutância limita o torque
Prof. Heitor S. Lopes – UTFPR - 2009

Drivers para acionamento


 Para acionamento unipolar utiliza-se um transistor
por fase
 Para baixa corrente (<500mA): ULN2003/ULN2805
Prof. Heitor S. Lopes – UTFPR - 2009

Drivers para acionamento


 Para acionamento bipolar é preciso
quatro transistores por fase (ponte H)
Prof. Heitor S. Lopes – UTFPR - 2009

Lógica discreta para acionamento


 Circuito lógico para acionamento bidirecional de
um motor de passo bipolar
Prof. Heitor S. Lopes – UTFPR - 2009

Controle de velocidade de motor DC


 Controle de velocidade por variação da tensão
média eficaz no enrolamento:
 Reostato em série
 Modulação por Largura de Pulso (PWM)
Prof. Heitor S. Lopes – UTFPR - 2009

Circuito driver para motores


 Utiliza-se componentes de potência com
proteção para o chaveamento
 Transistores bipolares, MOSFETs, IGBTs
Prof. Heitor S. Lopes – UTFPR - 2009

Modulação por largura de pulso - PWM


 Objetivo: controlar o valor médio de tensão na
carga
Prof. Heitor S. Lopes – UTFPR - 2009

Circuito driver para motores


 ST L298: dupla ponte-H:
 Entradas TTL, sensor de corrente, boa
imunidade a ruído, até 4 A e 46 V
+Vs
Out1 Out2 100n Out3 Out4

+Vss 2 3 4 13 14 L298N
9
Vref
A B
100n

1 2 3 4
5 12
IN1 IN4

6 11 EnB
EnA
7 10 IN3
IN2
1 8 15
SenseA IsenseB
RsA RsB
Gnd
Prof. Heitor S. Lopes – UTFPR - 2009

Circuito alternativo para controle e


acionamento de motor de passo
Prof. Heitor S. Lopes – UTFPR - 2009

Acionamento bidirecional de motor


DC com ponte-H
Prof. Heitor S. Lopes – UTFPR - 2009

Realimentação de velocidade
 Analógica:
 Taco-gerador
ligado ao eixo do
motor.
 Limitação: ruído
em baixa rotação

 Digital:
 Encoder ligado ao
eixo
 Limitação: máxima
freqüência de
chaveamento dos
sensores ópticos
Prof. Heitor S. Lopes – UTFPR - 2009

Servomotor
 Dispositivo eletromecânico cujo
posicionamento acompanha um sinal de
entrada (escravo ou servo de um sinal).
 Exemplo: servomotor FUTABA S3003
 Velocidade:
 0,23 seg/60° @ 4.8V
 0,16 seg/60° @ 6V.
 Torque:
 3,2 kg-cm @ 4,8V
 4,1 kg-cm @ 6V
 Dimensões: (CxLxA) 41x20x36 mm
 Peso: 37,2g
 Ângulo de operação: ~200graus
Prof. Heitor S. Lopes – UTFPR - 2009

Acionamento de servomotor
 Largura do pulso positivo c/ 60 pulsos/seg:

 1 ms  -90 graus
 1,52 ms  0 graus
 2 ms  +90 graus

 Modulação PWM:
 Freqüência: 40-60 Hz
 Variação do duty-cycle
Prof. Heitor S. Lopes – UTFPR - 2009

Interface com teclas


 Teclas: contato mecânico com dispositivo de
recuo (mola), reed-switch ou magnético
 Problema: ruído causado pelo rebote (bounce)
da tecla

480 µs 840 µs
Prof. Heitor S. Lopes – UTFPR - 2009

Técnicas de debouncing
 O tempo de bouncing depende do tipo da
tecla e se é abertura/fechamento.
 Duração: dezenas µs a centenas de ms.
 Solução:
 por software (temporização)
 por hardware (RC ou FF SR)

Usar Schmit-trigger
(p.ex. 7414)
Prof. Heitor S. Lopes – UTFPR - 2009

Debouncing por software


 Opções:
 Aguardar um tempo fixo prolongado quando
uma tecla mudar de estado (p.ex. < 0,5 s)
 Contar n estados estáveis da tecla (com um
intervalo de tempo entre cada verificação
(1-50 ms). Se o estado não for estável,
reinicializa o contador
Prof. Heitor S. Lopes – UTFPR - 2009

Debouncing por hardware


 Usando componente específico:
MC14043B (Quad RS Latch)
Prof. Heitor S. Lopes – UTFPR - 2009

Teclado de 16 teclas multiplexado


C0 C1
Prof. Heitor S. Lopes – UTFPR - 2009

Módulo LCD
 LCD: Liquid Cristal Display
 Pinagem: 14/16 pinos (15-16 p/backlight)
Pino Símbolo Descrição
1 Vss Alimentação – GND Terra
2 Vdd Alimentação – Vcc 5 Volts
3 Vo Entrada de contraste – normalmente ligado a um trimpot de 10
KOhm ligado entre GND e Vcc
4 RS Seleção de dado/instrução RS=0 – Instrução
RS=1 – Dado

5 R/W Seleção de escrita e leitura R/W=0 – LCD em modo escrita


R/W=1 – LCD em modo leitura

6 EN Seleção de ENABLE do LCD: EN=0 – Desabilitado


EN=1 – Habilitado

7-14 D0-D7 Barramento de dados: D0 – Bit menos significativo


D7 – Bit mais significativo
Prof. Heitor S. Lopes – UTFPR - 2009

Timing do HD44780
Prof. Heitor S. Lopes – UTFPR - 2009

Principais comandos do LCD


 RS=0 RW=0 EN=1 (instruções p/ o HD44780)
 Reset: 01h (tempo: 1,64 ms)
 Home: 02h (tempo: 1,64 ms)
 Configuração (tempo: 40 µs): 20h +
 10h (modo 8 bits)
 08h (2 linhas)
 04h (caracter 5x10)
 Configuração do cursor (tempo: 40 µs): 08h +
 04h (habilita display)
 02h (habilita cursor)
 01h (cursor pisca)
Prof. Heitor S. Lopes – UTFPR - 2009

Principais comandos do LCD


Prof. Heitor S. Lopes – UTFPR - 2009

Outros comandos do LCD


 RS=1 RW=0 EN=1
 Envia caracter em ASCII através do barramento de dados
DB0..DB7 (tempo: >20 µs)

 RS=0 RW=1 EN=1


 Leitura do Busy Flag no bit 7. Se BF=1 a última operação
ainda não terminou

 RS=0 RW=0 EN=1


 Estabelece a posição de escrita do próximo caracter
enviando o comando 80h+posição no display
Prof. Heitor S. Lopes – UTFPR - 2009

Endereços das posições no display


 Módulo 16x1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

 Módulo 16x2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

 OBS: Alguns LCDs podem ter endereços


diferentes destes – veja o datasheet

Você também pode gostar