




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第19页单 片 机 原 理步进电机 课程设 计 摘 要步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。结合对步进电机的了解,然后对步进电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用8051单片机来控制步进电机,并给出了步进电机的双相三拍控制单片机控制和三相六拍的单片机控制的具体实现方法,用汇编程序进行控制运行
2、。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。电机的控制系统由AT80C51单片机控制,具有抗干扰能力强,可靠性高而且系统扩展容易等优势。本次课程设计中着重于通过控制脉冲数来控制位移,实现准确定位。基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制步进电机课程设计的实际意义。关键字:步进电机 ,角位移,单片机 ,脉冲目录一、课设题描述4二、总体实现原理5三、 步进电机原理及硬件设计53.1 步进电机53.1.1 步进电机的工作
3、原理53.1.2 控制原理63.1.3 步进电机的驱动方式73.2 输入显示部分73.3 电源7四、 软件程序设计84.1 主程序的设计84.2 定时中断设计94.3 外部中断设计94.4 系统软件程序12总结17参考文献18一、课设题描述 传统的步进电机控制方法是由触发器产生控制脉冲来进行的,此种方法工作方式单一且难于实现人机交互,当步进电机的参数发生变化是,需要重新进行控制器的设计。而且由传统的触发器构成的控制系统具有控制电路复杂、控制精度低、生产成本高等缺点。由单片机控制的步进电机克服了以上缺点。它具有很高的精度,一般用在精确定位方面。步进电机是一种将数字信号直接转换成角位移或线位移的控
4、制驱动元件,具有快速起动和停止的特点。其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度,并能实现正反转和平滑速度调节。它的运行速度和步距不受电源电压的波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。常见的步进电机分三种:永磁式(PM)、反应式(VR)、混合式(HB),永磁式步进一般分为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家早已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相
5、步进角一般为1.8度而五相步进角一般为0.72度,这种步进机应用最为广泛。目前使用单片机控制,单片机为微控制器的下位机和以计算机为上位机的步进电机控制系统,用软件代替步进控制器,使得线路简单,成本低,可靠性大大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器,软件编程可灵活产生步进电机励磁序列来控制步进电机的运行方式。用此方式设计步进电机控制系统顺应了目前国内外控制系统微机化发展的趋势,充分利用了单片机的优点,使得通用性得到了提高。伴随不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。二、总体实现原理步进电机的系统总体框图如图1,在系统中采用AT8
6、9C51单片机产生A、B、C、D四相信号(更具实际需要,可以扩充更多相信好)。当采用单片机控制时,需要在单片机和步进电机之间设置隔离电路以使强弱分开。由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。系统电路由6部分组成,即:输入显示部分;AT89C51 单片机;驱动部分,步进电机。 图1 系统总体框图 三、 步进电机原理及硬件设计3.1 步进电机3.1.1 步进电机的工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。它将脉冲信号转变成角位移,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信
7、号,电机则转过一个步距角。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。 设计中采用了步进电机,该电机为四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐。 其中步进电机的静态指标及术语如下。(1) 相数:产生不同队N、S磁场的激磁线圈对数,常用 m表示。 (2)拍数:完成一个磁场周期性变化所需脉冲用n 表示,或指电机转过一个齿距角所需脉冲
8、数,以四相电机为例,有四相四拍运行方式即ABBCCDDAAB,四相八拍运行方式即 AABBBCCCDDDAA。(3)步距角:对应一个脉冲信号,电机转子转过的角位移用 表示。(4)定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿的谐波以及机械误差造成的 )。 (5)静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。3.1.2 控制原理根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是KD、KA、KB、KC。通
9、过KD、KA 状态变化来实现电机的启动和换向功能。当KD、KA 的状态变化时,内部程序检测P1.3 和 P1.0的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。 根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过KB的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。3.1.3 步进电机
10、的驱动方式步进电机不能识别单片机发出的信号,应有驱动模块将单片机发出的信号进行转换、放大;才可以让步进电机做出相应的动作;驱动器在这里起到桥梁作用,为单片机与步进电机的连接而采用的;步进电机有单、双拍及单双混合式工作方式,课程设计采用四相五线式步进电机(双四拍工作方式),驱动模块应具备四根相线,才能满足步进电机的要求,驱动模块选取ULN2003芯片,ULN2003特点是低电压,低功率控制元件,符合课程设计要求 图2 步进电机驱动电路3.2 输入显示部分本系统是基于提高智能机灵活性而设计的,对于步进电机的频率、步数、位置和停止等通过键盘输入相应指令,由单片机输出步进电机控制信号来实现控制,用数码
11、管显示输入的参数并在工作时动态显示剩下的步数。显然,要显示一个字型就应该使此字型的相应发光二极管点亮,实际上就是送一个不同电平的组合代表的数据到数码管。在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。 3.3 电源电源为各个模块提供电能,让每个模块都能正常工作的基础四、 软件程序设计 在步进电机系统中,相应的控制信号由单片机来产生,根据需要通过键盘输入电机的转动方向、转动速率和转动步数,在工作使用数码管来动态显示剩下的步数。所以,软件部分由4大模块组成: 主程序部分、
12、定时器中断部分、外部中断部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。下面分析主程序与定时器中断程序及外部中断程序。4.1 主程序的设计主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对 P1 口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。若初
13、始化 P1=11H、速度和方向初始值均设为 0,就意味着步进电机按相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图3所示 图3 主程序流程图4.2 定时中断设计步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向发下一个脉冲,以及保存当前的各种状态。程序流程图如图4所示。图4 定时中断程序流程4.3 外部中断设
14、计外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮KB为 INT0 中断,其程序流程为原数据,当值等于7 时,不改变原数值返回,小于 7 时,数据加 1 后返回;速度减少按钮KC,当原数据不为 0,减 1 保存数据,原数据为 0 则保持不变。程序流程图如图5所示。 图5 外部中断程序流程图4.4启动、转向、加减速子程序 改变方向子程序:启动步进电机子程序:增速子程序:减速子程序:4.4 系统软件程序 NAMEMAIN;定义模块名EXTRN CODE(INIT8279,SCAN_K
15、EY,Display8);8279.ASM中定义的子程序。MAIN_CODESEGMENTCODEMAIN_BITSEGMENTBITMAIN_DATASEGMENTDATASTACKSEGMENTIDATARSEGMAIN_DATAStepControl:DS1;下一次送给步进电机的值buffer:DS8;显示缓冲区,8个字节SpeedNo:DS1;选择哪一级速度StepDelay:DS1;转动一步后,延时常数;如果选择的速度快于启动速度,延时由长到短,最终使用对应的延时常数StartStepDelay:DS1StartStepDelay1:DS1;StartStepDelayRSEGMAI
16、N_BITbFirst:DBIT1;有没有转动过步进电机bClockwise:DBIT1;=1 顺时针方向 =0逆时针方向转动bNeedDisplay:DBIT1;已转动一步,需要显示新步数RSEGSTACKDS20H;32 Bytes StackCSEGAT0000H;定位0LJMPSTARCSEGAT000BHLJMPTIMER0RSEGMAIN_CODESTAR:MOVSP,#STACK-1ACALLINIT8279SETBbFirstSETBbClockwiseMOVStepControl,#33H;下一次送给步进电机的值MOVSpeedNo,#5MOVTMOD,#02HMOVTH0,
17、#55MOVTL0,#55;200us延时MOVIE,#82HMOVBuffer+7,#0MOVbuffer+6,#0MOVbuffer+5,#0MOVbuffer+4,#0MOVbuffer+3,#10HMOVbuffer+2,SpeedNoMOVbuffer+1,#10HMOVbuffer,#0STAR2:MOVR0,#bufferACALLDisplay8STAR3:ACALLScan_KeyJCSTAR5JNBbNeedDisplay,STAR3CLRbNeedDisplayACALLStep_SUB_1SJMPSTAR2STAR5:CLRTR0;终止步进电机转动CJNEA,#10,$
18、+3JNCSTAR1MOVbuffer+4,buffer+5MOVbuffer+5,buffer+6MOVbuffer+6,buffer+7MOVBuffer+7,ASJMPSTAR2STAR1:CJNEA,#14,$+3JNCSTAR3MOVDPTR,#DriverTabCLRCSUBBA,#10RLAJMPA+DPTRDriverTab:SJMPDirection;转动方向SJMPSpeed_up;提高转速SJMPSpeed_Down;降低转速SJMPExec ;步进电机根据方向、转速、步数开始转动Direction:CPLbClockwiseJBbClockwise,ClockwiseM
19、OVbuffer,#1AntiClockwise:JNBbFirst,AntiClockwise1MOVStepControl,#91HSJMPDirection1AntiClockwise1:MOVA,StepControlRRARRAMOVStepControl,ASJMPDirection1Clockwise:MOVbuffer,#0JNBbFirst,Clockwise1MOVStepControl,#33HSJMPDirection1Clockwise1:MOVA,StepControlRLARLAMOVStepControl,ADirection1:SJMPSTAR2Speed_u
20、p:MOVA,SpeedNoCJNEA,#11,Speed_up1SJMPSpeed_up2Speed_up1:INCSpeedNoMOVbuffer+2,SpeedNoSpeed_up2:SJMPSTAR2Speed_Down:MOVA,SpeedNoJZSpeed_Down1DECSpeedNoMOVbuffer+2,SpeedNoSpeed_Down1:SJMPSTAR2Exec:CLRbFirstACALLTakeStepCountMOVDPTR,#StepDelayTabMOVA,SpeedNoMOVCA,A+DPTRMOVStepDelay,ACJNEA,#50,$+3JNCExe
21、c1MOVA,#50Exec1:MOVStartStepDelay,AMOVStartStepDelay1,ASETBTR0AJMPSTAR2StepDelayTab:DB250,125,83,62,50,42,36,32,28,25,22,21TIMER0:PUSHACCDJNZStartStepDelay,TIMER0_1MOVA,StartStepDelay1CJNEA,StepDelay,TIMER0_5SJMPTIMER0_2TIMER0_5:DECAMOVStartStepDelay1,ATIMER0_2:MOVStartStepDelay,AMOVA,StepControlCPL
22、AMOVP1,A CPLAJB bClockwise, TIMER0_3RRASJMPTIMER0_4TIMER0_3:RLATIMER0_4:MOVStepControl,AMOVA,R6ORLA,R7JZTIMER0_1SETBbNeedDisplayDJNZR7,TIMER0_1DJNZR6,TIMER0_1CLRTR0TIMER0_1:POPACCRETIStep_SUB_1:MOVR5,#4MOVR0,#buffer+7Step_SUB_1_1:MOVA,R0DECR0JNZStep_SUB_1_2MOVR0,#9DECR0DJNZR5,Step_SUB_1_1Step_SUB_1_
23、2:RETTakeStepCount:MOVA,buffer+4;转动步数送入R6R7MOVB,#10MULABADDA,buffer+5MOVB,#10MULABADDA,buffer+6MOVR7,AMOVA,BADDCA,#0MOVB,#10MULABXCHA,R7MOVB,#10MULABXCHA,BADDA,R7XCHA,BADDA,buffer+7MOVR7,AMOVA,BADDCA,#0MOVR6,ACJNER7,#0,TakeStepCount1RETTakeStepCount1:INCR6 ;低位不为0,则高位加一,因循环时,会多减一RETEND总结本设计通过分析步进电机结构、工作原理,查阅步进电机控制系统的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种既可用于精度要求不高,但控制需完备的场合。对本次设计,采用单片机为控制核心,利用其强大的功能,把键盘和显示电路有机的结合起来,组成一个操作方便、交互性强的控制系统。采用键盘电路和显示电路采用了动态扫描技术,节约了单片机资源。 系统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医卫类微生物检验技术(士)-基础知识参考题库含答案解析(5卷)
- 2025年医卫类乡村医生公共卫生-医学人文参考题库含答案解析(5卷)
- 惠州工程类合同范本
- 楼房清扫合同范本
- 工人住房保障合同范本
- 购买养鸭大棚合同范本
- 医疗配件购销合同范本
- 购物合同范本简单
- 2025年齐齐哈尔市五官医院人才招聘5人备考练习试题及答案解析
- 邀请大师指导合同范本
- 老年髋部骨折围手术期衰弱护理管理专家共识解读
- 2025版农业合作社成员个人借款合同范本
- 2025年乒乓球裁判证考试试题及答案
- 活动成都热波zebra音乐节营销策划方案5月1日5月3日
- 八年级历史上学期(2025版)导言课课件
- 混凝土施工示范样板制作方案
- 酒店房卡管理制度与操作流程
- 2024年(IPA)国际注册对外汉语教师资格认证考试真题卷(含答案)
- 2025一建《水利水电工程管理实务》思维导图
- 2025-2026学年外研版(三起)(2024)小学英语三年级上册教学计划及进度表
- 2025年重庆市事业单位招聘考试教师招聘体育学科专业知识试题
评论
0/150
提交评论