




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电气技术研究生课程设计报告题 目 基于 51 单片机的直流电机 PID 调速系统学院机械与汽车工程学院专业班级车辆工程学号3学生木飞指导教师完成日期2017 年 01 月 12 日1 引言1.1 研究对象介绍1.2 选题的目的和意义直流电动机具有良好的起动、 制动性能, 宜于在大围平滑调速, 在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。 从控制的角度来看, 直流调速还是交流拖动系统的基础。 早期直流电 动机的控制均以模拟电路为基础, 采用运算放大器、 非线性集成电路 以及少量的数字电路组成, 控制系统的硬件部分非常复杂, 功能单一, 而且系统非常不灵活、 调试困难, 阻碍了直流
2、电动机控制技术的发展 和应用围的推广。2 设计原理、方法及概述2.1 设计原理及方法直流电动机根据励磁方式不同,直流电动机分为自励和他励两 种类型。不同励磁方式的直流电动机机械特性曲线有所不同。 但是对 于直流电动机的转速有以下公式: n=U/Cc -TR/CrCc其中:U电压; R励磁绕组本身的电阻; 每极磁通 (Wb);Cc电势常数; Cr转矩常量。由上式可知, 直流电机的速度控制既可采用电枢控制 法,改变电枢回路电阻,也可采用磁场控制法。对于要求在一定围无 级平滑调速系统来说, 以调节电枢供电电压的方式为最好。 改变电阻 只能是有级调速;减弱磁通虽然能够平滑调速,但是调速围不大,往 往只
3、是配合调压方案,在基速(额定转速)以上做小围的减弱升速。 因此,自动控制的直流调速往往以变压调速为主。本文主要研究了利用 MCS-51系列单片机,通过 PWM方式控制 直流电机调速的方法。 PWM控制技术以其控制简单、灵活和动态响应 好的优点而成为电力电子技术最广泛应用的控制方式, 也是人们研究 的热点。由于当今科学技术的发展已经没有了学科之间的界限, 结合 现代控制理论思想或实现无谐振软开关技术将会成为 PWM控制技术 发展的主要方向之一。2.2 设计总概述以直流电机电枢上电压的占空比来改变平均电压的大小,从而 控制电动机的转速为依据, 实现对直流电动机的平滑调速, 并通过单 片机控制速度的
4、变化。 本文所研究的直流电机调速系统主要是由硬件 和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它 主要为软件提供程序运行的平台。 而软件部分, 是对硬件端口所体现 的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功 能,达到控制器自动对电机速度的有效控制。 但是此设计中电机只需 要正转,所以相对来说简单点。3 硬件设计3.1 8051 单片机简介AT89C52是一个低电压,高性能 CMOS 8位单片机,片含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据 存储器 (RAM),器件采用 ATMEL公司的高密度、非易失性存
5、储技术生 产,兼容标准 MCS-51指令系统,片置通用 8 位中央处理器和 Flash 存储单元, AT89C52单片机在电子行业中有着广泛的应用。AT89C52有 40个引脚, 32个外部双向输入 / 输出(I/O) 端口,同 时含 2个外中断口, 3个 16位可编程定时计数器 ,2 个全双工串行通 信口, 2 个读写口线, AT89C52可以按照常规方法进行编程,也可以 在线编程。 其将通用的微处理器和 Flash 存储器结合在一起, 特别是 可反复擦写的 Flash 存储器可有效地降低开发成本。部分功能如下:1) 8kB可反复擦写 (大于 1000次)Flash ROM;2) 32 个双
6、向 I/O 口;3) 256x8bit 部 RAM;4) 3 个 16 位可编程定时 / 计数器中断 ;5) 时钟频率 0-24MHz;6) 2个串行中断,可编程 UART串行通道 ;(7)2个外部中断源,共 8 个中断源 ;(8) 2 个读写中断口线, 3 级加密位 ;3.2 直流电机设计中采用直流电机, 自带高精度的磁编码器, 性能介绍如图一所示,接线说明如图二所示:性能介绍图一接线图二3.3 L298N恒压恒流桥式 2A驱动芯片 L298N,简称 H桥。 L298是 SGS公司 的产品,比较常见的是 15 脚 Multiwatt 封装的 L298N,部同样包含 4 通道逻辑驱动电路。 可
7、以方便的驱动两个直流电机, 或一个两相步进 电机。L298N芯片可以驱动两个二相电机, 也可以驱动一个四相电机, 输出电压最高可达 50V,可以直接通过电源来调节输出电压;可以直 接用单片机的 IO 口提供信号;而且电路简单,使用比较方便。L298N可接受标准 TTL逻辑电平信号 VSS,VSS可接 457 V 电压。 4 脚 VS接电源电压, VS电压围 VIH 为 2546 V。输出电 流可达 25 A ,可驱动电感性负载。 1脚和 15 脚下管的发射极分别 单独引出以便接入电流采样电阻, 形成电流传感信号。 L298 可驱动 2 个电动机, OUT1,OUT2和 OUT3,OUT4之间可
8、分别接电动机,本实验装置我们选用驱动一台电动机。 5,7,10, 12 脚接输入控制电平, 控制电机的正反转。 EnA,EnB接控制使能端, 控制电机的停转。 L298 芯片驱动电路图如下:图 1 L298 芯片驱动电路图3.4 系统总体电路图中控制器模块为系统的核心部件, 电位器和显示器是用来实现 人机交换功能,其过键盘将需要设置的参数和状态输入到单片机中, 并且通过控制器显示到显示器上。 在运行过程中控制器产生 PWM脉冲 送到电机驱动电路中, 经过放大后控制直流电机转速, 同时利用速度 检测模块将当前转速反馈到控制器中, 控制器经过数字 PID 运算后改 变 PWM脉冲的占空比,实现电机
9、转速实时控制的目的。图 1 系统方案框图4 软件设计4.1 PID 算法PI 调节器是电力拖动自动控制中最常用的的一种,在微机数字 控制系统中, 当采样频率足够高时, 可以先按模拟系统的设计方法设 计,然后再离散化,得到数字控制器的算法。PI 调节器的传递函数如 4.1 式所示:WPI (s) Kp s 1(4.1 )若输入误差函数为 e(t), 输出函数为 u(t), 则 e(t) 和 u(t) 的关系时域表达式可写成 :u(t) Kpe(t) Ki e(t)dt(4.2 )式子中 K p 为比例系数, Ki 1 为比例系数。将式 4.2 转化为差分方程,得到数字 PI 调节器的表达式,其第
10、 k 拍 k输出为 :u(k) Kpe(k) KiTsam e(i)(4.3 )i1式中 Tsam 为采样周期。 增量式算法只需要当前的和上一拍的偏差即可计算出输出值。 增量式 PI 调节器算法为: u(k) u(k 1) Kpe(k) e(k 1) KiTsame(k) (4.4 )在控制系统中,常需要对调节器的输出实施限幅。在数字控制 算法中,要对 u 限幅,只需要在程序中设置限幅值。不考虑限幅时, 位置式和增量式两种算法完全等同,考虑限幅时,则两者略有差异。 增量式 PI 调节器算法只需要输出限幅,而位置式算法必须同时设置 积分限幅和输出限幅。若没有积分限幅,积分项可能很大,将产生较 大
11、的退饱和超调。算法模块如下 :int e=0,e1=0,e2=0;float uk=0,uk1=0.0,duk=0.0;/PID 输出值float kp=5,ki=1.5,kd=0.9;/PID 控制系数 上面是初始化部分void PIDControl() /PID 偏差计算e=temp-num;/ 变量 temp 是 AD 采集过来的值, num是通过 M法测出点值duk=(kp*(e-e1)+ki*e+kd*(e-2e1+e2)uk=uk1+duk;out=(int)uk;if(out250)out=100;else if(out=20) /1s 钟读取一次转速 ( 2*60ms) EX0
12、 = 0;TR0 = 0; num=Inlpuse; / 计算转速Inlpuse=0;PIDControl();/ 100ms 控制一次Inlpuse=0;EX0 = 1;TR0 = 1;4.3 参数设定在程序中修改 PID 调节算法中的比例系列、积分系数和微分系 数可以得到不同特性的转速曲线。 参数改变, 转速响应的超调量和调 整时间发生变化。 系统的稳定性和快速性是一对矛盾, 因此我们必须 选择一个合适的 PI 参数。在调试过程中,当令 kp =5、ki =1.5 、kd=0.9 时系统的快速性 和稳定性达到最佳状态。4.4 电位器的 AD 采集模块AD 采集模块利用是我是直接调用了开发板
13、里面的程序,这个 模块可以也可以自己制作。我用的 XPT2046是一款 4 线制电阻式触 摸屏控制器,含 12位分辨率 125KHz转换速率逐步逼近型 A/D 转换器。 此芯片支持从 1.5V到 5.2V的低电压 I/O 接口。 XPT2046能通过执行 两次 A/D 转换查出被按屏幕位置, 除此之外, 还可以测量加在触摸屏 上的压力。主要特性如下:1)工 作电压围为 1.5V到 5.25V2)支 持 1.5V-5.25V的数字 I/O 口(3)建 2.5V 参考电压( 4)建结温测量功能(5)触摸压力测量,具有自动省电功能(6)采用 3线制 SPI通信接口 程序见最后的程序清单。5 课题总结
14、从课题选定开始,先是看了一遍课本以及网上找了对应的论文, 然后看了老师发的试验资料以及各个元器件的原理和用法, 最后把硬 件焊接起来,然后想如何测测速,如何给定,如何用 PID 进行控制, 最后如何通过 PID 去控制 PWM的占空比。在调试的过程中遇到一个很 简单和致命的问题, 就是我用的开发板和 L298N开始的时候没有共接 地导致调速一直失败, 最后通过用示波器观测 PWM输出的波形发现了 问题,当真正的实现调速的时候感觉很好, 终于通过自己的努力完成 了一项有点技术含量的事情。继续加油。全部程序如下:对于程序,每个读者的 I/0 口或者用的 ad 采集 方式不一样,程序可能不同, 但是
15、解决闭环问题的核心是读取给定值 用 AD 转换,读取测速值用外部中断和定时器中段, PWM输出也用一 个定时器。#includereg51.h#includeXPT2046.h/- 定义使用的 IO-/#define GPIO_DIG P0sbit PWM=P10;int e=0,e1=0,e2=0;/PID 偏float uk=0,uk1=0.0,duk=0.0;/PID 输出值float kp=5,ki=1.5,kd=0.9;/PID控制系数int out=0;sbit IN2=P11;/- 定义一个全局变量 -/unsigned int value,timer1;uint num;uin
16、t Inlpuse=0,num=0;/ 脉冲计数单元uint temp,count,temp1;unsigned int time=0;sbit zhongduan=P32;sbit LSA=P22;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;/0 、1、2、3、4、5、6、7、 8、9、A、b、C、d、E、F 的显示码uchar Disp
17、layData8;/用来存放要显示的 8 位数的值void DigDisplay(void);void PIDControl() /PID偏差计算e=temp-num; duk=(kp*(e-e1)+ki*e+kd*(e-2e1+e2)uk=uk1+duk;out=(int)uk;if(out250)out=100;else if(out5; /temp 的变化围在 0-250 之间void DigDisplay(void)unsigned char i;unsigned int j;DisplayData7=DIG_CODEnum%10000/1000;DisplayData6=DIG_CO
18、DEnum%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=20) /1s 钟读取一次转速 ( 2*60ms) EX0 = 0;TR0 = 0; num=Inlpuse; / 计算转速Inlpuse=0;PIDCo
19、ntrol();/ 100ms 控制一次 Inlpuse=0;EX0 = 1;TR0 = 1;void T1_time() interrupt 3/计时 100us*100=10ms=100Hzcount1+;if(count1 = 100) count1 = 0;/ 占空比if(count1 value) pwm = 1; else pwm = 0;void SystemInit()TMOD = 0x21; 工作方式 2( 自动重装初值 )TH0 = 0x3c;TL0 = 0xb0;TH1 = 0x9c;TL1 = 0x9c;EA = 1;ET0 = 1;ET1 = 1;EX0 = 1;IT
20、0 = 1;TR1 = 1;TR0 = 1; / 设定时器 0 为工作方式/ 设定 50ms 一次中断/ 设定 100us 一次中断/ 开总中断/ 开定时器 0 中断/ 开定时器 1 中断/ 开外部中断 0/ 启动下降沿触发有效/ 启动定时器 1/ 启动定时器 01, 定时器 1 为void main()SystemInit(); while(1) DigDisplay();spi 通信方式,AD 采集模块:(这一部分程序只是 AD 采集模块,用的芯片是 XPT2046,用 最后改变电位器可以改变 temp 的值,这部分程序读者可以自己解决, ) #ifndef_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 口 -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理测评与评估技术考核试题及答案
- 2025年心理学基础知识测试题及答案
- 2025年航空服务与管理知识测试卷及答案
- 2025年护理学专业实习考核试题及答案
- 2025年生命科学与医学伦理综合能力考试卷及答案
- 2025年中国邮政集团有限公司广西壮族自治区分公司校园招聘笔试模拟试题含答案详解
- 物资质量监督管理制度
- 物资采购付款管理制度
- 特殊学校宿舍管理制度
- 特殊岗位人员管理制度
- 2025年政治经济学考试题及答案回顾
- 政府采购评审专家考试真题库(带答案)
- 2025年高考志愿填报-12种选科组合专业对照表
- 《知识产权法学》一万字笔记
- 固体废物堆肥处理技术课件
- 脑卒中的诊断与治疗
- 中国古茶树资源状况白皮书2025
- 牙科技术入股合作协议书
- 2025甘肃省农垦集团限责任公司人才招聘524人易考易错模拟试题(共500题)试卷后附参考答案
- 温泉水项目可行性分析报告(模板参考范文)
- 2024年海关总署在京直属事业单位招聘笔试真题
评论
0/150
提交评论