0% encontró este documento útil (0 votos)
204 vistas6 páginas

P06 Programacion en MikroC

Este documento describe cómo programar un motor paso a paso en MikroC. Explica el uso de funciones y procedimientos en MikroC y describe los diferentes modos de paso de un motor paso a paso, incluidos el paso simple, el paso de torque elevado y el medio paso. También incluye un diagrama esquemático y código de ejemplo para controlar un motor paso a paso con un microcontrolador PIC usando MikroC.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
204 vistas6 páginas

P06 Programacion en MikroC

Este documento describe cómo programar un motor paso a paso en MikroC. Explica el uso de funciones y procedimientos en MikroC y describe los diferentes modos de paso de un motor paso a paso, incluidos el paso simple, el paso de torque elevado y el medio paso. También incluye un diagrama esquemático y código de ejemplo para controlar un motor paso a paso con un microcontrolador PIC usando MikroC.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Diseño con microcontroladores PIC en MikroBasic, MikroC y MikroPascal Docente: Ing.

Roger Guachalla Narváez


[email protected]

PRACTICA 06: Programación en MikroC


1. Objetivos
A. Comprender el uso de funciones y procedimientos en el lenguaje MikroC
B. Realizar el control de Motor paso a paso unipolar en modo Paso
2. Fundamento Teórico
A. Procedimientos y Funciones:
La programación estructurada se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un
grado de modularidad o de estructura jerárquica. Este tipo de programación involucra tanto a la estrategia del programador,
como al lenguaje utilizado. Así, para ella se usan lenguajes de programación que faciliten el diseño de aplicaciones con llamadas
a procedimientos o funciones, como lo son típicamente C, Basic y Pascal entre otros.
A.1 Funciones en MikroC
Todas las subrutinas (funciones o procedimientos) se clasifican en lenguaje C como una función.
Una función es una subrutina que contiene una lista de sentencias a realizar. La idea principal es dividir un programa en varias
partes utilizando estas funciones para resolver el problema inicial con más facilidad.
En C, un programa contiene como mínimo una función, la función main(), aunque el número de funciones es normalmente
mayor.
Las funciones se declaran de la siguiente manera:
tipo_de_resultado nombre_de_función (tipo argumento1, tipo argumento2,...)
{
Sentencia;
...
return ...
}

Cada declaración contiene los siguientes elementos:


tipo de resultado corresponde al tipo de dato del valor devuelto
nombre_ de_ función es un identificador que hace posible llamar a una función
La declaración de parámetros se parece a la declaración de variable regular. Cada parámetro consiste en una variable,
constante, puntero o matriz, precedidos por la etiqueta de tipo de dato. Se utilizan para pasar la información a la
función al llamarla. Los parámetros diferentes están delimitados por comas.
El cuerpo de función es un bloque de sentencias dentro de llaves
La función devuelve un valor por medio de la palabra clave return.
Aquí está un ejemplo de cómo definir y utilizar la función calc que devuelve el valor 2*x-y
float calc (float xx, float yy) // variables flotantes xx e yy
{
float r; // declarar r para almacenar el resultado
r = 2*xx - yy; // almacenar el resultado del cálculo en r
return r; // devolver el valor de r
}

La función puede contener más de una sentencia return. En este caso, al ejecutar la primera sentencia return, la función
devuelve el valor correspondiente y se detiene la ejecución de la función:
float abs (float xx, float yy) // Devolver el valor absoluto de 2*x-y
{
if ((2*xx - yy) >= 0)
return (2*xx - yy);
else
return (-2*xx + yy);
}

Si la función no devuelve ningún valor, la palabra void debe ser utilizada como un tipo de resultado en la declaración. En este
caso, la sentencia return no debe ser seguida por ninguna expresión. Puede ser omitida como en el siguiente ejemplo:
void Esperar_seg(unsigned int a) //función que espera ‘a’ segundos
{
Delay_ms(a*1000); // Ejecución de la función incorporada Delay_ms
} // Note que Delay_ms no devuelve nada
B. Teoría de Motores Paso
Los Motores Paso a Paso (Step Motors) son muy distintos a los motores DC regulares. En vez de girar continuamente como los
motores DC, los motores Paso se mueven en un determinado ángulo de recorrido (STEP) con cada secuencia de pulso. Por
ejemplo, un motor de 1.8 grados de recorrido requerirá 200 Steps para completar una vuelta completa (360°/1.8°=200).

Un motor paso consiste de un rotor (magneto permanente que rota dentro), y un estator (cuatro bobinas (coils) que son parte
de la carcasa y que no se mueven). El rotor puede moverse aplicando secuencialmente un voltaje DC a uno o dos bobinas al
mismo tiempo.

Parámetros de un Motor Paso:


Unipolar o Bipolar
Paso (Grados)
Voltaje de Alimentación
Máxima Corriente
Torque
Velocidad

Driver de corriente:
Para mover el rotor se requiere un driver de corriente. El driver aplica un voltaje con elevada corriente a cualquiera de las 4
bobinas del estator. Los drivers pueden ser circuitos integrados como el ULN2003, cuatro transistores Darlington o cuatro
transistores de potencia como el 2N3055. Existen circuitos más elaborados (complejos y costosos) que permiten manejar
mayores voltajes y corrientes.
Conexiones de las Bobinas (Coils):
Los motores unipolares tienen 5 o 6 hilos dependiendo del modelo. Si el motor tiene 6 hilos, se deben unir los puntos medios de
las bobinas y conectarlas al voltaje de alimentación del motor (+5, +12, +24 volt, etc.). Los extremos de cada bobina deben ser
conectados al driver de corriente como se muestra en el diagrama esquemático.

Modos de Pasos:
Existen varios modos de paso que se pueden utilizar para mover el motor:
a) Paso Simple (Single Stepping) El modo más simple que activa una bobina a la vez.
Se debe repetir la siguiente secuencia de 4 pasos.
Esta secuencia avanza al motor en dirección Horaria (Clockwise) (CW), para girar en dirección anti- horaria (Counter
Clockwise) (CCW) la secuencia es inversa

Paso Coil 1c Coil 2c Coil 3c Coil 4c


1 ON
2 ON
3 ON
4 ON

b) Paso de Torque Elevado (High Torque Stepping) Se activan 2 bobinas a la vez lo que otorga mayor
torque al motor aunque se eleva el nivel de ruido eléctrico.
Se debe repetir la siguiente secuencia de 4 pasos.
Esta secuencia avanza al motor en dirección Horaria (Clockwise) (CW), para girar en dirección anti- horaria (Counter
Clockwise) (CCW) la secuencia es inversa
Paso Coil 1c Coil 2c Coil 3c Coil 4c
1 ON ON
2 ON ON
3 ON ON
4 ON ON

c) Medio Paso (Half Stepping) Permite que el motor avance en un recorrido igual a la mitad del valor nominal, sin embargo el
torque es el más bajo de todos los modos de paso.
Se debe repetir la siguiente secuencia de 8 pasos.
Esta secuencia avanza al motor en dirección Horaria (Clockwise) (CW), para girar en dirección anti- horaria (Counter
Clockwise) (CCW) la secuencia es inversa

Paso Coil 1c Coil 2c Coil 3c Coil 4c


1 ON
2 ON ON
3 ON
4 ON ON
5 ON
6 ON ON
7 ON
8 ON ON

3. Diagrama Esquemático:

Patillaje ULN2003

Componentes Proteus:
4. Código Fuente MikroC Pro for PIC
5. Procedimiento Experimental en Laboratorio
I. 1era Firma:

Convertir el código fuente de MikroCBasic a MikroBasic


Simular en Proteus y Armar el circuito en protoboard probando su funcionamiento.
II. 2da Firma:

Modificando, el circuito esquemático de acuerdo a los enunciados y usando el compilador MikroC realizar uno
de los siguientes INCISOS:
III.

(El Microcontrolador y el Inciso a realizar serán asignados por el Docente o por el Auxiliar una vez obtenida la Primera Firma)

a) Modificar el software y añadir al hardware 4 leds al puerto del Motor (RB0…RB3) y 2 micro-switch
(puerto RA.0 y RA.1 ) que permitirán al usuario visualizar (en los leds) y seleccionar el Modo de
Paso del motor de acuerdo a la siguiente tabla:
Modo
00 : Paso Simple
01 : Paso Doble
1x : Medio Paso
b) Modificar el software y añadir al hardware 1 display de 7-segmentos al puerto RA así como 3 micro-
switch al puerto RB (RB0, RB1 y RB2) que permitirán al usuario seleccionar el Número de Vueltas que
dará el motor (de 0h a 7h). El número de vueltas debe incrementarse desde 0 al valor ingresado
mediante los micro-switch y debe visualizarse en el display de 7-segmentos.
c) Cortar y pegar la siguiente plantilla en el eje del motor. Acoplar un indicador (similar a una manecilla
de reloj) al eje del motor.

Modificar el software y añadir al hardware 4 micro-switch al puerto RA (RBA, RA1 RA2 y RA3) que
permitirán al usuario seleccionar la Posición Final del indicador acoplado al eje del motor que partirá
siempre de la posición ‘0’.
6. Informe de la Práctica

I. Firmas en la Carátula (0, 1 o 2) que avalen los procedimientos realizados en Laboratorio

II. Para el Inciso realizado en el punto 5. Procedimiento Experimental en Laboratorio realizar:

Diagrama Esquemático
Flujograma
Código Fuente

III. TRABAJO DE INVESTIGACION:


Cada trabajo de investigación debe incluir:
 Resumen escrito a mano (de un mínimo de 2 páginas)
 Fuentes de Información (direcciones web, bibliografía)
 Copias impresas de la información adquirida a través de las fuentes
Tema: Drivers de Potencia para Motor Paso a Paso
Si bien el chip ULN2003A es apropiado para manejar motores de baja potencia cuando se
requieren mayores valores de corriente y voltaje se debe recurrir a circuitos más sofisticados y
costosos para proveer al motor de la potencia requerida.
Indicar el fundamento teórico de funcionamiento y explicar su funcionamiento (mostrando el
diagrama esquemático) para controladores de motor paso de mayor potencia.
IV. Conclusiones

También podría gustarte