基于单片机的步进电机控制系统课程设计论文正文.doc
《基于单片机的步进电机控制系统课程设计论文正文.doc》由会员分享,可在线阅读,更多相关《基于单片机的步进电机控制系统课程设计论文正文.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机课程设计运城学院单片机课程设计报告课题名称 基于单片机的步进电机控制系统的设计与实现单 位 运城学院 所在院(系) 计算机科学与技术系 班 级 1201 班 指导教师 学生姓名 王明宇 郭西西 王 超 李嘉嘉 黄 凯 王 丹 2015年 5 月 28 日目 录1.课程设计的目的1 2.课程设计题目描述和要求12.1设计题目要求 12.2 原理图设计要求 12.3程序设计要求 12.4程序调试要求 13.硬件设计 53.1单片机最小系统设计53.2主要电路分析54.软件设计104.1 系统软件运作主流程图 10 4.2键盘扫描流程图 115.程序代码 116.设计总结 157.参考文献 1
2、5人员分工:序号 姓名 主要工作1 王明宇 系统总体设计2 郭西西 王 超 硬件设计及制作 3 李嘉嘉 软件设计 4 黄 凯 王 丹 系统的软件调试和硬件调试II1.课程设计目的(1) 进一步熟悉和掌握单片机的结构及工作原理。(2) 设计一套硬件系统较简单、经济,但功能较为齐全,适应性强,操作方便,交互性强,可靠性高的步进电机控制系统。(3) 通过课程设计,能够有机地把电子技术、单片机技术、电机的控制技术结合起来(4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(5) 通过完成一个包括电路设计和程序开发的完整过程,使学生了解单片机应用系统开发及的全过程,为今后从事相应的工作
3、打下良好的基础。2课程设计题目描述和要求2.1设计题目要求用单片机完成基于单片机的步进电机控制系统的设计与实现。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。 2.2 原理图设计要求(1) 原理图设计要严格符合作图规范(布局、连线要正确,连线端子要有标号等)。(2) 图中所使用的各元器件要按标准正确标明序号及数值(如
4、,P0 口;RST;)。(3) 原理图要完整(电源,单片机,外围器件,扩器接口,输入/输出装置等要一应俱全)。2.3程序设计要求(1) 根据设计要求,将总体功能分解成若干个子功能模块,每个功能模块完成一个特定的功能。(2) 根据总体要求详细分解各功能模块,并确定各功能模块之间的关系,设计出完整的程序流程图(按流程图设计标准完成设计)。2.4 程序调试要求(1) 利用C语言编写程序(按C语言书写标准完成程序设计)。(2) 通过keil调试(按步骤一步一步完成程序调试、包括断点设置、内存及代码分析等)。(3) 通过Altium Designer 7.0软件完成理论性仿真。(4) 通过实验板检验及调
5、试。(5) 程序调试将设计完的程序输入,汇编,排除语法错误,生成HEX文件(执行、检查、修改程序,直到达到要求为止)。3.硬件设计本设计采用单片机AT89S51来作为整个步进电机控制系统的运动控制核心部件,采用了电机驱动芯片L298及其外围电路构成了整个系统的驱动部分,再加上作为执行部件的步进电机来构成了一个基本的步进电机控制系统。系统的具体功能和要求如下: 1.单片机最小系统板的设计; 2.设计兼有两相两拍和两相四拍的脉冲分配器; 3.实现步进电机的启停、正转、反转控制; 4.驱动电路可提供电压为12V,电流为0.3A的驱动信号; 5.能实现步进电机的转速调节,最低转速为25转/分,最高转速
6、为100转/分; 6.步进电机的转速由数码管显示; 7.键盘扫描电路的设计整个系统的组成包括单片机最小系统,电机驱动模块,串口下载模块,数码管显示模块,电机驱动电流检测模块,独立按键等模块组成。具体框图如图所示:3.1单片机最小系统设计采用AT89S51单片机构成了控制系统的核心,其基本模块就主要包括复位电路和晶体震荡电路。在本设计当中,单片机的P 0口、P 1口、P 2口、P 3口全部参与系统工作,单片机最小系统的接线如图3.3所示:单片机端口分配及功能1、其中P 0口用于控制数码管的具体显示功能,既是数码管的段选。2、P 1口主要用于控制电机驱动芯片L298的工作,以及ADC0804芯片的
7、编程的读写控制。3、P 2口主要用于控制数码管的公共端,既是数码管的位选。与此同时还处理键盘扫描电路的。4、P 3口主要用于负责处理ADC0804的模数转化芯片的工作。3.2主要电路分析1. 串口通信模块本设计采用串口通信,来实现计算机与单片机的通信。其具体的电路图如图所示。2数码管显示电路设计 本设计的显示部分可以用液晶显示的方案可供选择,液晶显示和数码管显示的区别主要体现在以下几个方面:数码管显示内容单一,而液晶显示器显示内容丰富,因为液晶一般都是七段八字的只能显示单一的内容,而液晶显示的内容就很丰富;数码管还比液晶显示耗电,而且使用液晶也比使用数码管显得美观。但是控制液晶显示器的时候占用
8、的系统资源多,编程更复杂,最关键的是液晶显示的成本是数码管的几十倍,所以考虑到应用价值,最终还是确定选用数码管实现本设计的显示部分功能。 四位共阳数码管的管脚分配如下图所示:本设计选用了数码管显示设计,其段选的控制A、B、C、D、E、F、G、DP按照数码管的简介资料选用了P 0口作为其控制端口,其位选部分由于单片机的控制端口输出的电压不足以直接点亮数码管,所以在单片机控制端口和数码管的位选控制端口加入了三极管,其具体的电路连接如图所示。 3电机驱动模块设计目前的电机的驱动技术的基本类型,考虑要硬件设计驱动电路的方法会电路复杂,调试不方便,而且采用多个元器件搭接,成本高。而直接采用集成的驱动芯片
9、时电路稳定,成本低,易于控制,所以最终本设计是直接采用电机驱动芯片L298作为电机驱动部分的核心部件。本设计的电机驱动部分是由驱动芯片L298及其外围电路构成,其中从L298的2、3脚和13、14脚(即芯片的输出端)依次按顺序连成一个插座,分别与步进电机的四根线相连。而5、6、7、10、11、12脚就依次与单片机的P1口的六个管脚相连。通过这一连接实现了单片机与L298以及步进电机的串联控制。图中很重要的部分是由四个二极管连成的保护电路,其作用是防止由于步进电机的转速提高而产生的自感电动势损坏芯片。由于本设计使用的电机驱动电压是使用了9V (也可以使用12V),所以二极管的负端接9V的参考电压
10、。如果驱动芯片的电压改变,那么这个参考电压也随之一起改变。4. 驱动电流检测模块设计本设计的驱动芯片电流检测模块的实际应用意义在于,检测流过电机的电流值并及时显示,对于防止电机过流而损坏电机有一定的意义。从上面的L298的芯片资料当中我们可以知道L298的Pin1和Pin15可与电流侦测电阻连接来侦测电机正常工作的情况下的工作电流。一般检测电流的方法是通过检测电压值,然后通过欧姆定律换算电流值的方法测试电流,本设计也不例外。设计采用的42BYG101反应式步进电机,其额定电流值0.2安,在加上一般常用的电流侦测电阻都是1欧姆或0.1欧姆,这样换算来检测到的电压值一般是在mV级,这样以来,要是直
11、接将检测到的电压值送给ADC0804进行模数转换那么由于精度的原因势必会对检测结果的准确性造成很大的影响。所以考虑到这一原因我们是先将检测到的电流值经过OP07作放大处理后再将信号送给模数转换芯片处理这样保证了检测值的可靠性。ADC0804输出的数字信号再送给单片机的P 3口,经过单片机处理后最后将检测到的数字信号通过数码管显示出来。而在显示这一部分有这样一个问题,就是步进电机的工作电流不是一个恒定值,它是随着时间的变化,会在一个小范围内不停的波动为了使显示出来的电流数据更可靠,我们通过单片编程,采用了取一段时间的电流的平均值显示出来。形象的展示这一模块的整个工作流程就是如下的图所示:5. 独
12、立按键电路设计本设计一共设计了四个按键,其中一个是单片机复位电路按键,剩余三个按键是分别一端接P2.1口,P2.2口,P2.3口另一端接地。此时按键的工作原理是按下按键之后就相当于是把对应的端口的电势拉低。在处理按键程序前就先去抖动,防止因按键时产生的机械抖动而错误的重复执行相应程序。所有按键处理程序都是在等按下后执行的。这些在软件编设计部分都会有说明。4.软件设计41 系统软件运作主流程图当给系统供电以后,通过单片机复位电路对系统进行上电复位系统经过初始化以后,便开始执行按键查询等待相应的操作,当有按键按下的时候程序便调用并执行相应的子程序,其具体的主流程图4.1如下所示:4.2系统初始化流
13、程图对相应的系统参数进行初始化,包括系统上电默认运行参数设定,包括两相四拍的工作方式,初始速度档位是30转/分,系统中断设定,定时器设定,载入定时器初值和默认的工作参数等,具体流程图如图4.2所示。5.程序代码按键子程序1、延时子程序:在本延时子程序当中每调用一次延时子程序延时时间是1毫秒。2、按键响应子函数:在本设计当中按键的一端接地,另一端接单片机的对应端口,所以当按键按下,既是将单片机对应端口电平拉低。所以在编程的时候判断按键按下是低电平有效。图4.3画出的是电机增速和减速的子程序框图。图3.3增速减速子程序 3、读ADC0804和模式切换程序框图如下图4.4所示,在本设计当中我的模式切
14、换按键只有一个,负责电机的正反转控制,电流控制和电机启动和停止控制。由于编程的时候设置的系统工作的默认状态是正转,转速30转/分。所以通过连续按模式切换键依次实现的功能是电机反转并显示转速,显示电机电流,系统停止工作,系统正转并显示转速依次切换。编程控制ADC0804工作就主要是负责读和写端口的电平来实现的。图3.4读ADC0804子程序及模式切换子程序4、控制步进电机转动的脉冲输入方式:两相四拍通电方式:正转:ABaBabAbAB反转:ABAbabaBAB两相八拍通电方式:正转:ABBaBaabbAbAAB反转:ABAAbbabaaBBAB以两相四拍正转为例其程序代码如下: if(i=1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 步进 电机 控制系统 课程设计 论文 正文
限制150内