sexta-feira, 20 de setembro de 2013

Escolha do Microcontrolador

Uma vez que o hardware do projeto está praticamente todo desenvolvido, está na hora de começarmos a desenvolver o software.

Para o nosso projeto, necessitamos de um microcontrolador que atenda às seguintes características:

  • Tenha pelo menos um pino destinado à um canal para conversor analógico digital;
  • 6 pinos destinados ao LCD, sendo 4 para dados e 2 para controle;
  • I/Os livres para ser usados em aplicações (como acionamento de uma carga, led, etc) .

A família escolhida foi a do PIC, comercializada pelo fabricante Microchip.

Esta escolha foi particular, uma vez que os integrantes do grupo já tinham certa experiência com o desenvolvimento de projetos  utilizando este microcontrolador.


Para atender todos os pré requisitos acima, escolhemos o microcontrolador PIC16F877a.


Figura 1 - Vista do encapsulamento de um PIC16F877a


Figura 2 - Vista da pinagem de um PIC16F877a

Simulação Proteus - definição de polinômio de conversão (Tensão x Temperatura)


Microprocessadores e Microcontroladores

Breve histórico dos Microprocessadores e Microcontroladores

A história do microcontrolador surgiu em 1969, quando a empresa japonesa BUSICON iniciou um projeto para uma calculadora eletrônica. À procura de Marcian Hoff da Intel Corporation, a empresa enviou aos EUA um grupo de engenheiros a fim de formarem pesquisas para este projeto. Marcian, que já atuava no ramo da informática, ficou fascinado com a ideia, e então propôs desenvolver um chip que, não fosse aplicado somente à calculadora, mas sim a qualquer projeto que pudesse ser programável.

Rapidamente, a Intel Corporation comprou a licença da empresa japonesa, e em 1971 lançou o seu primeiro processador de 4 bits, cujo nome era 4004.Em abril de 1972, dando continuidade à seu projeto, a Intel anuncia seu primeiro processador de 8 bits, o 8008. A ideia era muito boa para permanecer apenas na Intel e logo aparecem os concorrentes, sendo a primeira a Motorola Corporation, seguido da MOS Technology, que sofre um processo da Motorola Corporation, ficando assim, impossibilitada de vender um de seus processadores.

A partir de então, outras empresas começaram a comercializar também alguns processadores, uns mais rápidos e mais baratos que outros, dando assim, o chute inicial para a criação dos microprocessadores.

O que é um microcontrolador?
Basicamente, podemos adotar como definição de um microcontrolador um circuito integrado “inteligente”, onde podemos fazer a programação dizendo o que ele deve fazer.

Do que é formado um microcontrolador?
Um microcontrolador é formado de milhares, bilhares, ou até mesmo trilhares componentes eletrônicos, como: porta lógicas, transistores, diodos, entre outros. O tamanho de todos os componentes dentro dele estão na ordem de nano metros, ou seja, impossível a ver à olho nu.

Qual a diferença entre Microcontroladores e Microprocessadores?
A diferença entre um microcontrolador e um microprocessador é que, para usar um microprocessador, precisamos de outros componentes adicionais, como memória e componentes para receber e enviar dados. Já o microcontrolador foi projetado para ter todas estas funcionalidades num único componente.


Referências Bibliográficas: CERNE, “A história e as diferenças entre um microcontrolador e um microprocessador”. Disponível em < http://www.cerne-tec.com.br/Artigo3_Historia.pdf >

quinta-feira, 19 de setembro de 2013

LCD – Display de Cristal Líquido

Assim como as calculadoras, aparelhos telefônicos fixos, entre outros dispositivos, o nosso projeto contará com um display de LCD. Mas, primeiramente, o que é um display LCD?

Um display de cristal líquido (em inglês liquid crystal display) consiste em um painel fino, com a finalidade de exibir informações via eletrônica.

O LCD é definido como um líquido polarizador de luz, eletricamente controlado. Este líquido encontra-se comprimido dentro de celas entre duas lâminas polarizadoras. Os eixos que polarizam estas duas lâminas são alinhados perpendicularmente entre si. Cada cela contém contatos elétricos que permitem que um campo elétrico possa ser aplicado no líquido interior.


Podemos destacar inúmeras vantagens na utilização de um display LCD. Listamos as principais e mais aplicáveis abaixo:

  • Cansam menos a vista
  • Consomem pouca energia
  • São muito baratos
  • Sua aplicação é feita de forma simples

Abaixo, podemos ver como é um display LCD fisicamente, como é um display na teoria e sua pinagem:
Figura 1 - Display LDC - Visão Real
Figura 1 - Display LDC - Visão Teórica

 Tabela 1 - Definição dos Pinos do LCD
Onde:

  • Os pinos 1,2 e 3 são usados para alimentação do display
  • Os pinos 4,5 e 6 são usados como para controle;
  • Os pinos de 7 à 14 são usados como para transmissão de dados  dados;
  • Os Pinos 15 e 16 servem como alimentação do Backlight, mais conhecido como luz de fundo (encontramos no mercado modelos sem esta função).


Estamos usando como exemplo um display 16x2, ou seja, 16 colunas e duas linhas.Vale lembrar que este é apenas um modelo dos inúmeros que existem no mercado. Mas, para o nosso projeto, ele atende à todos requisitos.


Podemos usar também outros modelos de LCD, como os listados abaixo:

Tabela 2 - Demais LCD's

Simulação Proteus - Vídeo


Fluxograma – Organizando Ideias e Passos para a Programação



Para a fase inicial, a programação do nosso projeto terá esta arquitetura. Abaixo, segue uma breve explicação deste fluxograma.
  • Começamos com as conhecidas “cinco linhas mágicas”, destinadas à configuração do Microcontrolador. Nela, definimos quem será o nosso PIC utilizado, valor do clock entre outras definições.
  • Após isto, eu preciso mostrar ao meu microcontrolador quais dos seus ports serão saídas e entradas.
  • Configuramos o nosso conversor ADC. A configuração do conversor ADC varia para cada fabricante e modelo.
  •  Chegamos a parte de configuração e inicialização do display LCD. A configuração é feita de forma automática, pois alguns fabricantes disponibilizam rotinas para pré configuração do LCD, afim de economizar tempo. Para nós, resta fazer a inicialização, aplicando estas rotinas, gerando alguns comandos para o display.
  • Chegamos ao "looping infinito", a nossa função main. Nela, rodará o nosso programa de fato. 
  • Então, enviamos a mensagem de inicialização do LCD
  • Lemos os valores obtidos no conversor ADC, e guardamos em uma variável qualquer
  • Nesta hora, entra a lógica de conversão, ou seja, para cada valor que eu obter no ADC, eu terei um X valor de tensão, e um Y valor de temperatura.
  • Após isto, basta imprimirmos o valor encontrado no display de LCD.
Este é o escopo base da programação. Com ele, podemos implementar inúmeras aplicações, por exemplo, acionar o ar condicionado quando a temperatura estiver acima de um valor pré estabelecido.