motores de pasos

Page 1

Visual Basic 6 para Motores de Pasos Siguiendo con el articulo anterior, en estos párrafos vamos a proponerle dos programas en VB6 para controlar motores de pasos. El modulo Clave 503 Control de motor de Pasos que fue descrito en nuestra revista No. 44 nos servirá en la presente práctica como plataforma de partida. Fig. 1

Fig. 1 En la Fig. 2 se muestra el diagrama esquemático de esta tarjeta. Analizando las líneas de control del PIC12C508 se observar que la tarjeta cuenta con tres terminales atornillables que se pueden utilizar para conectar la computadora vía el puerto paralelo. Efectivamente se dispone de GND una tierra, de CLK una señal de reloj y de DIR un bit de dirección de rotación. La señal de reloj CLK se conecta al borne atornillable solamente cuando el “puente” sea desplazado al lado EXT. En estas condiciones el microcontrolador podrá recibir frentes positivos de la PC, cada pulso hará avanzar el motor ½paso. El motor que hemos conectado en esta ocasión especifica 7.5 grados/paso (Clave 503-2) de tal manera que medio paso serán solamente 3.75 grados. La señal de dirección de rotación DIR es un bit que recibe el microcontrolador y que hace girar el motor en una u otra dirección.

En la Fig. 3 se puede ver como realizar el cable de interconexión o bien si Ud. lo prefiere PICmicro Estudio lo tiene con la Clave (503-1)


Fig. 2


Fig. 3


En este esquema lo importante es observar como CLK será controlado por el bit D0 del puerto paralelo y como DIR será activado por el bit D1. Para hacer girar el motor en una dirección se deben aplicar pulsos a D0 mientras D1 se mantiene en 0. D1 0 0

D0 0 1

En decimal 0 1

Para hacer girar el motor en dirección contraria también se deben aplicar pulsos a D0 pero ahora el bit de dirección se debe de mantener en 1. D1 1 1

D0 0 1

En decimal 2 3

Como para escribir en un puerto se utiliza la siguiente sintaxis: Out DireccionDelPuerto, Valor Entonces las instrucciones para una dirección de rotación serían: Out DireccionDelPuerto, 0 Retardo Out DireccionDelPuerto, 1 Y para el sentido contrario: Out DireccionDelPuerto, 2 Retardo Out DireccionDelPuerto, 3 Veamos dos programas de ejemplo. Nombre del programa: rotacion.vbp En la Fig. 4 se muestra este programa:


Fig.4 Como se puede observar el operador dispone de dos botones, cada uno de ellos hace girar el motor en una direcci贸n. La velocidad de rotaci贸n se ajusta mediante un control deslizable. En su posici贸n inicial, la inferior, el motor gira muy despacio y mientras se va deslizando hacia arriba el motor aumenta su velocidad. En la siguiente Figura (Fig. 5) se muestra las Forma y los diferentes componentes del programa en Visual Basic 6.

Fig. 5 Veamos el c贸digo de cada uno de los botones: Private Sub cmdder_Click()


'Bit D0 del puerto paralelo es CLK del motor de pasos 'Bit D1 del puerto paralelo es DIR del motor de pasos inte = True While inte Out puerto, 2 Call reta DoEvents Out puerto, 3 Call reta DoEvents Wend End Sub Private Sub cmdizq_Click() inte = True While inte Out puerto, 0 Call reta DoEvents Out puerto, 1 Call reta DoEvents Wend End Sub El bucle While aplica los pulsos en forma permanente para hacer girar el motor indefinidamente. La instrucci贸n Call reta aplica un retardo entre las instrucciones Out. Observe como se utilizan out puerto, 2 con out puerto, 3 para el giro en una direcci贸n y Out puerto, 0 con Out puerto, 1 para el giro en la otra direcci贸n. Nombre del programa: vueltas.vbp En la Fig. 6 se muestra este programa:


Fig. 6 Como se puede ver el operador puede: Dar un giro completo a derecha o izquierda mediante las teclas correspondientes TambiĂŠn puede escribir en la caja de texto cuantas vueltas desea que el motor gire en uno de dos sentidos: derecha o izquierda.

En la siguiente Figura (Fig. 7) se muestra la Forma y los diferentes componentes del programa en Visual Basic 6.

Fig. 7


Veamos el código de botón Der. Private Sub Command3_Click() Dim x As Integer For x = 1 To (96 * Val(Text1.Text)) Out puerto, 1: reta: reta Out puerto, 0: reta: reta Next x End Sub Observe que para una vuelta completa se deben de aplicar 96 pulsos ya que el motor avanza 3.75 grados por paso. ( 360 / 3.75 = 96). En la Fig. 8 y la Fig. 9 puede observar como se conecta el cable paralelo a la tarjeta. Los dos programas en una versión ejecutable bajo VB6 en Español: rotacion.exe y vueltas.exe los puede bajar de www.electronicaestudio.com/articulos bajo el nombre de VBPasosexe.zip Los dos programas en sus versiones completas con el código fuente los puede obtener en el disco del proyecto Clave 503. Motor de pasos Clave 503-2

Cable Paralelo Clave 503-1

Tarjeta Clave 503

Fig. 8


Fig. 9


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.