NI Home > Community > NI Discussion Forums

Instrument Control (GPIB, Serial, VISA, IVI)

Showing results for 
Search instead for 
Do you mean 
Reply
Member
perluigui
Posts: 3
0 Kudos
Accepted Solution

Control de Posicion de motor DC con encoder mediante Arduino

Estoy tratando de realizar un control de posicion con un motor DC con encoder, ya prove la lecctura del encoder mediante la utilsacion de los comandos LIFA de Labview y la tarjeta Arduino, pero al graficarlos, este se salta muchos pulsos del encoder, como que no le da tiempo leer todas las transiciones entre las ranuras del encoder al estar girando el motor, por los que busco leer las transiciones directamente en la tarjeta con los pines de interrupcion que detectan cualquier cambio de estado (0-1, 1-0) y realizan una interrupcion. lo que no se es como lograr que el codigo escrito directamente en la tarjeta (modificando el archivo LIFA_Base) pueda mandar el conteo de los pulsos  a labView para ser procesados.

 

Gracias 

Active Participant
Alhern
Posts: 298
0 Kudos

Re: Control de Posicion de motor DC con encoder mediante Arduino

Hola perluigui.

 

Como mencionas, necesitas modificar el archivo fuente (.pde) que le programas al Arduino. Te recomendaría mejor que crearas un programa de Arduino diferente que lea los valores del encoder y mande el valor de la posición a LabVIEW, y que realice el control directamente en el Arduino. Podrías encontrar mejor soporte de como lograr este programa en la página de Arduino, pero por el momento te puedo compartir algunas ligas con información básica sobre interrupciones en el Arduino:

 

http://arduino.cc/en/Reference/Interrupts

 

Si tienes alguna duda la podemos revisar.

 

Saludos.

 


 

Aldo H
Ingenieria de Aplicaciones
Member
perluigui
Posts: 3
0 Kudos

Re: Control de Posición de motor DC con encoder mediante Arduino

Gracias por responder Alhern

 

Como tu dices, con las interrupciones y el programa en la tarjeta arduino, logre que no se salte ningún código del encoder, ahora estoy trabajando en el control PID digital también dentro de la tarjeta, y ya que lo haya hecho, enviare los datos a Labview únicamente como interfaz para obtener las posiciones deseadas y que muestre las gráficas de posición del motor.

 

Solo tengo una duda.. Al intentar comunicar la tarjeta con labview debo hacerlo como si fuera un puerto usb normarl? Me refiero a que NO utilize las funciones de labview de la librería LIA (LabView Interface Arduino, que facilita la comunicación con las tarjetas arduino) si no que hacerlo con los bloques de serial port? O tendrás algún ejemplo de como escribir a labview desde el arduino!

 

Espero me de a entender....

 

Gracias por atender mi pregunta Alhern, Saludos!.

Active Participant
Alhern
Posts: 298
0 Kudos

Re: Control de Posición de motor DC con encoder mediante Arduino

Puedes utilizar las funciones de LIFA, solo asegurate que la comunicación la hagas con las mismas opciones que el archivo de Arduino que viene con el toolkit. Encontré esta liga donde discuten como modificar la parte de la comunicación serial para empaquetar varios datos distintos:

http://arduino.cc/forum/index.php?topic=95045.0

 

Saludos.

Aldo H
Ingenieria de Aplicaciones
Member
perluigui
Posts: 3
0 Kudos

Re: Control de Posición de motor DC con encoder mediante Arduino

Gracias Alhern!

 

De esa manera será mucho más sencilla la comunicación!  Voy a checar la liga y a ponerlo en practica, te agradesco tu respuesta!

 

 

Member
RogerPope
Posts: 2
0 Kudos

Re: Control de Posición de motor DC con encoder mediante Arduino

Hola.

Me interesa mucho el proyecto que realizaste ya que tiene mucha similitud con el que necesito desarrollar.

El hecho es que necesito realizar un control unicaminte P de un motor de dc de 9800RPM que tiene un encoder de 48pulsos por rev. Esto con arduino uno y labview

La verdad es que soy completamente nuevo en esto de la programacion, y me gustaria que me auxiliaras para saber si es posible hacer este proyecto con arduino, de ser asi te agradeceria si me recomendaras

algunos textos, tutoriales, tips o ejemplos para elaborar mi proyecto.

Tambien si me proporcionaras tu codigo y el digrama para darme una idea de como realizarlos.

Espero puedan Ayudarme, de antemano muchas gracias, Saludos

Member
SGFreddixito
Posts: 1
0 Kudos

Re: Control de Posicion de motor DC con encoder mediante Arduino

Hola que tal, bueno soy nuevo en esto de control de motores podrias darme una mano recomendandome buenos tutoriales ........ y si fueras tan amable el funcionamiento de tu programa para poder tener una idea clara ... muchas gracias