Índice:

Atmega328p Companion: 6 etapas (com imagens)
Atmega328p Companion: 6 etapas (com imagens)

Vídeo: Atmega328p Companion: 6 etapas (com imagens)

Vídeo: Atmega328p Companion: 6 etapas (com imagens)
Vídeo: #156 LGT8F328P Replacement for ATMEGA328P (at 32MHz 😲) 2024, Novembro
Anonim
Atmega328p Companion
Atmega328p Companion

ATMEGA328P Companion: O Bootloader e o Módulo do Programador

Se você é como eu, você é viciado em projetos e Arduino. No entanto, se você fez vários projetos com um Arduino como cérebro, provavelmente começou a se cansar de olhar para a placa do Arduino como um todo, bagunçando seu projeto e, no geral, apenas parecendo ruim. Como tal, decidi que queria passar das placas Arduino para usar apenas o IC.

Digite o atmega328p.

O atmega328p é provavelmente o IC compatível com Arduino mais prolífico do mercado. Não é de forma alguma o mais barato ou mais poderoso, no entanto, levando em consideração ambos, é na minha opinião o melhor desempenho por dólar. Então, você está pronto para começar a fazer seus projetos parecerem muito mais profissionais e menos como um conglomerado de módulos prontos para o uso? Em caso afirmativo, leia este instrutível e você obterá as informações necessárias para construir seu próprio módulo que permitirá que você carregue um bootloader para seu atmega328p de destino, carregue o esboço intermitente para garantir que as coisas estão funcionando e, finalmente, carregue seus próprios esboços para seus projetos individuais.

Etapa 1: BOM e ferramentas

Em primeiro lugar, este instrutivo não será um manual passo a passo, mas em vez disso, estou assumindo que você sabe como ler um esquema e pode traduzir isso para uma placa. Com isso em mente, aqui estão os materiais e ferramentas necessários:

Materiais:

  • 1 protoboard 40x60mm ou PCB
  • 1x cabeçote macho de 6 pinos (usei machos de ângulo reto)
  • 2x cabeçalho fêmea de 14 pinos
  • 1x cabeçote fêmea de 6 pinos
  • 1x cabeçalho fêmea de 2 pinos
  • 2x capacitor 22pF (22)
  • 1x capacitor 0,1uF (104)
  • 1 resistor de 10kohm
  • 2 resistor de 330ohm
  • 1x LED (qualquer cor para indicador de energia - 3 mm para design de PCB)
  • 1x LED (qualquer cor para pino digital 13 para esboço intermitente - 3 mm para design de PCB)
  • 1x cristal de 16 MHz
  • 1x interruptor deslizante
  • 1 botão momentâneo

Ferramentas:

  • Arduino Uno
  • Ferro de solda
  • 6 jumpers M-M
  • Programador FTDI
  • Cabo USB que corresponde ao seu programador FTDI
  • IDE Arduino

Etapa 2: Esquemático / Layout

Esquemático / Layout
Esquemático / Layout
Esquemático / Layout
Esquemático / Layout

Anexados a esta etapa estão os arquivos Eagle que usei. Você é livre para modificá-los e alterá-los como quiser. No entanto, projetei a placa de forma que todos os traços fiquem na camada inferior, de modo que seja fácil de fabricar em uma fresadora de PCB (se você tiver acesso a uma) com uma placa unilateral. Também está na parte inferior para que seja fácil soldar os componentes.

Se você quiser o PCB, no entanto, execute o CAM para obter os arquivos gerber necessários para o seu fabricante favorito. Eu gosto do OSH Park porque você apenas dá a eles o arquivo da placa e eles executam os CAMs necessários para obter os arquivos de que precisam.

Etapa 3: Solda

De solda
De solda
De solda
De solda

Portanto, há três maneiras de fazer esta placa:

  • Preenchendo um PCB
  • Preenchendo uma placa fresada
  • Povoando um protoboard

Preencher o PCB é bastante simples e não deve causar nenhum problema, pois tudo está rotulado.

Preencher uma placa fresada também não deve ser muito difícil, pois ela é modelada exatamente da mesma maneira que a PCB, exceto que você não tem as marcações, então siga junto com o arquivo da placa no Eagle para ter certeza de que está colocando as coisas no lugar certo (principalmente a polaridade dos LEDs).

Por último, preencher um protoboard é o que mais exige reflexão, no entanto, não é terrivelmente difícil. Tenho algumas fotos nesta etapa mostrando minha versão do protoboard e como ajusto tudo. Observe que o LM7805, os dois capacitores de 4.7uF e os terminais de parafuso não estarão na sua placa. Eu estava brincando com a ideia de que isso tivesse a capacidade de ser alimentado externamente, mas assim que comecei a pensar nisso, decidi que, no final das contas, seria uma perda de espaço do conselho.

Etapa 4: inicialização

Bootloading
Bootloading

Configurando o Arduino de inicialização:

Então, é aqui que você vai precisar de seu outro Arduino. Primeiro vá aqui e baixe os arquivos desse cara. Neste ponto, os arquivos têm alguns anos, mas ainda funcionam muito bem. Depois de baixá-los, abra optiLoader.ino e seu Arduino IDE solicitará que você o coloque em uma pasta. Faça isso e depois coloque o arquivo optiLoader.h na pasta com o.ino. Agora você está pronto para fazer o upload desse esboço para o seu Arduino de inicialização. Usei um Arduino Uno, então sei que funciona com ele, mas tenho certeza que funcionará com outras placas também.

Depois de fazer o upload do optiLoader.ino para o seu Arduino, está tudo configurado para inicializar muitos chips diferentes do Arduino. Só fiz isso com o atmega328p, no entanto, o código é configurado para detectar o MCU de destino e fazer o flash do bootloader correto, o que é muito bom. Portanto, agora, sempre que você conectar este Arduino à placa Atmega Companion com um chip instalado e ligá-lo, ele detectará automaticamente que o destino é um atmega328p e piscará o bootloader apropriado automaticamente. Sem reset jump, sem coisas estranhas; apenas plug and play.

Conectando o carregador de inicialização à placa complementar:

[Bootloader Arduino] [Atmega328p Companion Board]

  • D10 Reset / pino 1
  • D11 MOSI / pino 17
  • D12 MISO / pino 18
  • D13 SCK / pino 19
  • 5V Vcc / pino 20 ou 21
  • GND Gnd / pino 22

Os pinos referem-se às pernas do próprio IC. Se isso for confuso, olhe para a imagem do tabuleiro da etapa de esquema / layout conforme os pinos no tabuleiro complementar são rotulados.

Atualizando o Bootloader:

Agora que você configurou o Bootloader Arduino com o esboço optiLoader.ino e também está conectado à sua placa complementar, certifique-se de que a chave da placa complementar esteja configurada para "bootload" em vez de "upload" e, em seguida, conecte seu Arduino para um computador. Você deve ver as luzes do Arduino e do Companion Board piscar várias vezes. Após alguns segundos, ambos devem escurecer e não piscar mais. Isso provavelmente significa que ele atualizou com sucesso seu atmega328p IC com o bootloader. Para ter certeza de que tudo correu bem, conecte-o ao computador e abra o IDE do Arduino e, em seguida, o monitor serial. Mude a taxa de bauds para 19200. Então, se ele não reiniciar automaticamente, aperte o botão reset em seu Arduino. Você deve ver um monte de texto descrevendo o que o script está fazendo. Ao final, não deverá haver nenhuma mensagem de erro e deverá informar que o processo está concluído.

Se você receber um erro, verifique seu switch e certifique-se de que está no "bootload". Se você ainda estiver recebendo erros neste ponto, verifique toda a fiação e certifique-se de que esteja correta.

Etapa 5: Upload

Enviando
Enviando

Essa é a etapa fácil.

Desconecte todos os fios da etapa anterior e mude de "bootload" para "upload". Conecte seu módulo FTDI. Eu gosto do Adafruit CP2104 e do SparkFun CH340G principalmente porque eles são relativamente baratos e a pinagem combina com os pinos FTDI que saem da placa complementar.

Depois de conectar o FTDI à placa complementar, conecte-o ao computador. A partir daí, carregue o esboço de exemplo intermitente para se certificar de que o bootloader foi atualizado corretamente. Selecione Arduino / Genuino Uno no menu de placas. Assim que o esboço piscante for carregado, você deverá ver o LED piscando, como esperado. Se funcionar, você está pronto para carregar seus próprios esboços personalizados para o IC, assim como faria com qualquer outro Arduino.

Etapa 6: Trabalho Futuro

No futuro, estou planejando fazer disso um escudo do Arduino Uno. Não deve demorar muito para fazer isso e, se as pessoas quiserem, posso fazer upload dos arquivos Eagle para isso aqui também. Isso simplificaria a etapa de bootloading, pois você não precisaria se preocupar em fazer a fiação incorreta. Estou aberto a outras sugestões de melhoria também, no entanto, não suspeito que farei muito mais com isso, pois foi apenas uma etapa necessária na preparação de meus projetos futuros.

Se você quiser ver mais de meus projetos futuros, me avise e tentarei manter a comunidade informada.

Recomendado: