单片机课程设计论文-基于PWM细分的步进电机调速报告.doc_第1页
单片机课程设计论文-基于PWM细分的步进电机调速报告.doc_第2页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

河南工程学院单片机课程设计论文 论文题目:基于 细分的步进电机调速系 部: 电气信息工程系 专 业: 电气工程及其自动化 班 级: 0942班 学生姓名: 指导教师: 2011年11月7日11月18日目录摘要.2一、 基本方案及原理3二、 系统框图3三、 流程图5四、 仿真图6五、 硬件电路6六、 程序8七、 实物照片.11八、 元件清单.13九、 心得体会.14十、 参考文献16摘要:本文以四相五线步进电机为例,介绍了一种利用单片机产生pwm波来实现步进电机细分驱动的方法。该方法充分利用单片机的硬件资源,通过软件控制,产生占空比不同的方波,在电机线圈内产生近似正弦波的阶梯型电流。与常用的恒频脉宽调制方式相比,该方法不需要eia转换器和锯齿波发生器,不仅有利于简化电路和节约成本,而且能提高细分精度和电机运行平稳性,适用于需要精密控制的仪器仪表。关键词:pwm;细分驱动;步进电机;单片机一、 基本方案及原理1、基本方案:利用at89s52单片机来控制步进电机的速度和方向,完成基本要求和发挥部分的要求。在设计中,采用了pwm技术对电机进行控制,通过对占空比的计算达到精确调速的目的。步进电机是精密仪器仪表中常用的自动化执行部件,具有快速起停、精确步进、易于控制等优点。但是受制造工艺的影响,步进电机一般步距角较大,且有低频振动、噪声等缺点,不能应用于精度、平稳性要求较高的场合。步进电机细分驱动技术是20世纪70年代中期发展起来的可以显著改善步进电机性能并提高步进精度的驱动控制技术。pwm(脉宽调制)细分技术是目前较为常用的方式,其实质是通过在电机线圈中产生阶梯型电流从而改善电机性能并达到细分的目的。随着仪器仪表技术的发展,各种带pwm模块的单片机越来越多地应用于仪器仪表中,用它可以直接实现仪表中步进电机的细分驱动。本文介绍了一种利用单片机软件产生pwm波实现仪表步进电机驱动的方法,这种方式具有以下优点:(1)与传统的硬件pwm方式相比,驱动电路明显简化,不需要d/a转换器和锯齿波发生器;(2)与纯软件模拟pwm方式相比,程序简单且占用cpu时间少。2、步进电机pwm驱动原理:步进电机是通过对定子上的各个线圈交替通电产生进式旋转磁场,从而带动转子作步进式旋转。用mcu驱动步进电机最简单的方式是整步驱动,即利用单片机io口产生各相脉冲通过功率器件来控制电机运转。这种方法虽然简单却存在精度不高、相电流突致运行不够平稳、有噪声等缺点。细分驱动技术的实质用近似正弦波的阶梯型电流代矩形波电流,产生一个微步旋转磁场,从而带动电机以小的步距角转动。同时由于正弦波电流变化平滑,使电机运行更平稳、更小。pwm技术是采用脉宽调制方式,即占空比不同的方电压产生不同的平均电流,由于电机线圈电感对电流变的阻碍作用,线圈中的电流波形围绕平均值下波动,当pwm波的频率足够高时,线圈中的电流以看成大小为l的恒定电流。通过调节占空比可以产生不同的平均电流。二、系统框图按系统功能实现要求,决定控制系统采用at89s52单片机,驱动芯片采用l298。整个设计以at89s52单片机为核心,由数码管显示,时钟电路,复位电路。按键控制电路组成。系统方框图如图1。 单片机at89s52p0p22 p20l298步进电机驱动电路正反控制p27pwm控制点击速度按键控制p1p30数码管显示段选位选图1硬件模块图功能简介:1、 利用单片机程序控制pwm波的占空比来控制电机转速,操作简单方便。2、 采用三个按键操作,通过正反按钮控制步进电机的正反转,用加减速按键控制pwm波的占空比从而来控制步进电机的加速与减速。电机最多可以加速9个级别。3、 电机转动时可以通过数码管来显示电机的转速。三、流程图恢复现场,中断返回nypwm=1判断计数是否到nn判断n?=10pwm=0y按键扫描确定flag和n的取值保护现场t1中断中断程序流程图开始初始化flag=?正转反转10主程序流程图四、仿真图图2 仿真图五、硬件电路图3 原理图图四 电路pcb1、芯片l298的外形及其工作原理图5 l298引脚图l298n芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50v,可以直接通过电源来调节输出电压;可以直接用单片机的io口提供信号;而且电路简单,使用比较方便。l298n可接受标准ttl逻辑电平信号vss,vss可接457 v电压。4脚vs接电源电压,vs电压范围vih为2546 v。输出电流可达25 a,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号,在通常使用中这两个引脚也可以直接接地。l298可以驱动两个二相电机,也可以驱动一个四相电机,2,3,13,14与电机相连接。本实验我们选用驱动一台四相步进电机。5,7,10,12脚接输入控制电平,控制电机的正反转。ea,eb接控制使能端,控制电机的停转。2、显示控制模块显示模块由7段数码管构成,采用动态扫描显示方式。at89s52的p1口直接与数码管的ag和dp端相连。at89s52的p30控制数码管的开关。工作时电流一般选择在10ma/段左右,这样证即亮度适中,又不会损坏器件,故使用时必须在数码管的每段中串接一个适当阻值的限流电阻。3、按键模块通过正反转按键来调节送入接拍的正反,从而来控制步进电机的正反转。通过加按键使单片机产生的pwm波的占空比增大,增大l298的导通时间,从而使步进电机速度增加。通过减按键使单片机产生的pwm波的占空比减小,减小l298的导通时间,从而使步进电机速度减小。六、程序#include#define uchar unsigned char#define uint unsigned intuchar code step1=0x03,0x06,0x0c,0x09;uchar code step2=0x09,0x0c,0x06,0x03;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;sbit pwm=p27;sbit k1=p20;sbit k2=p21;sbit k3=p22;sbit we=p30;uchar count,n;bit flag;void delay(uint z)uint i,j;for(i=110;i0;i-)for(j=z;j0;j-);void delayus(uint z)while(z-);void init()flag=1;n=1;tmod=0x10; /定时器1方式1th1=(65536-5000)/256;tl1=(65536-5000)%256;ea=1;et1=1;tr1=1;void display(uchar z)/we=1;p1=tablez;we=0;void key()if(k1=0)delay(5);if(k1=0)flag=!flag;while(!k1);if(k2=0)delay(5);if(k2=0)n+=1;if(n=10)n=1;while(!k2);if(k3=0)delay(5);if(k3=0)n-=1;if(n=0)n=9;while(!k3);void main()init();while(1)display(n);if(flag)uchar i;for(i=0;i4;i+)p0=step1i;delayus(500);elseuchar i;for(i=0;i4;i+)p0=step2i;delayus(500);void time1() interrupt 3th1=(65536-5000)/256;tl1=(65536-5000)%256;count+;key();if(count=n)pwm=0;if(count=10)pwm=1;count=0;七、实物图片八、元件清单序号元件名称型号与规格单位数量1电阻r1、r3 1k只2r2 10k 只1r4r11 300只8排阻: 10k个12排针排13电解电容c3、c4 10f/16v只24瓷片电容c1 c2 30pf只2c5 0.01uf 只15晶振y1 12mhz只16三级管p1 9012只47l298块18单片机 at89s52块19步进电机个110按钮s1s3 6*6轻触只311数码管1位共阳只1九、心得体会个人感受 这次课程设计我们做了两个星期,在这两个星期里我们收获了很多。做课程设计需要团队合作。有些东西需要大家一起动手动脑才可以做出来。这次设计对我来说具有很重要的意义,它不仅要求我们将理论与实践结合,更重要的是提高我们的实践能力以及创新能力。 设计需要有一个清晰的思路和一个完整的器件流程图,设计不会一次就做好,中间要不断修改完善,中间有很多很细节问题都要一一找出来,电路上出现一点问题最后造成的危险是很大的。有些东西不是天马行空就会出来的,我们查阅了很多资料,了解了步进电机的工作原理及其驱动方式,并通过研究探讨决定采用npn以及pnp三极管,应用简单方便并且经济实惠。在电路完成以后,我们面对程序又进行一番探讨与调试,通过查阅老师给我们的一些资料,以及去图书馆的查阅,了解了每句语言的作用,以及用法。我们对程序进行调试以及修改,最终调试出来。促使我们应用以前学习的东西并学以致用。做程序有时用到很多以前学的软件,以前学的时候没有实践,现在给了我一个应用的平台,通过这次实战我对这些软件的应用提升了一个台阶。能够很顺利的应用软件画图仿真。一个设计最重要的成品就是你的实物,在做实物的时候我们遇到很多的问题。刚开始确定元件的时候因为型号的问题不太了解,所以有些元件的型号我们并不清楚,不知道怎么去用,通过查阅电工手册以及通过互联网查阅的一些资料,了解到每个元件的型号,知道每个引脚的作用,然后才开始焊接。这些我对实物的了解多了一些,它让我不断的提升。 在设计中我们发现自己很多不足之处,不断的发现新问题,每解决一个问题都感觉自己的一次提升。以前学的一些问题掌握的不够牢固,通过这次设计我们应用到很多东西,经过实践的检测,我对这些东西的应用比以前纯熟了一些,有些不知道的东西通过查资料,在小组中讨论,交流经验并自学,实在找不出来再问老师,使自己学到不少知识,也经历不少艰辛但收获颇丰。我认为这个收获是相当大的,觉得课程设计反映的是一个从理论到实际应用的过程。但是更远一点可以联系到以后毕业之后从学校转踏上社会的一个过程。小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。姓名:葛敬涛 学号:200910710208个人感受这次设计我们选了一个我感觉比较难的题目,老师虽然给我们了一些资料,但很多东西还是需要我们自己去做的,对于这个题目中的pwm不是很理解,还有步进电机的工作原理、驱动方式以及在日常生活中的应用,这些我都不了解,就先上网查找了这方面的知识,并结合老师给的一些资料展开了这一次的设计,首先画原理图,需要运用altium designer 6软件,这是我第一次接触这个软件,刚开始的时候什么都不会,然后就开始不断的查资料,请教同学老师,用了一整天时间才画好,不过还有很多不足,经过同组同学的改正算是画好了。接下来做仿真图和程序,需要用proteus软件,刚开始很吃力,很多程序上的知识学习的都不够扎实,通过问同学查资料,最后用了很长时间才搞好,最后终于仿真出来了。通过本次设计实验,我对步进电机有了比较深入的了解,并且也对这几个软件有了进一步的熟悉,而且在软件上作图的水平有了进一步的提高。在本次设计中,在电路板的焊制过程中也遇到了很多问题,有很多知识都不会,例如l298的几个脚怎么么连接,以及它的作用,以及数码管的管脚怎么与单片机连接等等,然后查找了资料才明白l298可以驱动电机,在课本上找到了数码管各个管脚与单片机对应的位置。我们先把元器件焊在焊板上,知道接线的时候才发现焊接元器件的时候也是有窍门的,不是随便放个地方焊上就可以了,这个也需要排版,看着原理图排版这样可以节省很多事,像我们排的排阻离单片机太近但又没有连在对应的节点上,这样就麻烦了,太近线就短焊起来很费力,一不小心就把两个相邻节点焊在一起了。刚开始不是很顺利,慢慢也找到了窍门,焊起来顺手了一些,熟能生巧。在连线方面不能粗心大意,一点接错就影响整个板子的正常工作,焊接和接线的过程不仅仅是理论与实际相结合,最重要的是告诉我们做什么事情都要细心用心,有毅力。通过这个过程,我才发现平时自己所学习的知识很贫乏,做什么事情还不够细心。我的单片机知识也还很不牢固,需要更深入的学习。本次课程设计我们组只有三个人,感觉到没那么轻松,一直处于非常紧张的状态,我们的经常去请教老师同学,从中也学到不少,当我们仿真成功的时候,很有成就感,对这个设计也慢慢有了兴趣,这次课程设计让我们更深刻的了解了理论与实际结合的重要性,并从中学到了一些良好的做事的品质,这些为我们以后走上工作岗位打下了基础,很感谢翁老师以及同组同学对我的指导和教诲,也很珍惜学校给我们提供的这次机会。姓名:潘朏朏 学号:200910710207个人感受为期两周的课程设计还是有一定作用的,理论是要懂得,但你不管看多少若不用于实际对于我们直接工作的还是不应该的,通过实训熟悉理论知识,然后解决问题,最后再回到理论上来,是我们应该走的道路,而且实训就是提供这样的道

温馨提示

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

最新文档

评论

0/150

提交评论