PROG_AVR – FAÇA UM SIMPLES PROGRAMADOR SERIAL PARA AVR ATMEL

Muitos hobystas gostariam de iniciar seus experimentos com microcontroladores, mas ficam desanimados com o elevado custo dos circuitos programadores comerciais, necessários para baixar o programa na memória flash do chip. Mas, porque não fazer o seu proprio circuito programador? Que tal um bem simples ? Veja este circuito.

Este modelo atende a familia AVR ATMEL com programação serial (ex. atmega8 …., attiny2313…). Com poucos componentes, podemos fazer um hardware que, conectado a porta serial (db9) do PC, e rodando um software programador que seja próprio para a familia AVR ATMEL (como por ex. PONYPROG2000), gravar programas na flash de forma bem rápida.

A placa do programador consiste em uma entrada (serial), e saem 4 fios (mosi,miso,clock,reset) para os pinos do chip a programar e mais 2 fios, de alimentação 9v , oriundos de uma fonte externa. Foi previsto mais 2 fios para alimentar o circuito a programar, com 5 volts. Como se trata de um programador ‘in circuit’, supõem-se que a aplicação já use um cristal externo ou use o oscilador interno do proprio chip. Consulte sempre os datasheets dos modelos a serem programados para saber quais pinos correpondem ao MISO,MOSI,RESET,CLOCK.
A chave SW1 foi colocada para desconectar rapidamente o programador do circuito, visando facilitar os testes de funcionamento. Sem ela, teriamos que desconectar fio por fio para testar e se algo desse errado, reconectar tudo de novo (ufa!!!).
Se usar o programa PONYPROG2000, não esqueça de configurar as opções do programador para SI PROG IO , não precisa inverter nenhuma entrada, e provavelmente você usará a porta COM1 como unica opção em seu PC. Tenho usado este circuito já a muito tempo e tem dado muita satisfação (preço ‘zerooooooo!!!). Para criar programas, use o IDE conhecido como AVR STUDIO , onde poderá digitar programas, compilar e debugar. Também tem a opção de gravar no IDE, mas, nesse caso, tem que usar unicamente os programadores alistados pela AVR. Portanto, para gravar com o nosso hardware, esquecemos esta opção e vamos abrir na tela do PC ,o PonyProg2000 (por ex.) e buscamos o arquivo hex em alguma pasta do AVR STUDIO escolhida para guardar arquivos hex. Aí , é só gravar. Podemos também ler o que foi gravado, ler/gravar eeprom, programar o fuse bits, que impedem a leitura do chip (evita alguém ‘chupar’ o programa).
Nota importante: Sempre certifique de programar a palavra de Configuração de forma correta. Nela escolhemos o tipo de oscilador que será usado (interno tipo rc,externo com xtal,sem oscilador usando clock de outro circuito). Também, definimos a frequencia do oscilador interno, se o mesmo será mais forte (com mais ruido) para ligar outros circuitos externos. Podemos ligar direto o WatchDog ou fazer ligar com auxilio de um registrador interno. Escolhemos as áreas para colocar um BootLoader, alteramos os endereços das chamadas de interrupção para novo vetor,etc. E, cada modelo difere de outro modelo. Sempre com o datasheet em mãos para não se perder. Por experiência, posso dizer que é um pouco confuso para configurar. Mas, você consegue…(eh!eh!)!!! Quando esquecemos de configurar esta parte, poderemos até rodar o programa no IDE , mas após programar no chip, nada acontece ou acontece coisas
estranhas, não previstas. Depois de horas quebrando a cabeça no programa, voce se lembra que não configurou a palavra de configuração!!!!
Palavra de cautela: Cuidado para não programar o Reset como Porta IO, pois ao fazer isto, o programador não poderá mais funcionar, necessitando de um programador paralelo ou um destravador de fusebit. Sempre confira 2 vezes antes de gravar a palavra de configuração!!!!
Para testar o programador, pegue qualquer arquivo hex do tipo ‘pisca_led.hex’ que pisca um led em uma determinada porta, que seja apropriado ao chip que vai programar. Monte o hardware em um protoboard, conecte os fios do programador e faça o download do arquivo hex no chip. Sempre procuro montar os projetos primeiro em protoboard para depois montar em placa de forma definitiva. Isto facilita o desenvolvimento e qualquer modificação no esquema é feita de forma rapida por remover ou acrescentar peças.

Segue o esquema

Segue a placa

Segue a placa com componentes montados (visto pelo lado do cobre)

Curiosidades:
Universo cheio de surpresas
Universo – obra do acaso?
Nosso inigualável sistema solar
Mapeamento do céu
Qual a origem do universo e a vida?

Outros assuntos:
Quatro dicas para lidar com problemas financeiros e dívidas
Como lidar com sucesso com os sogros
Como reagir a um assédio sexual
Como parar de adiar as coisas

Até o proximo artigo!!!

2 comments on “PROG_AVR – FAÇA UM SIMPLES PROGRAMADOR SERIAL PARA AVR ATMEL

Comments are closed.

Back To Top