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