controlar motor paso a paso por puerto serie
Post on 30-May-2015
8.045 Views
Preview:
TRANSCRIPT
Instituto Tecnológico de Matamoros
Elaboración de circuito para el funcionamiento de un motor paso a paso con una comunicación a través del puerto serial
Materia: programación visualTrabajo para evaluación de la unidad número 4
Semestre: 4to Semestre
Carrera: Ing. Electrónica
Profesor: M.G.T.I. Víctor Manuel Reyes Loredo
Integrantes:
Alumno(s): Núm. de control:
Jorge Alejandro Reyes Torres 11260108
Mario Arturo Cruz Colunga 11260077
Miguel Angel Fierros Peña 11260081
Hermenegildo Martínez de la Cruz 11260095
Omar Santiago Martagón 11260118
H. Matamoros, Tamaulipas. 24/mayo/2013
ÍndiceObjetivo de la unidad 42
Fundamentos teóricos 3
Puerto serial 3
Puerto paralelo 4
Universal serial bus (USB) 5
Actuador 6
Servo motor 7
Motor paso a paso 11
Componentes requeridos 13
Diagrama del circuito 14
Función de los componentes 14
Pasos para la elaboración del proyecto16
Elaboración del software de control para la pc empleando Visual Basic express 2010. 16
Programación del microcontrolador empleando Mikrobasicpro 20
Elaboración del hardware 22
Bibliografía 24
1
Objetivo de la unidad 4:
Diseñar e implementar programas de aplicación que cuenten con interface gráfica, para
permitir y facilitar la interacción entre el usuario y los sistemas electrónicos externos a la
computadora.
2
Fundamentos teóricos
Puerto serial y características
“Es una interfaz de comunicaciones de datos digitales, frecuentemente utilizada
por computadoras y periféricos, donde la información es transmitida bit a bit enviando
un solo bit a la vez
Para conversión de los puertos en serie de los datos que hay que procesar en la
PC en paralelo para el Puerto rs232 y viceversa se utiliza un elemento de montaje
especial que se denomina universal asynchron receiver transmiter (UART). Todas las
señales que acceden a la clavija de conexión son convertidas a través del componente
controlador del nivel TTL al nivel del puerto rs232
En los PC más nuevos se utiliza en su lugar el UART 16450, que permite unas
velocidades de transferencia de datos superiores el UART con mayor rendimiento lleva
por nombre 16550, es compatible con las dos versiones anteriores y además dispone
de dos FIFO`S de 16 bytes cada uno para el almacenamiento temporal de datos que
deben enviarse y recibirse. Especialmente para utilizar en Windows es sumamente
importante el uso de los FIFOS para el mantenimiento de un flujo de datos continuos
desde o hacia un modem ya que Windows no puede garantizarlo debido a su capacidad
multitarea. No obstante, para que el software de PC habitual pueda funcionar en PCs
con diferentes UART, estos tienen que disponer de las mismas configuraciones de
registro.
Partiendo de las direcciones básicas
establecida se utiliza para el UART como
máximo 8 direcciones E/S para la selección
de registros internos. Sin embargo, el tipo
más antiguo el 8250 no tiene registro de
todos modos se utiliza para un
almacenamiento de datos “. (Duran, 2007)
Puerto paralelo y características
3
“Es una interfaz entre una computadora y un periférico, cuya principal característica es
que los bits de datos viajan juntos, enviando un paquete de byte a la vez. Es decir, se
implementa un cable o una vía física para cada bit de datos formando un bus.
En principio estaba previsto únicamente para la conexión de una impresora, y en
la PC antiguos a menudo no puede hacer funcionar de forma bidireccional por parte del
sistema operativo por que la BIOS no lo permite. Pero se puede hacer funcionar
bidireccionalmente por medio de la programación directa del registro (Byte modo, sin
ECP ni EPP), definiendo el bit 5 (dirección) en el registro de control (LTP1: $37Ah) lo
cual se debe probar.
La salida de datos por el puerto paralelo no representa ningún problema ya que
normalmente en conecta la impresora. Por eso también es posible conectar la líneas de
datos (D1-D8, pin 2-9) a través de una resistencia adicional que suele tener 470W un
diodo luminoso o un relé (de poco consumo, que luego debe conectarse y
desconectarse a través del software. Quien no quiera dedicar muchos esfuerzos y quizá
solo quiera probar estos dos registros es suficiente para una comunicación simple con
el periférico puerto paralelo. “(DeutschlandGmbH, 2003)
Universal Serial Bus-USB
4
“El Universal Serial Bus (USB), originalmente, se introdujo para unificar el gran número
de conexiones distintas que tienen habitualmente los PC. Por lo tanto, también
requieren dispositivos que dispongan de una interfaz USB.
Mientras muchas placas base ya disponían de una conexión USB desde finales
de 1995, ha pasado bastante tiempo hasta que han aparecido en el mercado los
dispositivos USB correspondientes. Actualmente, existe una gran profusión de ellos,
como teclados, ratones, escáneres, impresoras, módems, altavoces y diferentes
unidades de almacenamiento (por ejemplo, CD-ROM, ZIP, LS-120).
Principio de funcionamiento
Para el USB se utiliza un conector de 4 polos. La transferencia de datos se lleva a cabo
a través de dos líneas de señales diferenciales (D+, D-). Además, existe una línea de
tierra y una línea para la tensión de alimentación (VBus= 5V). La señal diferencial en el
USB es por lo menos de 1V. No existe señal de frecuencia, sino que esta es generada
a partir del propio flujo de datos.
El cable a utilizar dispone de un blindaje para dispositivos USB High Speed (500
Mbits/s), y las distintas líneas están trenzadas unas con otras, lo cual permite una
longitud máxima de cable entre dispositivos de 5 metros. En cambio, en los cables para
dispositivos Low Speed (ratón, teclado), con una velocidad máxima de transferencia de
datos de 1,5 Mbits/s, así como para dispositivos Medium Speed (escáneres, cámaras),
con 12 Mbits/s, no pueden sobrepasarse una longitud máxima de 3 metros, ya que aquí
no existe ni blindaje ni trenzado.” (Perez, 2003)
“La entrada máxima de corriente a través del bus (Vbus) puede ser de 500mA,
de modo que algunos dispositivos requieren una alimentación propia. Sin embargo, esto
5
no afecta a los dispositivos estándar como el teclado y el ratón, ya estos reciben la
tensión de servicio necesaria del propio PC, incluso cuando las conexiones son
convencionales.” (Perez, 2003)
Actuadores
“El actuador es un dispositivo que genera el movimiento de los robots según las
órdenes dadas por la unidad de control:
Los elementos de un actuador se dividen en:
Accionamiento. Elemento que produce el movimiento.
Control. La unidad de control se encarga de dar las órdenes necesarias al
actuador para que este realice un determinado movimiento.
Transmisiones. Se encargan de transmitir el movimiento del actuador a las
articulaciones.
Reductores. Estos elementos se encargan de adecuar el par y la velocidad del
actuador a los valores requeridos por los distintos elementos del robot.
Según el tipo de energía empleada, los actuadores se dividen en:
Actuadores neumáticos. La fuente de energía es el aire. Entre este tipo de
actuadores destacan los cilindros neumáticos ,, que pueden ser de simple o
doble efecto, los motores neumáticos , formados por paletas rotativas o pistones
axiales. Y la válvulas neumáticas y electro neumáticas. Los actuadores
neumáticos presentan las ventajas de que son baratos, rápidos, sencillos y
robustos; pero se requieren instalaciones especiales , son muy ruidosas y
difíciles de controlar
Actuadores hidráulicos. La fuente de energía es un fluido, normalmente algún
tipo de aceite mineral. Los actuadores hidráulicos presentan las ventajas de que
son más rápidos, tienen una alta relación potencia/peso, son autolubricantes,
tienen alta capacidad de carga y presenta estabilidad frente cargas estáticas.
Requieren instalaciones especiales y resultan poco económicos.
6
Actuadores eléctricos. La fuente de energía es la electricidad .Hay tres grandes
grupos de actuadores eléctricos: Los motores de corriente continua, controlados
por inducidos o controlados por excitación, los motores de corriente alterna
(siconos y asíncronos) y los motores de paso a paso entre los que destacan los
motores de imanes permanentes, de reductancia variable o híbridos .Los
actuadores eléctricos son más precisos fiables, son silenciosos, su control es
sencillo y son de una fácil instalación. Su mayor inconveniente es que son de
potencia limitada.” (Somolinos, 2002)
Definición actuador lineal
“Es el que crea el movimiento en una línea recta, en contraste con el movimiento
circular de un motor eléctrico convencional. Actuadores lineales se utilizan en
máquinas-herramienta y maquinaria industrial, en periféricos de ordenador, tales como
unidades de disco e impresoras, en las válvulas y amortiguadores, y en muchos otros
lugares donde se requiere movimiento lineal. Cilindros hidráulicos o neumáticos
inherentemente producen un movimiento lineal. Muchos otros mecanismos se utilizan
para generar el movimiento lineal de un motor giratorio.” (Somolinos, 2002)
Servomotor
“Un servomotor o actuador es la parte de la válvula automática que, respondiendo a la
señal de control aplicada, ocasiona el movimiento que repercute en la modificación del
flujo de un fluido.
Los servomotores se utilizan para retroalimentar los dispositivos y controlar sus
movimientos. Son utilizados, por ejemplo, en aeroplanos de radio control para controlar
la posición de las alas. Un servomotor incluye un tren de engranajes y es capaz de
desplegar un gran esfuerzo de torsión y rotación. Su posición angular de rotación es
controlada electrónicamente y es diferente a la de los motores de corriente directa o
motores de paso.” (Diaz, 2011)
“Los servomotores requieren para su funcionamiento de un pequeño motor de corriente
directa, un mecanismo de engranajes para reducción de velocidad e incremento del
7
esfuerzo de torsión y rotación y un dispositivo electrónico para evaluar la posición y
controlar el circuito. El servomotor no gira libremente, es necesario comandar para que
realice un movimiento de acuerdo con una posición angular.
Los servomotores pueden ser eléctricos neumáticos o hidráulicos
Servomotores eléctricos
Dentro de los servomotores eléctricos se deben distinguir dos tipos:
a) Servomotores eléctricos de pequeña potencia. Son de tipo monofásico con dos
sentidos de marcha y obedecen al esquema general del principio que se muestra
en la figura 1. Cuando el contacto C1 está cerrado, el arrollamiento superior se
alimenta directamente, mientras que el arrollamiento inferior lo hace a través del
condensador, motivo por el cual las corrientes en ambos arrollamientos estañen
cuadratura y esto permite que el motor gire en un determinado sentido. Si por el
contrario el contacto C1 abierto y el contacto C2 cerrado, la alimentación en
ambos arrollamientos se interviene, con lo cual el giro del motor queda invertido.
Los contactos C1’ y C2’ son seguridad de fin de carrera, coinciden con el cierre y
apertura máxima de la válvula, y se ajustan mediante levas. Normalmente estos
últimos contactos permanecen cerrados.
Figura 1.
b) Servomotores eléctricos de gran potencia. Utiliza motores trifásicos y su
funcionamiento guarda similitudes con el de pequeña potencia. En este caso los
arrollamientos del estator están sustituidos por bobinas de contactores que son
los que abren o cierran los contactos para que el servomotor gire en uno u otro
sentido. Según el acoplamiento del devanado, la alimentación puede ser de 220
o 380 voltios. Como datos técnicos generales podemos decir que el par máximo
8
que ejercen es de unos 1000 Nm, el ángulo de giro alcanza los 2700 y la
velocidad de giro puede legar a ser superior a 1500/min.
Figura 2.
Servomotores neumáticos
Consisten básicamente en una membrana flexible M, montada dentro de una carcasa,
que la divide en dos partes herméticamente, como se muestra en la figura 3. Sobre una
de las caras de la membrana actúa la presión de aire procedente del regulador y sobre
la otra cara presiona un resorte R antagonista, que equilibra la presión que ejerce el
aire. Según de la disposición del resorte y de la entrada de aire, el servomotor puede
trabajar de una forma determinada o inversa, de tal manera que si por motivos de
seguridad conviene que la válvula cierre en caso de avería, el muelle se dispondrá de
tal modo que al cortar el aire, la válvula cierre. Si interesa que abra se dispondrá de
forma inversa. Los servomotores neumáticos pueden superar esfuerzos que 33Nm, con
recorridos de vástago del orden de los 150 mm.” (Diaz, 2011)
Figura 3.
Servomotores hidráulicos
9
“Constan esencialmente de un cárter de aceite, una motobomba, un pistón, una bobina,
un sistema tobera-paleta y un distribuidor de aceite al pistón.
Su funcionamiento es el siguiente:
Una motobomba (1) da presión al aceite del conjunto. Un sistema de seguridad (2)
impide que se alcancen sobrepresiones que pongan en peligro al propio sistema. La
bobina (8) y el imán permanente (6) constituyen un electroimán que actúa sobre la
paleta (7). La bobina (8) recibe la señal de modulada de regulación y, en función de
dicha señal, el electroimán atrae con mayor o menor fuerza la paleta (7). Como fuerza
antagonista actúa el resorte (5), que por otra parte esta sometido a una tensión que a
su vez depende de la posición del embolo del cilindro (3). En el equilibrio, la paleta (7)
adopta una posición de acercamiento o alejamiento a cada una de las dos toberas para
permitir que salga por ellas más o menos aceite. Esto influye sobre al distribución de
presión de aceite en el mando (10) del pistón, que es lo que mueve y posiciona.
Mediante el vástago (4) se transmiten los movimientos del pistón a la válvula.
Alcanzan pares de fuerza de de unos
4500Nm.” (Diaz, 2011)
Figura 4.
Motor paso a paso.
10
“Un motor paso a paso es un conversor electromecánico que transforma la energía
eléctrica en mecánica. Convierte un tren de impulsos eléctricos en un movimiento
angular. En ellos su eje gira un determinado ángulo, también llamado paso, que
depende de los impulsos eléctricos que le sean aplicados. El paso determinara la
precisión del motor, así para un paso pequeño el motor podrá girar con una mayor
precisión, pero necesitara más pasos para dar una vuelta completa. El paso de los
motores suele variar desde 90° a ángulos menores de 1°.
Los motores paso a paso de imán permanente son los más comunes. El rotor es un
imán permanente y el estator contiene unos polo salientes en forma de dientes sobre
los que van las bobinas. El modo en que están conectadas a las bobinas determina el
tipo de motor paso a paso.
Bipolar: sobre las bobinas del estator se puede hacer pasar una corriente
eléctrica que creara un campo magnético. Este campo magnético hará que el
rotor gire hasta encontrar una posición de equilibrio. Si en este momento las
corrientes cambian, el campo magnético también cambia y el rotor deberá girar
otra vez.
Unipolar: las bobinas del estator están divididas en dos debido a que su punto
central está puesto a referencia. la corriente puede circular por una de las dos
partes de la bobina dependiendo de un conmutador. De esta forma, la posición
del conmutador determinara el sentido de la corriente en la bobina y esta, a su
vez, determina la polaridad del campo magnético generado y el sentido del giro.
El control de los se reduce a activar y desactivar las bobinas para hacer que el rotor
gire. La activación y desactivación se realiza a través de un driver que consta de
interruptores: cuando los interruptores se cierran, circula una corriente por la bobina que
provoca un campo magnético que atrae o repele el imán del rotor. En la figura 7-24
puede verse una secuencia de activación de bobinas para hacer girar el rotor en sentido
antihorario.” (Lajara, 2011,p.209)
11
“En la secuencia de paso completo (full step) el rotor gira un paso por cada
pulso; es la secuencia representada en la figura 7-24 y en la tabla 7-1(b). En la
secuencia de medio paso (half step), como sui nombre indica, el motor avanza medio
paso por cada pulso; se basa en la activación de una y dos bobinas, como puede verse
en la tabla 7-2.
Parámetros de los motores paso a paso
Par dinámico de trabajo: depende de sus características dinámicas y es el
momento máximo que el motor es capaz de desarrollar sin perder paso, es decir,
sin dejar de responder a algún impulso de excitación del estator y dependiendo,
12
evidentemente, de la carga. Generalmente se ofrecen, por parte del fabricante,
curvas denominadas de arranque sin error (pull-in) y que relaciona el par en
función del número de pasos.
Hay que tener en cuenta que, cuando la velocidad de giro del motor aumenta, se
produce un aumento de la f.c.e.m. en el generada y, por lo tanto, una
disminución de la corriente absorbida por los bobinados del estator. Como
consecuencia de todo ello, disminuye el par motor.
Par de mantenimiento: es el par requerido para desviar, en régimen de excitación,
un paso el rotor cuando la posición anterior es estable. Es mayor que el para dinámico y
actúa como freno para mantener el rotor en una posicion estable dada.” (Lajara, 2011,
p.210)
Componentes requeridos
Computadora con sistema operativo Windows
1 cable usb-serial
4 capacitores de 1uF
2 LED
2 Resistencias de 1.5KΩ
1 IC MAX232
1 IC pic 16F628A
1 Cristal de cuarzo de 4 Mhz
1 IC ULN2003
1 Conector DB9
1 Motor paso a paso unipolar
13
Diagrama de circuito
Función de los componentes
Capacitores de 1uF
Son usados por el IC max232 para aumentar el nivel de voltaje de la salida RS232,
estos capacitores son especificados por el fabricante en su hoja de datos (Datasheet).
LED
Son usados en el circuito para indicar la actividad de la conexión RS232 entre el
microcontrolador y la pc.
Resistencias de 1.5KΩ
Son las encargadas de proteger a los LED para evitar que circule una excesiva
corriente a través de ellos y se dañen, fueron calculadas para que circule una corriente
aproximadamente de 3.3mA.
14
IC MAX232
Es el encargado de convertir los niveles de voltajes RS232 provenientes de la pc a
niveles TTL aceptados por el microcontrolador, así como viceversa, sin este IC sería
difícil que el microcontrolador reconociera los datos que envía la pc y viceversa además
de que provocaría daños al microcontrolador.
IC pic 16F628A
Es el principal IC del circuito en él se encuentran cargadas todas las instrucciones,
como lo es controlar la secuencia de encendido de las bobinas del motor PAP y
conectarse con la pc para recibir instrucciones.
Cristal de cuarzo de 4 Mhz
Es el reloj del microcontrolador, con el cual se sincronizan las instrucciones dentro del
microcontrolador, con esta velocidad el error de transmisión RS232 del
microcontrolador se reduce a lo mínimo 0.16%.
IC ULN2003
Es un IC de potencia encargado de aumentar el voltaje suministrado por el
microcontrolador para que pueda ser capaz de energizar las bobinas del motor y este
realice un movimiento, fue elegido como reemplazo del ULN2803 por tener una menor
número de salida ya que solo eran necesarias 4.
Conector DB9
Es el conector que une la conexión RS232 de la pc hacia el circuito.
Motor paso a paso unipolar
Es un actuador el cual es controlado por el microcontrolador haciendo girar de acuerdo
a las instrucciones recibidas por el usuario.
15
Pasos para la elaboración del proyecto
Elaboración del software de control para la pc empleando Visual Basic express 2010.
El software detecta los puerto seriales del ordenador dando clic sobre el botón
determinar conexión y los muestra en el recuadro que se encuentra a lado, al dar clic
sobre el botón conectar se estable una conexión con el puerto RS232 seleccionado de
la lista generada, si se da clic sobre uno de los botones inferiores se envía una
instrucción al microcontrolador el cual realiza el movimiento de acuerdo al botón que se
oprimió y se muestra el estado en que se encuentra el motor mediante una etiqueta que
se encuentra en la parte inferior de los botones de control, si se selecciona un valor en
la caja de selección numérica, entra más alejado del número 1 más lento será el giro
del motor.
Se declara variable strbufferin para almacenar valor leído del puerto serie
enable()
Habilita a los botones girar izquierda y derecha, detener y al timer
disable()
Deshabilita los botones girar izquierda y derecha, detener y al timer además estable el
texto “sin conexión” en label
form1_load
Establece el valor de strbufferin a vacío, deshabilita a los botones conectar, girar
izquierda y derecha, detener y al timer.
16
Btndeterminar
Determina el nombre de los puertos serial disponibles en la pc y los muestra en el
combobox, además si encuentra un puerto disponible muestra un mensaje”seleccione
el puerto a trabajar” y habilita botón conectar, si no encuentra ningún puerto muestra un
mensaje “ningún puerto encontrado”, deshabilita el botón conectar, borra el combobox.
Btnconectar
Si el botón conectar tiene el texto conectar entonces establece una conexión con el
puerto seleccionado en el combobox, establece el texto del botón conectar como
desconectar, llama a la función enable(), abre el puerto de comunicación y envía un 1
hexadecimal por el puerto.
Si el botón conectar tiene el texto desconectar entonces cambia el texto del botón a
conectar, llama a la función disable() , coloca el texto en el label “sin conexión” y cierra
el puerto.
Los botones girar izquierda, detener, girar derecha envían un numero hexadecimal 2
3, 4 respectivamente por el puerto abierto.
Tmtitmer_tick
Lee y guarda en la variable strbufferin el dato de entra al puerto abierto cada 100ms
Se compara el valor de strbufferin con los valores de los casos 1, 2, 3, 4 hexadecimales
dependiendo el caso se establece el texto a mostrar en lblin, después se borra la
variable strbufferin y se descartan los datos de entrada en el puerto.
Listbox1_click
Envía un 9 hexadecimal seguido del valor seleccionado en el listbox1 convertido a
hexadecimal y se descarta el buffer de salida.
17
18
19
Programación del microcontrolador empleando Mikrobasicpro
La programación del microcontrolador realiza una acción de acuerdo a una instrucción
que recibe del puerto rs232 a 9600 baudios, si recibe un numero 1 entonces el
microcontrolador envía un numero 1 como respuesta, si recibe un 2 entonces regresa
un numero 2 y además hace girar el motor hacia la izquierda,
20
2
21
Elaboración del hardware
1-Soldar cables a los pines 2,3 y 5 del conector DB9
2-Programar el microcontrolador empleando el programador JDM
3-realizar las conexiones especificadas en el diagrama sobre un protoboard
4-conectar una fuente a las entradas de voltaje del circuito
5-unir los conectores DB9 (el de la pc con la del circuito).
22
Bibliografía
Lajara,J. & Pelegri,J. (2011). Labview entorno grafico de programación.
España: 2da Ed. Marcombo.
Duran, L. (2007). El Gran Libro del PC Interno. España: MARCAMBO.
DeutschlandGmbH. (2003).El Gran Libro del Hardware. España: 2da
Ed,Pearson.
Perez,V & Cortez,J. & Gonzalez,N. (2003). Hardware. Mexico:Pearson Education
Somolinos, J. (2002). Avances en robótica y visión por computador. España:
Ediciones de la universidad de castilla-la mancha.
Diaz, A. (2011). Sistemas de regulación y control: 1er edición, Ed. Marcombo
23
top related