¿Cuál es el conjunto mínimo de piezas para un circuito con este microcontrolador AVR?

10

Mi Arduino Uno tiene un microcontrolador ATMEGA328P-PU y muchas otras cosas en el tablero. Me gustaría programar el chip sin el software Arduino, y solo el mínimo de otros componentes. Finalmente quiero crear cosas sin el costo de Arduino, y quiero aprender sobre las otras partes en el tablero y agregarlas nuevamente según sea necesario. Me siento cómodo con C y gcc, por lo que probablemente pueda descubrir la parte del software. ¿Pero qué, si hay algo, además de estos dos productos a continuación, necesito tener en el tablero con el microcontrolador?

Microcontrolador programador Atmel

Rob N
fuente
Puede responder esta pregunta usted mismo buscando y leyendo la hoja de datos ATMEGA328P-PU.
Phil Frost el
77
Quizás cuando sepa más. La hoja de datos es de 550 páginas, soy un principiante, y una descremada no me reveló nada. Estudio mucho, pero aprecio sitios como este donde puedo obtener algunas respuestas de los humanos de vez en cuando. :)
Rob N
66
@PhilFrost Ese es el peor consejo que le puedes dar a un principiante.
capcom
1
@PhilFrost Si bien estoy de acuerdo con usted en que encontrar información es probablemente la habilidad más esencial que puede tener un principiante, especialmente con la gran cantidad de información disponible gracias a Internet, abrir una hoja de datos por primera vez puede ser un poco intimidante. Una vez que alguien más experimentado responde a su pregunta y les dice dónde encontraron la respuesta en la hoja de datos, el principiante puede volver a analizarla y comenzar a ganar algo de confianza. Además, el enlace que proporcionó no es una hoja de datos. Le dijiste que leyera la "hoja de datos ATMEGA328P-PU", que no realizara una búsqueda en Google para obtener una respuesta.
capcom
1
OK, volveré a redactar. Rob, debes saber que cualquier fabricante de un dispositivo no trivial publicará documentación para responder exactamente a esta pregunta. Los fabricantes tienen un claro interés en facilitarle el uso de sus productos. Rozar la hoja de datos es la forma de comenzar. Para cosas complejas como los microcontroladores, puede haber una nota de aplicación por separado. "aplicación típica" son las palabras mágicas que necesita usar en sus términos de búsqueda. No es que sea malo pedir ayuda, pero es bueno saber cómo pescar.
Phil Frost

Respuestas:

13

Todo lo que necesita, aparte del programador y el chip, es un par de tapas de desacoplamiento y alguna forma de conectar las señales de programación a la placa de pruebas.

Entonces:

  • 1 tapa electrolítica grande (p. Ej.> 100uF). Tal vez pueda prescindir de esto si su fuente es agradable y silenciosa (p. Ej., Batería)
  • 1 cerámica de 100nF a través de los pines de alimentación del micro
  • 1 resistencia de 10kΩ para conectar desde el pin de reinicio a Vcc para mantener el micro fuera de reinicio.
  • Algún cable de puente para conectar nodos en su placa de prueba (puede comprar cables de puente ya hechos, pero yo uso un rollo 22AWG y corto el mío, mucho más barato si hace esto mucho)
  • Un encabezado para enchufar el cable del programador. De acuerdo con la guía del usuario , parece que necesita un encabezado de paso de 2x3 pines de 2,54 mm.

Opcional

  • Un botón para conectar su línea de reinicio a tierra si desea reiniciar físicamente el chip (no uso AVR, pero estoy 99.9% seguro de que el programador puede hacer esto desde el IDE)
  • Un cristal para usar en lugar del oscilador interno
  • Condensadores de 2 * 22pF para el cristal (lugar de ambos lados a tierra)
  • Componentes pasivos, LED, sensores, etc. para hacer algo útil con el código que escribe ;-)

Además del encabezado (que es de 10 pines con algunos pines no utilizados, puede usar las etiquetas como guía para sus conexiones, los nombres son los mismos) este esquema es el más simple que pude encontrar con un Google rápido:

Esquema AVR simple

Curiosamente, acabo de escribir un blog sobre hacer lo mismo con un microcontrolador PIC (puede valer la pena echarle un vistazo, los dos son muy similares)

Oli Glaser
fuente
3
Si estamos hablando de un mínimo absoluto, no necesita la resistencia pullup en la línea de reinicio: el AVR tiene un pullup interno. Y si estamos hablando de lo aconsejable, también debe incluir un límite en la línea de reinicio: consulte esta nota de la aplicación: atmel.com/images/doc2521.pdf . Además, el encabezado ISP de 2x3 pines que menciona es mucho más común que el 2x5 que se muestra en el esquema.
Nick Johnson el
¡Gracias! Si el límite de 100 nF es para los pines de alimentación, ¿para qué es el límite de> 100 µF?
Rob N
1
@RobN, el capacitor robusto es para el filtrado / suavizado de ruido de la fuente de alimentación
vicatcu
@NickJohnson, gracias por los puntos más finos, siéntase libre de editar mi respuesta si lo desea (como se mencionó, no he usado un AVR, mi pequeño micro de elección es el PIC, o de hecho un BRAZO como el STM32F10xxx con más frecuencia en la actualidad)
Oli Glaser
1
Si usa el marco Arduino, también necesita un condensador de 100nF entre la señal DTR del adaptador de serie a USB y la línea de reinicio, de lo contrario, se verá obligado a soldar a mano una plataforma de adaptador en una placa de perfilado con un condensador 0402 porque eso es el único paquete en el que tienes disponible 100nF, y nadie haría algo tan tonto.
Simon Richter
4

Solo publico esto como respuesta para ocultar las URL feas. Sin duda debería echar un vistazo a Atmel Appnote AVR042: Consideraciones de diseño de hardware AVR .

vicatcu
fuente
+1 para una referencia excelente, estaba buscando algo como esto para complementar los pequeños consejos "generales" de microconfiguración. @RobN: debe leer detenidamente este documento.
Oli Glaser
0

También encontré este enlace útil de la gente de Arduino: https://www.arduino.cc/en/Main/Standalone Explica cómo pasar de un chip que acaba de obtener de DigiKey (o donde sea) para cargar el gestor de arranque y el Componentes de soporte mínimos.

Anormal
fuente