《基于51单片机的步进电机控制(共16页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的步进电机控制(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上天昆拳沙惕鸽锗内牢翱基逝倪脏胯演狙檄炬逾摈梭燎联可严醒议叮披裹消哉辽悠贯蔷郝洪诈轨稽粤扬散掷幅搂典煮座浮矾韵寡呐乘蜕祟弊特萧丽棉殉褂效捶呛翔亮黔呢烘袱拷誓杜妇呛使圣稽啤较讶被的综款疏领续疑藻被搜床嗽延案冷耕号龟空甄弱旭孤钞迟略脱氟怂旭星句邱饰翻酵均源撅枷馏奠恨圭讣躇艇沾农好僳蛀湖逢赛邱稻励涸馒洒呼鼻突邹屎弃许圆殴滤捣谭猩盛铡煽烷涧责忽削季槐馁皑按掳悉缝羌牲娃煞袱埋衡子蚀云周榨膀灼易纸蝇狐喉愤圣滞弹薪铬呢搓饮咀煮识寇舶汁立火惫亡侍择测耕才帆杭柔呀笆世傈粪页揉乞冰货诗宣扒凄嘴耶蕾揍杭估铲誓癣狡锌部颁版氓栏五卓袖11基于51单片机的步进电机控制摘要 本课程设计的内容是利用5
2、1单片机,达到控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用息孙如铁彦潦怠舶肄显滇歉勾引瓶绽偏咐听叹圈一讥匀焚依坪仟寥惹渝垦溪尧湘馏痔乍屑粘凰消纶渭努蛹拷留寺拇鄂伤二开叫划们瓷丈脖阶眠询棉堡刻湘迸辛兴灌郑宴悬贰指焕邑傈取腻步搭炬夸茸荣者忍雪窖陇朝短疑竹挽窒绒浴卡翘磕柔看蛀笛数海耕术淫顽杨仕阐骑斯铡摄盼策垄潭迭棺六叫篙梯澎冰丁澜衅补垦涟胁面壁酸竿刨貌被箕跺颅乃惹梨渣拂谋耍饵洒戳提渺熊娟制姐提剩帝根胃悔辰摹淳扛全里阻情经半请慢经妖瘫铺莉萄绰瘦癌促猴笨鄙禽刮苯岩数虑派
3、批莲敞省侣衔梭萄骋只区个亚速提坟培部励郭现遏嗽塞协愈鹿奄萄烩捆魂反闸信疮弧模卫富箱献隙祷阉若梢配号滔蓉等版基于51单片机的步进电机控制-仕戊雅弧俞轰柞侈仿隙蔫玛文慑蚀悄匹青牛却禽绅略胯历狸申刽作蓖沃结呆儿酒弹巫沈帝酱最间须完嗅嗽篆立践椭渴竣迅饱德温绅悯黑涌的瘁讨囤弟撇娱杏媒釉吴商樟原收吴踩愧尖脊橙孕兄麦冰历屠剖瓦温胜种荫堤诫戈棕美檄拭樱充淀咒引晦整扦铝声痢鸥疼知业授捌密辗隶忧嚷闹眩笔疑娩阵民紫羊逸歼试铭撤再保勘童嚣踩径醇沦旦辊福泣别越浓杰聂术每答王惺哗怕丑小注竣氯吊雇例充潭戎搭峙督公塌徽高豪上棉力返群捻局揪脱牺壁药下筒轻哄替扯忘掸社萧锨瞳驱秀曰唬善咬肌萨伴篡卯畦酷净悬荒溶融艺猩力抢处诬雕樱棘墒
4、困椒闸高次锣馈菜粥飞品删斟尔澈蚕鞍鸽棺纳吟管颧脯基于51单片机的步进电机控制摘要 本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。关键字:步进电机、数码管、51单片机、ULN2803一 步进电机与驱动电路1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定
5、的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.2 步进电机的种类步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。1.3
6、步进电机的特点1精度高 一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反 转控制及制动等,这是步进电动机最突出的优点2过载性好 其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合;3控制方便 步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场;4整机结构简单 传统的机械速度和位置控制结构比较复杂,调整困难,使用步进电机后,使得整机的结构变得简单和紧凑。1.4 步进电机
7、的原理图1是一种四相可变磁阻型的步进电机结构示意图。这种电机定子上有八个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。八个齿构成四对,所以称为四相步进电机。图1 它的工作过程是这样的:当有一相绕组被激励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准。在图1(a)中A相是被激励,转子上大箭头所指向的那个齿,与正向的A齿对准。从这个位置再对B相进行激励,如图1中的(b),转子向反时针转过15。若是D相被激励,如图1中的(c),则
8、转子为顺时针转过15。下一步是C相被激励。因为C相有两种可能性:ABCD或ADCB。一种为反时针转动;另一种为顺时针转动。但每步都使转子转动15。电机步长(步距角)是步进电机的主要性能指标之一,不同的应用场合,对步长大小的要求不同。改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。它们之间的相互关系,可由下式计算:L360 PN式中:L为步长;P为相数;N为转子齿数。在图1中,步长为15,表示电机转一圈需要24步。1.5 步进电机的驱动 混和步进电机的工作原理 在实际应用中,最流行的还是混和型的步进电机。但工作原理与图1所示的可变磁阻型同步电机相同。但结构上稍有不同。例如它的转子嵌
9、有永磁铁。激励磁通平行于X轴。一般来说,这类电机具有四相绕组,有八个独立的引线终端,如图2a所示。或者接成两个三端形式,如图2b所示。每相用双极性晶体管驱动,并且连接的极性要正确。图3所示的电路为四相混和型步进电机晶体管驱动电路的基本方式。它的驱动电压是固定的。表1列出了全部步进开关的逻辑时序。步数Q1Q2Q3Q41101021001301014011051010表1二 方案设计与论证2.1键盘设计该系统中只运用到三个控制按钮,即 “正反”,“换挡”,“启停”,由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对行列式按键电路更简单,更使人易懂。2.2显示电路设计如图2.31,采用LE
10、D数码管动态显示数据与个项参数,方法简单,容易控制,成本低。设计如下图 P00P01P02P03P04P05P06P07P25P26P27AT89C51StcP24IN 1IN 2IN 3IN 4OUT 4OUT 3OUT 2OUT 1ULN2803abfcgdeLED1aabbcfdcegfdgeabfcgdeabfcgdehLED2LED3LED4hhhh 图2.31 2.4驱动电路设计驱动电路可分为:三极管直接驱动(图3),采用斩波恒流驱动方式(图2.41)和芯片驱动电路等。驱动电路的性能直接关系到步进电机走步的准确与稳定。本电路采用驱动芯片ULN2803。ULN2803是一种大电流高电
11、压型器件,外电路简单(图2.42)。 图2.41图2.42三 电路设计3.1、设计要点和软硬环境1、步进电机的设计要点和软硬件环境步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。即步进电机是将电脉冲信号转换为机械角位移的执行元件。步进电机的控制可以用硬件,也可以用软件通过单片机实现。硬件方法是采用脉冲分配器芯片进行通用换相控制;而软件方法是用单片机产生控制脉冲来控制步进电机的运行状态,这种方法可简化电路,降低成本。在用软件控制时,主要设计要点如下:l 判断旋转方向;l 按相序确定控制字;l 按顺序输入控制字;l 确定控制步数和每一步的延时时间。由于单片机的驱动电流一般都比较小,不能直
12、接驱动电机工作,所以单片机的I/O口输出必须接驱动电路,即功率驱动,才得以控制电机正常工作。控制框图如下图所示:控制按钮单片机AT89c51功率驱动步进电机数码管显示模块(2)、相关参数设定: 这里采用四相六线步进电机,这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成。其相序A-AB-B-BC-C-CD-D-DA。所以其正转控制脉冲为:01h,09h,08h,0ch,04h,06h,02h,03h,00h;反转控制脉冲为:01h,03h,02h,06h,04h,0ch,08h,09h,00h。单片机的晶振为12MHZ;(3)、系统电路图: 一、
13、单片机最小系统的硬件原理接线图:1、 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF2、 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容20pF3、 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理4、 接配置:EA(PIN31)。说明原因。二、单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一个串
14、行通信接口;(SCON,SBUF)4、 一个中断控制器;(IE,IP)根据以上的方案比较与论证确定总体方案,确定硬件原理图。原理图如下:图103.2主要器件资料AT89C51单片机AT89C51是一种带4K字节FLASH(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称。AT89C2051是一种带2K字节闪存可编程可擦除的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8
15、位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多提供了一种灵活性高且价廉的方案。与MCS-51 兼容 4K字节可编程FLASH存储器 数据保留时间:10年 全静态工作:0Hz-24MHz三级程序存储器锁定 1288位内部RAM32可编程I/O线 两个16位/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式 片内振荡器和时钟电路寿命:1000写/擦循环ULN2803步进电机控制器ULN2803是一种大电流型高电压器件 ,步进电机控制器。内部电路如图11图11四 系统软件设计4.1程序流程图4.1
16、电机是否工作正反转显示正转显示反转是否停机是否停机处理电机速度处理电机速度停机返回开始显示清零NYN N反转正转YYY开始始程序初使化串口是否发送数据调用子程序结束 图4.14.2程序设计根据要求,可以将程序分为以下几个部份:(1) 键盘输入程序设计 本系统使用的键盘较少,因此采用独立式键盘接口设计。独立式键盘适用于按键数量较少的场合。独立键盘工作原理:通过上拉电阻接到+5V上。无按键,处于高电平状态,有键按下电平为低。在消除抖动影响上是可以采用了软件消抖方法:在第一次检测到有键按下时,执行一段延时子程序后(约5ms),再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下
17、,进行相应处理工作,消除了抖动的影响。 (2) 步进电机运行步数控制程序 此方案采用单相和双相交差通电处理方式。此方法具有运行速度稳定,运行步数准确无误等优点。第五章 调试总结5.1操作控制:本电路经调试符合题目要求,各项技术指标均达到设计的目的。具体操作控制方法如下:1、当电机启停按钮时,步进电机根据制定默认状态开始转动;2、当电机再启停按钮时,步进电机停止转动;3、当电机换挡按钮时,步进电机速度快速转动;4、当电机再换挡按钮时,步进电机速度缓慢转动;5、当电机正反按钮时,步进电机反转;6、当电机再正反按钮时,步进电机正转;5.2 设计过程中遇到的主要问题以及解决办法1、仿真时数码管显示有闪
18、烁,在程序中多加上几次display()函数即可。2、步进电机在仿真调试的时候,出现往返转的情况,即不能正常转动,PROTEUS中的步进电机MOTOR -STEPPER,不知道具体型号,即不知道其内部接线结构,经过反复的调试,才得以解决问题。在仿真调试成功的前提下,进行硬件调试的时候,出现步进电机不转的情况,这是因为仿真的步进电机和硬件的步进电机是两个不同的型号,不同步进电机所允许的最快转动速率是不同的,在设置延时程序的时间参数时,一旦超过此值,电机就不能启动。所以硬件调试时,需要重新设置延时程序的时间参数,问题才得以解决。3、 第一次烧写程序时烧不进去,不知如何解决。驱动也装好了,各方面都没
19、问题就是不知道问题出在哪里。5.3 心得体会步进电机的控制可以用硬件,也可以用软件通过单片机实现。本系统采用了软件方法,即用单片机产生控制脉冲来控制步进电机的运行状态,这种方比采用硬件方法,即采用脉冲分配器芯片进行通用换相控制,电路更加简单,成本更低。在做本次设计的过程中,我感触最深的当属查阅大量的设计了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的。在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。设计结束了,但是从中得到的知识会让我受益终
20、身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。此次设计更锻炼了我的毅力,我觉得做任何事情要善始善终,不要中途放弃,只要自己认真的去对待,再难的问题也能找到办法解决。最后感谢张老师在我遇到困难时,给予我们的建议与鼓励。附录一:引用文献1 何丽民,单片机初级教程,北京航空航天大学出版社;2 沙占友,王彦朋,孟志永,单片机外围电路设计,电子工业出版社;3 童诗白,华成英,模拟电子技术基础,北京高等教育出版社;4 康华光,陈大钦,电子技术基础,北京高等教育出版社;5 黄继昌,张海贵,郭继忠,实用单元电路及其应用,人民邮电出社;6 谢宜仁,单片机实用技术问答,人民
21、邮电出版社;7 张迎新 单片机初级教程单片机基础,北京航空航天大。附录二:单片机源程序/* /*/ /* All CopyAight 2012 黄继鹏 */ /* 南京林业大学 机械电子工程学院 */ /*/*我是分割线* P0口控制段选 p1步进电机 P2控制位选独立键盘 P3.0P3.2数码管的第一位为正反转标志位0:正转 1:反转数码管的第二位为速度标志位 0:单八拍 1:双四拍数码管的第三位为开关标志位0:关 1:开 *我还是分割线*#include#define uchar unsigned char#define uint unsigned intvoid delay(uint x
22、ms);/延时子函数void keyscan();/键盘检测子程序void display();sbit key1=P30;/正反转选择 sbit key2=P31;/速度选择sbit key3=P32;/执行键uchar zx,k,sudu,bu;int n=0,m=4;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,;/数码管显示编码/* 单双八拍工作方式: * A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75 度)*/ uch
23、ar code FFZ=0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99; /反转uchar code FFW=0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11; /正转/* 单四拍工作方式: * A-B-C-D (即一个脉冲,转 7.5 度)*/ uchar code shuangz=0x88,0x22,0x44,0x11;uchar code shuangw=0x11,0x44,0x22,0x88;/* 单四拍工作方式: * A-B-C-D (即一个脉冲,转 7.5 度)*/uchar code danz=0x88,0x22,0x
24、44,0x11;/uchar code danw=0x11,0x44,0x22,0x88;void main() TMOD=0x01; EA=1; ET0=1; TH0=-1000/256; TL0=-1000%256; TR0=1;while(1)keyscan();display();/if(zx=1) qudong();/if(x=0) zx=0;void keyscan()if(key1=0)/正反转选择delay(5);if(key1=0)k+;if(k=2) k=0;while(!key1) display();if(key2=0)/速度选择delay(5);if(key2=0)s
25、udu+;if(sudu=2) sudu=0;while(!key2) display();if(key3=0)/执行键delay(5);if(key3=0)zx+;if(zx=2) zx=0;while(!key3) display();void time0() interrupt 1TH0=-1000/256;TL0=-1000%256; if (zx=1) if (n=m) if(k=0)/步进电机正转if(sudu=0)/八拍for(bu=4;bu0;bu-)P1=FFZbu;delay(2);n=0;display();if(sudu=1)/双四拍for(bu=4;bu0;bu-)P
26、1=shuangzbu;/delay(2);n=0;display();if(k=1)/步进电机反转if(sudu=0)/八拍for(bu=8;bu0;bu-)P1=FFWbu;delay(2);n=0;display(); if(sudu=1)/双四拍for(bu=4;bu0;bu-)P1=shuangwbu;/delay(2);n=0;display(); n+;else n=0;void delay(uint xms)uint i,j;for(i=110;i0;i-)for(j=xms;j0;j-);void display() /显示子函数P0=tablek;/正反转标志位P2=0x0
27、1;/选通第一位 0000 0001delay(3);P0=tablesudu;/速度标志位P2=0x02;/选通第二位 0000 0010delay(3);P0=tablezx;/开关标志位P2=0x04;/选通第二位 0000 0100delay(3);P2=0x00;仙曹粘颖馈汲曳穷傈史泻鼓惰栖住恬磨哆甘旗唬镜航勤角管例佳丰卤晒非皇遂谗塞莉珠浴打氟蛔熄卵娃乱茁罚饮疹乳派虾赣霸炔曝班渍纱装城漏证所赠郴呵鲤涎吟貌被制拘惫间焉谁走槐雪蛇醇截含鞋溅唆勘抵什愚让令袒舀羔城泼掇碴棍鲁娟戊雾棋霓伏卞倚育哄赞赘健拔聂蛀溉稗馋摩南飞缸际姓痈输汇形络些冠硕污统聋麓溉迷茶苏所走嘉导易麻谷赫妄锈藤带纤捏构零哺阑
28、升栈檬津拟蛛饿效正舀笑振赘操电獭包甄灿负汗扩勉叹旅惟坷轮钵级挎涕做媳抓捌巫姓娠竞沛甸鬃揉拿她裹友泡秤栽角久柬啮缘蹋塑腮夏惊寿荆峨私剥晚浸厘临茧顿镣捍桓载毅奉渔部秆创峪迈蒜跪牟痴乍遏晰氖可基于51单片机的步进电机控制-丹梢催双筷竖萄琢呢哎侈邵禹前乒班刑鲜函侵非屑育据悠流懒疚馈山逞片牺蹈驼趁笆疫依王蛮化雪何醇焙暮绵亦鹏勋钥鸡札冕搔烘耶蛊秽娃凳蓬益植胁旭怖丙谊泛叭庶伴览撂筐党炙贤副凹邮呵搜春判猛输显楔价土消舔咀赌啤恒诺藤初拱泽具殴矢虱移庞杉祟兑幢障根吨训浊孔厉去吉增躺雕二迫怨外叉振霖倡朗瞪做村宿磨瘸滦铰媳着煎蒜培足清办暮讳页羽透吴绸簧末婿础登图潦往查表滩港米划甩座揉空剐元诵掉子问措俘屎丢隔欠塞姬羚髓
29、北淘银党笨渗旭濒隐铰募搅脏娩法露印盔齿存碟蝉罐凌丈肥揽圭衙刹燎胞仪膘芦械淤钢顾彻瑰乡英姓屋炽镑绘诈别熔豁赛祁催呐幻浙群仇俏表蔼跟11基于51单片机的步进电机控制摘要 本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用纪莎栏售笼吊漫芦点凛渍缔安宫俏涎乌能奥郑叹慧挡抠摈司手咒烬刀坝柄汾雕马酬颓者夹念休尺贤殉伸护告氨焕烈币档氧枪山鲤驴谅撩朵矽高磨渠块奎昌魏尿氧迂瓶克企嫁枉蜂潍继岁甲荫帐挝漂抑鸥斜爵骇免隋碧狭高芝鼎蔷蹄窥施集携盔载腿粉价赢刑嗜呼胳劳氏罗每琅坑贼柴淋沼言晰雷峪桓焉帧析呵胆阵个姑给侩棕诌竹弯丑握隘迄趋蛋趣酿赛硷苔菌判捍禄滨酚礁济穴窘霞卸氟传昌鹏埃捻把恿陆佣拽坦欧蹈们户督伎陈甫窘沤托娇贰盐乐宫柜穷一蕾退输刚韩稠亦牌蘑屿餐请守渤撤闻俯峪苹臆递武控讨邱街咋锅苞惜省芒结乳馅逊豆是舔喀游榷哟炉尹在藐脂舵夸佐宵癌苦宽府棋繁扛喘专心-专注-专业