Tengo 10 circuitos, cada uno de los cuales consta de un IC táctil (Atmel at42qt1010) y un electrodo, y 2 reguladores de corriente constante de 350 mA (NSI50350AST3G) y LED. Todo conectado a un Arduino Mega, mediante cables de ~1 metro.
El pin del encabezado es el siguiente:
Entonces, en todos los circuitos, 1,5,6 están comúnmente conectados. 2,3,4 están aislados y conectados a la MCU.
El problema ocurre al cambiar los pines 2 y 4, lo que aparentemente hace que los circuitos aleatorios emitan 3 como ALTO. Incluso si enciendo los LED en el circuito 1, el circuito 5 puede comenzar a detectar un toque en falso.
La única forma que he encontrado para remediar esto es que dos siempre mantengan la misma carga, por ejemplo, en el circuito 1 si el LED1 está ENCENDIDO y el LED2 está APAGADO, si alterno los estados al mismo tiempo, todo está bien. Sin embargo, si hay un retraso, digamos 20 ms, causará el problema. O si los quiero a ambos, el mayor problema que tengo ahora...
Este comportamiento también se puede ver (no en la misma medida) cuando +7.5v ni siquiera está conectado.
Adjunto mi esquema. Tengo 10 de estos, conectados a un Arduino Mega. +5v es proporcionado por Arduino y USB +7.5 es proporcionado por un suministro externo. Los GND están conectados.
No estoy usando PWM, solo ALTO y BAJO para controlar los LED
¡Por favor ayuda! Pensé que tenía esto solucionado, pero un par de días antes de que el proyecto salga, encuentro este error.
ACTUALIZAR
Después de seguir los consejos dados aquí y leer estas notas de aplicación adicionales, revisé mi esquema y también incorporé un LED de tres canales, en lugar de los dos LED anteriores. También planearé ejecutarlos con una señal PWM ahora.
La nota de aplicación ' Secretos de un diseño exitoso de QTouch - Atmel Corporation '
La nota de aplicación ' Consideraciones sobre la fuente de alimentación para circuitos integrados táctiles capacitivos Atmel ' muestra un regulador LM78L05
Esquema 2.0
Diseño de PCB 3.0 : el enrutamiento y los anchos de trazo aún deben optimizarse.
Preguntas
1. ¿Debería usar el regulador LDO mencionado en la nota de aplicación anterior?
2. ¿Estaré bien usando este 7.5V - 10V a través de 10 de estos circuitos, por lo tanto, teniendo 30 circuitos de alta corriente PWM impactando entre sí? Lo proporcionará una fuente de alimentación conmutada como http://uk.farnell.com/xp-power/jpm80ps07/psu-80w-7-5v-10-7a/dp/1109830
3.¿Me he excedido con las 3 tapas electrolíticas de 100uF?
4. ¿Algo más que deba hacer? Luego rediseñaré la PCB.
Intente agregar un par de condensadores entre Res3
y R4
, por ejemplo, 100 nF, para ralentizar la conmutación y minimizar la EMI. También agregue algo de capacitancia a granel al riel de alimentación del sensor táctil (por ejemplo, >100uF electrolítico) y al riel de +7.5V. Déjenos saber los resultados.
Además, puede intentar reducir la sensibilidad del sensor táctil. Asegúrese de haber seguido todas las pautas en la hoja de datos con respecto al diseño de PCB y la inmunidad al ruido; tenga en cuenta que se recomienda usar un regulador de voltaje dedicado si la fuente de alimentación se comparte con otro sistema electrónico:
NSI50350AST3G y PWM
La mención de los condensadores arriba y en la hoja de datos es para reducir las frecuencias más altas que pueden causar problemas al cambiar grandes corrientes a altas velocidades. Tenga en cuenta que "alta velocidad" aquí se refiere principalmente al tiempo de subida de la señal PWM en lugar de a su frecuencia principal.
Si dejamos fuera los condensadores y cambiamos usando el pin Arduino, el tiempo de subida en la base será rápido (lo que significa que la conmutación del transistor será rápida). No sé específicamente sobre el ATmega, pero la mayoría de los microcontroladores modernos son muy rápidos. E/S. Muchos pueden cambiar en menos de 10 ns, tome por ejemplo esta foto de alcance que acabo de tomar de un dsPIC:
Puede ver que el tiempo de subida es de poco más de 5 ns, esto es bastante rápido. Asumiré que será más rápido que el ATmega, pero asumiremos que el ATmega cambia en 10 ns. Recordando que cualquier forma de onda se puede formar a partir de una suma de ondas sinusoidales (consulte Transformada de Fourier), una buena regla general para calcular la densidad de potencia espectral significativa (muy aproximadamente, los componentes de frecuencia lo suficientemente grandes como para que valga la pena molestarse) a partir del tiempo de subida es :
Fknee = 0,5 / tiempo de subida
Fknee es el punto donde el espectro se reduce mucho más rápido (por ejemplo, como el punto -3dB de un filtro de paso bajo), por lo que este es un punto importante.
Entonces para 10ns:
Fknee = 0.5 / 10e-9 = 200Mhz(!)
Ahora el transistor cambiará mucho más lento que esto, la hoja de datos da un valor de 100ns como máximo para 30V, 750mA y una corriente base de 15mA. Según un modelo de simulación que encontré, es bastante rápido. Entonces, 100 ns todavía equivalen a 20 MHz, más rápido de lo que nos gustaría. Afortunadamente, nuestra corriente base no es de 15 mA, por lo que el tiempo de subida es más como 600 ns, lo que nos da una frecuencia de codo de 1,2 MHz, mucho mejor. Echemos un vistazo a esto:
Y la simulación con el tiempo de subida mostrado (bajo "Diff cursor2 - cursor1"):
El tiempo de subida actual es de solo 985 ns (abrir en una nueva pestaña para una versión más grande)
Con condensador añadido
Bien, ahora agreguemos el capacitor y veamos qué obtenemos:
Y la misma simulación ahora tenemos un tiempo de subida actual de ~15.6us:
Esto está bien para un LED PWM, ya que la frecuencia será baja (por ejemplo, 100-300 Hz más o menos) y reduce significativamente el componente de alta frecuencia.
PERO
La desventaja (bastante grande) es que la corriente de la base del transistor no es suficiente para cambiar los 350 mA por completo (observe la corriente máxima en los gráficos anteriores y, por lo tanto, ahora disipa más calor, ya que pasa más tiempo entre encendido / apagado completamente - para sea preciso, no se enciende completamente)
Esto no es eficiente y no tiene sus LED tan brillantes como los desea (si hace la simulación, se disipa alrededor de 0.25W)
ENTONCES
Reemplace las resistencias de 4.7k con resistencias de 1k, y luego debería tener suficiente corriente base para cambiar los 350mA completos. Pero espera, ¿qué pasa con el tiempo de subida si cambiamos las resistencias? disminuye a alrededor de 2.5us (no tan mal), pero puede aumentar el capacitor a 220nF o 360nF si desea mantener lento el tiempo de subida.
Replace the 4.7k resistors with 1k resistors,
¿Esto se basa en la suposición de que la MCU emite 5v a 40mA? Dado que usaré algunos controladores PWM, con corriente ajustable, ¿habrá alguna diferencia si los configuro en 10 mA?
pjc50
ShimoFuri
David
david tweed
ShimoFuri
David