1 votos

¿Es necesario utilizar una resistencia pull down con este BTS7960?

Tengo un Arduino Nano controlando un BTS7960 que está a 10 metros de distancia.

Tengo una fuente de alimentación de 24 V.

Tanto el Arduino como el BTS7960 reciben 5V a través de un convertidor reductor LM2596.

Los pines "Enable" del BTS7960 se conectan a la salida de 5V del convertidor reductor.

schematic

Mi problema es que esta configuración quemó el BTS7960 Antes de reemplazarlo, quiero identificar qué lo hizo quemar.

Sospecho que o bien el RPWM y LPWM se convirtieron en HIGH (por parásitos + cable largo) y quemaron el driver por lo que debería añadir resistencias pull down, o hay algo mal con esta configuración y el uso de convertidores buck con GND común es lo que causó problemas.

Cuando enciendo la fuente de alimentación el motor gira durante unos segundos aunque el Arduino todavía no ha dado orden de encender el motor.

Actualización :

He cambiado la configuración añadiendo una segunda fuente de alimentación de 24V que alimenta el Arduino y el controlador del motor solamente, ahora ha estado funcionando durante 15 días sin ningún signo de señales de ruido que disparen el controlador del motor. Esto puede no ser la mejor solución, pero parece que el trabajo

1voto

TimWescott Puntos 261

Probablemente tengas un bucle de masa y esté provocando una señal falsa del Arduino al controlador del motor.

Básicamente, si miras tu diagrama, tienes que sustituir mentalmente todos los cables por una cadena de resistencias e inductores. Cuanto más largo sea el cable, mayor será la resistencia y la inductancia, y diez metros es demasiado largo para una señal de nivel lógico de un solo extremo.

La comunicación a través de esa distancia, en presencia de una conexión eléctrica ruidosa*, debería realizarse con la aplicación muy cuidadosa de algo como RS-232, o -- mucho mejor -- con señalización diferencial (como RS-422) o llevando la señal a tierra en un cable separado desde el Arduino al controlador del motor, y luego usando opto-aisladores en el controlador del motor.

Con su configuración actual, cuando el motor está encendido, y sobre todo cuando usted está conduciendo una señal PWM a la misma, el voltaje aparecerá a través de su cable de tierra - pero las señales que está utilizando para la tarjeta de conductor se hace referencia a la tierra del Arduino. Si la tierra del motor cae lo suficiente, las señales de la Arduino tanto puede parecer que son "on", incluso si no lo son. Por otra parte, si el conductor no está protegido, entonces las señales pueden ir fuera del rango de tensión del chip puede soportar, y freír en el lado de entrada.

El uso de la señalización diferencial o opto-aisladores que se ejecutan fuera de una tierra de referencia independiente de la Arduino va a arreglar eso. El uso de un Arduino en el lado izquierdo para cualquier interacción con el usuario que desee, con una línea serie (que a su vez utiliza RS-422) para el Arduino en el lado derecho para conducir el motor, va a arreglar eso.

También puedes generar 5V en el motor y alimentar el Arduino. con un cable de tierra separado que esté bien aislado del que acciona el motor. Mientras no tengas ninguna otra conexión a tierra, eso puede funcionar -- pero, 10 metros es una gran distancia para lo que estás intentando.

También puedes colocar el controlador del motor justo al lado del Arduino, y simplemente pasar los cables de 10 m hasta el motor. Esa puede ser realmente la forma más fácil de lograr algo que es eléctricamente sonido.

También sería bueno tener un circuito en el controlador del motor que no te permita accionar simultáneamente ambos semipuentes.

* Cualquier cosa que alimente un motor es ruidosa.

-3voto

jonsnowww Puntos 6

Pregunta

El módulo controlador del motor de CC BTS7960 del operador estaba frito. ¿Cuáles pueden ser las posibles causas?


Respuesta

Respuesta corta

  1. Una posible causa para freír el motor es que el OP utilice un esquema de cableado y control que pueda quemar por una combinación incorrecta de señales. (Ver Apéndice C para más detalles. Una solución es usar el esquema clásico de cableado/control L298N/BTN7961B, que me ha funcionado bien, hasta ahora.

  2. Una solución para enviar señales a más de 10 metros de distancia es utilizar el bucle de corriente para controles no tan frecuentes, por ejemplo, cambiar la dirección del motor a menos de 10 Hz.

  3. Para enviar señales PWM a larga distancia, una solución es usar UART control PWM/sig gen, como se describe en las preguntas y respuestas del Apéndice A (a).

  4. Si el OP prefiere el esquema de conexión de riesgo, es importante evitar la desconexión del motor cuando la alimentación está encendida, porque pico EMF espalda podría volver a través del cable de tierra para interrumpir el Arduino y causar señales de control inesperado para el controlador del motor y se fríe.

  5. Para el problema: "Cuando enciendo la fuente de alimentación el motor gira durante unos segundos aunque el Arduino aún no ha dado la orden de encender el motor, ..."

    El problema puede desaparecer si se utiliza el esquema de conexión/control nº 2 y la patilla INH se tira a masa.


/ para continuar,


Respuesta larga

Contenido

Part A - Possible causes of burning BTS7960 list

Part B - Troubleshoot BTS7960 tips list

References

Appendices

Parte A - Lista restringida de posibles causas y análisis de fallos

Hay muchas causas posibles. A continuación se ofrece una breve lista.


(1) ¿Por qué la eficiencia de mi PWM es del 50%? Preguntado hace 5 días Activo ayer Visto 330 veces

1.1 Mi instalación eléctrica.

1.2 Mi sistema de pruebas.

1.3 Mis señales de entrada.


(2) ¿Hay algo malo en conectar los L298N en paralelo? Preguntado hace 17 días Activo hace 12 días Visto 154 veces

2.1. Parte 2 - Cómo utilizar las señales de entrada del L298N, IN1, IN2 e INH.


(3) ¿Cómo controlar la velocidad del motor de CC por el controlador de motor con entrada PWM? Preguntado hace 9 meses Activo hace 3 días Visto 913 veces

3.1 Referencias: Parte C - PWM Full H-bridge Motor Driver

3.2 Apéndice A - Diagrama de enrutamiento de la señal de entrada del L298N

3.3 Apéndice E - BTN7971B diagrama de bloques y señales de entrada

3.4 Apéndice L - Calibración del rendimiento BTN7971B PWM/Ciclo de trabajo (1kHz, 50% ciclo de trabajo)


Parte B - Lista de consejos para solucionar problemas

(1) KISS (Keep It Simple Stupid), Divide y vencerás sugerencia de prueba

1.1 Siguiendo mi respuesta bloqueada (Parte 1, s1.3) sugeriría probar los módulos BTN7971B de medio puente doble en dos partes, y probar sólo una de las partes, como se muestra en la figura siguiente:


half bridge test


Notas

  1. La parte derecha, medio puente H #2 en gris, está desconectada (en realidad el único recableado es desconectar IN2, entrada al medio puente H #2 (IS, INH es común/compartido entre ambos medios puentes). Así que sólo la parte izquierda, medio puente H # 1, está cableado para pruebas unidireccionales en (a) PWM vs velocidad del motor / eficiencia, (b) la medición de corriente utilizando sólo el pin IS (es decir, no se necesita torpe, no tan precisa, pinza amperimétrica para ser utilizado como se describe en la Parte 1 (1)).

  2. Es posible que el módulo de doble puente H BTS7960 del usuario sólo tenga uno de los dos puentes fritos. Así que por suerte él podría utilizar este diagrama de cableado para comprobar si uno de la mitad H-puente sigue vivo, y probar mi consejo sugerido a continuación para hacer algunos estudios de investigación / viabilidad, como una preparación para (disparar) su venida, segundo módulo nuevo. :)


/ para continuar, ...


Referencias

(1) BTS7960 High Current 43A H-Bridge Motor Driver User Guide - Hanson Tech

(2) Fácil Configuración Motor Driver BTN7960/ BTS7960 con Arduino - FireBitLab

(3) Doble BTS7960B DC 43A Stepper Motor Driver H-Bridge PWM Driving Board Module - Thai McuCity

/ para continuar, ...


Apéndices

Apéndice A - Esquema del módulo excitador de motor de CC BTS7960 - Hanson Tech

bts7960 schematic


Apéndice B - Señales de control del módulo controlador del motor de CC BTS7960 - Hanson Tech

bts7960 control signal


Apéndice C - ¿Por qué se frió el módulo BTS7960 del OP?

1. La guía del usuario de Hanson Tech me ha parecido un poco rara: sus nombres de señales de control no se corresponden con su esquema.

2. Su procedimiento de control también es extraño: hay dos habilitaciones de modo de dirección, una para el modo de avance y otra para el modo de retroceso.

Mi pregunta inmediata es la siguiente:

¿qué ocurrirá si se activan al mismo tiempo el modo de avance y el modo de retroceso? ¿No se fundirá el módulo?

3. Así que busqué en Google para saber más. Tuve suerte: encontré un YT que tiene una tabla de verdad que confirma mis preocupaciones. ¡Mira la imagen de abajo para ver lo que encontré! :)

Fácil Configuración Motor Driver BTN7960/ BTS7960 con Arduino - FireBitLab


burn burn burn


burn truth table


Notas

  1. ¡Este es un error muy estúpido que nunca esperé ver! ¡Necesito confirmar el OP si lo que vi es cierto!

Apéndice D - Dos esquemas diferentes de señal/procedimiento de control descritos por Thai McuCity

(3) Doble BTS7960B DC 43A Stepper Motor Driver H-Bridge PWM Driving Board Module - Thai McuCity

two schemes


Notas

1. La principal diferencia entre ambos sistemas es la siguiente:

(a) El método 1 no acorta/combina En_A y En_B, y El módulo se quemará si En_A y En_B están a nivel alto. .

(b) Método 2 cortocircuita En_A y En_B juntos, el En_C combinado se utiliza como señal High/Low o PWM para Activar/Desactivar o cambiar la velocidad de todo el módulo/motor. Existe el peligro de quemar el módulo por una combinación incorrecta de las señales En_A y En_B.


Apéndice E - Resultados de las pruebas del esquema de señales de conexión/control del L298N

Usando la señal L298N y el control todo va bien.

Youtube video of BTS7960 Test


PWM test

/ para continuar, ...


i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X