步进电机单片机控制系统的设计.doc
《步进电机单片机控制系统的设计.doc》由会员分享,可在线阅读,更多相关《步进电机单片机控制系统的设计.doc(12页珍藏版)》请在三一文库上搜索。
1、 哈 尔 滨 理 工 大 学 荣 成 学 院课程设计步进电机单片机控制系统的设计 姓名: & 专业: 电机与电器 班级: 0& 学号: * 日期: 2012年5月10日 一、设计题目的背景 1.步进电机的原理步进电动机又称为脉冲电动机,是数字控制系统的一种执行元件,其功用是将脉冲信号变换为相应的角位移或直线位移,既给一个脉冲电信号,电动机就转动一个角度或前进一步。步进电动机的控制原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲控制,所以调节脉冲的频率便可改 变步进电机的转速,微控制器最适合控制步进电机。此次设计步进电机共有四个相位(A、B、C、D),按转动步骤分为单四拍
2、(A 、 B 、 C 、 D 、 A)四相双四拍:电机正转 ( AB 、 BC 、 CD 、 DA 、AB) 电机反转 ( DA、AB 、 BC 、 CD、 DA)单双8拍(A、 AB、 B、 BC、 C、CD 、 D、DA、 A)2.应用领域(1)应用领域相当广泛,只要是要有动力源的,而且对精度有要求的一般都可能涉及到伺服电机。如机床、印刷设备、包装设备、纺织设备、激光加工设备、机器人、自动化生产线等对工艺精度、加工效率和工作可靠性等要求相对较高的设备。(2)广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机
3、器人等领域。特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。(3)步进电机在电脑绣花机等纺织机械设备中有着广泛的应用,这类步进电机的特点是保持转矩不高,频繁启动反应速度快、运转噪音低、运行平稳、控制性能好、整机成本低。二、设计原理1、设计目的(1)了解步进电机的基本原理,掌握步进电机的转动编程方法 (2)了解影响电机转速的因素有哪些2、方案的比较在于对步进电机的控制和驱动,设计中受控电机为四相六线制的的步进电机。方案一:使用多个功率放大器驱动电机通过使用不同的放大电路和不同参数的器件,可是达到不同的放大要求,放大后能够得到较大的功率,但是由于使用的是四相的步进电机,就需
4、要对四路信号分别放大,而放大电路很难达到完全一致,当电机的功率较大时运行会不稳定,而电路的制作也比较复杂。方案二:使用ULN2003芯片驱动电机ULN2003可以驱动两个二相电机,也可以驱动一个四相电机,它工作电压高,工作电流大,并且能够在关太时承受50V的电压,输出还可以在高负载电流并行运行,可直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。通过比较,使用ULN2003芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用ULN2003驱动电机。三、电路设计 1.单片机型号的选择80C51单片机属于MCS-51系列单片机,增加了如乘(MUL)、除(DIV)、减(SUBB
5、)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。 80C31单片机,它是8位高性能单片机结合了HMOS的高速和高密度技术及CHMOS的低
6、功耗特征。80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。但80C31片内并无程序存储器,需外接ROM。此外,80C31还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。 综上,所以选择80C51单片机.2.硬件电路设计四、 软件设计1、程序框图NYNYNNNN0-需要刷新显示标志1-步进电机未转动过标志1-转动方向标志(1:表示顺
7、时针方向)33H-下次送给步进电机值5-步进电机转速初始化8255(PC口输出)初始化8253(计数器T0设置在模式2状态,BCD码计数,CLK0/210)初始化8259(允许8253中断)初始化8253中断向量初始化显示缓冲区:(数码管第8位:0,顺时针方向;5、7位消隐;6位:转速;1、2、3、4位:0,表示连续转动,其他值表示需要转动的步数)调用显示子程序有键按下需要刷新显示标志=10-需要刷新显示标志调用步数调整子程序关中断(终止步进电机转动)数码管的1、2、3位-2、3、4位键值送给数码管的第一位调用改变转向子程序键值9键值=0AH调用增速子程序调用减速子程序调用启动步进电机子程序Y
8、键值=0BH键值=0CH键值=0DH开始YYY改变方向子程序:YYNNY开始转动方向标志=091H-下次送给步进电机值下次送给步进电机值循环右移二次1-转动方向标志0-送给数码管的第7位步进电机未转动过标志33H-下次送给步进电机值下次送给步进电机值循环左移二次0-转动方向标志1-送给数码管的第7位步进电机未转动过标志返回启动步进电机子程序:YNY开始0-步进电机未转动过标志取转动步数取转速对应的延时值(转速延时)初始转速延时1=初始转速延时转速延时需要刷新显示标志转动步数减一1-1转动步数=0时关中断开始下次送给步进电机值循环左移一次1-1返回下次送给步进电机值-P1口(控制步进电机转动一步
9、)Y2.完整程序EXTRNCODE(INIT8279,SCAN_KEY,Display8)MAIN_CODESEGMENTCODEMAIN_BITSEGMENTBITMAIN_DATASEGMENTDATASTACK SEGMENTIDATA;PUBLIC INIT8279,SCAN_KEY,Display8CMD_8279XDATA0bF01HDATA_8279XDATA0bF00HRSEGMAIN_DATAStepControl:DS1buffer:DS8SpeedNo: DS1StepDelay:DS1StartStepDelay:DS1StartStepDelay1:DS1RSEGMA
10、IN_BITbFirst:DBIT1bClockwise:DBIT1bNeedDisplay: DBIT1RSEGSTACKDS20HCSEGAT0000HLJMPSTARCSEGAT000BHLJMPTIMER0RSEGMAIN_CODESTAR:MOVSP,#STACK-1ACALLINIT8279SETBbFirst SETB bClockwiseMOVStepControl,#33HMOV SpeedNo,#5MOVTMOD,#02HMOVTH0,#55MOVTL0,#55MOVIE,#82HMOVBuffer+7,#0MOVbuffer+6,#0MOVbuffer+5,#0MOVbu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 步进 电机 单片机 控制系统 设计
链接地址:https://www.31doc.com/p-10525236.html