测控系统综合设计参考题目(4)

2019-08-30 21:56

图3 单片机控制35BY48S03型步进电机的电路原理图

3、步进电机的驱动实例

要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。速度值要求在数码管上显示出来。 1).要求分析

按上面的分析,改变转速,只要改变P1.0~P1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现。下面首先计算一下定时时间。按要求,最低转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于50ms/脉冲。而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。可以列出下表。

表1 步进电机转速与定时器定时常数关系 速度 单步时间(us) TH1 TL1 实际定时(us) 25 50000 76 0 49996.8 26 48077 82 236 48074.18

15

27 46296 89 86 46292.61 28 44643 95 73 44640.155 … … … … …

100 12500 211 0 12499.2

表中不仅计算出了TH1和TL1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。

表中TH1和TL1是根据定时时间算出来的定时初值,这里用到的晶振是11.0592M。有了上述表格,程序就不难实现了,使用定时/计数器T1为定时器,定时时间到后切换输出脚即可。 2).程序实现

定义DSB-1A实验板的S1为启动键,S2为停止键,S3为加1键,S4为减1键,程序如下:

StartEnd bit 01H ;起动及停止标志 MinSpd EQU 25 ;起始转动速度 MaxSpd EQU 100 ;最高转动速度 Speed DATA 23H ;流动速度计数

DjCount DATA 24H ;控制电机输出的一个值,初始为11110 111 Hidden EQU 10H ;消隐码 Counter DATA 57H ;显示计数器 DISPBUF DATA 58H ;显示缓冲区 ORG 0000H AJMP MAIN ORG 000BH JMP DISP ORG 001BH JMP DJZD ORG 30H MAIN:

MOV SP,#5FH

16

MOV P1,#0FFH MOV A,#Hidden MOV DispBuf,A MOV DispBuf+1,A MOV DispBuf+2,A MOV DjCount,#11110111B

MOV SPEED,#MinSpd ;起始转动速度送入计数器 CLR StartEnd ;停转状态 MOV TMOD,#00010001B ; MOV TH0,#HIGH(65536-3000) MOV TL0,#LOW(65536-3000) MOV TH1,#0FFH; MOV TL1,#0FFH SETB TR0 SETB EA SETB ET0 SETB ET1

LOOP: ACALL KEY ;键盘程序 JNB F0,m_NEXT1 ;无键继续

ACALL KEYPROC ;否则调用键盘处理程序 m_NEXT1: MOV A,Speed MOV B,#10 DIV AB

MOV DispBuf+5,B ;最低位 MOV B,#10 DIV AB

MOV DispBuf+4,B MOV DispBuf+3,A JB StartEnd,m_Next2

17

CLR TR1 ;关闭电机 JMP LOOP

ORL P1,#11110000B m_Next2:

SETB TR1 ;启动电机 AJMP LOOP ;主程序结束 ;--------------------------------------- D10ms: ……

;---------延时程序,键盘处理中调用 KEYPROC:

MOV A,B ;获取键值

JB ACC.2,StartStop ;分析键的代码,某位被按下,则该位为1 JB ACC.3,KeySty JB ACC.4,UpSpd JB ACC.5,DowSpd AJMP KEY_RET StartStop:

SETB StartEnd ;启动 AJMP KEY_RET KeySty:

CLR StartEnd; ;停止 AJMP KEY_RET UpSpd:

INC SPEED; MOV A,SPEED

CJNE A,#MaxSpd,K1 ;到了最多的次数? DEC SPEED ;是则减去1,保证下次仍为该值 K1:

AJMP KEY_RET

18

DowSpd: DEC SPEED MOV A,SPEED

CJNE A,#MAXSPD,KEY_RET ;不等(未到最大值),返回 MOV SPEED,#MinSpd; KEY_RET: RET KEY:

……获取键值的程序 RET

DjZd: ;定时器T1用于电机转速控制 PUSH ACC PUSH PSW MOV A,Speed

SUBB A,#MinSpd ;减基准数 MOV DPTR,#DjH MOVC A,@A+DPTR MOV TH1,A MOV A,Speed SUBB A,#MinSpd MOV DPTR,#DjL MOVC A,@A+DPTR MOV TL1,A MOV A,DjCount CPL A ORL P1,A MOV A,DjCount JNB ACC.7,d_Next1 JMP d_Next2

19


测控系统综合设计参考题目(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:概率论与数理统计期末试卷及答案(最新6)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: