Diseñando circuitos con una vida útil más larga

11

He aprendido sobre el microcontrolador pic durante un período de tiempo y tengo una cantidad razonable de conocimiento sobre el manejo de la electrónica digital. He trabajado en proyectos electrónicos básicos y ahora necesito trabajar en algunas aplicaciones comerciales.

Mi pregunta es sobre cómo diseñar y construir circuitos confiables y duraderos. Construí un circuito controlador de luz automático que toma la entrada de un LDR y muestra el valor de la lectura analógica en un panel de siete segmentos. Luego hace algunos cálculos y controla una luz a través de un relé. Este circuito necesita estar encendido permanentemente (24 horas al día). Los primeros meses el circuito funcionó a la perfección, pero después de unos 6 meses comenzó a funcionar mal. Mostraba cosas sin sentido en la pantalla de 7 segmentos (mostraba solo partes de números), luego enciende la bombilla en el LED indicador pero no enciende el relé. Este no es el comportamiento esperado. La cosa es que no siempre funcionará de esa manera. A veces funciona perfectamente. Luego comienza nuevamente a funcionar mal. No hay un orden exacto en el que funcione.

Ahora mi pregunta es por qué estos circuitos se comportan de esta manera. Supongo que esto puede deberse a que funciona todo el día sin intervalos. Este tipo de aplicación debe funcionar todo el día. Yo uso PIC porque solo sé de imágenes. ¿Atmal es más confiable que la imagen? (Pregunté porque atmal se usa en la mayoría de las aplicaciones de automatización, con más frecuencia que la foto). Necesito algunos consejos de un experto en electrónica digital. ¿Cómo se construyen este tipo de aplicaciones industriales? ¿Hay alguna regla especial a seguir? ¿Cómo diseñar circuitos más confiables? Cualquier consejo u orientación de un experto será muy apreciado. Gracias...

EDITAR

Como se sugiere en las respuestas, editaré mi respuesta proporcionando recursos adicionales para ayudar a descubrir los errores en el diseño.

A continuación se muestra una imagen que describe cómo se ve el circuito después de su construcción. Es un transformador de 12 V con toma central que suministra energía al circuito. Se rectifica con un rectificador de media onda, luego se regula con un IC 7805.

ingrese la descripción de la imagen aquí

A continuación se muestra el diseño esquemático.

ingrese la descripción de la imagen aquí

Si se necesita información adicional, proporcionaré todo lo necesario. Si se necesita el programa, lo agregaré. El programa es algo largo. Utiliza interrupciones.

tejedor danial
fuente
66
Si usa un IC dentro de las clasificaciones especificadas (consulte la hoja de datos), casi cualquier fabricante garantiza una vida útil de 10 años. Y eso es a alta temperatura. Puede culpar a los componentes, pero creo que el problema es que hay algo inesperado en su diseño. O tal vez uno de los chips sufrió una descarga de ESD y eso está surgiendo solo ahora. Primero debe encontrar el componente defectuoso antes de que se le puedan dar consejos útiles.
Bimpelrekkie
2
Además de lo que dijo FakeMoustache, dudo que el PIC sea la fuente del fracaso. Es más que probable que sean componentes discretos o relacionados con el diseño del circuito.
DigitalNinja
1
Tengo PIC trabajando todo el tiempo en muchos lugares difíciles. Sin problemas. El único problema que tuve fue corrosión en los enchufes y un condensador TFT eléctrico forzado físicamente con un pin roto.
Szidor
1
Y por cierto supongo que te refieres a Atmel en lugar de "atmal". Además, PIC es un microC de MicroChip (MicroChip los hace). Atmel también es un fabricante de microC, fabrican los microcontroladores Atmega. Ambos son simplemente circuitos integrados digitales creados en procesos de fabricación similares y con una fiabilidad similar. Si uno fuera más o menos confiable que el otro, nadie los compraría (a un precio similar al que tienen).
Bimpelrekkie
3
Debe publicar un esquema e, idealmente, una imagen del sistema problemático. También dudo que sus problemas sean "expectativa de vida útil", sino que falte algo realmente básico, como la limpieza de la fuente de alimentación o EMI.
Techydude

Respuestas:

17

Antes de comenzar a pensar en cambiar, asegúrese de tener un buen diseño sólido. Debe comenzar a pensar en todas las formas en que podría tener problemas en su diseño. Una buena manera de hacer esto es dejar de pensar en un microprocesador como una "caja mágica" en la que pone código y hace lo que le dice y comenzar a pensar en cómo funciona, a nivel de puerta y nivel de sistema. Necesita mantener feliz a su microprocesador.

  1. Alimentación: si la alimentación de los microprocesadores no está limpia, no funcionará correctamente. Eso significa mirar el diseño de la PCB y asegurarse de que tiene una buena vía de baja inductancia desde su fuente de alimentación y asegurarse de tener tapas de alimentación adecuadas cerca del chip. Monitoree y mida la potencia en un diseño que sabe que no funciona con un osciloscopio y un voltímetro, ¿es la potencia? ¿Ves que el problema ocurre cuando hay un pico o caída en el poder? ¿Ves picos o caídas en tu línea de Vcc?
  2. Código \ Reloj: ¿hay un error en el código que hace que no funcione correctamente? ¿Has mirado el código en una unidad intermitente? ¿Verifica (coincide) el código que tiene ahora? ¿Tienes degradación repentina? ¿Qué hay del reloj? El poder puede degradar el reloj con el tiempo . ¿Es tu reloj lo que tiene que ser? Si ralentizas el reloj, ¿tu código deja de funcionar?
  3. Protección del medio ambiente. ¿Está utilizando el microprocesador en las especificaciones para las que fue diseñado? ¿La temperatura es constante en las unidades que fallan? ¿Se encuentran en un área con factores ambientales como el polvo, EMI, ESD o temperatura que podrían hacer que falle? ¿Están protegidas sus entradas al mundo exterior? ¿Podría la gente estar destruyendo la unidad? El calor hará cosas malas a la electrónica con el tiempo. Obtenga una cámara térmica y vea si todo es normal

Lo que realmente necesita hacer es encontrar el mecanismo de falla, necesita saber por qué está fallando. Una vez que sepa por qué está fallando, puede resolver el problema. Si no puede encontrarlo, tendrá que hacer que su diseño sea invencible para evitar que ocurran problemas. Si no lo hace, podría cambiar los microprocesadores y seguir teniendo los mismos problemas. Si desea cambiar, ST fabrica algunos microprocesadores excelentes que son más adecuados para aplicaciones industriales.

Pico de voltaje
fuente
2
Agregue radiación a la lista de factores ambientales. La radiación ionizante de la mayoría de los tipos (atómica, fotónica, etc.) puede causar que la electrónica experimente SEU o alteraciones de un solo evento que resulten en una salida confusa.
rdtsc
Como sugirió, actualicé mi respuesta agregando los recursos adicionales. El diseño esquemático y una imagen del circuito. por favor, ¿puedes descubrir algún error en el diseño?
danial weaber
Muchas gracias. Tengo una idea y más conocimiento sobre el diseño de circuitos más confiables. Tengo que aprender más antes de comenzar a construir aplicaciones comerciales. Muchas gracias. Aceptado como la respuesta.
danial weaber
Supongo que la radiación no es un factor, pero si estas ejecutando estas cosas al lado de una planta nuclear u otra fuente de radiación (o en el espacio, se convierte en un problema grave con un MCU comercial que tiene algunos SEU a la semana, incluso Rad los procesadores duros tendrán SEU). Una MCU normal podría tener una SEU, pero creo que sería del orden de años para la probabilidad de eso en un entorno normal.
Voltaje pico
@danial weaber a 7805 no va a detener un corte de energía con las tapas que tiene. Digamos que el consumo de energía del 5V reg es de 100 mA como máximo (puede ejecutar estos cálculos si mide su corriente máxima real), eso sería como una carga de 50 ohmios. Su límite es de 10 uf, entonces tau = RC -> tau = 50 * 10 uf = 0.5 ms. Ese es aproximadamente el tiempo que le tomaría a usted tener un problema. Es posible que desee comprar una "verruga de pared" china barata por unos pocos dólares que puede tolerar algún abandono de la red eléctrica de CA. O podría usar un convertidor de CC a CC que podría ser más tolerante. ¿Cómo se ve su conexión a tierra en la PCB?
Pico de voltaje
7

Como usted no dice, cuestiono cómo se construye físicamente el circuito con problemas, ya que esto suena EXACTAMENTE como el tipo de problema que generalmente se ve cuando alguien que no suelda construye un circuito en una placa temporal de "empuje para conectar" y se va por unos meses

Si esto se parece a su caso, ahí está su problema; si no, todavía sospecharía que hay conexiones deficientes, pero se convierte en un problema de "habilidad para soldar" más que en un problema de "falla al soldar cualquier cosa".

Ecnerwal
fuente
3
Para agregar a esta técnica de soldadura inadecuada, se pueden producir juntas con poca resistencia mecánica y otros problemas que causan que la junta falle después de un período de tiempo mucho más corto.
crasic
Muchas gracias. Actualicé mi respuesta y si puedes encontrar algún error en el diseño, estaría muy agradecido.
danial weaber
Las soldaduras se ven bien, no se ven efectos en la soldadura. ¿Puede ser un problema relacionado con el programa? Pero entonces, ¿cómo funciona bien a la vez?
Danial Weaber
... proporcionar una imagen del lado de la soldadura? En cuanto a los problemas de programación que a veces funcionan, a veces no, ya se mencionaron varias opciones en los comentarios sobre la pregunta. Y está el zócalo en el que se encuentra el IC como un punto de falla potencial sin soldadura (entre el zócalo y los pines del IC). Los zócalos a veces son una buena idea, pero pueden causar problemas. Si los problemas mejoran por un tiempo si quita y reemplaza el IC, eso podría ser parte del problema. ... también, los condensadores del filtro de la fuente de alimentación se ven un poco pequeños: ¿todos los 33 pF entre el puente y la entrada del regulador? De Verdad?
Ecnerwal
5

No tiene un condensador de desacoplamiento en el suministro PIC, pero en una placa pequeña como esta probablemente se saldrá con la suya. También es posible que desee agregar protección de caída de voltaje para que el PIC se restablezca si el voltaje cae por debajo de un umbral.

Pero estaría mirando tu código.

Para empezar, debe tener el watchdog habilitado en el micro. Si el código deja de funcionar correctamente, el perro guardián lo reiniciará.

Sin embargo, lo más probable es que tengas un error en alguna parte. Como ingeniero de software integrado de profesión, supongo que está relacionado con las interrupciones, porque allí es donde los principiantes suelen cometer errores. Sin embargo, como principiante, hay un conjunto masivo de errores que puede cometer en el código, por lo que ese es el primer lugar en el que miraría. (No se ofenda: cometí muchos de esos errores yo mismo, incluso cuando realmente debería haberlo sabido mejor ;-)

Graham
fuente
+1 muchas gracias. Ahora entiendo que he cometido algunos errores. Necesito aprender mucho más antes de comenzar a construir aplicaciones comerciales.
danial weaber
3

Estoy de acuerdo con los comentarios de que necesita un buen condensador de grasa a ambos lados del 7805. Especialmente con un relé allí. Espero que este sea el problema raíz. También agregaría un condensador de desacoplamiento a través de las líneas de suministro de energía del PIC.

También estaría buscando uniones secas.

También estaría revisando minuciosamente mi programa y utilizando cualquier instalación de vigilancia que esté allí.

Pero aquí hay un par de partes interesantes de su pregunta:

Mostraba cosas sin sentido en la pantalla de 7 segmentos (mostraba solo partes de números)

Intentaría resolver lo que sucedió. ¿Se ha bloqueado el PIC, por ejemplo?

Ahora, si leo su esquema correctamente, entonces para que cada una de las pantallas de 7 segmentos muestre algo , y algo diferente y constante en al menos dos de ellas, entonces cada una de Q1, Q2 y Q3 todavía debe haberse girado encendido en secuencia, y las salidas a los segmentos deben haber sido correctas. Esto me diría que su PIC todavía está ejecutando al menos parte de su código, pero de alguna manera la salida de dígitos ha sido codificada. Por ejemplo, tal vez no se le haya dado un dígito 0-9 para mostrar, sino un dígito 17 o similar (para el cual obtiene el diseño de dígitos de una ubicación de memoria aleatoria).

Tu dices:

enciende la bombilla en el LED indicador pero no enciende el relé

Mirando el esquema, entonces, a menos que la salida PIC esté pulsando o algo así (no es imposible, ya que también es un puerto de salida del temporizador), esto tendría que ser una falla eléctrica (por ejemplo, una junta seca), un problema de PSU (ver arriba los condensadores) , o el transistor Q4 (quizás) no está completamente saturado. No he leído la hoja de datos PIC, pero un BC547 tiene un I C máximo de 100 mA (es de esperar que sea suficiente para controlar su relé y el LED) y un hFE de 120 en ese tipo de nivel, por lo que necesitará aproximadamente 1 mA en 10k por lo tanto, podría ser un poco demasiado. Podría probar 3k3.

Además, no tiene medios útiles de depuración. Como su pantalla está encendida todo el tiempo, quizás podría hacer que el punto del punto decimal final parpadee una vez por segundo (o similar) para indicar que todo está bien.

Si tuviera que dar una puñalada salvaje en la oscuridad, supongo que particularmente cuando el relé está encendido, el circuito está recibiendo una corriente significativa. Debido a la falta de un condensador grande en el lado de entrada del 7805, cuando el voltaje de CA cruza cero, el 7805 no proporcionará ninguna corriente de salida (y de hecho puede estar drenando el condensador), de la hoja de datos del 7805 . el voltaje de entrada debe permanecer típicamente 2.0 V por encima del voltaje de salida incluso durante el punto bajo en el voltaje de ondulación de entrada ' . Por lo tanto, el voltaje en el PIC se reducirá, tal vez lo suficiente como para bloquearlo. Coloque un alcance de la línea de 5V al lado del PIC y si no ve nada más que una buena línea sólida de 5V, sabe que tiene un problema.

abligh
fuente
+1 muchas gracias. Esta respuesta me dio una buena idea sobre cómo diseñar el circuito y algunos errores que he cometido. Comprobaré agregar los capasitores y contar los resultados.
danial weaber
3

Cada vez que tiene un comportamiento errático en un microprocesador, hay dos fuentes principales para el problema. 1) condensadores de "derivación" faltantes o insuficientes, 2) pines del microprocesador "flotante".
Cada "chip" debe tener una tapa de derivación, justo en el pin del chip conectado a Vcc (+ 5v).
Cualquier pin que no se use, debe estar atado alto o bajo, pero nunca debe dejarse "flotando".

Estoy de acuerdo en que no está conduciendo "lo suficientemente duro" Q4, le recomiendo 1K para R12.

Guill
fuente
+1 gracias en la respuesta. Intentaré agregar los capaitors de bipass. ¿Es necesario asignar valores para los pines que no estoy usando en el diseño?
danial weaber
La palabra correcta es condensador de "desacoplamiento", no "derivación". También acordó que los pasadores flotantes pueden hacer cosas divertidas. Agregaría una tercera fuente principal: apagones o condiciones de reinicio dudosas similares. Pero incluso entonces, en este caso cuando tienes un principiante haciendo cosas complejas con interrupciones, mi dinero siempre está en el software.
Graham