实验五-步进电机控制(1).doc

实验五-步进电机控制(1).doc

ID:57643557

大小:547.00 KB

页数:18页

时间:2020-08-29

实验五-步进电机控制(1).doc_第1页
实验五-步进电机控制(1).doc_第2页
实验五-步进电机控制(1).doc_第3页
实验五-步进电机控制(1).doc_第4页
实验五-步进电机控制(1).doc_第5页
资源描述:

《实验五-步进电机控制(1).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验五步进电机控制一、实验目的与要求1、了解步进电机的基本原理,掌握步进电机的转动编程方法2、了解影响电机转速的因素有那些二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容编写程序:使用G5区的键盘控制步进电机的正反转、调节转速,连续转动或转动指定步数;将相应的数据显示在G5区的数码管上。四、控制原理步进电机的驱动原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲来控制,所以调节脉冲的频率便可改变步进电机的转速,微控制器最适合控制步进电机。另外,由于电机的转动惯量的存在,其转动速度还受驱动功率的影响,当脉冲的频率大于某一值(本实验为

2、f.>100hz)时,电机便不再转动。实验电机共有四个相位(A,B,C,D),按转动步骤可分单4拍(A->B->C->D->A),双4拍(AB->BC->CD->DA->AB)和单双8拍(A->AB->B->BC->C->CD->D->DA->A).五、程序框图NYNYNNNN0->需要刷新显示标志1->步进电机未转动过标志1->转动方向标志(1:表示顺时针方向)33H->下次送给步进电机值5->步进电机转速初始化8255(PC口输出)初始化8253(计数器T0设置在模式2状态,BCD码计数,CLK0/210)初始化8259(允许8253中断)初始化8253中断向

3、量初始化显示缓冲区:(数码管第8位:0,顺时针方向;5、7位消隐;6位:转速;1、2、3、4位:0,表示连续转动,其他值表示需要转动的步数)调用显示子程序有键按下需要刷新显示标志=10->需要刷新显示标志调用步数调整子程序关中断(终止步进电机转动)数码管的1、2、3位->2、3、4位键值送给数码管的第一位调用改变转向子程序键值>9键值=0AH调用增速子程序调用减速子程序调用启动步进电机子程序Y键值=0BH键值=0CH键值=0DH开始YYY改变方向子程序:YYNNY开始转动方向标志=091H->下次送给步进电机值下次送给步进电机值循环右移二次1->转动方向标志0->

4、送给数码管的第7位步进电机未转动过标志33H->下次送给步进电机值下次送给步进电机值循环左移二次0->转动方向标志1->送给数码管的第7位步进电机未转动过标志返回启动步进电机子程序:YNY开始0->步进电机未转动过标志取转动步数取转速对应的延时值(转速延时)初始转速延时1=初始转速延时转速延时<50初始转速延时=50返回开中断初始转速延时=转速延时增速子程序:YN开始转速=11转速+1转速送给数码管第5位返回减速子程序:NY开始转速=0转速-1转速送给数码管第5位返回定时中断程序:NNYNNNYYNY初始转速延时1=转速延时初始转速延时-1=0时初始转速延时1-1

5、初始转速延时=初始转速延时11-1转动方向标志=0时下次送给步进电机值循环右移一次1-1转动步数=0时1->需要刷新显示标志转动步数减一1-1转动步数=0时关中断清中断标志开始下次送给步进电机值循环左移一次1-1返回下次送给步进电机值->8255的PC口(控制步进电机转动一步)Y六、实验原理图七、实验步骤1、主机连线说明:E1区:A、B、C、D——B4区:PC0、PC1、PC2、PC3E5区:CLK——B2区:2ME5区:CS、A0——A3区:CS5、A0E5区:A、B、C、D——G5区:A、B、C、DB3区:CS、A0——A3区:CS1、A0B3区:INT、IN

6、TA——ES8688:INTR、INTAC5区:CS(8253)、A0、A1——A3区:CS2、A0、A1C5区:GATE0——C1区:VCCC5区:CLK0——B2区:1MC5区:OUT0——B3区:IR0B4区:CS(8255)、A0、A1——A3区:CS3、A0、A12、调试程序,查看运行结果是否正确八、演示程序.MODELTINYEXTRNDisplay8:NEAR,SCAN_KEY:NEARIO8259_0EQU0F000HIO8259_1EQU0F001HCon_8253EQU0E003HT0_8253EQU0E000HIO8255_ConEQU0D0

7、03H;CS3IO8255_PCEQU0D002H.STACK100.DATAStepControlDB0;下一次送给步进电机的值bufferDB8DUP(0);显示缓冲区,8个字节buffer1DB8DUP(0);显示缓冲区,8个字节SpeedNoDB0;选择哪一级速度StepDelayDB0;转动一步后,延时常数StartStepDelayDB0;若选择速度过快,延时由长到短,最终使用对应延时常数StartStepDelay1DB0;StartStepDelaybFirstDB0;有没有转动过步进电机bClockwiseDB0;=1顺时针方向=0逆时针方向转动

8、bNeed

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。