Interfaceamento com motores-de-passo, servo motores e LCD

Propaganda
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
Polaridade:
Tandon TM100
+12v dc, four-phase,
unipolar, 3.6°/passo
Unipolar 8 fios
Unipolar 6 fios
Unipolar = corrente circula
em um só sentido
Bipolar = corrente flui
alternadamente em ambos os
sentidos
Resolução: dada pelo
número de polos do rotor
Bipolar
Prof. Heitor S. Lopes – UTFPR - 2009
Modos de acionamento
Passo completo:
Meio passo:
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
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 enrolamentos 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
+Vss
9
100n
Out2
2
3
4
Vref
Out3
Out4
13
14
L298N
B
A
100n
1
IN1
EnA
IN2
3
2
4
5
12
6
7
11
10
1
8
15
SenseA
IsenseB
RsA
Gnd
RsB
IN4
EnB
IN3
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:
Torque:
0,23 seg/60° @ 4.8V
0,16 seg/60° @ 6V.
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:
7-14
D0-D7
Barramento de dados:
EN=0 – Desabilitado
EN=1 – Habilitado
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
RS=0 RW=1 EN=1
Envia caracter em ASCII através do barramento de dados
DB0..DB7 (tempo: >20 µs)
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
1
Módulo 16x1:
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
1
Módulo 16x2:
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
Download