实验8.步进电机控制设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验8.步进电机控制设计

【实验目的】

掌握步进电机控制原理,熟悉C51编程与调试方法。

【实验原理】

实验电路原理图如图A.120所示,图中达林顿驱动器U2接于P1.0~P1.3,步进电机接在U2的输出端。按键K1~K2接于P0.0~P0.1。

图A.120 实验8的电路原理图

在编程软件配合下,要求实现如下功能:单击K1控制步进电机正转;单击K2,控制步进电机反转,连续按K1、K2,步进电机可连续旋转。

步进电机控制编程原理:根据励磁方法建立励磁顺序数组,以半步励磁法为例,励磁顺序数组的元素为:0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03。程序启动后,根据案件状态修改励磁顺序数组的指针值,即单击K1时时针右移一位,随后将数组当前值由P2口输出,如此循环。注意,在P2口两次输出之间需要插入软件延时。

【实验内容】

(1)学习单片机对步进电机的速度与方向控制原理;

(2)编写3种励磁方案程序,即1相励磁、2相励磁和1~2相励磁;

(3)比较不同励磁方案的步进电机仿真效果。

【实验步骤】

(1)提前阅读与实验8相关的阅读材料;

(2)参考图A.120;和表A.9,在ISIS中完成原理图的绘制;

(3)采用μVision3进行C51动态显示和A/D转换编程及调试。

【实验要求】

提交实验报告并包括如下内容:电路原理图、A/D转换原理分析、C51源程序(含注释语句)、仿真运行截图及实验小结。

【参考图表】

【实验程序】

/*步进电机控制程序*/

#include

#define uchar unsigned char

#define uint unsigned int

void delay();//声明延时函数

code table[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};//励磁顺序数组

sbit K1=P0^0;//定义两个按键

sbit K2=P0^1;

void main()

{

while(1)

{

chari;

if(K1==0){delay();i++;if(i==8)i=0;}//K1按下,顺读数组(逆时针转)

if(K2==0){delay();i--;if(i==0)i=8;}//K2按下,逆读数组(顺时针转)

delay();

P2=table[i];//P2口输出励磁顺序

}

}

void delay()//延时函数

{

uchark,l;

for(k=125;k>0;k--)

for(l=200;l>0;l--);

}

【仿真截图】

【实验小结】

通过这次实验我掌握了步进电机工作原理的极编程的方法,同时做实验时要仔细,要按步骤来,避免人为错误,避免出现电路连接错误。

相关文档
最新文档