Fuente de alimentación de detección de corriente para servos de hobby

Estoy tratando de diseñar una fuente de alimentación para 8 servos de hobby que detecta la corriente consumida por cada uno de ellos. El tamaño y el costo son los principales impulsores, mucho más que la precisión absoluta.

Estoy diseñando para 1A por canal, aunque sería bueno tener un par de canales de 2A.

Tengo una MCU con suficientes entradas analógicas de un solo extremo. Si la mejor manera de hacer esto es diferencialmente, lo que supongo que podría suceder si la resistencia de detección está en el lado alto de la carga (¿hay alguna razón para ponerla allí), entonces podría necesitar más pines y probablemente agregaría algo como un ADC I2C MAX11609 o MAX11611 . Además de saber si necesita ser de un solo extremo o diferencial, tengo la parte del ADC bajo control.

Mis preguntas son:

  1. ¿Dónde pongo la resistencia de detección?
  2. ¿Cómo hago un filtrado de paso bajo suficiente para poder muestrear estas mediciones actuales lentamente (digamos 10 Hz) y suavizar lo que esté sucediendo en frecuencias más altas que eso?
  3. ¿Tiene sentido mirar algo como un FET de espejo actual? Parece que no puedo encontrar ninguno con clasificaciones actuales remotamente tan bajas como 1-2A, todos parecen tener una clasificación de 40A+ y el tamaño correspondiente. Sería bueno porque entonces habría protección contra sobrecorriente, pero ciertamente puedo vivir sin ella si va a ser una diferencia de precio del 300 % y una diferencia de tamaño del 100 %.
  4. ¿Cómo amplifico la señal? ¿Tiene sentido amplificar antes o después del filtrado, y antes o después del multiplexado?
  5. ¿Hay algo en lo que no estoy pensando que va a causar un problema importante? ;)

Respuestas (4)

Un enfoque alternativo podría ser un IC como MIC2545A , interruptor de lado alto de límite de corriente programable. Para abordar sus puntos de pregunta:

  1. El dispositivo reemplaza la resistencia de detección de corriente, va en el lado alto y también proporciona una salida de indicador de detección de corriente, limitación de corriente y un interruptor MOSFET de nivel lógico con un RdsOn de 50 miliohmios, en un paquete de 8 pines (6 pines reales).
  2. Una serie RC opcional, paralela a la resistencia de ajuste de límite de corriente, proporciona el suavizado/paso bajo que necesita; consulte la hoja de datos.
  3. El límite de corriente de estado estable se establece mediante una única resistencia de ajuste de límite de corriente, en un rango de 500 mA a 3 amperios, aunque con solo una precisión de +/-20 % en el rango deseado. Además, como el IC es un interruptor de límite de corriente, se cumple su requisito de limitación.
  4. No es necesario, el dispositivo hace esto internamente.
  5. Sí: es posible que esta no sea la pieza óptima para su necesidad específica, puede haber dispositivos similares más económicos que cumplan con sus especificaciones. Los expertos en esta comunidad sugerirían mejores alternativas, confío: podría existir una versión de matriz de n vías, para que pueda abordar su requisito de 8 motores con 8/n de los circuitos integrados.

Como existen paquetes DIP de orificio pasante y SOIC de 8 pines, tiene opciones de creación de prototipos y productos finales.

Por lo general, se recomienda colocar la resistencia de detección en el lado alto. Si está en el lado bajo, el micro operará en una tierra diferente a la de la carga (más baja por la caída de voltaje a través de la resistencia de detección).

Hay dispositivos prefabricados como el INA213 de TI que contienen un amplificador diferencial de baja compensación y alta precisión con ganancia fija y están destinados a la detección del lado alto. Puede agregar fácilmente un filtro de paso bajo a la salida de este dispositivo (más escala, si es necesario) y llevar esa señal a su ADC.

También puede construir circuitos de amplificadores operacionales diferenciales discretos (use una parte de riel a riel con un desplazamiento de entrada bajo para mayor precisión). Es una cuestión de precisión y linealidad versus costo: el INA213 es un poco caro pero es extremadamente preciso y muy pequeño.

Si su fuente de alimentación tiene una inhibición remota, puede usar el micro para cortar la alimentación si uno de los rieles tiene sobrecorriente. También es posible que desee considerar los polifusibles PTC de restablecimiento automático en serie con cada servo (nuevamente en el lado alto) que brindarán protección por motor.

Que INA213 y sus hermanos son muy interesantes, gracias por la indicación. ¿La adición de un condensador en paralelo con cada servo, después de la resistencia de detección de ese servo, actuará como un filtro de paso bajo para la corriente de alimentación en sí y, por lo tanto, también para la señal, o hay alguna razón por la que no funcionaría bien?
En lo que respecta a los fusibles PTC, parece que puedo obtener un MOSFET de puerta lógica de canal N con una resistencia más baja/comparable por aproximadamente la mitad del dinero (al menos en las cantidades que estoy viendo), en este punto estoy considerando que más el INA213 o dispositivo similar.
¿Quizás el INA216 en su lugar? Parece ser similar, excepto que es más barato y solo funciona en el lado alto de la carga.
@Doug - INA216 mide 0,8 mm x 0,8 mm. ¡Buena suerte! :-)
@Doug: el INA199A2 puede ser una mejor alternativa. Al menos viene en un paquete SC-70 más razonable.
Steven, buena decisión. Sin embargo, ya hay un montón de cosas diminutas sin cables en este tablero, así que le preguntaré a mi casa de montaje qué diferencia hace y elegiré lo que sea más barato en general.
@Doug: Lo mejor del polyfuse es que actúa por sí mismo: no necesita ningún circuito de control o monitoreo especial. Con el canal N, deberá proporcionar una señal de compuerta más alta que el riel de suministro del servo para garantizar un canal saturado (y, por lo tanto, una baja pérdida en el canal). R D S ( o norte ) ).
@Doug: tener un condensador cerca del servomotor es una buena idea en general (al igual que los diodos antirretroceso para proteger el riel). Todavía incluiría un LPF después del amplificador de detección de corriente, ya que la corriente puede ser pico dependiendo de cómo sea el consumo del motor.
@Doug: las cosas diminutas sin plomo son una cosa, 0,8 mm x 0,8 mm otra. Estamos hablando de 0.031" aquí, ¡eso es más pequeño que un 0402! Diría que publiques una foto del dispositivo montado, pero me temo que no vamos a ver mucho. (Por cierto, me perdí tu respuesta. Si hubieras escrito "@stevenvh" en cualquier parte del comentario se me notificará )
  1. Sus opciones son lado alto o lado bajo. El lado alto es el mejor, porque no modifica el nivel del suelo, pero también es el más difícil de medir. Iría por el lado bajo, es decir, una resistencia entre tierra y servo V-. Elija un valor que no disminuya demasiado la fuente de alimentación, pero que le proporcione una lectura decente. Una caída de voltaje de unos pocos cientos de milivoltios puede ser un buen valor.

  2. Un filtro RC ayuda, y puede aprovechar el microcontrolador para promediar las últimas N muestras (esto es efectivamente un filtro FIR)

  3. El espejo actual sería bueno para crear en el lado del espejo un voltaje más grande (resistencia de detección más grande), pero no creo que lo necesite.

  4. Dependiendo de la precisión, es posible que necesite o no amplificación. Si lo necesita, un amplificador opamp no inversor es una solución. Necesita un tipo RRIO (E/S de riel a riel).

ingrese la descripción de la imagen aquí

V O tu T V yo norte = R 1 + R 2 R 1

  1. No, a menos que yo también lo haya olvidado :-)
Steven, con la solución del lado bajo, ¿debo preocuparme de que el servo malinterprete la señal de control PWM (que se refiere a la tierra del sistema) al compararla con la tierra elevada que ve debido a la caída de voltaje en la resistencia de detección? Estoy pensando que no, porque solo debería ser de ~ 50 mV, pero nunca antes había probado algo así.
@Doug: 50 mV no debería ser un problema. Todo depende de la precisión con la que desee medir la corriente. Un voltaje más bajo tendrá relativamente más ruido. Y ahí es donde entra tu LPF.
@Doug: no sé cómo se ve la impedancia de entrada al servo, pero si no es capacitiva, siempre puede elevar el nivel más bajo de la señal agregando una resistencia en serie y un pullup a V +. También consulte la hoja de datos del servo para ver cuál es el rango de voltaje de entrada.
  1. Depende de lo que haga con la pregunta 3 y la cantidad de cables por motor.

  2. Sugeriría muestrearlo 20x del ancho de banda de su bucle de posición. Normalmente es >=2Khz.

  3. El sensor de corriente, el amplificador y el par PID normalmente están aislados del resto del circuito. Tener el lado de alta potencia aislado le da más libertad para elegir dónde poner el sentido actual. Para motores de 3 o 4 cables, solo necesitará 2 sensores por motor y algunos cálculos de triginometría para derivar el tercer y cuarto valor.

  4. No filtre la corriente de salida ni utilice filtros de 800 Hz muy rudimentarios. Para corriente 1-2A no es importante. Tiene amplificador individual por motor. Si multiplexa un amplificador, tendrá un ancho de banda de frecuencia mucho peor. La regla principal es que el ancho de banda del PID actual debe ser 10 veces mayor que el ancho de banda del PID de posición. Además, no necesita tener más de 800 Hz para el bucle actual. entonces 80 Hz es el límite normal para PID. Elegir el ancho de banda es una especie de planificación de frecuencia para desacoplar 2 cascadas de servo, para evitar oscilaciones caóticas.

  5. Posiblemente no pensó que el servo del motor es en realidad un servo de posición PID conectado en cascada al servo de corriente/par. Por lo tanto, la corriente no solo debe medirse, sino que debe estar estrechamente conectada a través del amplificador de corriente local controlado por su propio PID alimentado desde el sensor de corriente.

Se mide localmente por el circuito de control en el servo de hobby, pero estoy tratando de hacer algo que no requiera que el usuario abra la caja, busque esa señal y la suelde allí. Esta medida no es para control, es solo para monitoreo de carga de ancho de banda bajo, y es por eso que estaba pensando en el rango de 10Hz. Ciertamente puedo probarlo mucho más a menudo y filtrar digitalmente desde allí.