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

Post on 26-Jun-2022

8 views 0 download

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

Prof. RonnierProf. Rubão

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

Disciplina de Microcontroladores

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

Portas de I/O no 8051

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)

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.

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.

Teclado Matricial

Teclado Matricial

Teclado Matricial

Teclado MatricialVarredura em teclado

Teclado MatricialVarredura

Teclado MatricialDiodos de proteção

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

Teclado MatricialTécnicas de Debouncing

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

Usar MC14043 – 04 FF tipo RS

Usar Schmitt Trigger

Display LCD

Modo AlfanuméricoModo Gráfico

Display LCD

Display LCDAlfanumérico

Display LCDModo Alfanumérico

Display LCDModo Alfanumérico Controlador interno HD 44780

Display LCDModo Alfanumérico

- Caractere composto em uma matriz de pixels com 8x5

Controlador interno HD 44780

Display LCDModo Alfanumérico

Display LCDLigação LCD em microcontrolador PIC

Display LCDTemporização

Display LCDTemporização

Display LCD

Instruções LCD modo alfanumérico

Display LCD

SequênciaInicialização

Display LCDSequênciaInicialização

Display LCD Endereços dos caracteres

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 é:

Display LCD Tabela de Caracteres

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

Tabela conhecida como ROM Code A00

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

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

Display LCD Caracteres especiais

Display LCD Caracteres especiais

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;

Display Gráfico

Display GráficoPinagem

Display GráficoPaginamento

Display GráficoLigação

Display GráficoComandos

MotoresMotor DC Motor-de-passo

Servo-motor

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

Motor DC

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

PWM – Pulse Width Modulation

Motor DCPWM

Motor DC

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

Ponte H

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

Motor-de-passoTipos

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

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

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

Circuito integrado L298

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

Motor Bipolar

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

Motor Unipolar

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º.

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

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.

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.

Motor-de-passoSequência de acionamento dos enrolamentos

Motor-de-passoControlador de micropasso

Motor-de-passoControlador de micropasso

Servo-motor

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

Micro

Servo-motorÉ um motor DC realimentado em malha fechada

Servo-motor

Servo-motor

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

Servo-motor

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

Servo-motor

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

Servo-motor - Aplicações

Automatic Tinder Finger

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

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

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.

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