¿Por qué podría detenerse el motor paso a paso?

0

Estoy tratando de ejecutar un robot con dos ruedas usando dos motores paso a paso y unidades de paso idénticos. Los motores son Nema 34 y los motores de paso son RMS R710 Paso Drive. El problema con el que me estoy topando es que mientras un lado funciona perfectamente (o al menos sin ningún problema notable), el otro lado comienza a detenerse después de correr por un tiempo (generalmente alrededor de la marca de los 5000 pasos).

Estoy usando un Arduino Uno para enviar la señal de dirección y paso mediante la biblioteca Stepper, y los controladores funcionan con una batería de 24 V. La resistencia en el variador es apropiada para la corriente requerida por el motor.

He intentado todo lo que se me ocurre para identificar el problema, pero se me acabaron las ideas. He cambiado los controladores y las conexiones de pines. También he usado otro motor en lugar de uno parado, y todavía tiene el mismo problema. No tiene sentido que uno de los lados idénticos funcione bien y que el otro lado tenga problemas.

¿Cuál podría ser el problema? ¿Qué más puedo probar para ver si soluciona el problema?

    
pregunta Burcu K

1 respuesta

2

Ok, primero que nada, no existe tal cosa como algo idéntico. Cada motor tendrá su propio conjunto de características de par y fricción e inductancia. Además, lo que esté conduciendo en cada lado también diferirá en términos de la carga aplicada al motor. Además, con los sistemas de bucle abierto, dos motores pueden interferir entre sí mecánicamente.

Puede intentar cambiar los motores desde cualquier lado y ver si el problema sigue al motor, es decir, permanece en el mismo lado. Si es lo último, entonces estaría investigando qué es diferente acerca de las cargas en ese lado.

Sin embargo, en general, la conducción de motores paso a paso sin retroalimentación conmutativa es en realidad algo poco confiable para intentar, especialmente a cualquier velocidad considerable. El ángulo de fase al que pisas los motores es crucial para determinar si tu motor acelerará, funcionará o simplemente se detendrá. Esto es problemático, es un escenario de carga fija y es crítico en una aplicación de carga variable ... como un robot.

Laimagendearribamuestracómovaríaelpardelejedependiendodesuposiciónenrelaciónconlabobinadefaseseleccionada.Comopuedever,elparessinusoidalycerocuandoelejeylabobinaseleccionadaestánalineados.Cuandoconduzcaunmotorpasoapaso,querrámantenerelpardetorsiónenalgúnlugardelaseccióndepico.Paraunaaceleraciónmáxima,deseacambiardefasecuandoelejeseencuentreamediopasodelaposicióndefaseseleccionada.Enesemomento,lasiguientefaseestaráa1.5pasosyeltorquecreceráenelotroladodelpico.

Sicambiadefasedemasiadopronto,enrealidadaplicaráunparnegativoque,porsupuesto,ralentizaelmotorytodosesaledefase,elparsevuelvealeatoriamentedireccionalyelejesedetendráysimplementesesentarágritándole.

Parahacerquelossteppersfuncionendemaneraconfiable,obienutilizaunperfildetiempodeescalonamientodefasequesecalculabasándoseenelperfildeaceleraciónmedidodelsistema,ousaretroalimentaciónposicionalgeneradaporuncodificadorquetienelamismaomúltiplePulsosporrevolucionesyaqueelmotorpasoapasotienepasos.

Elmétododelperfildeaceleracióntiendeasermásproblemático,yaquetienequeencontrarunperfilparalascargasmejoresyenelpeordeloscasosyesascargasdebenserrelativamenteconstantes.Amenudo,elmejoryelpeordeloscasossontandiferentesqueesimposibleobtenerunperfildepasocomún.Elmétododelcodificadoresmuchomásconfiablepero,porsupuesto,agregacomplejidadycostoadicionalesalsistema.

Loscodificadorespuedenvariarencostodependiendodesusrequisitos,especialmentesinecesitanserselladosherméticamente.Sisusmotorespasoapasosonpasosbajosporrevolución,hágaloustedmismoconrueda"ranurada" y óptico, o el interruptor magnético también es una opción.

Usted está describiendo una aplicación de robot que, presumiblemente, tendrá una alta variabilidad de carga. Como tal, realmente necesita que los codificadores giratorios de cada motor se ajusten para darle los mejores ángulos de fase y el par para poder controlar cada motor de manera adecuada.

SiyaESTÁutilizandoretroalimentacióndeángulodefaseyaúnestáestancado,tieneunproblemadesoftwareoretroalimentación,olacargaessimplementedemasiadoparaelmotor.Espocoprobablequesetratedeunproblemadecontroladores.

ADICIÓN:Yaqueestásusandodosmotoresparaconduciresterobot,inclusoconloscodificadoresdeeje,necesitarásalgunosalgoritmosdecontrolinteligentesparamantenerambosmotoressincronizados,demodoquelacosaconduzcaenlínearecta.

Estogeneralmenteimplicacontrolarlavelocidaddecadamotorpasoapasoy"frenar" o "ralentí" un motor mientras el otro se pone al día. También son posibles métodos más complejos de control de par / corriente que brindarán una operación más suave a costa de un tiempo de respuesta más lento. Lo que es mejor para su aplicación particular es, por supuesto, a su discreción.

También es normal incluir aquí los perfiles de aceleración y desaceleración como capa de control superior. El sistema de retroalimentación del codificador le brinda la máxima aceleración y desaceleración posible con la configuración de carga; luego, utiliza los perfiles para modular esas fuerzas para reducir la velocidad de las curvas de aceleración en un subconjunto controlado. De esa manera, puede detener con precisión su robot en una posición de paso requerida.

    
respondido por el Trevor_G

Lea otras preguntas en las etiquetas