基于STC89C52单片机的直流电机角位移控制(自动控制课程设计).pdf

上传人:l**** 文档编号:80833612 上传时间:2023-03-23 格式:PDF 页数:26 大小:2.30MB
返回 下载 相关 举报
基于STC89C52单片机的直流电机角位移控制(自动控制课程设计).pdf_第1页
第1页 / 共26页
基于STC89C52单片机的直流电机角位移控制(自动控制课程设计).pdf_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《基于STC89C52单片机的直流电机角位移控制(自动控制课程设计).pdf》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的直流电机角位移控制(自动控制课程设计).pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、.苏州大学电子信息学院 自动控制原理 项目设计报告 项目名称:直流电机控制的角位移控制系统 班 级:姓 名:指导老师:学 号:日 期:联系方式:.目录 一、设计题目.5 1.1 设计要求.5 1.2 项目分析.5 二、系统方案.6 2.1方案选择.6 三、系统硬件选择.7 3.1 直流电机.7 3.2主控制芯片方案的选择.8 3.3显示模块的选择.8 3.4电机的驱动模块的选择.9 3.5稳压模块的选择.9 3.6光栅.10 3.7光电传感器.10 四、算法设计.10 4.1 PID与 PWM算法.10 4.2 数字 PID参数的确定.13 五、硬件电路设计与实现.14 5.1单片机最小系统.

2、14 5.2系统显示模块.15 5.3 直流电机驱动模块和稳压模块.15 5.4 直流电机测速模块.16 5.5总体电路设计.16 六、系统软件设计.16 6.1 软件流程图.16 6.2 软件(见附录).18 七、性能指标.18 7.1误差分析.18 八、心得体会.19 九、附录.19 .摘 要 自动控制技术是 20 世纪发展最快、影响最大的技术之一,也是21 世纪最重要的高技术之一。今天,技术、生产、军事、管理、生活等各个领域,都离不开自动控制技术。就定义而言,自动控制技术是控制论的技术实现应用,是通过具有一定控制功能的自动控制系统,来完成某种控制任务,保证某个过程按照预想进行,或者实现某

3、个预设的目标。随着计算机技术的发展,控制技术走向了自动化的方向。随着计算机技术的日渐成熟,自动化控制技术与计算机的结合已经成为必然。本次实验是基于 STC89C52单片机的直流减速电机角度控制系统,运用 PWM(脉冲宽度调制)方法控制电机,采用增量式光电编码器将转动角度转化为脉冲数进行角度测量,并反馈到单片机,单片机根据反馈信息利用 PID算法发出控制命令。关键词:STC89C52、直流减速电机、光电编码器、PID算法、角位移 Abstract Automatic control technology is the fastest development in twentieth Centur

4、y,one of the largest technologies,is the most important one of the high technology in twenty-first Century.Today,all fields of technology,production,management,military and life,all cannot do without the automatic control.technology.In terms of definition,the automatic control technology is the appl

5、ication of technology to realize the control theory,through a certain control functions of automatic control system to complete a control task to ensure a process is carried out in accordance with the desired,or achieve a preset target.With the development of computer technology,control technology t

6、owards the direction of automation.With the development of computer technology is becoming mature,combined with automatic control technology and computer has become inevitable.The experiment is based on STC89C52 MCU DC deceleration motor angle control system.The use of PWM(pulse width modulation)met

7、hod is proposed to control motor.The incremental photoelectric encoder used the rotation angle is transformed into pulse number by the angle measurement and feedback to the MCU.MCU according to the feedback information using the PID algorithm to send control command.Keywords:STC89C52,dc gear motor,p

8、hotoelectric encoder,PID algorithm,angular displacement .一、设计题目 1.1直流电机控制的角位移控制系统(Angle position control system with dc motor)设计一个角度控制系统,它能接受所期望的角度的输入指令,产生一个与输出要求完全一致的输出角度。1.2 项目分析 根据设计要求可知,设计主要分为以下四部分:(1)输入角位移指令;(2)测量角位移;(3)闭环系统控制角位移;(4)显示角位移。.二、系统方案 2.1 方案选择 图 1 系统框图 具体方案:将减速直流电机的输出轴与光电编码器的轴连接,利用编

9、码器进行角度测量,利用 L293D驱动模块,采用 PWM方法控制电压驱动电动机正反转,设计单片机控制板实现角度控制,控制精度1 度,通过键盘进行角度设置,实际角度可以通过 LCD1602实时显示。.三、系统硬件选择 3.1 直流电机 直流电机是一种将电能转化为角位移或直线位移的执行机构。直流电动机包含三部分:固定的磁极、电枢、换向片和电刷。电流在通过电机转子上的线圈时产生洛伦磁力,当转子上的线圈与磁场平行时,线圈受到的磁场方向改变,而此时转子末端的电刷跟转换片交替接触,线圈上的电流方向改变,产生的洛伦磁力方向不变,电机能保持一个方向转动。改变电刷 A、B 上电源的极性,也就改变了电机转动的方向

10、。这就是正转反转的原理。直流电动机利用电磁力定律产生力合转矩,利用电磁感应定律产生电势。我们通过 PWM方法改变电压来调速,从而达到位置控制的目的。在本次课程设计中所用是 R140型直流电机。工作电压 参数 直流 3V 直流 5V 电机(不加齿轮箱)转速 5000转/分 电流 80-100mA 齿轮箱 减速比 256 空载转速 20 转/分 32 转/分 负载转速 14 转/分 22 转/分 输出扭矩 1kgcm 1.2kgcm 轮胎直径 6.5cm 6.5cm 电流 110-130mA 120-140 mA 重量 50kg.外形尺寸(mm)70*22*18 噪音 65db 表 1 直流电机参

11、数 3.2主控制芯片方案的选择 AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存储器(PEROM)和 128 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位 央处理器(CPU)和 Flash 存储单元,功能强大。AT89C52 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部RAM,32 个 I O 口线,两个 16 位定时计 数器,一个 5 向量两级 断结构,一个全双工串行通信口

12、,片内振荡器及时钟电路。同时,AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。由于手头上有现成的 52 单片机开发板套件,所以本次设计中决定使用AT89C52作为主控制芯片。3.3显示模块的选择 方案一:以 4 个 8 位 LED数码管显示。使用该电路结构简单,程序较为简单;但是该电路显示内容有限,占用 IO 口资源较多。方案二:以 LCD1602显示,1602液晶也叫 1602字符型

13、液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个 5X7或者 5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它.不能很好地显示图形(用自定义 CGRAM,显示效果也不好)。LCD1602是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。本实验中我们选用 LCD1602进行角度显示。3.4电机的驱动模块的选择 用 L293D进行驱动。L293D是 ST 公司生产的一种高电压,小电流电机驱动芯片。该芯片采用 16 引脚封装。主要特点是

14、:工作电压可达 36V:输出电流大,瞬间峰值可达 2A,持续工作电流为 1A。内含两个 H 桥高电压大电流全桥式驱动电路,可以用来驱动直流电动机和继电器线圈等感性负载;3.5稳压模块的选择 LM7805是常用的三端稳压器,一般使用的是 TO-220封装,能提供 DC 5V 的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供 1A的电流,如果使用外围器件,它还能提供不同的电压和电流。在这里我们用 LM7805给驱动模块和光电编码器供电。.3.6光栅 光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等

15、电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。本实验选用 360线光栅。系统精度能达到1 度。3.7光电传感器 对射式光电开关由发射器和接收器组成,其工作原理是:通过发射器发出的光线直接进入接收器,当被检测物体经过发射器和接收器之间阻断光线时,光电开关就产生开关信号。与反射式光电开关不同之处在于,前者是通过电-光-电的转换,而后者是通过介质完成。对射式光电开关的特点在于:可辨别不透明的反光物体,有效距离大,不易受干扰,高灵敏度,高解析,高亮度,低功耗,响应时间快,使用寿命长,无铅,广泛应用于:投币机,小家电,投币机,自动感应器,传真机

16、,扫描仪等设备上面。四、算法设计 4.1 PID算法 根据设计要求本系统采用PID算法控制电机转动,以达到优化控制的效果。在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的 PID控制器(亦称 PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在.理论上可以证明,对于过程控制的典型对象“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活 P,I,D 的参数,优化过程控制。以达到快速响应

17、,精度要求。4.1.1 数字PID 在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。为将模拟PID控制规律按式(1.2)离散化,我们把图1.1中)(tr、)(te、)(tu、)(tc在第n次采样的数据分别用)(nr、)(ne、)(nu、)(nc表示,于是式(1.1)变为:)(ne=)(nr)(nc (11)当采样周期T很小时dt可以用T近似代替,)(tde可用)1()(nene近似代替,“积

18、分”用“求和”近似代替,即可作如下近似 Tnenedttde)1()()((12)tniTiedtte01)()((13)这样,式(1.2)便可离散化以下差分方程 01)1()()()()(uneneTTneTTneKnuniDIP (14)上式中0u是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项)(nuP,即 )()(neKnuPp (15)第二项起积分控制作用,称为积分(I)项)(nuI即 niIPIieTTKnu1)()((16)第三项起微分控制作用,称为微分(D)项)(nuD即)1()()(neneTTKnuDPD (17)这三种作用可单独使用(微分作用一般不单独使

19、用)或合并使用,常用的组合有:P控制:0)()(ununuP (18).PID位置算法控制器被控对象r(t)+-e(t)uc(t)PID增量算法控制器被控对象r(t)+-e(t)uc(t)PI控制:0)()()(unununuIP (19)PD控制:0)()()(unununuDP (20)PID控制:0)()()()(ununununuDIP (21)式(1.7)的输出量)(nu为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(1.7)又称为位置型PID算式。由(1.7)可看出,位置型控制算式不够方便,这是因为要累加偏差)(ie,不仅要占用较多的存储单元,而且不便于编写

20、程序,为此对式(1.7)进行改进。根据式(1.7)不难看出u(n-1)的表达式,即 011)2()1()()1()1(uneneTTneTTneKnuniDIP(22)将式(1.7)和式(1.15)相减,即得数字PID增量型控制算式为)1()()(nununu)2()1(2)()()1()(neneneKneKneneKDIP (23)从上式可得数字PID位置型控制算式为)(nu0)2()1(2)()()1()(uneneneKneKneneKDIP (24)式中:PK称为比例增益;IPITTKK 称为积分系数;TTKKDPD称为微分系数。数字PID位置型示意图和数字PID增量型示意图分别如图

21、1.2和1.3所示:图6 数字PID位置型控制示意图 图7 数字PID增量型控制示意图.4.1.2 PWM PWM输出波形:电动机的电枢绕组两端的电压平均值 U 为:U=(t1U)/(t1t2)=(t1U)/T=D*U 式中 D 为占空比,D=t/T。占空比 D 表示了在一个周期 T 里开关管导通的时间与周期的比值。D 的变化范围为 0 D 1。当电源电压 U 不变的情况下,输出电压的平均值 U 取决于占空比 D 的大小,改变 D 值也就改变了输出电压的平均值,从而达到控制电动机转速的目的,即实现 PWM调速。在 PWM调速时,占空比 D 是一个重要参数。改变占空比的方法有定宽调频法、调宽调频

22、法和定频调宽法等。常用的定频调宽法,同时改变 t1 和 t2,但周期 T(或频率)保持不变。4.2 数字 PID 参数的确定 如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做

23、到。因此,实际用得较多的还是工程整定法。这种方法最.大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。五、硬件电路设计与实现 5.1单片机最小系统 单片机最小系统是整个系统的核心部分,它主要用于键盘输入控制、数据处理、实时采样分析系统参数及对各部分反馈环节进行调整。单片机最小系统包括电源电路、时钟电路等。在这次设计中采用了AT89C52芯片和 12M高精度晶振,可以获得较为准确的时钟频率,如下图所示。图 10 最小系统.5.2系统显示模块 图 11 显示模块 5.3 直流电机驱动模块和稳压模块 L293D是专为驱动等

24、感性负载继电器,电磁阀,直流双极步进和马达,也可以给其他高电流/高电压提供电源负载,7805输出的 5V 电压给单片机最小系统供电并连接 L293D的 VCC端口。图 12 驱动和稳压模块.5.4 直流电机测速模块 图13 测速模块 5.5总体电路设计 图14 系统电路原理图 六、系统软件设计 6.1 软件流程图 .开始是否运行按键扫描Pwm输入给定电机位置是否等于给定位置结束PID显示YYNNY .6.2 软件(见附录)七、性能指标 实物图 7.1误差分析 目标值 50 100 150 200 300 500 800 1000 1100 1200 实际值 50 100 150 201 301

25、 500 801 1002 1102 1202 目标值 1300 1400 1500 1600 1700 1800 1900 2000 3000 4000 实际值 1303 1403 1503 1603 1704 1804 1905 2004 3005 4005 单位:由数据可得:误差均值=2.4000 标准差=1.7592 误差原因分析:(1)实验中使用光电编码器作为角度测量传感器,在电机转动过程中如果有抖动,可能会引起一些尖峰脉冲,导致单片机误计产生一定误差,这部分误差是会.积累的,导致角位移增大时误差也在增大。(2)电机在转动过程中存在一定惯性,PID参数设置的不是那么合理也会引起较大的

26、误差,这就需要长时间的调整 PID参数,尽可能减少误差。八、心得体会与建议 (1)电子设计是一个相对比较枯燥的过程,需要很大耐心,要能够静下心来思考问题,这本身也是一个自我提升的过程。(2)在设计一个由多模块组成的系统时,必须掌握每一个模块的工作原理与使用方法,尽可能避免由于操作失误造成器件损失。(3)在软件编程时需要注意引脚的调用,本实验中调用P3.4为光电编码器的脉冲输入引脚,但该引脚同时也是按键扫描时要用的引脚。(4)合理选择驱动模块,原本使用L296模块带动直流减速电机,实际搭建后发现L296模块输出仅0.5V,无法带动电机。(5)实验中选用了减速比为500:1的电机,实际操作时发现转

27、动速度较慢,系统的执行时间较长,应选用转速较快的电机。(6)实验时应保持光栅盘水平或垂直,使之旋转稳定,防止产生毛刺,导致单片机误计产生误差。九、附录#include reg52.h#include intrins.h#define uchar unsigned char#define uint unsigned int sbit en=P22;/电机使能管脚定义 sbit in1=P21;sbit in2=P24;.sbit k=P37;/确定键 sbit jia5=P35;sbit jia10=P36;sbit rw=P11;sbit RS=P10;sbit LCDEN=P25;uint

28、queding=1;int j=0;/附加的存储角度位,因为定时器只能记到 65535 int ct1=1;int ct2=0;int period=10;/存储方波周期,单位为 ms uint key=10;/存储键值 double t=1,kp=0.01,kt=0,kd=0;/PID 调节参数 double rate;/PWM 占空比 int curstate=1;/存储电机的工作状态(=0 表示不转,1 表示正转,2 表示反转)uint input=0;/预期输出 int key15=0;/输入键值 uint out=0;/实际输出 int err3=0;/实际输出与预期输出的差值 ch

29、ar outstr=0;char inputstr=0;void Int_To_Str(uint x,char*Str)int t;char*Ptr,Buf5;int i=0;Ptr=Str;if(x 0)t=x%10;x=x/10;.Bufi+=t+0 x30;/通过计算把数字转化成 ASCII 码形式 i-;for(;i=0;i-)/将得到的字符串倒序 *(Ptr+)=Bufi;*Ptr=0;/基本延时函数 void delayUs()_nop_();void delayxus(uint x)uint i;for(i=x;i 0;i-)_nop_();void delayMs(int a)

30、uint i,j;for(i=a;i 0;i-)for(j=100;j 0;j-);/LCD 相关函数 void writeComm(uchar comm)RS=0;P0=comm;LCDEN=1;delayUs();LCDEN=0;delayMs(1);/写数据:RS=1,RW=0;void writeData(uchar dat).RS=1;P0=dat;LCDEN=1;delayUs();LCDEN=0;delayMs(1);void init()rw=0;dula=wela=0;writeComm(0 x38);writeComm(0 x0c);writeComm(0 x06);wri

31、teComm(0 x01);void writeString(uchar*str,uchar length)uchar i;for(i=0;i 0.9)rate1=0.9;if(rate10.1)rate1=0.1;return rate1;void main()int m,n;int i=0;init();queding=1;writeComm(0 x80);writeString(Target:,10);keyscan();.for(i=0;i1)ct1=0;ct2=1;.if(err2-1&err21)ct1=1;ct2=1;en=0;TR1=1;void extracounter()interrupt 1 TR0=0;TH0=0;TL0=0;j+;TR0=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁