controlar motor paso a paso por puerto serie

30
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 visual Trabajo para evaluación de la unidad número 4 Semestre: 4 to 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

Upload: miguel-angel-pena

Post on 30-May-2015

8.045 views

Category:

Education


10 download

TRANSCRIPT

Page 1: controlar motor paso a paso por puerto serie

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

Page 2: controlar motor paso a paso por puerto serie

Í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

Page 3: controlar motor paso a paso por puerto serie

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

Page 4: controlar motor paso a paso por puerto serie

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

Page 5: controlar motor paso a paso por puerto serie

“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

Page 6: controlar motor paso a paso por puerto serie

“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

Page 7: controlar motor paso a paso por puerto serie

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

Page 8: controlar motor paso a paso por puerto serie

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

Page 9: controlar motor paso a paso por puerto serie

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

Page 10: controlar motor paso a paso por puerto serie

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

Page 11: controlar motor paso a paso por puerto serie

“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

Page 12: controlar motor paso a paso por puerto serie

“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

Page 13: controlar motor paso a paso por puerto serie

“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

Page 14: controlar motor paso a paso por puerto serie

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

Page 15: controlar motor paso a paso por puerto serie

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

Page 16: controlar motor paso a paso por puerto serie

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

Page 17: controlar motor paso a paso por puerto serie

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

Page 18: controlar motor paso a paso por puerto serie

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

Page 19: controlar motor paso a paso por puerto serie

18

Page 20: controlar motor paso a paso por puerto serie

19

Page 21: controlar motor paso a paso por puerto serie

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

Page 22: controlar motor paso a paso por puerto serie

2

21

Page 23: controlar motor paso a paso por puerto serie

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

Page 24: controlar motor paso a paso por puerto serie

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