Dispositivos de I/O (teclado matricial, LCD, motores)

69
Prof. Ronnier Prof. Rubão Dispositivos de I/O (teclado matricial, LCD, motores) Disciplina de Microcontroladores

Transcript of Dispositivos de I/O (teclado matricial, LCD, motores)

Page 1: Dispositivos de I/O (teclado matricial, LCD, motores)

Prof. RonnierProf. Rubão

Dispositivos de I/O(teclado matricial, LCD, motores)

Disciplina de Microcontroladores

Page 2: Dispositivos de I/O (teclado matricial, LCD, motores)

Portas de I/O no 8051- AT89C5131 tem 05 ports de 8 bits (P0 a P4)

Page 3: Dispositivos de I/O (teclado matricial, LCD, motores)

Portas de I/O no 8051

Page 4: Dispositivos de I/O (teclado matricial, LCD, motores)

Portas de I/O no 8051- É possível realizar escritas e leituras individualmente em

todos os bits de I/O disponíveis, não havendo necessidade de pré programar cada porta, especificamente como saída ou entrada.

- Exemplos: Para se escrever um byte no Port 1 (8 bits de saída), pode-se utilizar a instrução MOV P1, #byte. Para se ler um byte do port P3 (8 bits de entrada), pode-se utilizar a instrução MOV A, P3.

- Para acessar bits individuais dos Ports pode-se fazer uso da instrução MOV bit, C para efetuar operações de saída e a instrução MOV C, bit para efetuar operações de entrada. Além de instruções de transferencia de dados, também é possível utilizar instruções lógicas (ANL, ORL, XRL), aritméticas (ADD, ADDC, DEC, INC, SUBB), de manipulação de variáveis booleanas (CLR, CPL, SETB) e de controle de programa (CJNE, DJNZ, JB, JNB, JBC)

Page 5: Dispositivos de I/O (teclado matricial, LCD, motores)

Portas de I/O no 8051Estrutura simplificada de um terminal de I/O (Port 1)

No caso de leitura, cada bit comporta-se como um buffer tri-state e no caso de escrita comporta-se como um flip-flop D.

Page 6: Dispositivos de I/O (teclado matricial, LCD, motores)

Portas de I/O no 8051Estrutura simplificada de um terminal de I/O (Port 1)

- Quando um bit é escrito no Port, este trafega pelo barramento de dados interno do microcontrolador até a entrada do flip-flop D e, após um pulso na entrada de clock, é levado à saída do mesmo. O restante do circuito eletrônico encarrega-se de levar o nível lógico adequado ao terminal externo.

- No caso de leitura do Port, algumas das instruções leem o estado dos terminais, enquanto outras leem o estado dos flip-flops internos. As instruções que leem o estado dos flip-flops são aquelas que alteram e escrevem novamente o valor dos bits (INC, DEC, CPL, JBC, DJNZ, ANL, ORL e XRL). As demais instruções leem o estado presente nos terminais externos.

Page 7: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado Matricial

Page 8: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado Matricial

Page 9: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado Matricial

Page 10: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado MatricialVarredura em teclado

Page 11: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado MatricialVarredura

Page 12: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado MatricialDiodos de proteção

Page 13: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado MatricialDebouncing

- Teclas mecânicas (ruído causado pelo rebote - Bounce)

- Depende do tipo de tecla- Dura de dezenas de microssegundos a centenas de milissegundos

Page 14: Dispositivos de I/O (teclado matricial, LCD, motores)

Teclado MatricialTécnicas de Debouncing

- Remoção por software (temporização)- Remoção por hardware

Usar MC14043 – 04 FF tipo RS

Usar Schmitt Trigger

Page 15: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD

Modo AlfanuméricoModo Gráfico

Page 16: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD

Page 17: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDAlfanumérico

Page 18: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDModo Alfanumérico

Page 19: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDModo Alfanumérico Controlador interno HD 44780

Page 20: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDModo Alfanumérico

- Caractere composto em uma matriz de pixels com 8x5

Controlador interno HD 44780

Page 21: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDModo Alfanumérico

Page 22: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDLigação LCD em microcontrolador PIC

Page 23: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDTemporização

Page 24: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDTemporização

Page 25: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD

Instruções LCD modo alfanumérico

Page 26: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD

SequênciaInicialização

Page 27: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCDSequênciaInicialização

Page 28: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Endereços dos caracteres

Page 29: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Endereços dos caracteres

Observação

Para ilustrar, o endereçamento de um display LCD 16X02 é oseguinte:

Como devemos, obrigatoriamente fazer com que o bit maissignificativo do endereço seja 1, o valor que devemos passarpara o LCD é:

Page 30: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Tabela de Caracteres

Existe uma memória interna pré-programada com caracteres

Tabela conhecida como ROM Code A00

Page 31: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Tabela de Caracteres

Obs. Existem alguns LCD que possuem esta tabela, mas são mais raros e antigos

Tabela conhecida como ROM Code A02

Page 32: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Caracteres especiais

- Pode personalizar 08 caracteres- Armazenados em uma memória RAM – CGRAM- Ou seja, se perdem ao desligar o LCD.- Os endereços 0x00 à 0x07 são reservados para

caracteres criados pelo usuário.- Envia-se para o LCD a condição (0 ou 1) de cada pixel

do caractere em 8 bits.- Para criá-lo, define-se como será com base em uma matriz 5x8

Page 33: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Caracteres especiais

Page 34: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Caracteres especiais

Page 35: Dispositivos de I/O (teclado matricial, LCD, motores)

Display LCD Caracteres especiais

Com o caractere pronto, basta programá-lo na CGRAM enviando a sequência de comando correta;- Primeiro, o comando “SET CGRAM ADRESS” + o

endereço inicial;- Para o primeiro caractere disponível : 00010000;- Em seguida, os 8 bytes que formam o caractere.- Se continuarmos inserindo informações de bytes, o

ponteiro passará para o segundo endereço do caractere e assim por diante;

- Então, para programar os caracteres disponíveis, basta enviar o comando “SET CGRAM ADRESS”+ o endereço 0x00 e passarmos, em seguida, os 64 bytes que formarão os 8 novos caracteres;

Page 36: Dispositivos de I/O (teclado matricial, LCD, motores)

Display Gráfico

Page 37: Dispositivos de I/O (teclado matricial, LCD, motores)

Display GráficoPinagem

Page 38: Dispositivos de I/O (teclado matricial, LCD, motores)

Display GráficoPaginamento

Page 39: Dispositivos de I/O (teclado matricial, LCD, motores)

Display GráficoLigação

Page 40: Dispositivos de I/O (teclado matricial, LCD, motores)

Display GráficoComandos

Page 41: Dispositivos de I/O (teclado matricial, LCD, motores)

MotoresMotor DC Motor-de-passo

Servo-motor

Page 42: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor DC

- Apenas dois fios (os de baixa potência)- Motor “analógico” – varia tensão e corrente, varia torque e velocidade- Necessita drivers de corrente para utilização em microcontroladores

Page 43: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor DC

- Pode se variar a velocidade, também, em modo digital

PWM – Pulse Width Modulation

Page 44: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor DCPWM

Page 45: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor DC

- Também pode ser invertido o sentido de rotação

Ponte H

Page 46: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passo- Também chamado de motor “digital”- Rotação independe da corrente e tensão aplicada nas fases

Page 47: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoTipos

Page 48: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoDiagrama de ligação – Motores Unipolares

Page 49: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoDiagrama de ligação – Motores Bipolares

Utilização de Ponte H integrada (ou discreta)

Circuito integrado L298

Page 50: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoUtilização de controlador adicional – L297

Motor Bipolar

Page 51: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoUtilização de controlador adicional – L297

Motor Unipolar

Page 52: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passo

Modos de Operação

• PASSO COMPLETO• MEIO-PASSO• MICROPASSO

• Passo – incremento mecânico no rotor. Pode ser sentido nos dedos cada passo do motor, pois há engrenagem mecânica em repouso para isso

• Normalmente o motor é classificado pelo número de passos. Ex. 200 passos

• Se um motor tem 200 passos, em cada rotação (360º), significa que cada passo possui 1,8º.

Page 53: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoModos de Operação

• PASSO COMPLETONesta condição, supondo que o motor tenha 200 passos por

revolução, cada passo possui 1,8º de resolução. Apenas um enrolamento é acionado por vez *.

• MEIO-PASSOMeio-passo significa que o motor de passo gira a 400 passos

por rotação. Nesse modo, um enrolamento é energizado e, em seguida, dois enrolamentos são energizados de forma alternada, fazendo com que o rotor gire pela metade da distância, ou seja, 0,9°. Embora produza aproximadamente 30% menos torque, o modo meio-passo gera um movimento mais suave que o modo de passo completo.

* Vide exceção posteriormente

Page 54: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoModos de Operação

• ObservaçãoExiste, ainda, uma variabilidade no modo de operação normal,

onde dois enrolamentos são acionados por vez AO MESMO TEMPO. Não há variação de velocidade, mas o torque é aumentado significativamente. Óbvio que a corrente de consumo e a dissipação de potência no mesmo dobram.

Page 55: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoModos de Operação

• MICROPASSOO micropasso é uma tecnologia que controla a corrente no

enrolamento do motor a um determinado grau que chega a subdividir o número das posições entre os pólos. Há necessidade de acionadores especiais (circuito especial) que são capazes de dividir um passo completo (1,8°) em 256 micropassos, o que resulta em 51.200 passos por rotação (0,007°/passo). Normalmente, o micropasso é utilizado em aplicações que exigem posicionamento exato e movimentos suaves em uma grande variedade de velocidades. Também produz 30% menos torque que o modo de passo completo.

Page 56: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoSequência de acionamento dos enrolamentos

Page 57: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoControlador de micropasso

Page 58: Dispositivos de I/O (teclado matricial, LCD, motores)

Motor-de-passoControlador de micropasso

Page 59: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor

É um motor DC realimentado em malha fechada- Alta exatidão no controle- Torque alto- Alta velocidade

Micro

Page 60: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motorÉ um motor DC realimentado em malha fechada

Page 61: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor

Page 62: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor

Utiliza-se um PWM para controle de posição

Page 63: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor

Utiliza-se um PWM para controle de posição

Page 64: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor

Utiliza-se um PWM para controle de posição

Page 65: Dispositivos de I/O (teclado matricial, LCD, motores)

Servo-motor - Aplicações

Automatic Tinder Finger

Page 66: Dispositivos de I/O (teclado matricial, LCD, motores)

1ª Experiência de LaboratórioProjetar uma fechadura eletrônica para cofres, conforme a figura

Page 67: Dispositivos de I/O (teclado matricial, LCD, motores)

1ª Experiência de LaboratórioEspecificação

-Deverá possuir LCD, teclado matricial, buzzer sonoro e acionador eletromecânico baseado em motor-de-passo-O usuário deverá gravar duas senhas padrão de 04 dígitos na memória de programa.-Uma mensagem texto deverá aparecer apresentando o produto personalizado.-O teclado deverá conter, pelo menos, 0-9, ESC e ENTER-Ao digitar a senha, deve aparecer apenas * na tela, ao mesmo tempo que um beep sonoro curto deve soar a cada pressionar de tecla. Após digitar a senha, validar com ENTER.-Caso erre a senha, ou desista da operação, tecle ESC

Page 68: Dispositivos de I/O (teclado matricial, LCD, motores)

1ª Experiência de LaboratórioEspecificação

-A validação deverá ser visual no LCD com mensagens de senha correta ou incorreta. Caso senha esteja correta, um beep de 01 segundo deve soar e o motor-de-passo deverá acionar um mecanismo indicando a movimentação da lingueta de uma fechadura (acionador mecânico por conta da equipe). -Este mecanismo deverá ficar acionado por 03 segundos e posteriormente deverá recolher automaticamente à posição original.-Um beep sonoro indicando que a senha está correta deve ser acionado concomitantemente.-Caso o usuário digite a senha errada, um beep sonoro diferenciado de 02 segundos indicará senha incorreta. O mecanismo não deve ser acionado.

Page 69: Dispositivos de I/O (teclado matricial, LCD, motores)

1ª Experiência de LaboratórioEspecificação

-A cada tentativa de inserção de senha errada, o sistema deve ficar inerte por aproximadamente 03 segundos, voltando a automático após este tempo.-O teclado não deve possuir bounce-Caracteres estranhos no LCD idem.-Pode utilizar buzzer com oscilador interno