O presente projeto apresenta um programador AVR-ISP para micro-controladores ATMEL, possuindo fonte de alimentação interna e dois soquetes do tipo zif para programação dos chips ATtiny2313 e ATmega8. Adicionalmente é incluído um conector DB9 destinado à programação de outros micro-controladores, externamente ao programador. Sua montagem e operação são bastante simples e confiáveis, eliminando os problema que ocorrem com outras versões mais simplificadas de programadores. Contudo, algumas precauções importantes devem ser tomadas em sua utilização, tal como descrito a seguir.

 

Descrição do circuito

MontagemA concepção do circuito é baseada em um esquema muito popular, retirado da internet, sendo virtualmente compatível com todos os micro-controladores ATMEL. Contudo, devemos sempre observar as correspondentes pinagens dos chips, como especificado pelo fabricante. Ao programar um chip externamente ao gravador, devemos sempre lembrar de incluir um cristal oscilador adequado. O diagrama esquemático (clique aqui) mostra o circuito do programador, excetuando as conexões das linhas MISO, MOSI, CLOCK, RESET, XTAL1, XTAL2, GND e +5 VCC aos soquetes zif. Isto é indicado na tabela abaixo para os micro-controladores ATtiny2313 e ATmega8. Adicionalmente, temos na figura ao lado, uma sugestão de montagem sendo: [1] Chave seletora com 3 posições (soquete à direita/desligado/soquete à esquerda); [2] Saída para programação de dispositivos externos (DB9); [3] Soquetes zif para programação direta de um ATmega8 (à esquerda) ou de um ATtiny2313 (à direita); [4] Led's indicadores de soquete em operação (vermelhos) e de atividade do programador (amarelo); [5] Cabo de alimentação C.A.; [6] Cabo de comunicação paralela (DB25). Nessa montagem a chave seletora de tensão 110/220 Vca é acessível na parte inferior da caixa, enquanto os jumpers e o fusível de proteção são internos.

 

Conexão das linhas de programação aos micro-controladores.
Sinal ATtiny2313 ATmega8
MOSI 17 17
MISO 18 18
CLOCK (CLK) 19 19
RESET (RST) 1 1
GND 10 8
+5 Vcc 20 7
XTAL1 4 9
XTAL2 5 10

 

Este programador é pretensamente um clone dos programadores STK200/STK200+ e STK300, sendo assim compatível com a plataforma de desenvolvimento BASCOM. O AVR-Studio 4 também poderá ser utilizado. Contudo, como ele não possui suporte para gravadores que usam a porta paralela, devemos instalar o plugin Kanda (http://www.kanda.com) disponível aqui para download. O comportamento STK200 ou STK300 pode ser selecionado via os jumpers JP1 e JP2. Ao conectarmos somente JP1 o gravador irá se comportar como um STK200 e ao conectarmos ambos os jumpers ele se comportará como um STK300. Os jumpers JX1 e JX2 foram incluídos de acordo com sugestões lidas em diversas listas de discussão publicadas na internet. Tais jumpers selecionam dois resistores "pull-up" ligados aos pinos 1 e 19 (output enable) do integrado 74HC244 (octal buffer/line driver; 3-state). Eles possuem como função eliminar eventuais problemas que ocorrem ao desconectarmos o programador do pc e utilizarmos o circuito ligado a um chip ou a um circuito externo. Portanto, embora eles não estejam presentes no circuito original do STK200, é recomendado que eles fiquem sempre conectados, tal como indicado no diagrama esquemático (clique aqui).

O transistor BC547, juntamente com os resistores na sua vizinhança, foi incluído no circuito original com o objetivo de proporcionar uma certa proteção para a porta paralela do pc, tal como sugerido por Plons (http://www.aplomb.nl). Ele reportou que ao conectar um gravador ligado na porta paralela de um pc desligado, ocorreu sérios danos em tal porta, inutilizando a mesma. Isto se deve ao fato de que a porta paralela de um pc não é "hot-plugable". Portanto, em qualquer situação, podemos acidentalmente danificá-la ao conectarmos ou desconectarmos um dispositivo sem tomarmos as devidas precauções. Em outras palavras, mesmo incluindo esse circuito de proteção, devemos sempre tomar o cuidado de ligarmos o gravador somente com o pc já ligado, ou melhor, somente no momento que iremos efetuar uma escrita ou leitura de um chip. Outros cuidados no uso são descritos abaixo.

FiltroAo utilizar o conector de programação externa (DB9) devemos evitar o uso de cabos muito longos, pois pode haver a introdução de ruídos que irão inviabilizar a leitura/escrita/identificação do micro-controlador. Se ocorrer problemas, acrescente no seu circuito um filtro do tipo mostrado ao lado, principalmente na linha na linha de clock (CLK). Cabe ainda salientar que o conector DB9, para programação externa, inclui adicionalmente uma saída de +5 Vcc (pino 5) e uma saída do sinal de programador ativo (pino 4). Tais linhas devem ser usadas somente quando desejamos detectar externamente se o gravador encontra-se ligado e/ou em atividade. Não recomendo a utilização do pino 5 desse conector para alimentar outros circuitos, nem usar o pino 4 para outras finalidades.

 

Precauções no uso

  • Sempre verificar a tensão da rede (110/220 Vca) e efetuar a seleção adequada no gravador. Use sempre a mesma tensão de alimentação para o pc e para o gravador para evitar potenciais panes.
  • Ao conectar o gravador na porta paralela do pc assegure-se que ambos estão desligados. Lembre-se que a porta paralela do pc não suporta hot-plugging.
  • Evite ligar o gravador com o pc desligado. Na versão atual este gravador possui um circuito adicional de proteção que tenta prevenir danos à porta paralela. Contudo, ligar o gravador somente com o pc ligado ou somente no momento de efetuar uma escrita ou leitura de um chip, constitui uma boa pratica.
  • Nunca conectar ou retirar um chip de um dos zif com o gravador ligado. Utilize um soquete zif por vez, nunca conectando dois chips simultaneamente.
  • Ao usar o conector de programação externa (DB9) evite usar cabos muito longos. Se ocorrer problemas, acrescente no seu circuito um filtro do tipo mostrado acima, principalmente na linha na linha de clock (CLK).
  • Evite usar os pinos 5 e 4, do conector de programação externa (DB9), para outra finalidade que não seja a detecção externa de gravador ligado/ativo.
  • Se você costuma utilizar seu pc para teste e desenvolvimento de circuitos eletrônicos, recomenda-se fortemente o uso de interfaces paralelas, seriais e/ou usb's do tipo off-board. Salienta-se que a danificação de portas on-board possuem conseqüências imprevisíveis. A pior delas é a perda completa da placa-mãe.

 

Downloads

  • Para o visualizar o diagrama esquematico em formato GIF clique aqui.
  • Para o visualizar a montagem em formato JPG clique aqui.
  • Para o download completo deste projeto em formato PDF clique aqui.

 

NOTA: O presente projeto possui finalidades didáticas sem pretensões comerciais. Fico isento de qualquer responsabilidade pelo uso, montagem, aplicação ou reprodução desse projeto, integramente ou em partes. Em especial, não me resposabilizo por qualquer dano que pode ser por ele provocado. Para questões adicionais, sugestões e comentários favor entrar em contato via o email: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.