Práctica Motor a Pasos ULN2003A PIC16F877A


Motores a Pasos.

El motor paso a paso es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos angulares discretos, lo que significa que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control. El motor paso a paso se comporta de la misma manera que un conversor digital-analógico (D/A) y puede ser gobernado por impulsos procedentes de sistemas lógicos.
Este motor presenta las ventajas de tener alta precisión y repetitividad en cuanto al posicionamiento. Entre sus principales aplicaciones destacan como motor de frecuencia variable, motor de corriente continua sin escobillas, servomotores y motores controlados digitalmente.
Existen 3 tipos fundamentales de motores paso a paso: el motor de reluctancia variable, el motor de magnetización permanente, y el motor paso a paso híbrido.



Motor a pasos ULN2003.

Para controlar un motor paso a paso unipolar deberemos alimentar el común del motor con Vcc y conmutaremos con masa en los cables del devanado correspondiente con lo que haremos pasar la corriente por la bobina del motor adecuada y esta generará un campo electromagnético que atraerá el polo magnetizado del rotor y el eje del mismo girará.
Para hacer esto podemos usar transistores montados en configuración Darlington o usar un circuito integrado como el ULN2003 que ya los lleva integrados en su interior aunque la corriente que aguanta este integrado es baja y si queremos controlar motores más potentes deberemos montar nosotros mismos el circuito de control a base de transistores de potencia.
El esquema de uso del ULN2003 para un motor unipolar es el siguiente:

Datasheet.








Código.

'Motor  a Pasos
'PIC 16F877A

AllDigital
ADCON1 = 0x0e
Define STEP_A_REG = PORTB
Define STEP_A_BIT = 7
Define STEP_B_REG = PORTB
Define STEP_B_BIT = 6
Define STEP_C_REG = PORTB
Define STEP_C_BIT = 5
Define STEP_D_REG = PORTB
Define STEP_D_BIT = 4
Define STEP_MODE = 2

WaitMs 1000
StepHold
WaitMs 1000

Dim an0 As Word

loop:
            Adcin 0, an0
            an0 = an0 * 60
            an0 = an0 + 2000
            StepCW 1, an0
Goto loop




No hay comentarios:

Con la tecnología de Blogger.