Dear All,
I dont Know if the following Code will MAKE the Motor To rotate.
I would like to have your opinion.
Code:
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [Leonardo Bilalis] *
'* Notice : Copyright (c) 2013 *
'* : All Rights Reserved *
'* Date : 3/3/2013 *
'* Version : 1.0 *
'* Notes : Stepper Motor *
'* : *
'****************************************************************
define osc 4
Include "MODEDEFS.BAS"
ANSEL = 0
cmcon = 7
TRISB = %1111011
but var PORTB.2
Motor_Step VAR PORTB.5 ; ASIGN THE PIC16F88 PORTB.5 TO STEP PIN ON THE BIG EASY DRIVER
DIRECTION VAR PORTB.4 ; ASIGN THE PIC16F88 PORT.4 TO DIR PIN ON THE BIG EASY DRIVER
BEGIN:
LOW PORTB.4 ; WE CAN START BY MAKING LOW THE PORTB.4
LOW PORTB.5 ; WE CAN START BY MAKING LOW THE PORTB.5
PAUSE 1000 ; THEN WE GIVE 1 SECOND DELAY
if but = 0 then ;WE HAVE CONNECTED A PUSH BUTTON AT PORTB.2
goto rotation ;IF WE PRESS IT THEN PROGRAM GOES TO ROTATION LABEL
else ;IF WE DO NOT PRESS IT THE PROGRAM RETURN TO BEGIN
goto begin
endif
;THE FOLLOWING CODE SUPPOSE TO ROTATE THE SHAFT 500 STEPS
;AS FROM THE CALCULATION THE SECOND HAS 1000 MILI SECONDS
;AND WE ONLY GIVE 2 MILI SECONDS DELAY, SO WE GET 500 STEPS.
;IN CASE WE WOULD LIKE TO HAVE ONE REVOLUTION, THE WE NEED
;TO GIVE EXACTLY 200 STEPS FOR THIS SPECIFIC MOTOR.
;IN THIS CASE WE NEED WE NEED 5 MILI SECONDS FOR A PAUSE OF HIGH AND LOW TOGETHER
ROTATION:
HIGH MOTOR_STEP ; HERE WE MAKE HIGH THE PORT.B WHICH IS CONNECTED TO step PIN ON THE BED
PAUSE 1 ; DELAY ONE ms
low MOTOR_STEP ; HERE WE MAKE low THE PORT.B WHICH IS CONNECTED TO step PIN ON THE BED
PAUSE 1 ; DELAY ONE ms
GOTO BEGIN
END
Bookmarks