proyecto Arduino. Fuente de alimentación externa USB + - funciona bien. No USB - todo se vuelve loco

0

Tengo este circuito:

Es un proyecto simple: un sistema de enfoque para una lente tomada y un adaptador anamórfico. Tengo tres ollas. El primero lo uso como manipulador. El segundo se usa para obtener la posición del servo de rotación continua (JX DC6015 Mod) - motor # 1. El tercer potenciómetro se usa para controlar la posición del otro servo de rotación continua (JX DC6015 Mod) - motor # 2. También hay algunos botones y diodos para fines de calibración. El motor # 1 gira la lente tomada y el motor # 2 gira el adaptador.

Bueno, echemos un vistazo al circuito. También tengo allí un diodo 1N4007 y una tapa de 47uF. Utilizo este esquema porque el circuito ni siquiera se encendió cuando traté de alimentarlo con una batería. Ahora al menos se enciende. Pero dejémoslo de lado por un momento.

El principal problema es que todo funciona perfectamente cuando uso un adaptador (o batería) AC-DC externo con el USB de Nano conectado a mi computadora portátil. Tan pronto como desconecto el cable USB, el sistema se vuelve loco. En caso de que esté conectado al adaptador AC-DC, simplemente comienza a girar los servos varias vueltas CW y luego hacia atrás. En caso de que se alimente solo con una batería, los servos simplemente giran CCW o CW muy rápido y nunca se detienen.

Me parece que tengo un problema de bucle GND. Intenté desacoplar mis ollas agregando 3 tapas para cada pote que conecte un pin de señal con GND, pero las cosas fueron aún peor. No funcionó incluso con USB conectado a Arduino. Los servos giraron CW y CCW cambiando la dirección muy rápido.

Probé otros dos controladores Arduino, pero todo fue igual.

He probado todas las GNDs. Todos están conectados entre sí.

Entonces decidí intentar aislar VCC y GND del servo que colocaba NME0505SC entre la fuente de alimentación y Arduino. Pero tampoco ayudó.

¿Qué se podría hacer para que funcione solo desde una fuente de alimentación?

    
pregunta Anton Zimin

3 respuestas

0

Agregué diodo shottky y una tapa de 2200uF antes del vin y resolvió el problema. Es cierto que se trataba de un problema de alimentación, pero no aumenté el voltaje, solo puse una gran capitalización y funcionó bien con CA-CC. En cuanto a la batería, parece que tengo que probar otra o doblarla.

    
respondido por el Anton Zimin
3

Además de mi comentario sobre el requisito de que el voltaje en el pin de potencia \ $ V_ {IN} \ $ de Arduino Nano debe ser de 7 a 12 VCC en todo momento, aquí hay algunas sugerencias de solución de problemas adicionales.

  1. Al solucionar problemas de una fuente de alimentación, no use un voltímetro . SIEMPRE use un osciloscopio de almacenamiento digital (DSO) (preferido), o un osciloscopio de almacenamiento analógico con suficiente persistencia de almacenamiento (si no tiene un DSO), para observar el voltaje del suministro de energía en función del tiempo durante un período de tiempo razonable, por ejemplo, 200 - 500 milisegundos.

  2. Utilizando un DSO, observe el voltaje no regulado en el pin de entrada de energía \ N V's {IN} \ $ del Nano. Asegúrese de que \ $ V_ {IN} \ $ nunca caiga por debajo del voltaje de entrada mínimo del regulador, que para el Arduino Nano sería de 7 VCC (consulte la hoja de datos del Arduino Nano). Asegúrese de que este voltaje no regulado no presente problemas inaceptables, como: picos de voltaje grandes; gran ondulación la tensión sale ocasionalmente de la ventana de 7 a 12 VCC, etc.

  3. Utilizando un DSO, observe el voltaje en los pines de salida de alimentación de 5 VCC y 3,3 VDC del Nano MIENTRAS QUE SU SOFTWARE ESTÉ EN EJECUCIÓN. Asegúrese de que el voltaje en el pin de potencia de salida de 5 VCC esté entre 4.95 - 5.05 VCC (consulte la hoja de datos LM1117 ), y el voltaje en el pin de salida de potencia de 3.3 VDC está entre 3.267 - 3.333 VDC (consulte LM1117 hoja de datos ). Verifique la presencia de grandes picos de voltaje, caídas de voltaje, ondulaciones excesivas, etc., es decir, cualquier cosa que sea anormal en un riel de alimentación de CC que podría causar que el Arduino o los circuitos circundantes se "hickup": reinicios espontáneos, análogos a -fallas de conversión digital, etc.

Un último comentario. La página web de la Tienda Arduino para Arduino Nano proporciona valores en conflicto para el rango de voltaje requerido para VIN. La sección "Especificaciones técnicas" indica que el rango requerido de VIN es de 7 a 12 VCC, lo que me parece razonable (correcto). Pero la sección "Documentación > Poder" afirma que el rango requerido de VIN es 6 - 12 VDC. Esa especificación de 6 VDC es A CONTINUACIÓN el abandono de especificación de LM1117IMPX-5.0 de 6.2 VDC (consulte LM1117 hoja de datos ), que es un negocio riesgoso para un producto de producción. Si el VIN cae por debajo de 6,2 VCC, incluso un poco, se obtiene un "comportamiento no especificado" del regulador de voltaje LM1117IMPX-5.0 de Nano.

    
respondido por el Jim Fischer
0

Algunas ideas adicionales y sugerencias de solución de problemas.

Thoughs

  1. Hay numerosos artículos en Internet que tratan los problemas de ruido de la fuente de alimentación causados por la conexión de circuitos analógicos, circuitos digitales y componentes eléctricamente ruidosos como los motores de CC. Estos artículos discuten varias estrategias para reducir el ruido de la fuente de alimentación en circuitos de dominio mixto. Intente realizar una búsqueda en Internet utilizando las palabras clave " conexión a tierra de señal mixta " o " + conexión a tierra de señal mixta de Breadboard " para artículos relacionados. Por ejemplo: vea el artículo Analog Dialog de Walt Kester titulado " Conexión a tierra y desacoplamiento: aprenda lo básico ahora y ahórrese mucho dolor más tarde. Parte 1: Conexión a tierra ". (n.b. Use el enlace de descarga para obtener la versión PDF de este artículo. La página web corta parte de la información al final del artículo).

  2. Su publicación original no menciona el valor de resistencia de su potenciómetro. Tenga en cuenta que esos tres potes están conectados en paralelo a través de la potencia de 5 VCC y los pines GND del Nano. Por ejemplo, si cada bote tiene una resistencia resistiva de la pista (de extremo a extremo) de 100 ohmios, la resistencia equivalente de esos tres potes en paralelo es 100/3 = 33.3 ohmios, lo que atraería continuamente alrededor de 150 mA de los 5 nanos. Pin de potencia VDC. Eso es malo.

  3. Asegúrese de que sus ollas estén cableadas correctamente de modo que los terminales de resistencia de "pista" de extremo a extremo de cada olla estén cableados a través de los pines de 5 VCC y GND del Nano. Asegúrese de que el terminal del limpiaparabrisas de cada bote no esté conectado al pin de 5 VDC o GND en el Nano.

simular este circuito : esquema creado usando CircuitLab

Sugerencias para la resolución de problemas

  1. Retire todos los circuitos periféricos de la placa base y del Arduino Nano, es decir, retire los LED, los potenciómetros, los interruptores de botón y los servomotores.

  2. Conecte una fuente de alimentación de 12 VCC a los pines VIN y GND del Nano y ejecute su código en el Nano. Con un voltímetro DSO o DC, supervise el pin de alimentación de 5 VCC del Nano durante un período de al menos cinco minutos. Verifique que el regulador de voltaje lineal LM1117IMPX-5.0 integrado del Nano no se sobrecaliente y se apague, lo que causaría que el voltaje en el pin de 5 VCC del Nano caiga a (aproximadamente) cero.

  3. Desconecte la fuente de alimentación de 12 VCC de los pines VIN y GND del Nano. Reinstale SOLAMENTE los tres interruptores de botón. Utilizando el procedimiento del paso 2, controle el voltaje en el pin de alimentación de 5 VCC del Nano durante cinco minutos.

  4. Suponiendo que no se descubran problemas durante el paso 3, haga lo siguiente. Modifique su código fuente para encender los tres LED y nunca los apague. Deje los interruptores de botón en su lugar y repita el paso 3 para los tres circuitos de LED, es decir, en el paso 3, reemplace "los tres interruptores de botón" con "los tres circuitos de LED". Asegúrese de que la placa no se sobrecaliente al ejecutar los LED continuamente durante cinco minutos.

  5. Suponiendo que no se descubran problemas durante el paso 4, mantenga los interruptores de botón y los LED en su lugar, y realice el paso 3 para los tres potenciómetros. Use el mismo software del paso 4 que enciende los LED y no los apaga. Asegúrese de que la placa no se sobrecaliente al ejecutar esta combinación de circuitos de forma continua durante cinco minutos.

  6. Suponiendo que no se descubran problemas durante el paso 5, mantenga los interruptores de botón, los LED y los potenciómetros en su lugar, y realice el paso 3 para los dos servomotores. Use el mismo software del paso que enciende los LED y no los apaga. Asegúrese de que la placa no se sobrecaliente al ejecutar esta combinación de circuitos de forma continua durante cinco minutos.

respondido por el Jim Fischer

Lea otras preguntas en las etiquetas