- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 第七章 MCS-51应用系统的研制和调试 读状态: 输入:RS=L,RW=H,E=H 输出:D0-D7=状态字 写指令: 输入:RS=L,RW=L D0-D7=指令 E=高脉冲 输出:无 读数据: 输入:RS=H,RW=H,E=H 输出:D0-D7 写数据: 输入:RS=H,RW=L,D0-D7=数据 E=高脉冲 输出:无 现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。 7.2.1 步进电机工作原理 串行控制 单片机输出步进脉冲信号(CP )和旋转方向信号,经脉冲分配器(也叫环形分配器)按电机的相数和工作方式产生多相循环变化的脉冲。例如三相电机采用单三拍工作方式,脉冲分配器三路输出顺序是:A,B,C,A ;反向旋转时顺序为A,C,B,A 。 并行控制 并行控制是指单片机用硬件或软件方法实现脉冲分配器功能,得出多相脉冲信号,经功率放大后驱动各相绕组。 (微分用差分代替) (积分用求和代替) 理想微分方程便可改写为 : 写成递推方式: 单片机的P1.0~P1.3 作为并行输出,驱动四相反应式步进电机。如电机以四相八拍方式工作,正转时相状态是: A→AB→B→BC→C→CD→D→DA→A, 那么对应的口线状态: 1110→ 1100→1101→ 1001→ 1011→0011→0111→0110→1110 。 为了实现脉冲分配器功能,我们在单片机的存储空间存放一张表与上述八拍的口线状态相对应的表,叫状态表。如下图: 控制系统根据应用要求,电机每走一步,拍序加一(正转)或拍序减一(反转),然后由拍序查状态表得出相状态(即口线状态),并将其送到相应输出口即可实现控制要求。 程序为: OutPhaseStatus: MOV A, PhaseStatus ANL A, MOV DPTR,#PhaseTab ;把表地址给bptr MOVC A,@A+DPTR ORL A, #StepPortMask ;输出相序而不影响其它口线 ANL StepPort, A RET PhaseTab: DB 0FEH, 0FCH, 0FDH, 0F9H, 0FBH, 0F3H, 0F7H, 0F6H 步进电动机转速控制 步进电动机的转速控制,实际上就是控制各相线通电状态持续时间的长短。这可以采取两种方法:一种是软件延时,另一种是定时器延时。 (1) 软件延时法 这种方法是在每次转换通电状态(简称换相)后调用一个延时子程序,待延时结束后执行换相子程序。如此反复,就可使步进电机按某一确定的转速运转。以下程序将控制步进电机正向连续旋转。 ContinueStep LCALL HardSoftPostiveStep ;正转子程序 MOV A,#DealyValue ;DealyValue决定延时时间 LCALL StepDealy ;调用延时子程序 LJMP ContinueStep ;继续循环执行 … StepDealy: ;延时DealyV1 x 2 + 3 x ACC + 2 个机器周期 MOV R0, #DealyV1 ;延时DealyV1 x 2 + 1 个机器周期 DJNZ R0, $ DJNZ ACC, StepDealy RET 程序为: (2) 定时器延时法 利用定时器,加载适当的定时值以控制延时的长短,在定时器溢出产生中断时,执行步进电机换相子程序。每中断一次,电动机就换相一次,从而实现对电动机的速度控制。 程序为: CalDelay: ;//计算速度,走步延时 mov a,DelayIncDec cjne a,#0x7f,ChkDir ChkDir: mov RotationDir,c ;//DelayIncDec=0x7f 时 ;正转(RotationDir=0) mov r7,#0x7f jnc CalDelay1 xch a,r7 CalDelay1: clr c su
文档评论(0)