Você está na página 1de 25

PROJETOS DE AUTOMAO

PROF.: ALAN KARDEK

Aula de hoje
Hardware mnimo para montagens com PICs (reviso); Exemplos de perifricos (LEDs, Displays de 7 Segmentos, Teclado Matricial, etc.); Leitura de Teclas e Teclados;
Debounce ou Debouncing.

Apresentao de sadas em displays de 7 segmentos; Exemplos.

Hardware mnimo para montagens com PICs


Circuito de alimentao.
(capacitor de 100 nF).

Circuito de reset. Circuito de clock (at 48 Mhz para PIC18F4550).


Varia de MCU para MCU. Consultar datasheet.

Perifricos:
Conexo com LEDs, displays de 7 segmentos. Conexo com botes e interruptores.

Hardware mnimo para montagens com PICs


Circuitos de CLOCK.
Circuito RC: proporciona baixo custo, mas estabilidade tambm baixa. Permite obter uma saida de frequencia F/4 no terminal OSC2/CLKOUT.

Hardware mnimo para montagens com PICs


Circuitos de CLOCK.
Circuitos com cristal de Quartzo: melhora a estabilidade (3 configuraes):
LP (baixo consumo), de 0 a 200 kHz; XT, de 200 kHz a 4 MHz; HS (alta velocidade), de 4 MHz a 48 MHz.

Hardware mnimo para montagens com PICs


Para a interconexo de perifricos necessrio consultar as caractersticas de hardware das portas.
Resistncia de pull-up da porta B, configurvel por software:
port_b_pullups(true).

Cuidado! Verifique a corrente mxima que uma porta pode entregar/absorver.

Exemplos de Perifricos
Perifricos bsicos de sada: LEDs e display de 7 segmentos.
Como conectamos mais de um display? Quantos displays podemos conectar? O que acontece com o consumo?

Exemplos de Perifricos
Perifricos bsicos de entrada: botes e interruptores.
Eliminao de debounce via software. (implementao de filtros de tempo). Eliminao de debounce via hardware.

Exemplos de Perifricos
Perifricos bsicos de entrada: teclado matricial.

Exemplos de Perifricos
Perifricos bsicos de entrada: Rels e udio.

Aplicaes com pequenos rels um nico transistor bipolar suficiente.

Para gerar um som necessrio gerar um sinal de onda quadrada de perodo apropriado. O capacitor filtra a parte contnua e gera o tom desejado.

Exemplos de Perifricos
Perifricos bsicos de entrada: motores DC e de passo

A velocidade do motor DC controlada com PWM e pelo circuito integrado 293D. A polaridade determina o sentido de rotao

Motor de passo com CI de controle e diodos.

Leitura de Teclas e Teclados


Princpio bsico: Observar o nvel lgico associado a uma TECLA ou BOTO. Se a TECLA ou BOTAO estiver pressionada, teremos um determinado NVEL, caso contrario, teremos o NVEL oposto. Surgem alguns problemas: Pressionar teclas, geram pulsos de RUDO. Provocam duvida ao MCU, quantas vezes a TECLA foi pressionada. O software que esta dentro do MCU pode interpretar que a mesma TECLA foi pressionada mais de uma vez. Esse problema e conhecido como CONTACT BOUNCE. Tratamento do problema: Por Hardware: resistores, capacitores e latches. Por Software: implementao de filtros dentro do programa.

Leitura de Teclas e Teclados


Falando mais sobre BOUNCE:
A utilizao de chaves e botes como entrada de circuitos digitais pode ocasionar uma srie de problemas. Os contatos metlicos existentes em tais elementos provocam diversas transies a cada acionamento, podendo o sinal oriundo variar entre os nveis lgicos at a estabilizao. Esse fenmeno reconhecido como CONTACT BOUNCE, e o rudo ocasionado pela abertura ou fechamento de contatos pode durar desde alguns microsegundos, at alguns milisegundos, dependendo da qualidade do contato.

Leitura de Teclas e Teclados


Falando mais sobre BOUNCE:
Isto pode ser observado com um osciloscpio digital. A durao dos rudos geralmente na ordem de milissegundos. Alguns milissegundos so uma eternidade para um microprocessador. Assim, mesmo pressionando apenas uma vez um boto, o programa pode interpretar vrios apertos. Isso pode ser grave dependendo da aplicao! DEBOUNCING significa uma tcnica que nos d certeza de que o boto apertado apenas uma vez seja interpretado corretamente como apenas UM aperto de boto. Por outro lado, se apertarmos o mesmo boto por 5 vezes seguidas em um segundo, o nosso programa tem de conseguir ler corretamente 5 apertos de boto !

Leitura de Teclas e Teclados


Programa que implementa debounce:
if (!botao_UP) // O boto UP est pressionado ? { // sim, if (!(bt_UP_press)) // O boto UP j foi tratato ? { // no. if (filtro0 !=0) // Fim do filtro do boto UP ? filtro0--; // No, ento decrementa o filtro else { // Sim, Faz a ao do boto bt_UP_press = 1; // Marca que o boto est pressionado contador ++; // Ao realizada ao precionar boto. } } } } else { // boto 0 liberado filtro0 = t_filtro; // inicia o filtro do boto 0 bt_UP_press = 0; // marca que o boto foi liberado } }

Leitura de Teclas e Teclados


Nmero elevado de Teclas e Botes:
Demanda tcnica complementar. Numero de pinos do MCU reduzido Otimizao do nmero de pinos usado na aplicao.

Soluo:
Agrupar as teclas em uma estrutura de MATRIZ. Leitura por meio de um sistema de varredura de colunas. Uma coluna por vez. Uma apos a outra.

Leitura de Teclas e Teclados

Apresentao de sadas em displays de 7 segmentos


Duas opes: Displays de 7 segmentos:
Displays de 7 segmentos Displays de cristal lquido (mdulos LCDs) Composto por 8 LEDs (7 segmentos para o numero + 1 ponto) Tipos: anodo comum ou catodo comum. Mais adequados as aplicaes que exigem VISIBILIDADE. Elevado consumo de energia (media ~ 10mA por segmento). Baixo custo.

Displays LCDs:

Exibe informaes alfa-numricas (caracteres). Vrios tipos: com ou sem backlight; uma ou mais linhas de caracteres, etc. Adequados a aplicaes de pequena visibilidade. ngulo de observao limitado. Dependncia de iluminao externa. Baixo consumo de energia (da ordem de 1 mA). Elevado custo.

Apresentao de sadas em displays de 7 segmentos


Implementado em software atravs de uma tabela de constantes na memria de programa. Exemplo:

Apresentao de sadas em displays de 7 segmentos


Ateno! Observar tipo de display: anodo ou catodo comum. Nos displays de ctodo comum, o ctodo comum deve ser ligado ao terra e para que os leds acendam, preciso aplicar uma tenso positiva aos respectivos nodos (1 lgico ). Os displays de nodo comum apresentam o nodo comum ligado a +5V e acendem quando se aplica um nvel lgico zero aos ctodos respectivos.

Apresentao de sadas em displays de 7 segmentos


Ateno! Observar tipo de display: anodo ou catodo comum. Como ligar mais de um display de 7 segmentos?
Varredura de displays.

Prtica 3 Display de 7 segmentos


Objetivos:
Familiarizar-se com a programao em linguagem C do PIC; Familiarizar-se com configuraes de delays e timers de um microcontrolador; Familiarizar-se com o uso de displays de 7 segmentos e contadores.

Prtica 3 Display de 7 segmentos


Conhecimentos bsicos necessrios:
Tudo que foi visto nas aulas prticas anteriores; Operadores para criao de expresses lgicas e aritmticas; Criao de tabelas de constantes; Diretivas de configurao para funes de atraso (delay); Diretivas de configurao do PIC; Circuitos Contadores.

Prtica 3 Display de 7 segmentos


Tarefas: 1) Abra o arquivo contador_hexadecimal.c da aula 6 no ambiente de desenvolvimento e compile. 2) Monte o circuito (prximo slide) no Proteus e teste o programa. 3) Implemente um boto de RESET para o contador. 4) Altere a lgica do programa para que o contador conte de 0 a 9 de forma automtica (ainda com um boto UP e outro DOWN), usando o comando delay_ms(valor_inteiro) para que voc possa observar a contagem. 5) Configure um timer do 18F4550 para parar a contagem quando passar 20 segundos aps um RESET.

Você também pode gostar