一种典型闭环PID控制教学实验设计

2017-09-25 07:58:26吴朝阳刘建成孙冬娇
实验技术与管理 2017年9期
关键词:帆板风机角度

刘 恒, 吴朝阳, 刘建成, 孙冬娇

(南京信息工程大学 电子与信息工程学院, 江苏 南京 210044)

一种典型闭环PID控制教学实验设计

刘 恒, 吴朝阳, 刘建成, 孙冬娇

(南京信息工程大学 电子与信息工程学院, 江苏 南京 210044)

利用浙江天煌教仪公司THETDA-4型实验教学平台,通过设计帆板倾角控制系统实验,让学生了解工程项目规范化的软硬件设计及调试要求,熟悉闭环电子控制系统的结构,掌握PID控制和PWM方法的应用。实验涉及同步串行IIC通信协议、卡尔曼滤波、基于双定时器的脉冲宽度调制、PID算法、虚拟串口示波器、无字库液晶的取模及驱动、机械结构的制作等,该实验属于一个典型的闭环PID控制综合实验,可作为单片机课程综合设计和大学生电子设计竞赛实训实验。

PID控制; 实验设计; 脉冲宽度调制; 帆板

全国大学生电子设计竞赛是教育部倡导的大学生学科竞赛之一,是面向大学生的群众性科技活动。竞赛的特色是与理论联系实际学风建设紧密结合,竞赛内容既有理论设计,又有实际制作,以全面检验和加强参赛学生的理论基础和实践创新能力[1]。

自2012年以来,笔者一直在学校负责全国大学生电子设计竞赛的赛前培训和竞赛指导工作。作为第一指导教师,指导的学生100%获级,其中国家一等奖3项,国家二等奖1项,江苏省一等奖6项,江苏省二等奖6项。长期关注和研究全国大学生电子设计竞赛题目,总结得出:历年控制类竞赛题目均为典型的闭环电子控制系统结构,执行器多为各类电机,考查涉及到在单片机上可实现的比例-积分-微分(PID)控制算法、脉冲宽度调制(PWM)技术等[2-4]。

1 帆板控制系统

典型的闭环电子测控系统(见图1)包括获得被测对象信息的传感器、主控单元MCU、执行器、人机接口、显示设备、电源模块。主控单元通过传感器来获得被测对象信息,获得的信息与人机接口设置的目标信息进行对比,从而根据误差来调整执行器的动作,实现被测对象的恒量输出。为了实时了解和方便观测被测对象信息,显示设备必不可少。电源模块负责给各部分模块供电。

图1 典型闭环控制电子系统结构框图

本文通过经典的闭环控制实验——帆板控制系统实验展示数字PID控制及PWM技术,在容许的角度误差范围内,实现帆板在实验者设置的倾角附近小幅摆动。

帆板控制系统见图2,被控制对象为简易帆板,传感器为倾角传感器(MPU6050),执行器为直流轴流风机,人机接口为矩阵按键,显示设备为LCD屏,电源有+12 V和+5 V,MCS-51单片机为主控制器,实验完全符合图1的典型闭环控制系统结构。本实验项目拟通过典型的帆板控制系统实验,让学生了解工程项目规范化的软硬件设计及调试要求,熟悉闭环电子控制系统的结构,掌握PID控制和PWM方法的应用,让应用者能举一反三,拓展到其他类似控制系统应用中[5-6]。

2 系统设计及工作原理

一种帆板控制系统包括一个悬挂自然下垂的纸板(帆板),在纸板上固定的陀螺仪传感器MPU6050(倾角传感器),12 V直流轴流风机,NPN三极管构成的电机驱动,4×4矩阵键盘,液晶屏LCD12864,主控模块MCS-51单片机,蜂鸣器,电源模块,所有模块均来自于THETDA-4型实验平台。

图2 帆板控制系统

帆板结构自制,可以由专门的支架、硬纸板、塑料杆等组成,杆子套在纸板内部,杆子通过热熔胶固定,纸板能够绕杆子转动,转动阻尼大小影响控制的精度,也可以将四脚方型板凳倒过来,4个脚就存在两两平行,将硬纸板制作的长方形帆板裁剪到合适尺寸,然后用软质导线固定帆板的长边2个角。在自身重量的作用下,静态时帆板就会保持下垂,简易的帆板结构就完成。将倾斜角度传感器MPU6050固定在帆板背风机面的中间位置。传感器的Z轴垂直帆板面,X轴垂直于帆板的长边,Y轴平行于帆板的长边。MPU6050的电源和信号均通过软质多股导线与电源和单片机引脚连接。传感器模块和导线通过透明胶粘接固定,导线的连接必须不影响帆板的运动,建议尽量采用轻质导线。

风机的风力尽可能集中到帆板的中心位置,鉴于风机和帆板高度的尺寸差异,需要将风机垫高,可以采用透明胶带将风机固定在基座上,从而风力集中到帆板的中心位置。

单片机STC90C58RD+包括40个引脚,完全兼容传统51单片机。P1端口8个引脚分配给4×4的矩阵键盘,通过排线相互连接;LCD12864的数据接口D7—D0依次连接P2端口的8个引脚,从高到低次序依次连接。液晶的控制引脚BL、D/I、R/W、E、CS1、CS2、RST依次连接P01、P02、P03、P04、P05、P06、P07,也通过排线连接。

MPU6050作为唯一挂在总线上的IIC器件,AD0地址线悬空,XDA、XCL悬空不接,因为传感器仅作为从机,INT为完成后中断,在本实验中悬空,采用查询方式读取信息。SCL、SDA引脚依次连接单片机的P32、P33引脚。

风机驱动采用NPN三极管,只有一个输入INT引脚,连接单片机P34引脚,驱动器的输出引脚连接风机的负电源黑线。

电源包括+12 V和+5 V,分别供给单片机、按键、液晶屏+5 V,对应的模块电源地连接公共地。+12 V给NPN驱动模块和风机的红色线。

3 实验开发环境及软件流程

本实验项目的开发环境是μVision4 IDE,它是德国Keil 公司开发的基于Windows平台的单片机集成开发环境,包含一个高效的编译器、一个项目管理器和一个MAKE工具。

实验项目没有配置硬件仿真器,采用串口来对单片机进行编程,通过USB转串口D9线完成电脑与单片机的连接,也可以采用专门USB型的STC单片机编程器。对应的编程软件是宏晶科技出品的STC单片机专用ISP下载编程软件。利用该编程软件可以将STC单片机的头文件加入到Keil软件中,在工程项目的配置中直接选择STC90C58RD+对应的头文件,便于工程的开发[7]。

为了实验者更好地理解及完成实验,整个实验由易到难分3步完成:第一步,手动掀起帆板,通过传感器MPU6050来完成倾斜角度的测量,同步将角度信息显示在屏上,并通过虚拟示波器显示角度变化的曲线;第二步,通过矩阵键盘对风机进行调速,达到帆板角度变化目的,观测风机的非线性和最大吹起角度;第三步,通过按键设置帆板倾斜角度,单片机通过PID控制算法来对风机进行自动调速,实现帆板保持在设定角度位置,同时误差在指定范围内发出声音警示来供观测者验证。

实验一,首先上电准备,对液晶屏和串口进行初始化,液晶初始化后显示“Init”;再对传感器MPU6050进行初始化,初始化没有成功就一直返回,不断初始化,初始化通过后显示“Done”,开始采集角度信息并对角度信息进行显示;然后将信息发送到上位机的基于Labview的虚拟示波器上。串口初始化设置异步通信格式,在虚拟示波器上也需要设置通信参数。

实验二和实验三的流程一致,首先上电准备,对液晶和串口进行初始化,液晶初始化后显示“Init”;再对传感器MPU6050进行初始化,初始化没有成功就一直返回不断初始化,初始化通过后显示“Done”,采集角度信息并对角度信息进行显示;然后对按键进行扫描,通过按键值得到对应的占空比或目标角度,通过算法调整脉冲宽度,驱动风机转动。传感器采集角度信息后进行显示。

实验二是开环手动调节占空比,实验三是闭环调节的,这是两者的不同,软件流程见图3。

图3 软件工作流程图

4 实验实现及分析

4.1 系统安全设计

实验利用浙江天煌教仪公司的THETDA-4型实验平台搭建,硬件连接见图4。在系统安全设计方面,主要考虑以下几点:

(1) 合理配置I/O引脚,多数信号采用排线进行电气连接,避免了误插线引起的故障。电源也通过转接板连接在一起,+12 V、 +5 V、GND用工程规范的不同颜色线连接。

(2) 整个系统主要是弱电系统,电源包括+12 V电源和+5 V直流电源。由于该系统的电源均取决于THETDA-4型平台,平台具有过流保险丝,电流过大或短路会发生保险丝熔断,保护其他模块。电源模块有开关可以打开或关断2路电源。

(3) 在实验中,也要求实验者必须牢记先断电再接线,然后检查接线正确再上电测试,操作中不容许带电热插拔和接线。

(4) 在系统调试中,根据模块功能进行单一模块的调试,子模块调试通过后再级联测试,避免将所有模块连一起再测试复杂的功能。

(5) 软件编程采用工程模块化方法,头文件里配置引脚及宏定义、函数声明,便于工程的硬件平台移植。

(6) 预先保留定时器1和串口P3.0及P3.1引脚,便于调试观测信号。

图4 实验硬件连接

4.2 实验步骤及现象

本项目实验分3步进行,由简单到复杂,由开环到闭环[8]。

(1) 手动掀起帆板,通过MPU6050获得帆板倾斜角度[9],液晶屏显示帆板的倾角,上位机虚拟示波器显示角度的变化曲线。

实验现象:手动掀帆板,液晶屏能显示对应角度的实时变化,上位机虚拟示波器能显示角度的变化曲线。通过量角器比较,角度小时误差小,角度大时误差大。传感器通过初始化后显示“Done”,并显示对应的角度,液晶屏显示见图5。自主设计的基于Labview的串口示波器能观察到角度曲线的变化见图6,在手动掀帆板中,手的抖动会产生曲线的毛刺。波特率为4 800 bit/s,在其他波特率下容易产生数据传输误差。

图5 液晶屏显示的帆板(手动)

图6 虚拟示波器观测到的角度曲线变化

现象分析如下:

① 传感器原理性误差:平板电容的大小与极板间隔距离成反比,间距越大,非线性越大。

② 编程换算误差:程序量大,2个中断,双倍速下也容易卡死。在角度换算中,浮点数近似为整数,加快运算,但也带来了误差。

③ 由于单片机的晶振为12 MHz,所以选择波特率为4 800 bit/s合适。

(2) 第二步:通过按键设置0~100%内任意占空比,观测风机的风速变化,并记录风机开始转动的占空比阈值和100%占空比时的帆板角度。分析占空比与角度之间的数值关系。

图7给出了不同占空比下的帆板吹起角度,通过按键能在0~100%间设置任意占空比,也能连加或连减调节。能观测到风机具有启动占空比阈值约为10%,占空比大到90%,帆板吹起角度近似不变。占空比与角度不具有线性关系。现象分析如下:适当增加电机驱动电压,可提高100%占空比下能达到的角度或更换大功率风机。

图7 不同占空比下的帆板角度

(3) 第三步:按键设置目标角度,观测帆板角度、脉冲宽度变化,当角度误差小于设定值时,声音提示。图8给出了不同设定角度下的占空比及测量角度,整定的PID参数相对比较合适,在2 s内能快速调节占空比,实现帆板角度的自主控制。

图8 不同设定角度下的占空比与测量角度

实验现象:

(1) 按键能设置任意两位数目标角度,但考虑风机的功率,最大可设置目标角度为50°;

(2) 在45°时,PID控制的误差不超过1.5°,在容许误差范围内蜂鸣器发声提示;

(3) 单向摆动误差过大时,减小比例系数效果好;单位时间内在目标角度左右摆动次数多,可减小微分系数来调整[10];

(4) 风机驱动器改变后,参数需要重新整定。风机相对帆板位置对角度误差影响比较大。

PID参数整定:先期设定比例系数为比较大的值,积分和微分系数为0,目标角度为最大角度的70%,观察帆板的摆动情况,直到出现振荡为止,记录此时的系数值,也可以从小到大增加系数值,直到振荡消失,记录该系数值,两者可以求平均;再调节积分系数,设定一个初始值,当摆动在目标值附近单一轮回回复慢,适当减小积分系数,当摆动在目标位置多次来回波动,加大积分系数;设定一个微分系数初值,偏离目标值大且回复慢,加大微分时间,单位时间内偏离目标角度误差不大,但振荡频繁,减小微分系数。

5 结语

本项目实验涉及的知识面广,软件包括传感器的IIC通信时序、数字增量式PID编程、基于定时器的脉冲宽度调制技术、单片机的中断编程、卡尔曼数字滤波等。本项目的创新主要体现在:

(1) 选用低成本没有专门PWM模块的STC90C58RD+单片机,通过定时器0和2的软件编程实现了脉冲宽度可调方波,扩充了定时器应用功能;

(2) 倾斜角度的换算,没有直接采用加速度的单一反正切,采用了陀螺仪和加速度的组合后的卡尔曼滤波算法,角度随机波动大大减小;

(3) 结合具体的风机死区特性,采用了带有分段式的增量PID控制算法。

致谢:感谢中国高等教育学会及浙江天煌教仪公司对实验设计支持,实验获得第一届全国高等院校工程技术应用教师大赛电子技术创新设计与应用赛项全国二等奖。

References)

[1] 刁鸣,王松武,李海波.大学生电子设计竞赛的实施与思考[J].实验技术与管理,2010,27(9):127-129.

[2] 陆伟男,蔡启仲,李刚,等.基于四轴飞行器的双闭环PID控制[J].科学技术与工程,2014,14(33):127-131.

[3] 田红鹏,范振可.四旋翼飞行器不完全微分PID控制算法研究[J].计算机仿真,2016,33(12):58-61.

[4] 吕淑平,许红,胡健军.直流电机组开/闭环控制实验系统设计[J].实验技术与管理,2017,34(1):69-73.

[5] 邹水平,行鸿彦,于祥.一种新的温度传感器湿度补偿方法[J].南京信息工程大学学报,2016,8(6):533-539。

[6] 王效华,牛思先. 基于单片机的PWM控制技术的实现 [J]. 武汉理工大学学报, 2010,32(1):94-98.

[7] 孟瑞丽,宋安,张宏群,等.一种数字频率特性测试仪的设计[J].南京信息工程大学学报,2015,7(2):137-141.

[8] 孟瑞丽,刘恒,张宏群. 一种静电驱动微机械谐振传感器的接口电路及应用[J].仪表技术与传感器,2015(5):90-93.

[9] 高显忠,候中喜,王波,等.四元数卡尔曼滤波组合导航算法性能分析[J].控制理论与应用,2013, 30(2):171-177.

[10] 刘海珊,陈宇晨.无刷直流电机PID控制系统仿真及实验研究[J].系统仿真学报,2009,21(16):5157-5160.

Design of teaching experiment of typical closed loop PID control

Liu Heng, Wu Chaoyang, Liu Jiancheng, Sun Dongjiao

(College of Electronic and Information Engineering, Nanjing University of Information and Technology, Nanjing 210044, China)

Based on the THETDA-4 experimental teaching platform of Zhejiang Tianhuang Teaching Instrument Company, and through the designed experiment of the tilt angle control system of the sailboard, the students can understand the standardized design and debugging requirements of the software and hardware of the engineering project, become familiar with the structure of the closed loop electronic control system, and grasp the PID(proportional integral derivative) control and the application of the PWM(pulse width modulation) method. The experiment involves the synchronous serial IIC communication protocol, the Calman filter, the pulse width modulation based on double timers, the PID algorithm, the virtual serial port oscilloscope, the mode acquisition and the drive of non-font liquid crystal, manufacturing of mechanical structure, etc. This experiment belongs to the comprehensive experiment of the typical closed loop PID control, and can be used as the comprehensive design of the SCM course and the practical training experiment for college student electronic experimental design contest.

PID control; experimental design; pulse width modulation; sailboard

TP273;G642.423

: A

: 1002-4956(2017)09-0042-05

2017-03-08

江苏省电子信息工程品牌专业质量工程建设项目(PPZY2015B134);南京信息工程大学教学改革研究课题(2015年);南京信息工程大学开放实验室项目(2016年)

刘恒(1980—),男,湖北黄冈,工学博士,副教授,硕士研究生导师,主要研究方向为传感器设计和数字信息处理.

E-mail:ghost80boy@163.com

10.16791/j.cnki.sjg.2017.09.012

猜你喜欢
帆板风机角度
神奇的角度
提高帆板竞技能力的教学与训练思考
一个涉及角度和的几何不等式链的改进
风机折翼“倒春寒”
能源(2018年5期)2018-06-15 08:56:02
风机倒塔事故为何频发?
能源(2017年9期)2017-10-18 00:48:27
角度不同
37°女人(2017年8期)2017-08-12 11:20:48
人啊
滇池(2017年7期)2017-07-18 19:32:42
节能技术EPU在AV71风机上的应用
帆板比赛
TS3000系统防喘振控制在 AV80-14风机中的应用