《单片机控制的步进电机...doc》由会员分享,可在线阅读,更多相关《单片机控制的步进电机...doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机控制的步进电机.精品文档.河南职业技术学院毕业设计(论文)题 目 单片机控制的步进电机 系(分院) 河南职业技术学院 学生姓名 范永贺 学 号 06311091 专业名称 数控专业 指导教师 张超 2010年 12月 27日河南职业技术学院 机械电子工程 系(分院)毕业设计(论文)任务书姓 名范永贺专 业数控班 级084毕业设计(论文)题 目单片机控制的步进电机毕业设计(论文)选题的目的与意义在科技越来越发达的时代,人们对步进电机控制技术的要求也越来越高。运用单片机对其高精度和智能化控制一直备受关注,对其高新技术的开发持续不断,单片机系
2、统控制的研究具有很大的开发潜能!毕业设计(论文)的资料收集情况(含指定参考资料)毕业设计(论文)工作进度计划接受任务日期 2010 年 11 月 20 日要求完成日期 2010 年 12 月 31 日 学 生签名: 范永贺 2010 年12月 27 日 指导教师签名:年 月 日 系(分院)主任(院长)签名:年 月 日毕业设计(论文)指导教师评阅意见表姓 名范永贺学 号06311091性 别男专 业数控班 级084毕业设计(论文)题 目单片机控制的步进电机评阅意见 成绩指导教师签字年 月 日毕业设计(论文)答辩意见表姓 名范永贺学 号06311091性 别男专 业数控班 级084毕业设计(论文)
3、题 目单片机控制的步进电机答辩时间地 点答辩小组成员姓 名职 称学 历从事专业组 长成 员秘 书答辩小组意见 答 辩 成 绩:答辩小组组长签名:年 月 日单片机控制步进电机的系统范永贺摘要:步进电机又称脉冲电阶跃电动机,步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。本文介绍了步进电机和直流电机原理及其驱动程序控制控制模块,通过AT89S52单片机及脉冲分配器(又称逻辑转换器) L298完成步进电机和直流电机各种运行方式的控制。实现步进电机的正反转速度控
4、制并且显示数据。整个系统采用模块化设计,结构简单、可靠,通过按键控制,操作方便,节省成本。关键词:数字化;步进电机;AT89S52; 一、 引言 随着数字化技术发展,数字控制技术得到了广泛而深入的应用。步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具有快速起动和停止的特点。因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。直流电机广泛应用于计算机外围设备( 如硬盘、软盘和光盘存储
5、器) 、家电产品、医疗器械和电动车上, 无刷直流电机的转子都普遍使用永磁材料组成的磁钢, 并且在航空、航天、汽车、精密电子等行业也被广泛应用。在电工设备中的应用,除了直流电磁铁(直流继电器、直流接触器等)外,最重要的就是应用在直流旋转电机中。在发电厂里,同步发电机的励磁机、蓄电池的充电机等,都是直流发电机;锅炉给粉机的原动机是直流电动机。此外,在许多工业部门,例如大型轧钢设备、大型精密机床、矿井卷扬机、市内电车、电缆设备要求严格线速度一致的地方等,通常都采用直流电动机作为原动机来拖动工作机械的。直流发电机通常是作为直流电源,向负载输出电能;直流电动机则是作为原动机带动各种生产机械工作,向负载输
6、出机械能。在控制系统中,直流电机还有其它的用途,例如测速电机、伺服电机等。他们都是利用电和磁的相互作用来实现向机械能能的转换。二、 电机的工作原理1. 步进电机原理步进电机本质上是一个数字角度转换器。以三相电机为例, 其结构原理见图1。各相夹角为120的定子磁极上均匀分布了5个矩形小齿, 没有绕组的转子圆周上也均匀的分布着40个小齿(相邻齿夹角为9)。利用电磁学的性质, 在某相绕组通电时, 相应的磁极产生磁场, 与转子形成磁路如此时定子的小齿与转子的小齿没有对齐, 则在磁场作用下, 转子就转动一定角度, 达到齿的对齐。在单三拍控制方式下, 若A相通电, B、C相不通电, 在磁场作用下使转子齿和
7、A相定子齿相对假设此时为初态并且令与A相中心对齐的转子齿为0号齿, 因为B相与A相相差120,可知120/9=13 3/9, 不为整数, 即此时转子齿与B相不对齐, 只是13号齿靠近相的中心, 且相差3。如果此时突然变为B相通电, 而A、C相都不通电, 那么, 13号齿会在磁场的作用下转到与相中心对齐的位置, 这就是常说的走一步, 此时,转子转了。这样, 按照A一B一C一A顺序通电次, 可以使转子转动9。那么步进电机的步距角Q=(360/NZ)(式中N=MC为运行拍数;M为控制绕组相数;C为状态系数, 单三拍或双三拍时C=1, 单六拍或双六拍时C=2为转子齿数)。2. 直流电机的原理由直流电动
8、机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电机的结构:电机要实现机电能量变换,电路和磁路之间必须有相对运动。所以旋转电机具备静止的和旋转的两大部分。静止和旋转部分之间有一定大小的间隙,称为气隙。静止的部分称为定子,作用是产生磁场和作为电机的机械支撑。包括主磁极、换向极、机座、端盖、轴
9、承、电刷装置等。旋转部分称为转子或电枢,作用是感应电势实现能量转换。包括电枢铁心,电枢绕组,换向器、轴和风扇等。定子部分:1、主磁极:也称为主极。作用是产生气隙磁场。2、换向极:也称为附加极或间极。作用是改善换向。装在主极之间。3、机座:由铸钢或厚钢板焊成。是电机的机械支撑。4、电刷装置:将直流电压、电流引入或引出的装置。其组数与主极极数相等。转动部分:(转子部分)1、电枢铁心:主磁路的主要部分及嵌放电枢绕组,由硅钢片迭压而成。2、电枢绕组:由许多按一定规律联接的线圈组成。用来感应电势和通过电流,是电路的主要部分。3、换向器:由许多彼此绝缘的换向片构成。三、硬件系统1. 原理流程2. ULN2
10、003ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或
11、接电源。ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。 比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。 ULN2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。 输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑
12、缓冲器。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A引脚图及功能:ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。 经常在以下电路中使用,作为显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500m
13、A,并且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。ULN2003 的封装采用DIP16 或SOP16 。ULN2003可以驱动7个继电器,具有高电压输出特性,并带有共阴极的续流二极管使器件可用于开关型感性负载。每对达林顿管的额定集电极电流是500mA,达林顿对管还可并联使用以达到更高的输出电流能力。 显示电路主要包括大型LED数码管BSI20-1(共阳极,数字净高12 cm)和高电压大电流驱动器ULN2003,大型LED数码管的每段是由多个LED发光二极管串并联而成的,因此导通电流大、导通压降高。ULN2003是高压大电流达林顿晶体管阵列电路,他具有7个独立的反相驱动器
14、,每个驱动器的输出灌电流可达500 mA,导通时输出电压约1 V,截止时输出电压可达50 V。ULN2003的17脚为信号输入脚,依次对应的输出端为1610脚,8脚为接地端。当驱动电源电压为+12 V时,若要求数码管每段导通电流为40 mA,则每段的限流电阻为50。则一块ULN2003恰好驱动一个LED数码管的7段。大数码管采用共阳极接法,低电平有效。锁存器输出的电平经NPN三极管9014反相后,再由ULN2003放大后推动大数码管显示.3. L298 L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,
15、或一个两相步进电机。L298是一款单片集成的高电压、高电流、双路全桥式电机驱动,设计用于连接标准TTL逻辑电平,驱动电感负载(诸如继电器、线圈、DC和步进电机)。L298提供两个使能输入端,可以在不依赖于输入信号的情况下,使能或禁用L298器件。L298低位晶体管的发射器连接到一起,而其对应的外部端口则可用来连接一个外部感应电阻。L298还提供一个额外的电压输入,所以其逻辑电路可以工作在更低的电压下。L298 特性 :L298工作电压高达46V ;总DC电流达4A ;低饱和电压 ;L298具有过温保护功能 ;逻辑“0”输入电压高达1.5V(高抗噪性) ;4. 74HC573SL74HC573
16、跟LS/AL573 的管脚一样。器件的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。输出能直接接到CMOS,NMOS 和TTL 接口上;操作电压范围:2.0V6.0V;低输入电流:1.0Ua;CMOS 器件的高噪声抵抗特性。四、 软件系统1、 主程序该系统采用多个模块的方式来实现对步进电机的控制。控制模块采用单片机AT89S52 来控制L298,L298驱动电机转动。进入判断程序输出相应的控制信号取消启动(开始)初始化程序I/O口
17、2、直流电机驱动程序#include sbit KEY0=P30; /控制按键,为高电平时,直流电机工作。为0时启动步进电机;sbit KEY1 = P32; /控制直流电机调速按键sbit KEY2 = P33; /控制步进电机正反转、停机按键sbit PWM = P15; /定义直流电机PWM输出调速端口unsigned char CYCLE; /定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1msunsigned char PWM_Num=0;/直流电机速度档位;unsigned char PWM_ON ;/定义高电平时间unsigned char Flag;/定义步
18、进电机正反转和停止标志位unsigned char code F_Rotation4=0x1f,0x2f,0x4f,0x8f; /步进电机正转表格unsigned char code B_Rotation4=0x8f,0x4f,0x2f,0x1f; /步进电机反转表格/* 延时函数 */void Delay(unsigned int i)/延时 while(-i);/* 主函数 */main() unsigned char i; EX0=1; /外部中断0开,控制直流电机 EX1=1; /外部中断1开,控制步进电机 IT0=1; /边沿触发 IT1=1; /边沿触发 EA=1; /全局中断开
19、P0=0x06;/开机显示直流电机1档位TMOD|=0x01;/定时器设置 1ms in 12M crystalTH0=(65536-1000)/256; TL0=(65536-1000)%256;/定时1mS ET0=1; /打开中断TR0=1; CYCLE = 10;/ 时间可以调整 这个是10步调整 周期10ms,PWM的周期不变,8位PWM就是256步while(KEY0=1) /P3.0为高电平,则直流电机运转;switch(PWM_Num) case 0:P0=0x06;PWM_ON=0;break;/高电平时长,P0口段码为1; case 1:P0=0x5B;PWM_ON=4;b
20、reak;/P0口段码为2; case 2:P0=0x4F;PWM_ON=6;break;/P0口段码为3 case 3:P0=0x66;PWM_ON=8;break; /P0口段码为4 case 4:P0=0x6D;PWM_ON=10;break; /P0口段码为停机S default:break; while(KEY0=0) /KEY0按下,则步进电机工作。while(Flag=0) P0=0x71;/显示 F 标示正转 for(i=0;i4;i+) /4相 P2=F_Rotationi; /输出对应的相 可以自行换成反转表格 Delay(500); /改变这个参数可以调整电机转速 ,数字
21、越小,转速越大while(Flag=1) P0=0x7C;/显示 b 标示反转 for(i=0;i4;i+) /4相 P2=B_Rotationi; /输出对应的相 Delay(500); /改变这个参数可以调整电机转速 ,数字越小,转速越大while(Flag=2) /停止 P0=0x6D;/ 显示 S P2=0x0F;/* 定时器中断函数,产生PWM波。 */void tim(void) interrupt 1 using 1static unsigned char count; /TH0=(65536-1000)/256; TL0=(65536-1000)%256;/定时1mS if (
22、count=PWM_ON) PWM = 1; count+;if(count = CYCLE) count=0; if(PWM_ON!=0) PWM = 0; /* 中断0入口函数 ,控制直流电机转速 */void ISR_Key1(void) interrupt 0 using 1/定义档位 Delay(500); if(!KEY1) PWM_Num+; /s3按下触发一次 if(PWM_Num=5) PWM_Num=0; /* 中断入口函数,控制步进正反转、停机 */void ISR_Key2(void) interrupt 2 using 1 Delay(500); if(!KEY2)
23、Flag+; /s3按下触发一次 if(Flag=3) Flag=0;3、步进电机驱动程序#include unsigned char Flag;/定义正反转和停止标志位sbit KEY = P33;unsigned char code F_Rotation4=0xf1,0xf2,0xf4,0xf8; /正转表格unsigned char code B_Rotation4=0xf8,0xf4,0xf2,0xf1; /反转表格/* 延时函数 */void Delay(unsigned int i)/延时 while(-i);/* 主函数 */main() unsigned char i; EX1
24、=1; /外部中断0开 IT1=1; /边沿触发 EA=1; /全局中断开 while(Flag=0) P0=0x71;/显示 F 标示正转 for(i=0;i4;i+) /4相 P1=F_Rotationi; /输出对应的相 可以自行换成反转表格 Delay(500); /改变这个参数可以调整电机转速 ,数字越小,转速越大while(Flag=1) P0=0x7C;/显示 b 标示反转 for(i=0;i4;i+) /4相 P1=B_Rotationi; /输出对应的相 Delay(500); /改变这个参数可以调整电机转速 ,数字越小,转速越大while(Flag=2) /停止 P0=0x
25、6D;/ 显示 S P1=0;/* 中断入口函数 */void ISR_Key(void) interrupt 2 using 1 Delay(500); if(!KEY) Flag+; /s3按下触发一次 if(Flag=3) Flag=0;五、结束语该系统设计通过单片机AT89S52 来控制步进电机的运转状况, 实现了占用CPU时间少, 效率高; 易控制步进电机的转速; 易控制电机的转向; 提高了步进电机的步进精度等。再有, 该设计过程考虑比较周全, 系统中除采用光电隔离电路有效地抑制电磁干扰, 以提高系统的可靠性外,还考虑到以下方面: 第一、在驱动回路中, 适当减缓MOSFET开关的开通
26、速度,同时可以采用RCD 吸收回路, 抑制浪涌的产生, 减少电磁干扰的强度。其次,合理的接地设计。各单元回路的接地必须按照一定顺序连接。同时步进电机各相通电显示只需在单片机的P2 口低三位外接3个发光二极管,在其高三位外接导线将环分后的信号引入单片机。由软件根据高三位状态点亮与熄灭发光二极管。 致谢感谢我的室友们,有你们在行动和思想上的支持和鼓励,才使得我这次毕业设计能顺利完成。感谢此次指导我完成这篇论文的老师,正因为有你的指导和修改才有我这篇论文的完成。感谢我的母校河南职业技术学院,尤其是机电系机电一体化专业所有的老师们,在这片净土读书,无形中塑造了我生命的气质、生活的方式,也练就了我乐观的
27、心态和一颗感恩的心,没有你们悉心的指导和讲解,我不可能完成此次设计。在他们身上我学到了许多东西,尤其是做不出来死不休的那种干劲,一种年轻人的执着与坚定信念。让我懂得了许多曾经不知道的知识。在今后的人生道路上要不畏艰难,坚定执着的去追寻我的梦想。在此诚心的谢谢大家!谢谢!参考文献1 朱民雄. 计算机语言技术. 北京航空航天大学出版社,2008.52 李鸿. 单片机原理及应用. 湖南大学出版社,2007.8 3 戴佳. 单片机C51语言应用程序设计. 电子工业出版社,2008.64 刘建清. 单片机技术. 国防工业出版社,2008.10 5 杨宁.胡学军单片机与控制技术北京航空航天大学出版社,2009.66 马忠梅单片机C语言应用程序设计北京航空航天大学出版社,2009.37 郭天祥.新概念51单片机C语言教程入门、提高、开发、拓展全攻略M.电子工业出版社,20091 8 周向红. 51系列单片机应用与实践教程M.北京航空航天大学出版社, 20085 9 周国运.单片机原理及应用(C语言版)M.中国水利水电出版社,20092 10 王东锋.单片机C语言应用100例M.电子工业出版社,2009311 周华.数字电子技术.成都西南交通大学出版社,2010.1