步进电机调速系统硬件_第1页
步进电机调速系统硬件_第2页
步进电机调速系统硬件_第3页
步进电机调速系统硬件_第4页
步进电机调速系统硬件_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

1、根据下述资料完成对硬件仿真的实现要求1:必须用proteus和keil联机头现仿真要求2:必须按照protel电路图用proteus做出电路图要求3:交给我的三样东西a.系统原理电路图1份。b.电路仿真运行数据1份C.汇编语言一份步进电机调速系统硬件设计四相步进电机工作原理本设计所采用的是国产20BY-0型步进电机,它使用+5V直流电源,步距角为18度。电机线圈由四相组成,即A、B、C、D四相,驱动方式为二相激磁方式,电机示意图和各线圈通电顺序如图4.1和表4.1所示:图4.1步进电机原理图表4.1相顺序ABCD01100101102001131001相顺序从0到1称为一步,电机轴将转过18度

2、,01234则称为通电一周,转轴将转过72度,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如4321将使电机同速反转。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。硬件设计方案本设计采用51单片机AT89C51(晶振频率为12MHZ)对该四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。本文选用ULN2003构成步进电机的驱动电路,下面但见介绍

3、下ULN2003的结构和特点:ULN2003是图耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003采用DIP16或SOP-16塑料封装。ULN2003方框图如图4.2所示。4.2ULN2003内部方框图利用ULN2003以及AT89C51设计的步进电机驱动电路如图4.3所示。p-

4、r.»1hJI-""Ur>183.-I»<1-I-I-III-二二一二L二二-二D-11-rlil器PITEMKmEr山旧g一新=L&7-T图4.3ULN2003和AT89C51构成的驱动电路51的25-28口接ULN2003的1-4输入端。另外,用键盘来对电机的状态进行控制在上述设计的基础上,可以用数码管显示电机的转速,采用AT89C51的P1口和P2口作为2位单个数码管的显示驱动。其电路图如图4,4所示。通过图4.2所示的AT89C51的内部变成发送数据。POCPO1P02P03PWP05PO6P07DS2DPY7-SEGDP图4

5、.4显示电路图其中两个数码管是共阴的。R3和R4是用来保护数码管,以免烧坏数码管。将图4.3和图4.4连接起来,使之实现:按下启动键S1,电机旋转,按一下加1键S2,速度增加1转/分,按一下减1键S3,速度降低1转/分。本设计设置了速度范围,其速度最低和最高分别为:9转/分,75转/分,按下停止键S4,电机停转。速度值在数码管上显示出来。综合以上设计的控制电路方案,总设计方案框图如4.5所示。图4.5步进电机控制电路设计框图5步进电机调速系统的软件设计5.1软件设计思路控制系统分2个功能模块,分别是转速设置、数码管显示速度。5.1.1转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相

6、脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。本设计中采用了12Mhz的晶振,一个机器周期是1us。其计算方法:1266=110s=1s1210(5.1)上式计算出了一个机器周期。分子上的12是12个节拍,分母是晶振频率。所以单片机内部时钟频率为f=106hz,设计数初值为n,要求转速为15转/分(0.25转/秒),对四相步进电机而言即为5步/秒,则有:-5n(5.2)n=f=1T=2105(5反过来,当计数器初值确定时,决定了电机的转速,如计数初值为0时,有电机转速为3步每秒(本设计中最慢速度);当计数初值为40000时,电机转速为1.25步每秒(本设计中最快

7、速度)。具体设置初值及转速见表5.2表5.2转速设置表步速转速(转/秒)计数初值30.1533333350.25200000150.7566667251.25400005.1.2数码管显示因为本设计中采用的数码管是共阴的,所以当AT89C51的对应管脚发送的是高电平信号,数码管中对应的LED就亮起来。本设计中的相应速度档次不涉及小数点,故数码管的dp位无论在何时均为低电平。数码管的各个数字显示二进制代码如表5.3所示:表5.3数码管的显示原理数字要亮的LED相应P0/P1输出的二进制及16进制0abcdef11111100、FCH1bc01100000、60H2abdeg11011010、DA

8、H3abcdg11110010、F2H4bcfg01100110、66H5acdfg10110110、B6H6acdefg10111110、BEH7abc11100000、E0H8abcdefg11111110、FEH9abcdfg11110110、F6H只要将当前的转速在对应的时刻送到P0及P1即可,其中P1存储的是个位的数字,而P0存储十位的数字5.2程序流程图及其汇编程序程序流程图4.6所示根据上述的设计思路,结合51单片机的设计原则,可以得出如图的程序流程图。图5.6程序流程图5.2.2汇编程序及注释STARTbit01HMinSpdEQU9MaxSpdEQU75SpeedDATA23

9、HORG0000H;起动及停止标志;起始转动速度;最高转动速度;流动速度计数LJMPDJSDLJMPMAINORG0030HMAIN:MOVSPEED,#MinSpdCLRStartEndMOVTMOD,#00000001BSETBEASETBET1LOOP:ACALLKEYJNBP0,m_NEXT1ACALLKEYPROCm_NEXT1:MOVA,SpeedMOVB,#10DIVABCMPA,#0;起始转动速度送入计数器;停转状态;键盘程序;无键继续;否则调用键盘处理程序若寄存器A中存储的是0,跳转至DISPS0,P0置FCHJEDISPS0CMPA,#1JEDISPS1CMPA,#2JED

10、ISPS2CMPA,#3JEDISPS3CMPA,#4JEDISPS4CMPA,#5JEDISPS5CMPA,#6JEDISPS6CMPA,#7CMPA,#8JEDISPS8CMPA,#9JEDISPS9DISPS0:;DISPS0DISP9,让数码管显示09的特定数MOVP0,#0FCHJMPNextDISPS1:MOVP0,#060HJMPNextDISPS2:MOVP0,#0DAHJMPNextDISPS3:MOVP0,#0F2HJMPNextDISPS4:MOVP0,#066HJMPNextDISPS5:MOVP0,#0B6HJMPNextDISPS6:MOVP0,#0BEHJMPNe

11、xtDISPS7:MOVP0,#0E0HJMPNextDISPS8:MOVP0,#0FEHJMPNextDISPS9:MOVP0,#0F6HJMPNextCMPB,#0;若寄存器B中存储的是0,跳转至DISPS0,P1置FCHJEDISPG0CMPB,#1JEDISPG1CMPB,#2JEDISPG2CMPB,#3JEDISPG3CMPB,#4JEDISPG4CMPB,#5JEDISPG5CMPB,#6JEDISPG6CMPB,#7JEDISPG7CMPB,#8JEDISPG8CMPB,#9JEDISPG9DISPG0:;DISPS0DISP9,让数码管显示09的特定数MOVP1,#0FCHJ

12、MPNextDISPG1:MOVP1,#060HJMPNextDISPG2:MOVP1,#0DAHJMPNextDISPG3:MOVP1,#0F2HJMPNextDISPG4:MOVP1,#066HJMPNextDISPG5:MOVP1,#0B6HJMPNextDISPG6:MOVP1,#0BEHJMPNextDISPG7:MOVP1,#0E0HJMPNextDISPG8:MOVP1,#0FEHJMPNextDISPG9:MOVP1,#0F6HJMPNextNext:MOVA,SpeedJBSTART,m_Next2CLRTR1;关闭电机JMPLOOPORLP2,#11110000Bm_Nex

13、t2:SETBTR1;启动电机AJMPLOOP;主程序结束KEYPROC:MOVA,B;获取键值JBACC.0,StartStopJBACC.3,KeyStyJBACC.1,UpSpdJBACC.2,DowSpdAJMPKEY_RETStartStop:SETBStartEndAJMPKEY_RETKeySty:CLRStartEndAJMPKEY_RETUpSpd:INCSPEEDMOVA,SPEEDCJNEA,#MaxSpd,K1DECSPEEDK1:AJMPKEY_RETDowSpd:DECSPEEDMOVA,SPEEDCJNEA,#MAXSPD,KEY_RETMOVSPEED,#MinSpd;KEY_RET:RET;分析键的代码,某位被按下,则该位为1;启动仰止;到了最多的次数?;是则减去1,保证下次仍为该值;不等(未到最大值),返回KEY:MOVA,P2MOVB,ARETDjZS:;定时器T1用于电机转速控制PUSHACCPUSHPSWMOVA,SpeedSUBBA,#MinSpdMOVDPTR,#DjHMOVCA,A+DPTRMOVTH1,AMOVA,SpeedSUBBA,#MinSpdMOVDPTR,#DjLMOVCA,A+DPTRM

温馨提示

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

评论

0/150

提交评论