当前位置:首页 > 计控实验报告步进电机控制
实验 步进电机控制
主要教学目标:
掌握步进电机控制系统的设计方法。
教学的方法及教学手段:讲授法,讨论法,练习法,实验法 教学重点及难点:步进电机控制系统 实验内容
一、步进电机能顺时针转; 二、步进电机能逆时针转; 三、步进电机能实现转速调节; 四、步进电机能实现角度调节
1.用微型机输出接口的每一位控制一相绕组,控制四相步进电机时,可用CPU的P1.O、P1.1、P1.2、P1.3分别接至步进电机的A、B、C、D四相绕组。
2.微型机与驱动器之间增加一级光电隔离。当P1.0输出为1,发光二极管不发光,因此光敏三极管截止,从而使达林顿管导通,A相绕组通电。反之,当P1.0=0,经反相后,使发光二极管发光,光敏三极管导通,从而使达林顿管截止,A相绕组不通电。
3.根据所选定的步进电机及控制方式,写出相应控制方式的数学模型,对于四相步进电机,采用四相八拍工作方式,其控制模型为
步 序 P1.7 P1.6 P1.5 控制位 P1.4 P1.3 D相 P1.2 C相 P1.1 B相 P1.0 A相 工 控 作 制 状 模 态 型 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 A 01H AB 03H B 02H BC 06H C 04H CD 0CH D 08H DA 09H 如按逆序进行控制,步进电机将向相反方向转动。 4. 步进电机程序设计的主要任务是: 判断旋转方向; 按顺序传送控制脉冲;
判断所要求的控制步数是否传送完毕。
因此,步进电机控制程序就是完成环型分配器的任务,从而控制步进电机转动,以达到
控制转动角度和位移之目的 5.电路图
6.参考程序 #include
unsigned char
//顺时针,8拍:A→AB→B→BC→C→CD→D→DA
uchar code clockWise[] = {0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x09}; //逆时针,8拍:AD→D→DC→C→CB→B→BA→A
uchar code antiClockWise[] = {0x09, 0x08, 0x0C, 0x04, 0x06, 0x02, 0x03, 0x01}; //顺时针标志位,为1顺时针,为0逆时针 bit clockWiseFlag = 1; /*函数原型申明*/ void Delay50ms(void); /*
* 函数名:main
* 功能描述:main主程序 * 输入参数:无
* 返回值:无 */
void main(void) { uchar i; IT0 = 1;
//外部中断0,边沿触发
EX0 = 1; EA = 1; for (i=0; ; i++) { if (clockWiseFlag) { P1 = clockWise[i % 8];
} else { P1 = antiClockWise[i % 8]; }
Delay50ms();
}
}
void Int0(void) interrupt 0 { clockWiseFlag = !clockWiseFlag; } /*
* 函数名:Delay * 功能描述:延时50ms * 输入参数:无 * 返回值:无 */
void Delay50ms(void) {
unsigned char a,b; for(b=173;b>0;b--) for(a=143;a>0;a--); }
//正向
//反向
共分享92篇相关文档