Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Equipment >> Equipamento industrial

Breadboarding e Programação do ATmega328P &ATtiny45 no Atmel Studio 7

Neste projeto, construiremos circuitos para programar dois microcontroladores Atmel diferentes e discutiremos a configuração de software necessária.


Neste projeto, construiremos circuitos para programar dois microcontroladores Atmel diferentes e discutiremos a configuração de software necessária.

Este projeto irá descrever a construção de dois circuitos muito semelhantes:um para programar um ATmega328P e outro para programar um ATtiny45. O artigo fornecerá um diagrama esquemático completo dos circuitos de programação, bem como fotografias detalhadas dos conjuntos de placa de ensaio sem solda. Além disso, o Atmel Studio 7 IDE (Integrated Development Environment) também será apresentado.

Primeiro, o Hardware


O ATmega328P é um microcontrolador de 28 pinos da Atmel e faz parte da linha AVR. É provavelmente mais conhecido como o μC usado com mais frequência na marca de plataformas de desenvolvimento Arduino, mas o AT328P é capaz de muito mais do que pode ser extraído dele. Se você quiser ver alguma evidência para essa afirmação, dê uma olhada na folha de dados de 660 páginas.

O ATtiny45 é um μC de 8 pinos e pode ser considerado o “irmão mais novo” do ATmega328P. Ele tem muitos dos mesmos recursos, mas é claro que não tem tantos pinos de E / S.

A Interface Periférica Serial (SPI) é usada para programar o ATmega328P e o ATtiny45; é um barramento de três fios (mais aterramento), consistindo de um sinal Master Out, Slave In (MOSI), um sinal Master In, Slave Out (MISO) e um sinal Serial Clock (SCK). O relógio é gerado pelo dispositivo mestre e é utilizado para garantir a comunicação sincronizada entre o mestre e o escravo (ou escravos); portanto, o SPI é um barramento de comunicação “síncrono”.

Circuitos de Programação


Os diagramas esquemáticos para os circuitos de programação são mostrados abaixo. Observe que o resistor R2 e o LED1 não são estritamente necessários para a programação, mas estão incluídos no circuito para fins de teste, conforme definido posteriormente neste projeto.








Opções do programador


Vários programadores estão disponíveis para lidar com o ATmega328P e o ATtiny45; o Atmel-ICE está no topo da lista e é um excelente programador que será discutido em um artigo futuro. Por enquanto, existem opções menos dispendiosas disponíveis para os skinflints entre vocês, e o Sparkfun AVR Pocket Programmer é aquele usado pelo autor do skinflint deste artigo. Se preferir outra coisa, fique à vontade para escolher aquela que se adapta às suas preferências e à sua carteira. Apenas certifique-se de que ele usa a Interface Periférica Serial conforme descrito anteriormente e esteja preparado para fazer as alterações apropriadas nas informações neste artigo.

CUIDADO! Certifique-se de baixar e instalar o driver apropriado para o AVR Pocket Programmer em seu computador antes de conectar o programador pela primeira vez. Se o Windows tiver permissão para instalar o driver errado, pode ser muito problemático corrigir. As instruções para obter o driver AVR Pocket Programmer são fornecidas posteriormente neste artigo.

O AVR Pocket Programmer vem com um cabo de fita que deve ser conectado ao Atmel μC. É equipado com três conectores:um 2 × 5 fêmea que é conectado ao conector macho correspondente no AVR Pocket Programmer, outro 2 × 5 fêmea que fica a cerca de 9 polegadas (23 cm) abaixo do cabo de fita (que não é usado em este artigo), além de uma fêmea 2 × 3 na extremidade do cabo plano. As pinagens são mostradas nas fotos abaixo.




Programação de conjuntos de placa de ensaio sem solda


Os conjuntos de placa de ensaio sem solda do circuito de programação ATmega328P e ATtiny45 são mostrados nas fotos a seguir. Seis fios de jumper curtos são usados ​​para conectar os condutores necessários do conector fêmea 2 × 3 aos pinos apropriados no microcontrolador na placa de ensaio sem solda. Observe que as cores dos fios nas fotografias de montagem abaixo correspondem às dos diagramas esquemáticos acima.








Lista de peças


Além de alguns jumpers de fio, as peças necessárias para os conjuntos do circuito de programação estão listadas na tabela a seguir.


Ref. da peça Descrição Fonte Nº do item
U1 IC, ATmega328P-PU, Flash de 32 kB, DIP-28, 1,8-5,5 V Digi-Key ATMEGA328P-PU-ND
U1 IC, ATtiny45-PU, Flash de 4 kB, DIP-8, 2,7-5,5 V Digi-Key ATTINY45-20PU-ND
R1 Resistor, ¼ W, 10kΩ Digi-Key 10KQBK-ND
R2 Resistor, ¼ W, 470Ω Digi-Key 470QBK-ND
LED1 Diodo, emissor de luz, T1 3/4, amarelo Digi-Key 754-1889-ND
C1 Capacitor, cerâmica, 0,1µF, 50V Digi-Key 399-9797-ND
N / A Programador, AVR Pocket, PGM-09825 Digi-Key 1568-1080-ND
N / A Placa de ensaio, sem solda, contato 400 Digi-Key 377-2094-ND

Então, o Software

Driver AVR Pocket Programmer


O driver do Windows para o AVR Pocket Programmer é o mesmo usado pelo Adafruit USBTiny Programmer. Vá para esta página da Web da Adafruit e clique no link para o driver assinado Windows USBtinyISP desenvolvido com libusb v1.12. Isso permitirá que você baixe um arquivo zip que contém dois arquivos installer.exe:um para computadores de 32 bits e outro para computadores de 64 bits. Clique duas vezes no que for apropriado para o seu PC com Windows e o driver será instalado.

Somente depois de instalar o driver correto do Windows você deve conectar o AVR Pocket Programmer ao computador pela primeira vez. Você precisará de um cabo macho-macho USB Tipo A para Miniatura B para conectar do seu PC ao AVR Pocket Programmer. Ao fazer as conexões, o LED PWR azul e o LED Stat1 vermelho devem acender; os dois LEDs de dados azuis também podem acender e / ou piscar. O Windows tentará localizar o driver e você deve direcionar o Windows para o local correto do driver conforme necessário. Depois de instalado corretamente, o AVR Pocket Programmer aparecerá no Gerenciador de Dispositivos nos dispositivos libusb-winXX como “USBtiny”; ela não será enumerada como uma porta COM. Veja a imagem abaixo:




Atmel Studio 7


Como muitas empresas de design de microcontroladores, a Atmel tem um Ambiente de Desenvolvimento Integrado (IDE) que funciona com suas ofertas de hardware:Atmel Studio 7. Embora não seja a única maneira de programar Atmel μCs, é o método com mais recursos para Windows 7, 8, e 10 (32 bits e 64 bits); infelizmente, não pode ser usado com sistemas operacionais Linux ou Mac.

O número de opções e escolhas no Atmel Studio 7 pode ser opressor para um novo usuário. Assim, uma abordagem passo a passo será fornecida neste projeto e simplificará muito o processo. Comece baixando e instalando o IDE em seu PC. O Studio 7 User Guide e uma grande quantidade de informações adicionais também estão disponíveis para download.

O suporte para vários programadores de hardware está incluído no Studio 7, mas as escolhas exatas dependem de qual microcontrolador Atmel você vai usar. Na captura de tela abaixo, os programadores compatíveis com o ATMega328P estão listados à direita.







Como você pode ver, o AVR Pocket Programmer não está na lista. No entanto, ele ainda pode ser usado com o Studio 7 com a ajuda de um software chamado AVRDude.

AVRDude


AVRDude é um utilitário de linha de comando usado para fazer download e upload para microcontroladores Atmel. As versões estão disponíveis para sistemas Linux e Windows. No momento desta redação (7 de junho de 2017), a versão mais recente disponível é a 6.3; Ele pode ser baixado aqui. Os usuários do Windows devem baixar o avrdude-6.3-mingw32-zip (clicar neste link para baixar o arquivo zip!), Descompactar os arquivos e instalar o AVRDude. Observe que instalar o programa na raiz do seu disco rígido principal não é essencial, mas simplificará seu uso com o Atmel Studio 7. Se uma versão posterior a 6.3 estiver disponível, você pode decidir instalá-la a seu critério. O guia do usuário do AVRDude está disponível aqui.

Para verificar se o AVRDude está instalado e funcionando corretamente, execute as seguintes etapas:
  1. Clique no botão Iniciar do Windows.
  2. Na caixa de pesquisa, digite cmd e pressione Enter. Uma janela de prompt do DOS deve abrir.
  3. No prompt do DOS, mude para o diretório onde você instalou o AVRDude.
  4. Digite avrdude -c USBtiny e pressione Enter. Se tudo estiver bem, AVRDude retornará uma lista de dispositivos Atmel que são suportados.

Veja a imagem abaixo para um exemplo do procedimento. Observe que a captura de tela foi truncada e mostra apenas parte da lista de dispositivos Atmel suportados.




Juntando tudo


Supondo que o programador esteja conectado ao AVR em sua placa de ensaio sem solda conforme descrito anteriormente, você está quase pronto para programar seu AVR. Baixe o arquivo New Blink.zip usando o botão abaixo, descompacte-o e salve-o no seu PC em um local conveniente.

New_Blink.zip

Agora, siga este procedimento.
  1. Inicie o Atmel Studio 7.
  2. À esquerda da tela inicial, clique em Novo projeto. A tela Novo Projeto será aberta.


  3. Na tela Novo projeto, clique em Projeto executável GCC C; nomeie o projeto New Blink como mostrado acima e clique em OK. A tela de seleção de dispositivo será aberta.


  4. Na tela Seleção de dispositivo, escolha o dispositivo AVR que você está usando:ATmega328P ou ATtiny45 conforme mostrado abaixo. Clique OK. O novo projeto será criado e a tela Novo projeto do Blink será aberta.


  5. Clique no menu suspenso Ferramentas, escolha Ferramentas externas… e clique no botão Adicionar.
  6. Na caixa Título, digite um nome para a ferramenta que está criando; é bom se o nome é descritivo da ferramenta. Por exemplo, você pode inserir uma combinação do nome do programador e o nome do dispositivo.
  7. Na caixa Comando, digite o endereço DOS para o local onde você instalou o AVRDude mais o comando para iniciar o AVRDude.
  8. Na caixa Argumentos, digite uma das duas linhas a seguir, dependendo de qual AVR você está usando. Para o ATmega328P, digite:
  -c usbtiny -p m328p -v -U flash:w:$ (TargetDir) $ (TargetName) .hex:i  

Para o ATtiny45, digite:
  -c usbtiny -p t45 -v -U flash:w:$ (TargetDir) $ (TargetName) .hex:i  
  1. Na caixa Diretório inicial, digite o endereço DOS do local onde você instalou o AVRDude.
  2. Certifique-se de que a caixa da janela Usar saída esteja marcada e as outras duas caixas de seleção não estejam marcadas. A janela deve ser semelhante à tela abaixo, mas refletindo o AVR que você está usando.


  3. Clique em Aplicar e em OK. A janela Ferramentas externas deve fechar.
  4. Vá para o local onde você descompactou e armazenou New Blink.c no início desta seção, abra o arquivo, selecione todo o conteúdo e copie-o para a área de transferência.
  5. Vá para a janela Novo Blink.c no Atmel Studio 7, selecione todo o conteúdo e cole o conteúdo da área de transferência na janela Novo Blink.c. Deve aparecer conforme mostrado abaixo.


  6. Se o Atmel Studio 7 Solution Explorer não estiver aberto na parte superior direita da janela do projeto, clique no menu suspenso Exibir e clique em Solution Explorer. O Solution Explorer deve abrir no canto superior direito da janela do projeto.
  7. Clique com o botão direito no arquivo main.c e escolha renomear. Renomeie o arquivo main.c para Novo Blink.c.
  8. Clique no menu suspenso Arquivo e clique em Salvar tudo.
  9. Clique no menu suspenso Build e clique em Build Solution.
  10. Clique no menu suspenso Ferramentas e clique no nome da ferramenta criada nas etapas 5 a 11 acima. O código New Blink compilado deve ser baixado para o AVR em sua placa de ensaio, e o LED 1 deve começar a piscar:aceso por ½ segundo e apagado por ½ segundo, 60 vezes por minuto.

O começo


É certo que esse foi um processo longo para apenas piscar um LED, mas a verdade é que você superou com sucesso quatro grandes obstáculos:criar uma plataforma de hardware para programar um microcontrolador AVR, instalar um ambiente de desenvolvimento integrado (Atmel Studio 7), integrar um externo programa (AVRDude), e definir uma ferramenta de programação para o AVR de sua escolha. Fique tranquilo que será mais fácil para os projetos futuros da Atmel, que são muito mais divertidos. Fique atento para eles em AllAboutCircuits.com.



Experimente você mesmo este projeto! Obtenha o BOM.

Equipamento industrial

  1. Os prós e contras da fundição sob pressão
  2. As 3 fases da impressão 3D e como funcionam
  3. Sistema de vácuo industrial:discutindo os tipos e benefícios
  4. Por que e como a automação industrial é o futuro
  5. A diferença entre motores CC e CA
  6. O impacto da segurança na fábrica e por que é importante
  7. Compreendendo a precisão e o processo da tecnologia de corte a laser
  8. O futuro das máquinas industriais em 2020 e além
  9. Os tipos de freios mecânicos e como eles diferem
  10. Os prós e contras de revestir sua bomba