步进电动机微机原理.doc_第1页
步进电动机微机原理.doc_第2页
步进电动机微机原理.doc_第3页
步进电动机微机原理.doc_第4页
步进电动机微机原理.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

湖南工程学院课 程 设 计课程名称 微机原理与应用 课题名称 步进电机控制系统设计 专 业 电子科学与技术 班 级 0801班 学 号 姓 名 指导教师 李晓秀老师 2011年07月06日湖南工程学院课 程 设 计 任 务 书课程名称 微机原理与应用 课 题 步进电机控制系统设计 专业班级 电子科学与技术 学生姓名 学 号 指导老师 李晓秀老师 审 批 任务书下达日期 2011年 06月27日任务完成日期 2011年 07月06日设计内容与设计要求设计内容:以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的转向和转速,并在4位LED显示器上显示步进电机转速或工作状态。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成应用程序设计;4)硬件电路及应用程序的调试。主 要 设 计 条 件本课题以单片机为核心,设计并制作出步进电机控制系统,设计要求:1. 按下不同的键,分别使步进电机实现顺时针和逆时针旋转;2. 步进电机可实现正、反转,加速、减速等工作状态;3. 通过LED数码管显示步进电机运行速度或工作状态;说 明 书 格 式1. 课程设计任务书2. 目录3. 总体方案确定4. 各单元硬件电路设计说明及计算方法5. 软件设计与说明(包括流程图)6. 调试结果与必要的调试说明7. 使用说明8、总结9、参考文献附录附录A 系统原理图附录B 程序清单目 录1 设计总体思路.5 方案思路与总框图.52 步进电机的原理介绍.62.1 步进电机的工作原理.62.2 步进电机转向与转速制.63 硬件设计.73.1 步进电机选取.73.2 单片机的选取.83.4 硬件的连接.94 程序设计.104.1 主程序.104.2 显示子程序.114.3 键盘扫描子程序.12 5 调试与故障分析.135.1 软件部分.135.2 硬件部分.135.3 故障分析及解决.146总结.157 参考文献.16附 件.17 1系统原理图.172源程序.181 设计总体思路方案思路与总框图 步进电机的控制是通过脉冲信号来控制的,脉冲由键盘给予,连接图如图1-1所示,把编好的C语言程序下载到单片机中,单片机就具备了实现程序指示的功能,通过键盘控制正转、反转、加速、减速、复位等功能,数码管显示转速,LED灯显示正反转。AT89C51单片机数码管显示键盘控制软件部分LED显示步进电动机驱动 图1-1 总框图2 步进电机的原理介绍2.1 步进电机的工作原理 通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。2.2 电机转向与转速控制 当电机绕组通电时序为AB-BA-AB-BA-AB时为正转,通电时序为AB-BA-AB-BA-AB时为反转。步进电机的驱动电路,微电脑向步进电机输入端传送1或0信息,则可实现上述操作。通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而改变步进电机的转速。驱动方式为二相四拍方式各线圈通通电顺序如表2-1所示: 相拍点ABAB01100101102001131001 表2-1 二相四拍点击线圈通电顺序表3 硬件设计3.1步进电机的选取步进电动机采用常见小型电动机,选用后建立起模块如图3-1所示。图 3-1 单片机和驱动连接图3.2 单片机的选取 根据设计方案的分析,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。本次课程设计采用89C51单片机。3.3 四位LED数码管的选取数码管选用7段共阳4位LED,通过行和列驱动的控制达到显示的目的。驱动可以达到稳定显示的目的。其连接如图3-2所示。 图3-2 数码管与单片机管脚连接图3.4 硬件的连接步进电机的四线接法如图3-4P1.0A、P1.1B 、P1.2A、P1.3B图3-4 步进电机连接图4 程序设计4.1 主程序 进入主程序显示初始化状态,主程序由键盘程序、显示程序、复位程序与转速控制程序四部分组成,主程序首先初始化各变量,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,有键按下,则调用键盘程序,并显示出状态。如图4-1所示开始显示初始化状态按键检测Flag=0Flag=1Flag=2以初始速度正向旋转“010”以初始速度反向旋转“110”加速减速减速加速速度最大?速度最大?保持速度显示上限速度加/减显示改变保持速度显示上限速度加/减显示改变结束NYNYNYNY 图4-1主程序流程图 4.2 显示子程序 转速的显示是电机转速快慢最直接的途径。显示管用来显示正转、反转、速度等功能,而这个显示是调用显示子程序。具体流程,如图4-2所示:显示F0?第一个数码管显示“0”(正传)YF2?N第一个数码管显示“1”(反转)N复位显示“00”Y第二位显示“”第三位显示转速/10,第四位显示转速%10NEXT 图4-2 显示流程图4.3 键盘扫描子程序 键盘是我们唯一和电机沟通的桥梁,通过键盘的输入从而改变电机的运行状态,键盘的焊接是行线接单片机P3口的P3.0P3.4,通过调用KEY扫描键盘,调用延时程序,再判断是否有键按下,如果无键按下就返回继续扫描,如果有键按下,则调用delay延时去抖动,再读键值,等待键释放,具体流程图4-3:键盘扫描复位?正转?F0 V=10反转?F1 V=10减减?最高速?速度加1保持10加?最低速?速度减1保持1返回F2V=0NYYNNYYNNYYNYN 图4-3 键盘流程图5 调试与故障分析5.1 程序框架 将程序写入keil程序编辑界面进行调试。调试步骤如下1、定义变量uchar maichong;uchar zhuansu;uchar flag。2、定义正反转、加减速端口Sbit key_z=P31;sbit key_f=P32;sbit key_jia=P33;sbit key_jian=P34。3、调用显示子程序。4、调用键盘扫描子程序。5、执行主程序5.2 数码管显示 根据原理图将硬件焊接好,用Proteus软件下载keil软件生成的HEX文件到单片机中,再给单片机上电,程序就开始运行。显示初始化如下:图6-1 按下正转按钮从P1口输出脉冲,步进电机正转,显示如下图6-2:图6-2按下反转按钮从P1口输出脉冲,步进电机反转,显示如图6-3:图6-35.3 故障分析及解决 由于步进电机的相序位置与单片机的P1口的4个输出口连接不对电机转动方向不正确,解决方法,首先先用四个发光二极管模拟电机四个相序通过观察发光二极管闪亮的顺序就可以判断是否输出正确,电机相序A、A、B、B与P1口低四位一一相对应接好,就可以使电机正常旋转了。 6 总结开始有个误区就是一开始就进行总体的设计,后来通过李老师指点用局部到总体的设计思路,层层推进,步步纠错,逐渐完善程序功能!通过这次课程设计,重新复习并进一步学习了AT51;进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力。但是从中也存在不足之处:对知识的积累还不够,有些问题自己不能够独立解决,对实验操作还要进一步熟练,只有这样才能让自己在不断的学习中提高自己。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。整个设计通过了软仿真。我想这对于自己以后的学习和工作都会有很大的帮助的。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决。而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题。而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力。它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。7 参考文献1王迎旭.单片机原理及及应用.北京:机械工业出版社2谭浩强 C语言程序设计 清华大学出版社附 件1系统原理图图附-12源程序#include #define uchar unsigned char #define uint unsigned int uchar table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x3f,0x83,0xc6,0xa1,0x86,0x8e;/*定义显示字符数组*/uchar table1=0x03,0x06,0x0c,0x09,0x09,0x0c,0x06,0x03;/定义步进电机正反转数组*/uchar table_begin;uchar maichong;uchar zhuansu;uchar flag;/*定义变量maichong,zhuansu,flag,table-begin*/sbit key_fuwei=P30;sbit key_z=P31;sbit key_f=P32;sbit key_jia=P33;sbit key_jian=P34;void delay(uchar x)/*延迟函数*/uchar i,j;for(i=0;i0;j-);void fuwei(void)/*复位函数*/flag=2;zhuansu=0;/*当flag=2 zhuansu=0*/void display()/*显示函数*/ uchar A1,A2,A3,A4;/*变量A1,A2,A3,A4*/ if(flag=0)A1=0;else A1=1;/*若flag等于0,A1=0,否则A1=1*/if(flag=2)A1=10;/*若flag=2,A1=10*/ A2=0x3f; A3=zhuansu/10;/*A3等于转速除以10*/ A4=zhuansu%10;/*A4等于转速除以10的余数*/P0=tableA1;/*P0断开等于table数组中第A1个常数*/delay(5);/*调用延时函数*/ P2=0x01;/*P2端口为00000001 控制位选*/delay(5);/*调用延时函数*/P2=0x00;/*关闭P2端口*/delay(5);/*调用延时函数*/P0=A2;/*P0端口等于00111111*/delay(5); P2=0x02;/ *p2端口等于00000010*/ delay(5);P2=0x00;/*关闭P2端口*/delay(5);P0=tableA3;/*P0等于数组中第A3个数*/ delay(5);P2=0x04;/*P2等于00000100,让第三片数码管点亮*/delay(5);P2=0x00; delay(5);P0=tableA4;/*P0等于table数组中第A4个数*/ delay(5);P2=0x08;/*第四片数码管点亮*/ delay(5);P2=0x00;/*关闭P2端口*/delay(5);void key()/*按键扫描程序*/if(key_fuwei=0)delay(5);/*延时防抖*/if(key_fuwei=0)fuwei();display();/*若复位键按下,调用复位函数和显示函数*/if(key_z=0)delay(5);if(key_z=0)flag=0;zhuansu=10;while(key_z=0);/*防抖*/*若正转键按下,flag=0,转速=10*/if(key_f=0)delay(5);if(key_f=0)flag=1;zhuansu=10;while(key_f=0);/*若反转键按下,flag=1,转速=10*/if(key_jia=0)delay(5);if(key_jia=0)zhuansu+;if(zhuansu=21)zhuansu=20;while(key_jia=0);/*若加速键按下,转速自加1,且转速最大为20时,*/if(key_jian=0)delay(5);if(key_jian=0)zhuansu-;if(zhuansu=1)zhuansu=2;while(key_jian=0); /*若减速键按下,转速自减1,且最小转速为1*/void dispose()switch(zhuansu)case 0:break;case 1:/*当zhuansu=1时,maichong=300*/maichong=300;break;case 2:maichong=150;break;/*当zhuansu=2,maichong=150*/case 3:maichong=100;break;/*当zhuansu=3,maichong=100*/case 4:maichong=75;break;case 5:maichong=60;break;case 6:maichong=50;break;case 7:maichong=43;break;case 8:maichong=37;break;case 9:maichong=33;break;case 10:maichong=30;break;case 11:maichong=27;break;case 12:maichong=25;break;case 13:maichong=23;break;case 14:maichong=21;break;case 15:maichong=20;break;case 16:maichong=19;break;case 17:maich

温馨提示

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

评论

0/150

提交评论