P06 Programacion en MikroC
P06 Programacion en MikroC
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.
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
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
3. Diagrama Esquemático:
Patillaje ULN2003
Componentes Proteus:
4. Código Fuente MikroC Pro for PIC
5. Procedimiento Experimental en Laboratorio
I. 1era 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
Diagrama Esquemático
Flujograma
Código Fuente