单片机控制步进电机_第1页
单片机控制步进电机_第2页
单片机控制步进电机_第3页
单片机控制步进电机_第4页
单片机控制步进电机_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、共享知识分享快乐卑微如蝼蚁、坚强似大象目录成绩一、 设计任务和要求1二、 设计思路1三、系统硬件设计23.1单片机电路原理介绍 33.2电机和驱动器电路原理介绍43.3显示锁存电路原理介绍 53.4数码管原理6四、系统软件设计7五、调试过程与结果 8六、总结与体会9七、参考资料10八、附录10附录一、总电路图11附录二、电路源程序 12附录三、元件清单17附录四、实物图18一、设计任务和要求电机控制课程设计是考察学生利用所学过的电机控制专业知识,进行综合的电机控制系统设计并最终完成实际系统连接, 能够使学生对电气与自动化的专业 知识进行综合应用,培养学生的创新能力和团队协作能力, 提高学生的动

2、手实践 能力。最终形成一篇符合规范的设计说明书, 并参加综合实践答辩,为后期的毕 业设计做好准备。本次设计考核的能力主要有:1)专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电 气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅 助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、 组态技术、现场总线技术、伺服电机等课程。2)项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT汇报与口头表达能力。3)电气与自动化系统的设计与实际应用能力。要求完成的工作量包括:1)制作实际成品,并现场演示效果。2)学生结合课题进行PPT演讲与答辩。3)学生上交课题要求

3、的各类设计技术文档。二、设计思路本次设计是以单片机为核心,通过控制模块发出信号,经单片机处理后,向步 进电机的驱动器和状态显示模块发出触发信号,使得步进电机接收到驱动器的触发信号,就开始动作;状态显示模块显示当前步进电机的转速。电源为各个模块 提供电能,让每个模块都能正常工作的基础;步进电机不能识别单片机发出的信 号,应有驱动模块将单片机发出的信号进行转换、放大;才可以让步进电机做出相应的动作;驱动器在这里起到桥梁作用,为单片机与步进电机的连接而采用的; 步进电机有单、双拍及单双混合式工作方式,课程设计采用四相五线式步进电机(双四拍工作方式),驱动模块应具备四根相线,才能满足步进电机的要求,驱

4、 动模块选取ULN2003芯片,ULN2003特点是低电压,低功率控制元件,符合课 程设计要求;现在是智能化的时代,通过 PC机发出要求,硬件做出相应的反馈 动作,课程设计的控制模块就涉及到 PC机,通过单片机串口通信,就可以与PC 机连接、通信,这样就可以远距离,可监视、控制步进电机的运转速度;显示模 块通过一对四联式的数码管构成,能够时时刻刻反映电机的状态,PC机与数码管都可以显示电机的运转速度,二者的区别在于数码管是固定在某个地方,给人 指示的作用,而PC机是作为控制而显示的;各个模块都是独立的个体,软件程 序是将整个模块合理的统一调度起来,完成课程设计任务。三、系统硬件设计可分单元电路

5、进行原理介绍。1、单片机电路原理介绍:I11M13 1?Ti10916CQM1C19单片机图P1.7P3.7/RD 户 3.6/WRI- 1 .opl.5P1.4P3 5图3锁存电路图该电路工作原理:74hc573是8位三态D触发器(如图3-10所示)。1脚是输出控制端,1脚=L,使能输出;1脚=H,高阻。11脚是时钟,下降沿触发在数码管显示方面,要维持一个数据的显示, 往往要持续的快速的刷新。尤其是在四段八位数码 管等这些要选通的显示设备上。在人类能够接受的 刷新频率之内,大概每三十毫秒就要刷新一次。这 就大大占用了处理器的处理时间,消耗了处理器的 处理能力,还浪费了处理器的功耗。锁存器的使

6、用 可以大大的缓解处理器在这方面的压力。当处理器 把数据传输到锁存器并将其锁存后,锁存器的输出 引脚便会一直保持数据状态直到下一次锁存新的数U323456779o 1 2 3 4 严 3 6 7qqqqqqqq1817n15141312据为止16174HC574图3-10 74HC573引脚结构图4、数码管原理图4数码管电路图此模块由一个四位一体的共阴极数码管和排阻组成。四位一体数显数码管用 于步进电机转速的显示,转速数据通过单片机的P2.0P2.7 口输出先经由74HC574锁存器锁存再传送给数码管进行显示。4位一体共阴极数码管,其内部段已连接好,引脚如图 3-12所示。a b、c、d、 e

7、、f、g、dP为段引脚,A1、A2、A3、A4分别表示四个数码管的位。5、串口电路原理51单片机有一个全双工的串行通讯口, 所以单片机和计算 机之间可以方便地进行串口通讯。 进行串行通讯时要满足一定的条件, 比如计算机的串口是RS232电平的,而单片机的串口是 TTL电平的,两者之间必须有C604GHDvccCAP-CAPrip 2*CAP 1*;CAP 2-C AP仁RTOUTl rtHlRT*OUT2 TJH20601IOmF10wf图5 串口模块个电平转换电路,我们采用了专用芯片 MAX232进行转换,虽然也可以用几个 三极管进行模拟转换,但是还是用专用芯片更简单可靠。 我们采用了三线制

8、连接 串口,也就是说和计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足 够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9 脚和单片机的10脚连接,串口电路图第15脚和单片机的20脚连接。四、系统软件设计图4.1主程序流程图对串口初始化接收中断发送的数据图4.3数据处理流程图软件程序中分主程序部分(设置外部中断 0、数码管显示、数据锁存、按键 延时消抖)、步进电机正反转参数设置部分、数码管显示延时部分。其中主程序的主要功能是系统初始参数的设置及按钮的检测,若按钮SW1按下则系统开始工作,反之系

9、统停止工作; 外部中断0部分控制脉冲频率,它决 定了步进电机转速的快慢;数据锁存部分将单片机 P2 口输出信号进行锁存,并 调用数码管显示延时程序对数码管按位输送数据;数码管显示部分则设定了所要 显示的电机转速;步进电动机正反转参数设置由表 4-1所示进行设定。表4-1正转励磁顺序 AB BCCD DA ABSTEPABCD11100201103001141001五、调试过程与结果(1)将各元器件在线路板上进行排版;(2)按原理图接线;(3)先测试 4 位一体数码管的极性 调试过程还是比较成功的, 电机能够正常的运转, 数码管能够成功的显示电机当 前的转速。六、总结与体会“实践出真知”!这次课

10、程设计的确使我受益匪浅。通过本次电机控制课程设计, 我们对微特电机及其驱动课程的知识有了进一 步的理解和掌握。 尤其是在单片机、 步进电动机的还有 C 语言编程的学习上都有 了很大的收获。在设计电路时, 我们充分应用我们所学的知识, 在不断的思考和 改进中,将它们设计结合在一起去实现我们想要的结果。 这培养了我们对专业知 识的综合运用能力和在处理问题时的逻辑思维能力。 同时通过这次课程设计也复 习了 Proteus仿真和Protel绘制原理图的一些基本操作。在本次课程设计中最能锻炼人的编程环节, 因为在这一个环节中, 出现的问 题是最多,也是最麻烦的。在此过程中,我们发现了修改完善程序的重要性

11、,则 我们在编程中要仔细检查自己的程序, 考虑到各种可能发生的情况。 虽然改写的 过程是很需要耐心考验的, 但却一步步增强自己的能力, 相信通过这次课程设计 它对我们以后的学习及工作都会产生重要的影响。本次课程设计中, 我们小组分工合作, 从确立课题到绘制原理图、 编程再到 最后的实物制作与答辩都能有条不紊的进行着, 想要有好的学习效率, 团队协作 非常重要,也是通过这次课程设计, 培养了我们的团队精神, 这在以后的无论是 在生活、学习还是工作中,都是大有帮助的。总而言之,这次的课程设计让我们体验到了先苦后甜的感觉, 让我们收获满 满,带着这份甜,带着这份收获,以后的我们会更加的努力,不断前进

12、。七、参考资料参考资料不低于5篇,参考书目要求与本设计课题相关。 格式参考:1 侯文霞变频调速技术在中央空调控制中的应用J.机床电器.2002第二期.2 韩常.PLC编程及应用M.北京:机械工业出版社,2005.3 彭虎,周佩玲,傅忠谦微机原理与接口技术Z.北京:电子工业出版社,20084 张齐,朱宁西.单片机应用系统设计技术一一基于 C51的Proteus仿真Z.北 京:电子工业出版社,2009周荷琴,吴秀清微型计算机原理与节后技术Z.合肥:中国科技大学出版社。 2009八、附录附录一:总电路图忠:H ;:EHX- M.5D?nH 5TI哄京 ti- 旺LUarr3;p57J!JU=9.a

13、H-(1f-rE附录二:电路源程序#in elude #in elude vintrin s.h #in elude timerO.h #in elude display.h #in elude uart.h /Motor sbit CoilA = P1A0; sbit CoilB = P1A1;sbit CoilC = P1A2;sbit CoilD = PM3;#define uint unsigned int#define uchar unsigned char#define STEPNUM 48 / 步进电机一圈的步数/ 步进电机驱动unsigned char StepNumber=0

14、;bit StepGapFlag,StrRecvOkFlag;/ 测试用/ 测试测试用/ 测试用定义串行口接收数据变量uchar str1Print=Timer0s value is:;uchar i,UartSendArray8=0, 0, 0, 0, 0, r,n,0;用: r,n 为换行符, 0 为结束符uchar str2Print=UartRecvArray value is:; / uchar UartPrintArray6=0, 0, 0, r,n,0;uchar UartRecv,UartRecvArray5=0; / uint time0value,speedvalueRPM

15、;uchar disData=11,11,11,11,11,0,0,0;void InitMotor()CoilA = 0;CoilB = 0;CoilC = 0;CoilD = 0;void SetMotor()switch(StepNumber)case 0:if(StepGapFlag)if(disData0=10)P0 = 0x03; /0000 0011 elseP0 = 0x0c;_nop_();StepNumber = 1;StepGapFlag=0;break;case 1:if(StepGapFlag)P0 = 0x09; /0b0000 1001; _nop_();Step

16、Number = 2;StepGapFlag=0;break;case 2:if(StepGapFlag)if(disData0=10)P0 = 0x0c; /0b0000 1100; elseP0 = 0x03;_nop_();StepNumber = 3;StepGapFlag=0;break;case 3:if(StepGapFlag)P0= 0x06; /0b0000 0110; _nop_();StepNumber = 0; StepGapFlag=0;break;void main() InitTimer0();/ 初始化定时器InitMotor(); / 电机停止Init_Ser

17、ialCom();while(1) if(speedvalueRPM != 0)SetMotor(); if(StrRecvOkFlag) StrRecvOkFlag = 0;if(UartRecvArray0-0x30)5)disData0 = 10;elsedisData0 = 15;disData1 = UartRecvArray1-0x30;disData2 = UartRecvArray2-0x30;disData3 = UartRecvArray3-0x30;speedvalueRPM = disData1*100+disData2*10+disData3;/speedvalueR

18、PM/60 得到 1s 转的圈数 /speedvalueRPM/60*STEPNUM 得到步进电机转 1 圈需加的脉冲数 /1000000/(speedvalueRPM/60*STEPNUM) 得到每个脉冲的时间间 隔time0value = 1000000/(speedvalueRPM*STEPNUM/60);/ 单位 us /=以下为测试用 , 串口输出定时器 0 的定时时间 us=UartSendArray0 = time0value/10000+0x30;UartSendArray1 = time0value/1000%10+0x30;UartSendArray2 = time0value/100%10+0x30;UartSendArray3 = time0value%100/10+0x30;UartSendArray4 = time0value%10+0x30;UartPrintArray0 = UartRecvArray0;UartPrintArray1

温馨提示

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

评论

0/150

提交评论