计算机控制技术课程设计说明书基于89C51单片机设计二相电机控制系统设计_第1页
计算机控制技术课程设计说明书基于89C51单片机设计二相电机控制系统设计_第2页
计算机控制技术课程设计说明书基于89C51单片机设计二相电机控制系统设计_第3页
计算机控制技术课程设计说明书基于89C51单片机设计二相电机控制系统设计_第4页
计算机控制技术课程设计说明书基于89C51单片机设计二相电机控制系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、目录摘 要11. 设计任务及要求22. 方案比较及选择22.1 led显示选择方案22.2按键状态的读取23. 系统实现的原理33.1系统设计思路33.2步进电机工作原理33.2.1步进电机的启停控制33.2.2步进电机的控制时序43.3系统整体方框图64. 系统硬件设计74.1总体电路设计74.2电机模块电路设计84.2.1电机控制部分电路84.2.2步进电机驱动电路94.3 显示模块电路104.3.1发光二极管显示电路104.3.2七段数码管显示电路115. 系统软件设计115.1系统总体流程图115.2 二相步进电机工作方式模块程序设计135.2.1四拍方式模块程序设计135.2.2八拍

2、方式模块程序设计145.3 系统显示程序模块设计156系统仿真结果16心得体会17参考文献:18附录 本设计所用的c程序清单19摘 要基于89c51单片机设计二相电机控制系统,实现四拍和八拍方式转动,并能进行调速和正反转控制。同时由数码管和led显示电机转动步数和工作状态。首先需要构建控制信号输入和输出显示器以及核心运算部分构成整个系统,然后画原理图并且用protues软件仿真。设计过程中用到单片机、双极性h桥驱动电路、数码管显示电路等模块电路。设计的系统通过循环扫描状态信号,控制电机的运转同时输出状态。关键词:单片机,h桥,protues,数码管abstract based 89c51 mi

3、crocontroller design two-phase motor control system, having four-beat and eight-beat way to turn, and can control the speed and reversing. at the same time,the digital control and led display motor rotation step and working condition. first need to build a control signal input and output display par

4、ts and the core computing system, and then draw the schematic and software simulation with protues. microcontroller used in the design process, bipolar h-bridge driver circuit, the digital display module circuit. scan through the system design cycle status signals to control the motor running while

5、the output state.key words: single-chip, h-bridge, protues, digital 二相步进电机控制系统的设计1. 设计任务及要求 设计一个二相步进电机控制系统,电机有两组带中心抽头的线圈,要求系统具有如下功能:采用双极性(h桥)控制(不使用线圈的中心抽头),用k0-k1做为通电方式选择键,k0为四拍,k1为八拍, k2为启动/停止控制;k3方向控制(正反转);k4速度控制(快慢两档);用4位led数码管显示工作步数。用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮。 2. 方案比较及选择 2.1 led显示方案的选择 方案

6、1:把所要显示的数据通过液晶显示屏显示。其优点是输出简单,可以简化硬件和程序,但增加了芯片的费用。 方案2:通过软件把所要的数据转化为七段显示的数据,直接通过数码管来显示,其优点是简化了电路,但增加了软件编写的负担。通过对方案的比较,选择方案2通过数码管显示信号,比较简单经济。 2.2按键状态读取方案的选择 方案1:把按键接到单片机的中断口,若有按键按下,单片机接收到中断信号,再通过软件编写的中断服务程序来执行中断,优点是接线简单,简化了电路,但软件编写较为复杂,不易掌握。 方案2:不使用中断,直接把开关分别接在单片机的接口上,通过查询端口信号来动作。其优点是程序得到简化。 通过对方案的比较,

7、选择方案2通过查询方式来读取端口信号,相对来说编程和硬件电路都比较简单。3. 系统实现的原理3.1系统设计思路本设计是设计一个步进电机控制系统,主要由单片机80c51,二相四线步进电机,7段数码管,双极性h桥驱动电路设计而成。可以通过单片机p2口读入开关信号来控制系统的启/停等各种工作,当系统运转时,用开关来控制方向转速,并使相应的状态指示灯亮起,同样由开关来选择工作模式。运转时,用4位7段数码管来显示电机转动的步数。根据设计的硬件电路图设计相应的软件完成各项功能。3.2步进电机工作原理3.2.1步进电机的启停控制 步进电机是将电脉冲信号转变为角位移的开关控制元件。电机的转速,停止的位置指取决

8、于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如图3-1为二相步进电机的工作原理图。由图可知,每个绕组都有一个中间抽头。当电机的绕组通电后,其定子磁极产生磁场,当转子吸合到相应的磁极处。若绕组的控制脉冲使定子在顺时针方向轮流产生磁场,则电机可顺时针转动;通电方向与上相反,则电机可逆时针方向转动。控制脉冲每作用一次,通电方向就变化一次,使电机转动一步,脉冲频率越高,电机转动的也就越快。图3-1 二相步进电机原理图3.2.2步进电机的控制时序 根据步进电机的工作原理,四拍工作方式下,当控制器给驱动器发出脉冲信号时,驱动器经过环形分配器和功率放大器后,

9、给电动机绕组通电的顺序为,其4个状态按顺序周而复始变化,电机正转;若通电时序变为时,电机就逆向转动。当八拍工作方式时,给电动机绕组通电的顺序为时,电机正转,反向通电时电机反转。改变通电频率时可相应的改变电机的转速。3.2.3步进电机的控制方式字 (1)二相四拍工作方式 在这种工作方式下, 、相轮流通电,电流切换四次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做四拍工作方式。这时步距角b (度)为 式中:m定子相数; z 转子齿数;每次切换均使转子转动90角。 四拍方式的控制字如表1所示:表1 四拍工作方式控制字步序 控制位工作状态控制模型p0.7p0.6p0.5p0.4p0.3p

10、0.2p0.1p0.01000010100ah20000100109h30000010105h40000011006h (2)二相八拍工作方式 在此工作方式下,绕组以时序(或反时序)转换8次,磁场旋转一周,转子前进一个齿距,每次切换均使转子转动45角,故这种通电方式称为二相八拍工作方式。 八拍的控制方式字如表2所示:表2 八拍工作方式控制字步序 控制位工作状态控制模型p0.7p0.6p0.5p0.4p0.3p0.2p0.1p0.01111100100f2h21111010ab0fah311111000b0f8h4111110010f9h5111100010f1h6111101010f5h711

11、1101000f4h8111101100f6h 3.3系统整体方框图 设计的系统的总体方框图如图3-2所示:89c51单片机整体控制器数码管显示模块开关控制单元模块led显示电机工作状态h桥驱动电机模块图3-2 系统的整体方框图 由系统的整体方框图可以看出,本系统主要由控制部分、显示部分和执行部分3大部分组成。这几部分通过89c51组合成整个系统,单片机通过读取系统状态和控制信号,经过内部的运算把控制命令输出给被控电机,同时把此时的工作状态通过led显示,并通过数码管显示电机转动步数。4. 系统硬件设计 4.1总体电路设计 系统由单片机控制着显示部分和电机的运转。电机由双极性h桥驱动。用k0-

12、k1做为通电方式选择键,k0为四拍,k1为八拍。k2、k3分别为启动和方向控制,k4为速度控制键。正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮。用数码管显示工作步数。 根据设计要求用proteus画出的硬件连线图如下图4-1所示:图4-1 系统总体硬件电路图4.2电机模块电路设计4.2.1电机控制部分电路 控制信号输入部分电路图如下图4-2所示图4-2 按键控制部分电路图 k3为电机转动方向控制键。k4为速度控制开关,控制步进电机的转速。k0-k2为工作模式控制开关,k0接电时,为步进电机四拍工作模式;k1接电时,为步进电机八拍工作模式;k2启动控制开关,控制整个系统的启动和关闭

13、,它们依次接单片机的p2.0-p2.3口。 4.2.2步进电机驱动电路 二相步进电机的驱动电路,如图4-3所示:图4-3 步进电机驱动电路 电机的驱动电路部分由8个达林顿管来驱动2组相位。当步进电机运转时,达林顿q2和q4导通时,线圈电流方向为;当达林顿管q1和q3导通时,线圈中电流方向为。可见,步进电机线圈中的电流方向在运转过程中是不断变化的。双极性驱动电路的绕组线圈每次都有电流通过,产生一个均匀的磁场,电机运转的稳定性更高。4.3 显示模块电路4.3.1发光二极管显示电路 用3个不同颜色的发光二极管来作为电机工作状态显示灯,正转时红色指示灯亮,反转时绿色指示灯亮,不转时黄色指示灯亮。各个灯

14、的亮与否不是软件实现然后通过单片机完成的,而是控制信号通过逻辑电路搭接出来的。发光二极管显示的部分电路图如图4-4所示: 图4-4 状态显示部分电路图4.3.2 七段数码管显示电路 由89c51的p1口取出显示码,从89c51的p3.0-p3.3输出位选码,设计中我们主要用到4位显示步数既可。七段数码管显示部分的电路原理图如图4-5所示:图4-5 七段数码管显示部分的电路图5. 系统软件设计5.1系统总体流程图设计说明: 首先要复位单片机,然后从p2口读出开关状态,判断是否启动,没启动黄灯亮重新确认启动。启动后再次读取p2口数据,判断工作方式并将对应的用来存储步进电机工作方式字的数组首地址值给

15、另一数组。由p0口的双向开关来控制步进电机的正反转,如果是正转则红灯亮,反转则绿灯亮。在电机每走一步后,步数累加1,然后通过数码管把工作步数显示出来。再从p2口把状态信息读出来,与之前的p2口的状态信息进行比较。如果状态信息没有改变,电机继续运行。如果状态信息改变了,就需要重新返回程序的开端,对电机的运行状态进行判断,让电机重新以新的状态运行。由此,开关的状态在电机每走一步都会查询一遍,做到实时地反映。系统总体流程图如图5-1所示:开始快慢k4?重新启动n黄灯亮给单片机复位启动?ynny置慢速标志置快速标志反判断转向?正反转正转绿灯亮红灯亮四拍方式?yp0口指向八拍控制字数组p0口指向四拍控制

16、字数组p0口输出控制字延时,步数加1,方式字地址加1数码管动态显示步数n信号变化? y图5-1 系统软件总体流程图5.2 二相步进电机工作方式模块程序设计 设计说明:在此设计中,采用的是二相步进电机,对于步进电机模块的程序设计采用循环程序设计方法。先把正反转向的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,选择步进电机的拍数,输入步数,然后读入正反转的控制模型驱动步进电机转动。 5.2.1四拍方式模块程序设计 二相步进电机四拍工作的流程框图如图5-2所示:开始n是正转吗?y四拍反向控制字数组地址四拍正转方式控制字数组输出控制模型 电机转动延时,模型地址+1n信号变化

17、?y 图5-2 二相步进电机四拍工作的流程框图5.2.2八拍方式模块程序设计 二相步进电机八拍工作的流程框图如图5-3所示:开始是正转吗ny八拍反向控制字数组地址八拍正转方式控制字数组输出控制模型 电机转动延时,模型地址+1n信号变化?y图5-3 二相步进电机八拍工作的流程框图5.3 系统显示程序模块设计设计说明:显示模块是用4位7段数码管来显示工作步数。先将显示码存入数组中,指向最左边一位,然后取出要显示的数据,指向换码表首地址,取出显示码,从p0口输出显示码,p3口输入位选码,显示出4位工作步数,最后修改数组地址,求下一位显示码继续显示。显示程序流程图如图5-4所示:动态显示子程序取出要显

18、示的数据 显示数据的显示码送位段码到p0口输出送位显码到p3.0-p3.3输出延时求下一位选码 显示数据的显示码图5-4 显示模块的程序流程图6系统仿真结果 当选择电机工作在四拍,正转的模式下,k0、k2置高电平,k1、k4置低电平,系统启动,k3置高电平,电机开始四拍正转。led四位显示屏显示工作步数,led指示灯红灯亮显示电机正转的状态。仿真图如图6-1所示:图6-1 系统仿真结果截图 心得体会真的很辛苦,不过终于我的设计完成了。这一刻不仅是高兴,更多的是激动。此刻我也真正的学到了很多东西。已经不知道去过图书馆多少次查阅资料,一次一次的仿真实验,一次一次的方案设计,一次一次的编制程序。在经

19、历过无数次的失败,我终于成功了。得到了理想的仿真结果。看着自己的课程设计,真的无比的高兴,心中充满成就感。 通过本次课程设计,我得到了以往不曾有过的体会与经验。将自己学到的理论知识通过本次课程设计应用到了实际应用当中,提高了自己各方面的能力。同时也加深了自己对于相关课程基础理论知识的理解和掌握,学会了综合运用所学知识。学会了应用所学的知识在实际硬件电路上编程完成所需功能。对单片机的应用有了进一步的掌握。懂得了如何去发现问题,思考问题,解决问题。通过这次计算机控制的课程设计,我学会了灵活的运用单片机,更学会了异步电机的原理和如何去很好的控制异步电机工作。最后,我最大的收获就是: 失败是成功之母,

20、只要努力就会有收获。参考文献:1 于海生编著.计算机控制技术.北京:机械工业出版社.20052 张义和、王敏男等编著.例说51单片机.北京:人民邮电出版社.20083 陈涛编著.单片机应用及c51程序设计.北京:机械工业出版社,20104 齐向东、刘立群编著.单片机控制技术实践.北京:中国电力出版社,20095 张靖武,周灵彬编著.单片机系统的proteus设计与仿真. 北京:电子 工业出版社,2007.6 余炳雄,陈志玲,黎浩樑编写.二相步进电机驱动电路的设计.广州:华南师范大学学报,2009.附录 本设计所用的c程序清单#include#define motor p0#define led

21、 p1#define kongzhi p2 #define deng p3sbit led1=p30;sbit led2=p31;sbit led3=p32;sbit led4=p33;sbit dansi=p20;sbit sudu=p21;sbit ba=p22;sbit qidong=p23;sbit fangxiang=p24;char table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共阳极数码管编码a1=0x0a,0x09,0x05,0x06; /四拍正转a2=0x06,0x05,0x09,0x0a; /四拍反转

22、b1=0xf2,0xfa,0xf8,0xf9,0xf1,0xf5,0xf4,0xf6; /八拍正转b2=0xf6,0xf4,0xf5,0xf1,0xf9,0xf8,0xfa,0xf2;/八拍反转unsigned char aa;int i,j,qian,bai,shi,ge,temp; void delay(int x) /延时子程序1 int c,j; for(c=0;cx;c+) for(j=1;j=60;j+); void shumaguan(temp) /数码管动态显示子程序led1=0;led2=0;led3=0;led4=0;qian=temp/1000; /取千位bai=temp

23、%1000/100; /取百位shi=temp%100/10; /取十位ge=temp%10; /取个位led4=1;/个位数码管亮led=tablege;delay(1);led4=0; led3=1; /十位数码管亮led=tableshi;delay(1);led3=0;led2=1; /百位数码管亮led=tablebai; delay(1);led2=0;led1=1; /千位数码管亮led=tableqian; delay(1);led1=0;void delay1(int x) /延时子程序2 int c,j; for(c=0;cx;c+) for(j=1;j=30;j+) sh

24、umaguan(temp); void dspzheng(void) /四拍正转子程序motor=a1i;i+;temp+;if(i=4)i=0;void dspfan(void) /四拍反转子程序 motor=a2i;i+;temp+;if(i=4)i=0;void bpzheng(void) /八拍正转子程序motor=b1i;i+;temp+;if(i=8)i=0;void bpfan(void) /八拍反转子程序motor=b2i;i+;temp+;if(i=8)i=0;void main(void) /主程序int i=0,j=0;dansi=0;ba=0;qidong=0;sudu=0;fangxiang=0;temp=0000;while(1)while(qidong=0)shumaguan(temp); /调用数码管子程序 while(qidong=1&fangxiang=1&dansi=1&ba=0) while(qidong=1&fangxiang=1&sudu=1&dan

温馨提示

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

评论

0/150

提交评论