版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电气技术研究生课程设计报告题 目 基于51单片机的直流电机 PID调速系统学 院机械与汽车工程学院专业班级 车辆工程学 号 2023学生姓名 木飞指导教师 完成日期2017 年01月12日1 引言研究对象介绍选题的目的和意义直流电动机具有良好的起动、制动性能,宜于在大范围内平滑 调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的 应用。从控制的角度来看, 直流调速还是交流拖动系统的基础。早期 直流电动机的控制均以模拟电路为基础, 采用运算放大器、 非线性集 成电路以及少量的数字电路组成, 控制系统的硬件部分非常复杂, 功 能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技
2、术的发展和应用范围的推广。2 设计原理、方法及概述设计原理及方法直流电动机根据励磁方式不同,直流电动机分为自励和他励两 种类型。不同励磁方式的直流电动机机械特性曲线有所不同。 但是对 于直流电动机的转速有以下公式:?n=UCc?-TR内/CrCc?其中:U- 电压;R内一励磁绕组本身的电阻;?一每极磁通(Wb); CC-电势常 数;Cr-转矩常量。由上式可知,直流电机的速度控制既可采用电枢 控制法,改变电枢回路电阻,也可采用磁场控制法。对于要求在一定 范围内无级平滑调速系统来说,以调节电枢供电电压的方式为最好。改变电阻只能是有级调速; 减弱磁通虽然能够平滑调速, 但是调速范 围不大,往往只是配
3、合调压方案,在基速(额定转速)以上做小范围 的减弱升速。因此,自动控制的直流调速往往以变压调速为主。本文主要研究了利用MCS-51系列单片机,通过PWM方式控制 直流电机调速的方法。PWI控制技术以其控制简单、灵活和动态响应 好的优点而成为电力电子技术最广泛应用的控制方式, 也是人们研究 的热点。由于当今科学技术的发展已经没有了学科之间的界限, 结合 现代控制理论思想或实现无谐振软开关技术将会成为PWM空制技术发展的主要方向之一。 ?设计总概述以直流电机电枢上电压的占空比来改变平均电压的大小,从而 控制电动机的转速为依据, 实现对直流电动机的平滑调速, 并通过单 片机控制速度的变化。 本文所研
4、究的直流电机调速系统主要是由硬件 和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它 主要为软件提供程序运行的平台。 而软件部分, 是对硬件端口所体现 的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功 能,达到控制器自动对电机速度的有效控制。 但是此设计中电机只需 要正转,所以相对来说简单点。3硬件设计8051单片机简介AT89C52是一个低电压,高性能CMOS?位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据 存储器(RAM),器件采用ATME公司的高密度、非易失性存储技术生 产,兼容标准MCS-51指令系统,片
5、内置通用8位中央处理器和Flash 存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52有 40个引脚,32个外部双向输入/输出(I/O)端口,同 时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行 通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可 以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别 是可反复擦写的Flash存储器可有效地降低开发成本。部分功能如 下:(1)8kB可反复擦写(大于1000次)Flash ROM;(2)32 个双向 I/O 口 ;(3)256x8bit 内部 RAM;(4)3个16位可编程定时/计数器
6、中断;(5) 时钟频率0-24MHz;(6) 2个串行中断,可编程UART串行通道;(7) 2个外部中断源,共8个中断源;(8) 2个读写中断口线,3级加密位;直流电机设计中采用直流电机,自带高精度的磁编码器,性能介绍如图一所示,接线说明如图二所示:性能介绍图一接线图二L298N恒压恒流桥式2A驱动芯片L298N简称H桥。L298是SGS公司 的产品,比较常见的是15脚MUltiWatt封装的L298N,内部同样包 含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相 步进电机。L298N芯片可以驱动两个二相电机,也可以驱动一个四相 电机,输出电压最高可达50V,可以直接通过电源来调节
7、输出电压;可以直接用单片机的IO 口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号 VSS VSS可接4. 57 V 电压。4脚VS接电源电压,VS电压范围VIH为+ 2. 546 V。输出 电流可达2. 5 A ,可驱动电感性负载。1脚和15脚下管的发射极分 别单独引出以便接入电流采样电阻,形成电流传感信号。 L298 可驱 动2个电动机,0UT1 0UT2和0UT3 OUT4之间可分别接电动机,本 实验装置我们选用驱动一台电动机。5,7,10,12 脚接输入控制电平,控制电机的正反转。EnA EnB接控制使能端,控制电机的停转。 L298 芯片驱动电路图如下:
8、图 1 L298 芯片驱动电路图系统总体电路图中控制器模块为系统的核心部件, 电位器和显示器是用来实现 人机交换功能, 其中通过键盘将需要设置的参数和状态输入到单片机 中,并且通过控制器显示到显示器上。在运行过程中控制器产生 PWM 脉冲送到电机驱动电路中, 经过放大后控制直流电机转速, 同时利用 速度检测模块将当前转速反馈到控制器中, 控制器经过数字 PID 运算 后改变PWh脉冲的占空比,实现电机转速实时控制的目的。显示模块图1系统方案框图4软件设计PID算法PI调节器是电力拖动自动控制中最常用的的一种,在微机数字控制系统中,当采样频率足够高时,可以先按模拟系统的设计方法设 计,然后再离散
9、化,得到数字控制器的算法。PI调节器的传递函数如式所示:WPI(S)KP S 1()和u(t)的关系时()若输入误差函数为e(t),输出函数为u(t),则e(t)域表达式可写成:u(t) Kpe(t)Ki e(t)dt 式子中KP为比例系数,KiI为比例系数。将式转化为差分方程,得到数字Pl调节器的表达式,其第k拍输出k为:u(k) Kpe(k) KiTSam e(i)()i 1式中TSam为采样周期。增量式算法只需要当前的和上一拍的偏差即可计算出输出值。增量式PI 调节器算法为:u(k) u(k 1) Kpe(k) e(k 1) KiTSame(k)()在控制系统中,常需要对调节器的输出实施
10、限幅。在数字控制 算法中,要对U限幅,只需要在程序中设置限幅值。不考虑限幅时, 位置式和增量式两种算法完全等同,考虑限幅时,则两者略有差异。 增量式PI调节器算法只需要输出限幅,而位置式算法必须同时设置 积分限幅和输出限幅。若没有积分限幅,积分项可能很大,将产生较 大的退饱和超调。算法模块如下:int e=0,e 1=0,e2=0;float uk=0,uk1=,duk=;/PID 输出值float kp=5,ki=,kd=;/PID控制系数上面是初始化部分void PIDCo ntrol() /PID 偏差计算e=temp-num; 变量temp是AD采集过来的值,num是通过 M法测出点值
11、duk=(kp*(e-e1)+ki*e+kd*(e-2e1+e2)Uk=Uk1+duk;out=(int)uk;if(out>250)out=100;else if(out<0)out=0;uk1=uk;e2=e1;e1=e;value=out; /value 最后送给 PWM。这部分是子程序M 法测速在一定时间TC内测取旋转编码器输出脉冲个数 M1,用以计算这 段时间内的转速,称作M法测速。把M1除以TC就可以得到旋转编码 器输出脉冲的频率 f1=M1/TC, 所以又称频率法。电机每转一圈共产生 Z个脉冲(Z=f咅频系数*编码器光栅数),把fl除以Z就得到在单位 时间内电机的转速
12、。在习惯上,时间TC以S为单位,而转速是以r/min为单位,则电动机的转速为n=60M1/ZTc由于Z和TC都是常数,因此转速n与计数值M1成正比,故此 测速方法称M法测速。具体程序部分用外部中断计数和定时器来完成,程序如下:void exter0() interrupt 0 /外部中断脉冲计数/M法测速度(外部中断O和定时器O用在M法测速上)Inlpuse+;void timerO() interrupt 1THO = Ox3C;/ 重装初值TLO = OxbO;time+;if(time>=2O) /1s 钟读取一次转速( 2*6Oms) EXO = O;TRO = O;num=In
13、lpuse; / 计算转速Inlpuse=O;PIDControl();/ 1OOms 控制一次Inlpuse=O;EXO = 1;TR0 = 1;参数设定在程序中修改 PID 调节算法中的比例系列、积分系数和微分系 数可以得到不同特性的转速曲线。 参数改变, 转速响应的超调量和调 整时间发生变化。 系统的稳定性和快速性是一对矛盾, 因此我们必须 选择一个合适的 PI 参数。在调试过程中,当令kp =5、ki =、kd=时系统的快速性和稳定 性达到最佳状态。电位器的AD采集模块AD 采集模块利用是我是直接调用了开发板里面的程序,这个 模块可以也可以自己制作。我用的XPT2046是一款4线制电阻
14、式触摸 屏控制器,内含12位分辨率125KHZ转换速率逐步逼近型A/D转换器。 此芯片支持从到的低电压I/O接口。XPT2046能通过执行两次A/D转 换查出被按屏幕位置,除此之外,还可以测量加在触摸屏上的压力。 主要特性如下:(1)工作电压范围为到(2)支持的数字 I/O 口(3)内 建参考电压( 4)内建结温测量功能(5)触摸压力测量,具有自动省电功能(6)采用 3 线制 SPI 通信接口 程序见最后的程序清单。5 课题总结从课题选定开始,先是看了一遍课本以及网上找了对应的论文, 然后看了老师发的试验资料以及各个元器件的原理和用法, 最后把硬 件焊接起来,然后想如何测测速,如何给定,如何用
15、PID 进行控制,最后如何通过PID去控制PWM的占空比。在调试的过程中遇到一个很 简单和致命的问题,就是我用的开发板和L298N开始的时候没有共接 地导致调速一直失败,最后通过用示波器观测PW输出的波形发现了 问题,当真正的实现调速的时候感觉很好, 终于通过自己的努力完成 了一项有点技术含量的事情。继续加油。全部程序如下:对于程序,每个读者的 I/0 口或者用的 ad 采集 方式不一样, 程序可能不同, 但是解决闭环问题的核心是读取给定值用AD转换,读取测速值用外部中断和定时器中段, PWM输出也用一 个定时器。#include""#include""
16、/- 定义使用的 IO-/#define GPIO_DIG P0sbit PWM=P10;int e=0,e1=0,e2=0;/PID 偏float uk=0,uk1=,duk=;/PID 输出值float kp=5,ki=,kd=;/PID控制系数int out=0;sbit IN2=P11;/- 定义一个全局变量 -/unsigned int value,timer1;uint num;uint Inlpuse=0,num=0;/ 脉冲计数单元uint temp,count,temp1;unsigned int time=0;sbit zhongduan=P32;sbit LSA=P22;
17、sbit LSB=P23;sbit LSC=P24;/- 定义全局变量 -/unsigned char code DIG_CODE17= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;、d、E、F 的显示码8 位数的值/0 、1、2、3、4、5、6、7、 8、9、A、b、uchar DisplayData8;/ 用来存放要显示的 void DigDisplay(void);void PIDControl() /PID 偏差计算e=temp-num; duk=(kp*(e-e1)+
18、ki*e+kd*(e-2e1+e2) uk=uk1+duk;out=(int)uk;if(out>250)out=100;else if(out<0)out=0;uk1=uk;e2=e1;e1=e;value=out;void SetSpeed(void)temp1= Read_AD_Data(0x94); / AIN0 电位器 (100us 采集一次 temp=2*temp1>>5; /temp 的变化范围在 0-250 之间void DigDisplay(void)unsigned char i;unsigned int j;DisplayData7=DIG_COD
19、Enum%10000/1000;DisplayData6=DIG_CODEnum%1000/100;DisplayData5=DIG_CODEnum%100/10;DisplayData4=DIG_CODEnum%10/1;DisplayData3=DIG_CODEtemp%10000/1000;DisplayData2=DIG_CODEtemp%1000/100;DisplayData1=DIG_CODEtemp%100/10;DisplayData0=DIG_CODEtemp%10/1;for(i=0;i<8;i+)switch(i) / 位选,选择点亮的数码管,case(0):LS
20、A=0;LSB=0;LSC=0; break;/显示第0位case(1):LSA=1;LSB=0;LSC=0; break;/显示第1位case(2):LSA=0;LSB=1;LSC=0; break;/显示第2位case(3):LSA=1;LSB=1;LSC=0; break;/显示第3位case(4):LSA=0;LSB=0;LSC=1; break;/显示第4位case(5):LSA=1;LSB=0;LSC=1; break;/ 显示第 5 位 case(6):LSA=0;LSB=1;LSC=1; break;/ 显示第 6 位 case(7):LSA=1;LSB=1;LSC=1; br
21、eak;/ 显示第 7 位GPIO_DIG=DisplayDatai;/ 发送段码 j=50; / 扫描间隔时间设定 while(j-);GPIO_DIG=0x00;/ 消隐void exter0() interrupt 0 /外部中断脉冲计数 /M 法测速度 (外部中断 0 和定时器O用在M法测速上)Inlpuse+;void timerO() interrupt 1THO = Ox3c;/ 重装初值TLO = OxbO;time+;if(time>=2O) /1s 钟读取一次转速 ( 2*6Oms) EXO = O;TRO = O; num=Inlpuse; / 计算转速 Inlpu
22、se=O;PIDControl();/ 1OOms 控制一次 Inlpuse=O;EXO = 1;TRO = 1;void T1_time() interrupt 3/ 计时 1OOus*1OO=1Oms=1OOHz / 占空比count1+;if(count1 >= 1OO) count1 = O; if(count1 < value) pwm = 1; else pwm = O;void SystemInit()TMOD = 0x21; 工作方式 2( 自动重装初值 )TH0 = 0x3c;TL0 = 0xb0;TH1 = 0x9c;TL1 = 0x9c;EA = 1;ET0
23、= 1;ET1 = 1;EX0 = 1;IT0 = 1;/ 启动定时器 1/ 启动定时器 0/ 设定时器 0 为工作方式 1, 定时器 1 为/ 设定 50ms 一次中断/ 设定 100us 一次中断/ 开总中断/ 开定时器 0 中断/ 开定时器 1 中断/ 开外部中断 0/ 启动下降沿触发有效TR1 = 1;TR0 = 1; void main()SystemInit(); while(1) DigDisplay();AD采集模块:(这一部分程序只是 AD采集模块,用的芯片是XPT2046,用SPi通信方式,最 后改变电位器可以改变 temp 的值,这部分程序读者可以自己解决, )#ifnd
24、ef _XPT2046_H_#define _XPT2046_H_ /- 包含头文件 -/ #include<>#include<>/-重定义关键词 -/#ifndef uchar #define uchar unSigned char #endif #ifndef uint #define uint unsigned int #endif #ifndef ulong#define ulong unsigned long#endif/- 定义使用的 IO 口 -/sbit DOUT= P37;/输出sbit CLK =P36;/时钟sbit DIN =P34;/输入sbit CS =P35;/片选uint Read_AD_Data(uchar cmd);uint SPI_Read(void);void SPI_Write(uchar dat);#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亲近自然:拥抱大自然的美好小学主题班会课件
- 健康生活:小学生健康生活方式培养小学主题班会课件
- 科学防控健康未来健康堡垒小学主题班会课件
- 国际视野拓宽小学生国际理解的小学主题班会课件
- 心理健康:积极面对明天小学主题班会课件
- 勇敢追梦:少年志在中国梦小学主题班会课件
- 关于合作目标调整的确认函(8篇)
- 关于采购物资的中标结果公布的通知7篇
- 2026年中美贸易协议确认函(6篇范文)
- 餐饮业店长服务质量与业绩KPI考核表
- (完整版)道路交通安全法律法规知识应知应会试卷及答案
- 2025年湖北省宜昌市社区网格员考试题库(附答案)
- 2026年吉林省事业单位考试真题及答案
- 2026河南郑州临港产教融合科技有限公司第一批招聘34人笔试备考试题及答案详解
- 特种设备安全管理人员A证测试题库(附答案)
- 潞安化工招聘题库
- 2026年机动车授权签字人考试题库及答案解析
- DB3502∕T 087-2022 海绵城市建设设计标准图集
- 运输管理实务课件4.5铁路运费计算2
- 牛津译林版英语小学五年级下册5B全册知识点
- AQ/T 9009-2015 生产安全事故应急演练评估规范(正式版)
评论
0/150
提交评论