Circuito intermitente Atmega328p

0

Así que estoy tratando de construir un circuito independiente utilizando el Atmega 328p. Después de cargar el código con Atmel Studio y AVRDude no obtengo respuesta del circuito; sin embargo, cuando tomo el Atmega y lo pongo en una placa Arduino puedo verificar que el código cargado funciona. ¿Alguien puede arrojar luz sobre lo que puedo estar haciendo mal?

Esto es lo que tengo hasta ahora:

  1. Estoy usando un cristal de 16Mhz con 2 condensadores de 22pF
  2. Un LED que verifica que Atmega está encendido
  3. Estoy usando un programador de clones USBAsp

Tomé una imagen del circuito que tengo a continuación.

    
pregunta

1 respuesta

2

Quite el LED y use un osciloscopio o un voltímetro para examinar D13. ¿Lo ves pulsando arriba y abajo? Si es así, entonces el LED no está funcionando. Como @Connor Wolf dijo anteriormente, necesita una resistencia limitadora de corriente en serie con el LED para proteger el LED y el pin del controlador de una corriente excesiva.

Si el pin no pulsa, intente pulsar un pin diferente para ver si se ha quemado el pin D13.

Si tiene un alcance, verifique la oscilación en las dos clavijas de cristal (use una sonda de alcance de alta impedancia para hacer esto). Si no lo ves, entonces es posible que el cristal sea del tipo incorrecto. Debe hacer coincidir su capacidad de carga con los topes de carga. Consulte este artículo .

Por último, no conectaría AREF a Vcc. Si desea una referencia analógica Vcc, use analogReference(DEFAULT) . AREF debería, para los circuitos de producción, tener una tapa de desacoplamiento a tierra y / o recibir una tensión de referencia (seleccionada mediante analogReference(EXTERNAL) ). Si no lo estás utilizando, puedes dejarlo flotar.

He hecho lo que estás tratando de hacer, y funciona. No hay nada obvio que te hayas perdido.

    
respondido por el nsayer

Lea otras preguntas en las etiquetas