Soy nuevo en electrónica y este es mi primer circuito. Tengo algunas preguntas sobre la implementación de ICSP en este diseño. Este es un post bastante largo con bastantes preguntas, así que me disculpo por adelantado por su extensión. Desafortunadamente, no tengo un mentor con quien pueda hacer preguntas, ¡por lo que cualquier ayuda es muy apreciada!
- Estoy usando un microcontrolador Atmel ATtiny10 para controlar un LED RGB.
- El circuito es alimentado por dos baterías 3V CR2032 en serie que proporcionan 6V.
- Las baterías están conectadas a un regulador de voltaje de salida fija que convierte la energía de la batería a 5 V para el ATtiny.
- Tres de los cuatro pines de E / S del ATtiny están conectados a los tres ánodos del LED a través de resistencias limitadoras de corriente (el cuarto pin de MCU no se utiliza con una resistencia de pull-up interna habilitada).
Hasta ahora esto es algo bastante básico, y funciona en una placa de pruebas.
Me gustaría agregar la funcionalidad ICSP para poder programar el ATtiny en el circuito cuando se mueva a una PCB (para la carga inicial y luego si quiero modificar mi firmware). Aquí están mis preguntas:
P: ¿Cuál es la mejor / mejor manera de suministrar energía a ATtiny durante la programación (mi programador es un Arduino y no el costoso programador dedicado de Atmel)?
Parece que hay dos opciones:
- Suministre alimentación a través de la batería existente + componentes del regulador de voltaje, o
- Suministre 5V a través del programador directamente al pin VCC en el ATtiny a través de un pin encabezado / ICSP.
P: Si voy con la opción 1, ¿debo preocuparme por aislar el circuito de mi programador / Arduino? El Arduino funciona con una conexión USB desde mi computadora y no quiero freírlo. Si tengo que preocuparme por el aislamiento de energía aquí, ¿cómo se hace?
P: Si opto por la opción 2, creo que tendré que colocar un diodo Shottky entre el Vout del regulador y el Vin de ATtiny para evitar que la corriente fluya por el regulador ( es decir, desde el programador hasta el pin de salida del regulador).
Un diodo aquí parece presentar una serie de problemas:
- Añade un costo adicional al circuito.
- Agrega otra parte que consume energía de la batería.
- La caída de voltaje en el diodo hará que el ATtiny vea menos de 5V en su Vin, lo que probablemente sea indeseable (debido a la desestabilización del reloj).
P: ¿Las inquietudes que acabo de enumerar sobre el diodo son todas válidas? No he diseñado nada con un diodo todavía, así que no tengo ninguna experiencia con aspectos prácticos operacionales.
P: ¿Hay alguna otra forma mejor o mejor de obtener poder de ATtiny para la programación que no he pensado?
P: Dos de los pines utilizados para programar el ATtiny también se conectarán a través de las resistencias al LED. ¿Qué pasos debo seguir para aislar al programador del LED?
Pregunto por esto porque intenté programarlo con el LED conectado y el programador generalmente se bloquea (puedes ver en el esquema donde conecté el programador, a las redes PB0
y PB1
). Esperaba que las resistencias entre los pines y el LED fueran suficientes para aislar el LED pero no parece hacer el truco. Desconectar el LED permite que la programación tenga éxito, sin embargo, no podré desconectarlo una vez que todo esté soldado a una PCB.
P: En un sentido muy general, ¿qué pasos suelen tomar los diseñadores de ICSP para aislar los pines que tienen que ser de doble propósito para la programación y el control del circuito?
¡Gracias!