Motion Controller의 Step Motor Driver 출력에 JSM-24F Stepping 모터를 연결 하여 시험.
I9/I10을 누르면 각각 CW/CCW 로 Step Motor 가 회전 하게 하라....
상기 방법을 구현한 프로그램 입니다...
/* Stepping Motor Phase Excitation Unipolar Drive 데이타 단극성 2상 여자 펄스 패턴 */
const char Steping_Table[] = { 0x02, 0x03, 0x01, 0x09, 0x08, 0x0C, 0x04, 0x06 };
/*****************************************************************
Project : Sub-Routine(MotorCtl.c) of Motion Controller
Version :
Date : 2007-10-17 10:59오후
Author : JW Park(kornanp@empal.com)
Company : EPIANICS Co., Ltd (Electronic Utopia)
Comments:
1.
*****************************************************************/
#ifndef _MotorCtl_def_h_
#define _MotorCtl_def_h_
#define Motor1_on 0x03
#define Motor_CW 0
#define Motor_CCW 1
#define StepMotorAddr 7
bit Motor1Flag, Motor1TurnFlag;
unsigned char MotorStep[2], MotorTurn[2];
#endif
//===============================================================
void StepMotorCtl()
{
unsigned char i, j;
mSec20Flag = 0;
// Motor1 on/off control Routine
if(Motor1Flag){
if(Motor1TurnFlag){
if(++MotorStep[0] >= 8) MotorStep[0] = 0; // Motor Step Increment
}
else {
if(--MotorStep[0] >= 0xFF) MotorStep[0] = 7; // Motor Step Decrement
}
i = (LoadReg[StepMotorAddr] & 0xF0);
LoadReg[StepMotorAddr] = ( i | Steping_Table[MotorStep[0]] );
}
else MotorStep[0] &= 0xF0;
PORTC = LoadReg[StepMotorAddr]; // PORTC Data out
//if(IO_Channel == 3) PORTC = LoadReg[IO_Channel]; // PORTC Data out
// 2. Channel select data set
IO_Select(StepMotorAddr); // Chip Select
// 3. Data output Enable
IO_Enable = 1;
// 4. Input(Sensor) data Read & Save
//if(IO_Channel < StepMotorAddr) SensorReg[IO_Channel] = ~PINA; // Switch sensor Input & save
//PORTG &= 0b11110001;
// 5. Data Output disable
IO_Enable = 0; // IO Control Board(
//LoadReg[IO_Channel] = SensorReg[IO_Channel];
Test();
// Step Motor control
}
'AVR & ATmega' 카테고리의 다른 글
< ATMEGA128 교육용 Board > (0) | 2011.05.02 |
---|---|
CodeVisionAVR ANSI C Language 요점 정리(2) (0) | 2010.04.19 |
CodeVisionAVR ANSI C Language 요점 정리(1) (0) | 2010.04.19 |
Motion Controller(Atmega128) 기본 Program (0) | 2007.11.04 |
Codevision 사용시 주의 사항 (계속업데이트) (0) | 2007.03.05 |