AVR solo se ejecuta cuando se conecta a ISP

0

Tengo un circuito configurado como en el siguiente diagrama. Hay 4 carriles de alimentación verticales, los 3 más a la izquierda se suministran con 15v y los más a la derecha se suministran con 5v. El propósito del circuito es controlar una matriz multiplexada de imanes electro-permanentes. Lo hace utilizando los registros de desplazamiento que se ejecutan en el lado derecho para operar los sumideros y las fuentes en el lado izquierdo. Solo he bosquejado 4 de los imanes electro-permanentes, pero el tamaño de la matriz es 30x8. Los dos controladores inferiores a la izquierda proporcionan el receptor / fuente para las 8 filas, los controladores restantes proporcionan el receptor / fuentes para las 30 columnas.

El programa que se está cargando en el AVR inicialmente realizará un ciclo a través de todas las salidas electro-permanentes y las polarizará de una manera, antes de hacer otra pasada y polarizarlas de la manera opuesta.

Cuando suministre energía al circuito y conecto un AVRISP mkII para programar el AVR, todo funciona bien. Si posteriormente quito el programador y le vuelvo a suministrar energía al circuito, parece que no funciona.

Ocasionalmente, cuando lo conecto puedo escuchar un débil zumbido de los imanes electro-permanentes como si estuviera tratando de suministrar energía. En este escenario, asumo que es posible que no sea capaz de generar suficiente corriente para activar completamente el imán electro-permanente, o que el AVR se está ejecutando demasiado rápido y no está activando la bobina durante el tiempo suficiente para que tenga efecto.

He leído esta pregunta similar ATTiny Circuit solo funciona cuando está conectado a AVR ISP y agregué un condensador entre Los conectores Vcc y Gnd del AVR, pero no hace ninguna diferencia observable.

En primer lugar, ¿hay algo obvio en mi diagrama de tablero que pueda estar causando esto? En segundo lugar, dado que no tengo alcance, ¿qué más puedo intentar depurar esto?

El tablero

Esquemadelafuentedealimentación

    
pregunta Matt

1 respuesta

3

Intente agregar uno o más capacitores de derivación a su atmega. Y tal vez todos los demás IC.

Los circuitos integrados de lógica cronometrada (como un microcontrolador) no usan energía de forma continua, atraen corrientes muy altas en pulsos muy breves, generalmente una vez por cada tic de reloj. Combinados con la capacitancia parásita y (especialmente) la inductancia parásita en las trazas de la fuente de alimentación, estos picos de corriente pueden hacer que el voltaje en el microcontrolador caiga a niveles inaceptables. Además, estos picos de corriente pueden causar un ruido significativo en los rastros de la fuente de alimentación que también pueden afectar a otros chips.

Agregar un pequeño capacitor lo más cerca que puedas al IC lógico ayuda a satisfacer estas corrientes, evitando la fuente de alimentación (de ahí el nombre bypass capacitor ) y desacoplando estas picos de corriente de otras partes de su circuito (de ahí el nombre alternativo condensador de desacoplamiento ).

Obtener el valor correcto de la (s) tapa (s) de derivación es bastante complicado y difícil de hacer bien, pero para circuitos de baja y media frecuencia, el valor no es demasiado crítico, y una cerámica de 100 nF generalmente da resultados aceptables. Para estar seguro, puedes probar una cerámica de 100 nF en paralelo con un electrolítico de 10 µF, justo al lado de la atmósfera.

Como sus otros chips también son chips digitales (cronometrados por los cambios en los datos de la atmega, ¿supongo?), también podrían beneficiarse de las tapas de bypass. Especialmente si se están hundiendo o aprovisionando de corriente.

Si esto no ayuda, intente determinar si la atmósfera comienza en absoluto o si se reinicia, haciendo que su rutina de arranque emita un impulso por ejemplo, 100 ms. Al cambiar de corriente, puede ser fácil generar EMI que se recoja en algún lugar de su circuito, lo que hace que su atmósfera se dispare y se reinicie.

Mencionas electroimanes de conducción, que son inductores. Detener una corriente a través de un inductor puede causar grandes picos de voltaje con los que debe lidiar adecuadamente, por ejemplo. utilizando diodos de retorno o algún otro tipo de amortiguador.

    
respondido por el marcelm

Lea otras preguntas en las etiquetas