Estoy trabajando con un proveedor en el extranjero para renovar un producto existente. Estamos tratando de mantener bajos los costos.
Actualmente el producto consta de:
- 4 botones grandes
- 4 LED de 7 dígitos de doble dígito. (cada botón tiene dos dígitos debajo)
- 1 LCD (8 caracteres ... cada pantalla de caracteres se compone de una cuadrícula de puntos LCD de 3x8)
- un altavoz
- un microcontrolador
- Controlador LCD
En la renovación, el proveedor quiere abordar un problema con el producto actual. Los 4 LED de dos dígitos tienen un parpadeo notable.
¡El proveedor nos está dando una estimación que incluye el uso de un nuevo microcontrolador, algunos rediseños de circuitos y la reestructuración de todo el programa! (solo queremos intercambiar archivos de audio y arreglar el parpadeo ... No creo que la lógica general del producto deba cambiar)
No estoy seguro exactamente cómo se diseñó el circuito anterior, pero potencialmente el flickr podría deberse a que el mcu no es lo suficientemente rápido para PWM al encender los LED.
En general, según la experiencia, cuáles podrían ser otras causas de parpadeo de los LED de 7 segmentos. Solo quiero entender el problema para poder discernir si el proveedor está presupuestando trabajo adicional cuando no es necesario.
fuente
Respuestas:
El parpadeo es el resultado de una actualización demasiado lenta. Necesita actualizar cada segmento a unos pocos 100 Hz como mínimo. Sin embargo, hay algunos trucos que pueden reducir el parpadeo aparente mientras no se realiza una actualización más rápida. El enfoque ingenuo es actualizar los dígitos en orden. Pero, si los alterna un poco, el número entero parecerá parpadear menos. Por ejemplo, haga los dígitos 1, 3 y 5, luego regrese y haga los dígitos 2, 4 y 6.
Sin conocer el procesador y ver el código fuente, es imposible decir si el proveedor está tratando de encadenarlo o si el desorden realmente necesita ser reescrito. Tenga en cuenta que el 99% de los ingenieros de firmware escriben firmware horrible. Podría haber una constante codificada en todo el lugar que haga suposiciones sobre la frecuencia del reloj, la frecuencia de actualización del LED, etc. Con un firmware bien escrito, aumentar la frecuencia de actualización suponiendo que el procesador tenga los ciclos necesarios ya debería ser fácil. Con un firmware mal escrito, podría ser mucho más problemático que deshacerse del desorden y escribirlo correctamente.
¿Cómo es que el diseñador original no abordó el parpadeo? ¿Quizás el firmware está tan mal diseñado que simplemente no fue posible aumentarlo? Si el parpadeo es tan obvio, ¿por qué se creó el producto de la manera en que se creó? Eso solo hace que sea probable que el diseñador original haya hecho un desastre. Si hubiera podido arreglarlo fácilmente, probablemente lo habría hecho.
Lo realmente divertido es que ahora lo estás haciendo de nuevo. Vas al extranjero porque quieres mantener bajos los costos. Un buen diseño cuesta dinero real, pero un mal diseño cuesta mucho más. A pesar de que ha sido mordido por eso, aparentemente todavía no lo ha aprendido. Con un buen diseño en primer lugar, no estaría en esta posición, e incluso si lo fuera, debería ser fácil de cambiar. No hay excusa para cambiar el audio almacenado por no ser una operación simple.
¿Cómo saber si es una mala idea o no cambiar el microcontrolador y el circuito si no sabe cuáles son? Comprar ingeniería estrictamente por precio es la forma más cara de hacerlo.
Agregado en respuesta a los comentarios:
No recuerdo dónde escuché sobre la actualización de dígitos de forma no secuencial, pero lo he intentado y he encontrado que ayuda. Creo que funciona por la misma razón que la TV entrelazada parecía parpadear a la velocidad de campo en lugar de la velocidad de fotogramas. Para NTSC, la imagen completa se volvió a dibujar a 30 Hz, pero el parpadeo aparente fue de 60 Hz debido a la actualización del entrelazado. No obtendrá 2: 1 así entrelazando dígitos, pero ayuda.
No, 60 Hz no es lo suficientemente rápido, ni siquiera cerca. 60 Hz es donde la mayoría de las personas ya no ven el parpadeo de una onda cuadrada. Alguien que mira directamente un LED accionado el 50% del tiempo a 60 Hz puede no ver el parpadeo, pero esa no es la única forma en que la gente lo percibe. A menos que solo tenga dos dígitos, los LED estarán más brillantes durante una fracción más pequeña del tiempo, lo que hace que el parpadeo sea más evidente. El centro de su retina es el que responde más lentamente. Notarás un parpadeo más en la periferia de tu visión. Sin embargo, la verdadera parte objetable es cuando mueves los ojos. El parpadeo es fácilmente aparente a 60 Hz. No puede hacer que el parpadeo sea invisible debido a este fenómeno, por lo que el problema es hacerlo menos molesto. 60 Hz sigue siendo bastante molesto para la mayoría de las personas. Como dije, quieres al menos unos 100 Hz.
En cuanto a obtener una buena ingeniería, ese es un tema completo por sí solo. No hay nada inherentemente malo en ir al extranjero. Las personas competentes viven en varios lugares. El problema es primero reconocer que un mal diseño costará mucho más que contratar a un ingeniero superior para que lo haga bien en primer lugar. En segundo lugar, debes darte cuenta de que encontrar y examinar el talento de ingeniería requiere algo de trabajo. Vas a gastar miles de dólares, probablemente 10 de miles de dólares. Trátelo como otras decisiones de compra de esa magnitud. Pregunte, entreviste, obtenga referencias y haga un seguimiento de ellas.
Mientras usted sea serio y el trabajo sea real, diría que tiene derecho a esperar alrededor de 2 horas de consulta inicial antes de que se haga cualquier compromiso. Tenga en cuenta que va en ambos sentidos. Parte de este tiempo es para que usted evalúe al ingeniero, pero, por supuesto, el ingeniero también lo está evaluando a usted. Están tratando de decidir si este trabajo se ajusta a lo que quieren hacer, si va a ser un problema para el cliente, etc. De cualquier manera, debería haber suficiente tiempo para entrar en los requisitos y hablar acerca de las impresiones iniciales de qué camino seguirá el ingeniero hacia la solución. Esto debería decirle mucho acerca de cómo piensan, cuánto implementan lo que les dijo en lugar de profundizar e intentar resolver el problema real y asegurarse de que se resuelva, sugiriendo soluciones alternativas, etc.
Nada de esto dice que el ingeniero no puede ser supervisado, pero sí dificulta la logística y la buena evaluación. Si tiene un par de recomendaciones sólidas de personas en las que confía, eso será de gran ayuda. Si su lógica es solo que Bob en Boston quiere $ 130 / hora y está estimando 4 semanas, mientras que Naresh en Bangalore quiere $ 35 / hora y puede hacerlo en 2 semanas, se enfrenta a serios problemas.
fuente
refresh each segment at a few 100 Hz minimum
¿No serían suficientes 60 Hz (frecuencia de actualización de juegos, LCD, etc.)?Estoy de acuerdo con la frecuencia de actualización mínima de 100Hz. Eso debería ser bastante fácil de hacer en código para cualquier uC. ¿Algún otro síntoma de reloj bajo f? como tono bajo en el altavoz?
Todas las pantallas Mux'd asumen un% fijo de ciclo de trabajo = tiempo de encendido / ciclo, por lo que la corriente promedio es constante independientemente del tiempo de actualización. Entonces, ¿cómo se debe entender el tiempo de encendido y el tiempo de ciclo al hacer cambios?
Si SABES CÓMO, es trivial. Si no lo hace, es realmente muy caro.
fuente
Entiendo que el parpadeo se puede ver en todas las unidades del mismo modelo de producto, por lo que no es que algo haya sido dañado. También diría que solo necesita aumentar la frecuencia de actualización y, por supuesto, no cambiar todo el programa.
Puede ser que el MCU no sea lo suficientemente rápido como para actualizar esos dos dígitos a una tasa más alta, pero lo dudo. ¿Puedes decirnos qué MCU es?
fuente