步进电机单片机控制系统的设计_第1页
步进电机单片机控制系统的设计_第2页
步进电机单片机控制系统的设计_第3页
步进电机单片机控制系统的设计_第4页
步进电机单片机控制系统的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

11、ffer+4,#0movbuffer+3,#10hmovbuffer+2,speednomovbuffer+1,#10hmovbuffer,#0star2:movr0,#bufferacalldisplay8star3:acallscan_keyjcstar5jnbbneeddisplay,star3clrbneeddisplayacallstep_sub_1sjmpstar2star5:clrtr0cjnea,#10,$+3jncstar1movbuffer+4,buffer+5movbuffer+5,buffer+6movbuffer+6,buffer+7movbuffer+7,asjmp

12、star2star1:cjnea,#14,$+3jncstar3movdptr,#drivertabclrcsubba,#10rlajmpa+dptrdrivertab:sjmpdirectionsjmpspeed_upsjmpspeed_downsjmpexecdirection:cplbclockwisejbbclockwise,clockwisemovbuffer,#1anticlockwise:jnbbfirst,anticlockwise1movstepcontrol,#91hsjmpdirection1anticlockwise1:mova,stepcontrolrrarramov

13、stepcontrol,asjmpdirection1clockwise:movbuffer,#0jnbbfirst,clockwise1movstepcontrol,#33hsjmpdirection1clockwise1:mova,stepcontrolrlarlamovstepcontrol,adirection1: sjmp star2speed_up: mov a,speedno cjnea,#11,speed_up1 sjmpspeed_up2speed_up1:incspeedno movbuffer+2,speednospeed_up2:sjmpstar2speed_down:

14、mova,speedno jzspeed_down1 decspeedno movbuffer+2,speednospeed_down1:sjmpstar2exec:clrbfirst acalltakestepcount movdptr,#stepdelaytab mova,speedno movca,a+dptr movstepdelay,a cjnea,#50,$+3 jncexec1 mova,#50exec1: movstartstepdelay,a movstartstepdelay1,a setbtr0 ajmpstar2stepdelaytab:db250,125,83,62,

15、50,42,36,32,28,25,22,21timer0:pushacc djnzstartstepdelay,timer0_1 mova,startstepdelay1 cjnea,stepdelay,timer0_5 sjmptimer0_2timer0_5:deca movstartstepdelay1,atimer0_2:movstartstepdelay,a mova,stepcontrol cpla movp1,a cpla jbbclockwise,timer0_3 rra sjmptimer0_4timer0_3:rlatimer0_4:movstepcontrol,a mo

16、va,r6 orla,r7 jztimer0_1 setbbneeddisplay djnzr7,timer0_1 djnzr6,timer0_1 clrtr0timer0_1:popacc retistep_sub_1:movr5,#4 movr0,#buffer+7step_sub_1_1: mova,r0 decr0 jnzstep_sub_1_2 movr0,#9 decr0 djnzr5,step_sub_1_1step_sub_1_2:rettakestepcount:mova,buffer+4 movb,#10 mulab adda,buffer+5 movb,#10 mulab

17、 adda,buffer+6 movr7,a mova,b addca,#0 movb,#10 mulab xcha,r7 movb,#10 mulab xcha,b adda,r7 xcha,b adda,buffer+7 movr7,a mova,b addca,#0 movr6,a cjner7,#0,takestepcount1 rettakestepcount1:incr6 retinit8279: mova,#34h movxdptr,a clra movdptr,#cmd_8279 movxdptr,ainit8279_1: callclear mova,#90h movxdpt

18、r,a retclear:mova,#0deh movdptr,#cmd_8279 movxdptr,await1:movxa,dptr jbacc.7,wait1 retscan_key:movdptr,#cmd_8279 movxa,dptrread_fifo:anla,#7 jzno_keyread:mova,#40h movxdptr,a movdptr,#data_8279 movxa,dptr acallkey_num setbcscan_key1: retno_key:clrc sjmpscan_key1key_num:anla,#3fh retwrite_data: movdptr,#data_8279 movxdptr,a retled_tab:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb080h,90h,88h,83h,0c6h,0a1h,86h,8eh,0ffhretdisplay8:push07hmovdptr,#led_tabmovp2,#high(cmd_8279)movr1,#low(cm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论