Qual é o conjunto mínimo de peças para um circuito com este microcontrolador AVR?

10

Meu Arduino Uno possui um microcontrolador ATMEGA328P-PU e várias outras coisas na placa. Eu gostaria de programar o chip sem o software Arduino e apenas o mínimo de outros componentes. Desejo, eventualmente, criar coisas sem o custo do Arduino, e quero aprender sobre as outras partes do quadro e adicioná-las novamente, conforme necessário. Estou confortável com C e gcc, então provavelmente posso descobrir a parte do software. Mas o que, se houver, além desses dois produtos abaixo, eu preciso ter na placa de ensaio com o microcontrolador?

Microcontrolador Programador Atmel

Rob N
fonte
Você mesmo pode responder a esta pergunta localizando e lendo a folha de dados do ATMEGA328P-PU.
Phil Geada
7
Talvez quando eu saiba mais. A folha de dados é de 550 páginas, sou iniciante, e uma nata não me revelou nada. Eu estudo muito, mas aprecio sites como este, onde posso obter respostas de humanos de vez em quando. :)
Rob N
6
@ PhilFrost Esse é o pior conselho que você pode dar a um iniciante.
capcom
11
@PhilFrost Embora eu concorde com você que encontrar informações é provavelmente a habilidade mais essencial que um iniciante pode ter, especialmente com a infinidade de informações disponíveis graças à Internet, abrir uma folha de dados pela primeira vez pode ser um pouco intimidante. Uma vez que alguém mais experiente responde à sua pergunta e diz a ele onde na folha de dados encontrou a resposta, o iniciante pode analisá-la novamente e ganhar mais confiança. Além disso, o link que você forneceu não é uma folha de dados. Você pediu para ele ler a "folha de dados do ATMEGA328P-PU", não realizar uma pesquisa no Google por uma resposta.
Capcom
11
OK, eu vou repensar. Rob, você deve saber que qualquer fabricante de um dispositivo não trivial publicará documentação para responder exatamente a essa pergunta. Os fabricantes têm um claro interesse em facilitar o uso do produto. Escanear a folha de dados é o caminho para começar. Para coisas complexas, como microcontroladores, pode haver uma nota de aplicação separada. "aplicativo típico" são as palavras mágicas que você precisa usar nos seus termos de pesquisa. Não é ruim pedir ajuda, mas é bom saber pescar.
Phil Geada

Respostas:

13

Tudo o que você precisa, além do programador e do chip, são algumas capas de desacoplamento e alguma maneira de conectar os sinais de programação à placa de ensaio.

Então:

  • 1 tampa eletrolítica larga (por exemplo,> 100uF) Talvez você possa ficar sem isso se a sua fonte for agradável e silenciosa (por exemplo, bateria)
  • 1 100nF de cerâmica nos pinos de alimentação do micro
  • Um resistor de 10kΩ para conectar do pino de redefinição ao Vcc para manter o micro fora de redefinição.
  • Algum fio de jumper para conectar nós na sua placa de ensaio (você pode comprar fios de jumper prontos, mas eu uso um rolo 22AWG e corto o meu - muito mais barato se você fizer muito isso)
  • Um conector para conectar o cabo do programador. De acordo com o guia do usuário , parece que você precisa de um cabeçalho de afinação 2x3 de 2,54 mm.

Opcional

  • Um botão para conectar sua linha de redefinição ao terra, se você deseja redefinir fisicamente o chip (não uso AVRs, mas tenho 99,9% de certeza de que o programador pode fazer isso a partir do IDE)
  • Um cristal para usar em vez do oscilador interno
  • Capacitores 2 * 22pF para o cristal (coloque de ambos os lados para o solo)
  • Componentes passivos, LEDs, sensores, etc, a fim de fazer algo útil com o código que você escreve ;-)

Além do cabeçalho (que é de 10 pinos com alguns pinos não utilizados - você pode usar as etiquetas como um guia para suas conexões, os nomes são os mesmos), este esquema é o mais simples que eu poderia encontrar com um rápido Google:

Esquema AVR simples

Curiosamente, acabei de escrever um blog sobre fazer praticamente a mesma coisa com um microcontrolador PIC (pode valer uma olhada, os dois são muito parecidos)

Oli Glaser
fonte
3
Se estamos falando de um mínimo absoluto, você não precisa do resistor de pullup na linha de redefinição - o AVR possui um pullup interno. E se estivermos falando aconselhável, você também deve incluir um limite na linha de redefinição - consulte esta nota do aplicativo: atmel.com/images/doc2521.pdf . Além disso, o cabeçalho ISP de 2x3 pinos mencionado é muito mais comum que o 2x5 mostrado no esquema.
Nick Johnson
Obrigado! Se a tampa de 100nF for para os pinos de alimentação, para que serve a tampa> 100µF?
Rob N
11
@RobN o capacitor gostosão tem para alimentação filtragem de ruído / alisamento
vicatcu
@NickJohnson - obrigado pelos pontos mais delicados - sinta-se à vontade para editar minha resposta, se desejar (como mencionado, eu não usei um AVR, meu pequeno micro de escolha é o PIC - ou mesmo um braço como o STM32F10xxx hoje em dia)
Oli Glaser
11
Se você usa a estrutura do Arduino, também precisa de um capacitor de 100nF entre o sinal DTR do adaptador serial-USB e a linha de redefinição; caso contrário, você será forçado a soldar manualmente uma placa adaptadora no perfboard com um capacitor 0402, pois é o único pacote em que você tem 100nF disponível e ninguém jamais faria uma coisa tão boba.
Simon Richter
4

Só estou postando isso como uma resposta para ocultar os URLs feios. Você certamente deve dar uma olhada no Atmel Appnote AVR042: Considerações sobre o design de hardware do AVR .

vicatcu
fonte
+1 para uma excelente referência, eu estava procurando por algo parecido com este para complementar o conselho geral geral de micro-configurações. @ RobN - você deve ter uma leitura completa deste documento.
precisa saber é o seguinte
0

Eu também encontrei este link útil do pessoal do Arduino: https://www.arduino.cc/en/Main/Standalone Explica como passar de um chip que você acabou de obter da DigiKey (ou de qualquer outro lugar) para carregar o gerenciador de inicialização e o componentes mínimos de suporte.

Anormal
fonte