Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ControlMotor CC Velocidad Sentido PDF
ControlMotor CC Velocidad Sentido PDF
Controlar un pequeño motor de cc. haciendo uso del puente de potencia integrado en el CI
L293D. (Posee una estructura que permite conectar hasta dos motores al mismo tiempo).
1
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Configuración del software El VI Package Manager desde Labview hace una búsqueda de toolkits
que permiten trabajar haciendo interfaces, Raspberry, Arduino, Daq, otras conexiones o canales de
conversación o recepción de datos.
Colocamos en el Search de VI Package, la palabra Arduino, para que realice la búsqueda y muestre
los toolkits compatibles con labview y tarjeta Arduino. Hice descargas para mi versión: Labview 2016
(64bits).
A continuación, estos toolkits me permitirán realizar la configuración de manera que pueda abrir las
ventanas de trabajo (Panel frontal y Diagrama de bloques) con la ayuda de LINX, permite configurar
para Arduino y otras tarjetas de manera más amigable sin tener que preparar a Arduino con un
programa como LIFA_Base.ino que a mi parecer es más engorroso. Una vez instalado LINX
procederá a configurar puertos donde se localiza la tarjeta en cuestión, selección del modelo de
tarjeta (Arduino Mega en mi caso). MakerHub aparece en el menú de Functions palette, permite
realizar la programación, sólo hay que adaptar los bloques que inicializan el programa puesto que
se utilizan bloques de LINX. Desde mi punto de vista más amigable, ver figura 3.
2
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Figura 3. Uso de Toolkit LINX, interfaz amigable para programar hacia Arduino.
Iniciamos el software Labview. Recuerden que la versión que utilicen es la que permitirá
ejecutar posteriormente el archivo .vi generado y versiones posteriores.
Al abrir la ventana de Labview seleccionamos crear Project →Blank VI que abrirá dos
ventanas: una es el panel frontal y la otra una hoja en blanco donde iniciaremos colocando
nuestros bloques de programación. Seleccionamos Finalizar (Finish).
Nos colocamos en la hoja en blanco que corresponde a la ventana Diagrama de bloques,
que en caso de que el programa no lo muestre, nos dirigimos a la barra de tareas del panel
frontal, seleccionamos Windows y al desplegar el menú seleccionamos Windows → Show
Diagram Ver fig. 4..
3
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Continuamos en la misma pestaña. Si deseamos asegurarnos de forma rápida que el cursor tendrá
la función para selección mano o selección para escritura, modo conexión de elementos o alguna
otra tarea, seleccionamos en la misma pestaña View→Tools palette Ver figura 6.
4
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
que podemos arrastrar la ventana hacia la hoja de trabajo (Figura 7). Estos bloques realizan la
función de un ciclo While común en programación, es decir, mantener repitiendo un bloque de
código mientras la proposición o condición sea verdadera.
Posteriormente insertaremos un bloque Case donde más adelante configuraremos los pines de
salida que controlan el sentido de giro, así como la salida de PWM, ancho de pulso. Figura 9.
5
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Iniciaremos las etapas de configuración del programa configurando los puertos, así como entradas
salidas de la tarjeta Arduino. Para ello nuevamente abrimos ventana Functions Palette y
seleccionamos del menú la pestaña Arduino, donde encontraremos un bloque Init, seleccionamos y
Figura 10. a) Ubicación de la pestaña Arduino y su contenido. b) Los bloques dentro del folder Low level.
colocamos en nuestra hoja de trabajo (Como se ve en la figura 9a). En la misma pestaña, localizamos
un folder que dice Low Level, seleccionamos y desplegará nuevos bloques que nos permitirán los
pines de entrada y salida (Ver Figura 10b).
De la ventana Low Level seleccionamos el bloque Set Digital Pin Mode, que nos permitirá configurar
los pines de Arduino como entradas o salidas, en este caso se configuran como Salida (Output),
Figura 11..
6
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Para colocar bloques con características de pin de salida, del Panel frontal abrimos la ventana
Control →Modern →Arduino →PinMode, como se observa en la figura 11. También podemos
realizar la búsqueda si no ubicamos la pestaña que contiene el bloque que necesitamos, desde
Search → Pin Mode. Seleccionaremos el modo Output o Input según deseemos configurar el pin
de trabajo.
Para colocar el bloque que indica la tarjeta a usar, desde panel frontal damos click para abrir la
ventana Search → Board Type aparece en el menú y arrastramos hacia la ventana Diagram. Este
bloque Se emplea para seleccionar el modelo de la tarjeta Arduino que se va a utilizar, en nuestro
caso es Mega 2560.
Figura 12. Selección del bloque PinMode desde Panel Frontal y la ventana Controls-Arduino.
7
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Para iniciar la configuración del bloque del bloque I/O que permite configurar el puerto de conexión
del Arduino, nos colocamos en el Panel Frontal, desde ahí damos click derecho y del menú que
aparece (ventana de bloques) seleccionamos Control → Modern → Silver → I/O (folder) y dentro
seleccionamos Visa Resource Name, este bloque lo arrastramos hacia la hoja de trabajo
que mostrará
Demos un click dentro del bloque para configurar, escribimos COM3 por ejemplo y nos mostrará
dentro del mismo bloque una lista de los puertos hasta entonces habilitados. Seleccionaremos el
puerto donde se encuentre la tarjeta Arduino. Para ello podemos asegurarnos abriendo el Sketch
de Arduino (su ventana para programar) y en la pestaña correspondiente buscamos donde se
encuentra ubicado el puerto al que se conecta nuestro Arduino. También verificar el modelo de la
tarjeta Arduino con la cual se trabaja. Procedemos a conectar esta primera sección de bloques a
nuestro ciclo While Loop.
Dentro del cuadro que corresponde al ciclo While, colocaremos un control numérico. Colocamos el
cursor en panel frontal damos click derecho y abre ventana Controls, de la cual seleccionamos en el
menú Silver → Numeric →Knob (silver). Este selector de control se puede configurar en cuanto al
rango que deba presentar para la presentación de datos. Ver figura 12. El bloque Knob Silver va a
configurarse dando click derecho sobre él, elegir del menú Representation →I8 (característica del
dato que leerá). ¿Posteriormente, usamos la ventana Functions Palette para elegir la pestaña
Programming →Comparison→ Greater or equal to 0? ¿Es x mayor o igual que cero? De esta
forma condicionamos al selector de control que estará realizando la conmutación en la
estructura Case. Si es mayor o igual con cero regresa al caso True, de lo contrario irá al caso False.
Este bloque de comparación se conecta a la ventana de While Loop, al igual que desde el bloque
Knob (silver) se hace una conexión directa a la misma ventana While Loop, ver figura 13.
Figura 13. Colocar un control, tipo selector, desde ventana Controls, panel frontal.
8
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
que se le indique detenerse, en este caso, se conecta al Wait Until… un bloque constante de 200
ms Ver figura 14.
Colocaremos bajo la ventana de Estructura Case y dentro del While Loop dos bloques que serán mis
indicadores del sentido del giro del motor: Derecha o Izquierda. Seleccionamos desde Panel Frontal
la ventana Controls →Silver→Numeric→ Numeric Indicator (silver). Conectamos a la ventana de
Case y esos bloques los configuramos dando click en cada uno de ellos, elegir del menú
Representation y el modo U8. Quedarán así para el caso True y False. Cuando se haya completado
la configuración de las conexiones en ambos casos, entonces las uniones aparecerán
completamente coloreadas, ver figura 15.
Figura 15. Colocación de los bloques Numeric Indicator Silveren la ventana case.
9
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Para terminar en la parte derecha de la ventana While Loop se colocan un bloque Arduino Write,
otro bloque Arduino Close conectando con un bloque Simple error handler , que
podemos localizar desde la ventana Search con ese nombre para identificar errores generados en
el proyecto realizado.
Ahora construyamos los casos True y posteriormente False de la ventana Case. Con las flechas de
avance de dicha ventana podemos seleccionar el caso que usaremos. Iniciamos con True. Para este
ejemplo indicaremos el sentido de giro del motor hacia la Izquierda. Usaremos bloques Arduino
Write, este se ubica en Functions Palette → Arduino → Low Level → Digital write pin. Para el
ejemplo de control de motor requiere 3 bloques, conectados entre sí como se observa en la figura
14. Agregamos bloques de constantes desde la ventana de Functions palette→ Numeric →Numeric
constant tantos como sean necesarios, puedo usar el comando copiar y pegar de un solo bloque. A
continuación, configuraremos esos bloques dando click derecho sobre ellos, eligiendo del menú la
opción Representation→U8 ; Veamos la figura 16.
10
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Ahora nos colocamos en la ventana dentro del While loop, para seleccionar el caso False. Para este
modo se colocarán bloques de ventana Functions Palette→ Arduino→Low level →Digital Write
Pin. Los bloques y conexiones son similares que en el caso True, excepto que los bloques que
representan constantes se colocan en cada entrada de estos bloques, damos click para añadir el
número que deseamos y ahora el valor será de 7, 8, 11, 1 y 0 como se observa en la figura 17.
11
BLANCA RIOS A.
ITSSAT INSTRUMENTACIÓN
Programa terminado, ver en la figura 18, que me permitirá controlar el sentido de giro de un motor
CD de 6 a 12 V empleando drivers L293D para protección y manipulación de giro del motor.
Figura 18. Programa para variar el sentido de giro del motor CD en Labview.
12
BLANCA RIOS A.