Dispositivos de I/O (teclado matricial, LCD, motores)
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