Control de giro de un motor dc con arduino y labview

Control de giro de un motor dc con arduino y labview

Control de giro de un motor dc con arduino y labview

Control de motores paso a paso labview vi

Para controlar un motor de corriente continua, construimos un sistema utilizando LabVIEW como controlador y procesador principal con un módulo DAQ USB-6008 como interfaz, un puente H como subcontrolador y un codificador de efecto Hall del motor como sensor (ver Figura 1).

Instalamos dos sensores de efecto Hall separados 90 grados en el eje trasero del motor. Estos dos sensores produjeron finalmente dos salidas de onda cuadrada que estaban 90 grados fuera de fase. El motor en esta aplicación tenía una relación de transmisión de 300, y el codificador producía 12 pulsos por revolución, por lo que el sistema producía un total de 3.600 recuentos de pulsos por revolución del eje principal.

Los dos modos de control eran motor DC y servomotor. En el modo de motor DC, el motor giraba continuamente en sentido horario o antihorario con indicación de la velocidad. Para controlar el sentido de giro del motor, el sistema enviaba dos salidas digitales al puente H a través del módulo DAQ USB-6008 según la selección del usuario. El usuario podía arrancar y parar el motor con otra salida digital al pin del puente H. Además, el sistema enviaba las salidas del codificador a LabVIEW y las entradas analógicas para que el usuario observara las formas de onda de salida del codificador y obtuviera la velocidad de rotación actual en revoluciones por minuto del motor (ver figuras 2 y 3).

Control de velocidad en bucle abierto y cerrado de un motor de corriente continua utilizando el microcontrolador arduino y labview

Tal vez, sería mejor que hablaras del proyecto en términos generales, primero. ¿Puede el motor ir en ambas direcciones? ¿Cuánta carga tiene el motor? ¿Qué voltaje y corriente consume? ¿A qué vas a aplicar el PWM?

no es que ninguno de los que importa, pero es un 24V, 15W motor no se mueve / tener ninguna carga, es sólo la primera etapa en la que voy a ver cuánto el error de estado estacionario del motor va a mejorar en labview mediante la observación de la señal dada por el codificador, el procesamiento y el envío de la señal de compensación. eso es todo

Hay ejemplos por ahí de cómo leer un encoder. No es tan difícil. Si el motor gira en ambos sentidos, es un poco más difícil, pero la logística ya está resuelta. El patio de recreo está teniendo problemas en este momento, pero hay ejemplos entonces (cuando está trabajando de nuevo).

Por qué se necesita una velocidad constante para un motor que no hace nada sigue siendo un misterio. Como señala Grumpy_Mike, cuanta más información puedas compartir, más probable es que podamos sugerir otras formas (prácticas) de lograr tu objetivo.

Arduino labview comunicación en serie

Quiero que LabView convierta mi entrada en rondas por segundo durante el tiempo que el programa especifique en el motor síncrono de corriente continua. Para ello, ¿en qué forma debe enviar los datos el primer programa que estoy codificando? ¿Debería ser .txt? .xls? ¿O alguna otra cosa? ¿Cuál debo elegir? ¿O me estoy perdiendo algo?

.txt y .xls son tipos de archivo.    Realmente dudo que el Arduino quiera abrir y leer un archivo.    Por lo general, usted acaba de enviar los comandos y los datos del puerto serie de su programa LabVIEW en cualquier formato que su Arduino quiere.    Probablemente los datos ASCII con un separador como un comman entre los diferentes elementos de datos y un terminador como un retorno de carro o avance de línea para definir el final del paquete de datos.

El primer programa no es el labview ni el arduino. Está siendo codificado en C#, y su trabajo es recoger los datos del archivo que le envío.Así que hay 2 programas, uno es labView recogiendo los datos del primer programa, modificarlo, enviarlo a arduino.  Por cierto no estoy usando el arduino como un software, lo estoy usando como una tarjeta de motor DCGracias por su ayuda de nuevo.

Control de la velocidad del motor dc usando labview

Quiero controlar mi motor con bpm, bpm será mi velocidad como si bpm es 120, mi velocidad será 7m/s o si bpm es 110, mi velocidad será 6m/s son sólo ejemplo para explicar mi sistema no es el corrct uno y el tiempo será el período.

Sólo para aclarar, ¿quieres usar la salida en Data Display como la entrada de control de velocidad en «dc motor analog control.vi»? Podrías usar «Read From Excel.vi» como un subVI en el otro programa. Usted podría utilizar auto-indexación de bucles for para ir a través de los datos en la matriz.

Acerca del autor

admin

Ver todos los artículos