Arduino alimentado por batería en una placa de pruebas

Estoy tratando de ejecutar un Arduino de baja potencia alimentado por batería en una placa de pruebas. Seguí estas instrucciones exactamente:

https://www.openhomeautomation.net/bateria-arduino/

Cargué el boceto "Blink" al ATMEGA238P-PU desde otro Arduino, luego instalé el chip en la placa y conecté todos los componentes exactamente como se describe. El led está apagado y no parpadea. Vea la imagen a continuación:

Arduino alimentado por batería en una placa de prueba

Cosas que ya probé:

  • Tenía instalado el ATMEGA + led + resistencia de 220 ohm en la placa Arduino Uno. El LED comienza a parpadear como se esperaba, el chip ATMEGA en sí funciona como se esperaba.
  • Conectado el led + resistencia de 220 ohm a VCC y GND. El led se enciende, lo que significa que tanto el led como la resistencia están en buen estado.
  • Cambié cada componente por otro idéntico, uno a la vez. Eso no ayudó.

¿Qué más puedo intentar para rastrear el problema? Si alguien tiene alguna sugerencia, sería muy apreciada!

¿A qué pin estabas conectando el LED en la placa Arduino?
Estoy conectando el led al pin digital #13. Me aseguré de que el lado positivo/negativo esté correctamente colocado (el lado más largo va a +)
Asumiendo que todo en el circuito está cableado correctamente, ¿ha verificado la polaridad del paquete de baterías? Además, en el pasado obtuve esos cables flexibles que está usando y aproximadamente 1/3 de ellos eran circuitos abiertos cuando los verifiqué debido a la resina sobrante en las puntas del conector.
@NaderChehab: ¿tiene un multímetro con sondas que tienen puntas pequeñas?
Vaya, 1/3 es mucho. De camino a comprar un multímetro para revisar cada cable. Informará de nuevo. Gracias.
Usé un poco de papel de lija de grano fino para quitar la resina y todos finalmente funcionaron, aunque con algo de esfuerzo.
Hola, obtuve un multímetro y probé cada cable y resistencia, sin dados, todos parecen estar funcionando como se esperaba. Si alguien tiene otras ideas, hágamelo saber. He estado rascándome la cabeza durante días. ¡Gracias!
Ese es un tutorial muy malo, escrito por alguien que no entiende su tema y comete algunos descuidos bastante serios.

Respuestas (2)

Una explicación podría ser la siguiente:

El uso de un Atmega 328-PU con un cristal de 16 MHz en un suministro de 3 voltios está fuera de especificación. Si observa la figura 29-1, la hoja de datos de ATmega 328p en la página 303, verá la frecuencia máxima de la MCU para un Vcc determinado.

También tenga en cuenta que el voltaje de las baterías cae rápidamente después de perder algo de carga, empujando la frecuencia máxima más abajo.

El fabricante define estos límites para asegurarse de que todos los chips vendidos siempre funcionen correctamente, al mismo tiempo que permite algunas tolerancias en su proceso de producción. Algunos chips funcionarán perfectamente en estas condiciones, por ejemplo el que tiene el autor de las instrucciones. Algunos otros no lo harán. O peor aún, y algunos tendrán problemas intermitentes.

Para confirmar esto, puede cambiar la batería por un suministro estable de 5 voltios y ver si su boceto funciona. Por ejemplo, pegue el cable donde debería estar la batería en el Vcc y GND de su placa UNO con el USB conectado.

De todos modos, nunca recomendaría construir ningún proyecto integrado utilizando una MCU fuera de especificación. Una solución simple podría ser usar 3 baterías y operar la MCU a 4.5 voltios. Una solución menos simple pero más robusta es usar un regulador de voltaje.

-Máx.

¡Eso fue todo! Agregar una tercera batería solucionó el problema. Me ahorraste varias horas (o días) más de dolores de cabeza. ¡Mucha gratitud por la respuesta detallada!
Esto no es sorprendente; sin embargo, en realidad no sabemos si no funcionaba a esa velocidad de reloj ligeramente fuera de especificación, o si se negaba a funcionar en función de la configuración típica del fusible del detector de caída de tensión de las configuraciones predeterminadas de la placa Arduino.
Tienes razón Chris, también podría ser el DBO. Leí en alguna parte que el fusible BOD está configurado en 2.7V para Arduino. Entonces, dos baterías de 1.5v que se agoten harán que el BOD mantenga la MCU en reinicio. De todos modos, me alegro de que tu problema se haya solucionado.

Aquí hay una foto de un ATmega328 mínimo en una placa de prueba sin soldadura (esto es equivalente a un Arduino Pro Mini o un Arduino UNO sin la interfaz USB) :

ingrese la descripción de la imagen aquí

Tenga en cuenta los pequeños condensadores cerámicos de 0,1 uF, con longitudes de cable muy cortas, colocados lo más cerca posible de los dos pines de alimentación VDD-GND del ATmega328. También tenga en cuenta que después de cortar los cables de la resistencia y el condensador, reciclé los recortes de cables pelados como conexiones de puente cortas en otra parte de la placa. Los cables más largos agregan inductancia y, para empezar, estas placas de prueba sin soldadura ya tienen mucha inductancia no deseada.

En su placa, no veo ningún condensador de derivación de cerámica de 0.1uF cerca del IC, solo un gran electrolítico de Al a granel donde la energía ingresa a la placa. La falta de esos condensadores de derivación de 0.1uF puede causar muchos problemas extraños en los circuitos integrados digitales. Cada vez que cualquiera de los transistores internos se enciende o se apaga, la corriente en VDD y GND cambia. Este cambio en la corriente, junto con la inductancia de los cables largos, hace que la tensión de alimentación (muy brevemente) salga de las especificaciones.

Por lo general, trato de evitar el uso de placas de prueba sin soldadura, debido a la inductancia parásita y las conexiones un tanto poco confiables... en este caso, ya había hecho un prototipo de un diseño usando la placa Arduino Pro Mini y estaba diseñando una PCB alrededor de ese circuito. Pero dado que mi PCB se iba a construir a medida con ATmega328 en blanco, necesitaba verificar que tenía las herramientas y el equipo para inicializar los chips ATmega328 en blanco.

Gracias por la información detallada, buscaré conectar condensadores cerámicos de 0.1uF lo más cerca posible de VCC-GND.