首页 百科知识 理论分析与计算

理论分析与计算

时间:2022-10-29 百科知识 版权反馈
【摘要】:设计并制作一套简易旋转倒立摆及其控制装置。旋转臂是旋转倒立摆的传动装置,由电机带动旋转使摆杆运动。在旋转倒立摆当中,摆杆由旋转臂传动,需要完成一系列动作,题目的指标都是根据摆杆的运动情况来判别。所以,摆杆应该设计得轻巧且易于摆动,以减轻后端驱动装置的压力。但长期漂移可以通过校准克服,且摆杆角度测量范围不超过180°,完全可以避开角度测量死区。

C题 简易旋转倒立摆及控制装置

一、任务

设计并制作一套简易旋转倒立摆及其控制装置。旋转倒立摆的结构如图C-1所示。电动机A固定在支架B上,通过转轴F驱动旋转臂C旋转。摆杆E通过转轴D固定在旋转臂C的一端,当旋转臂C在电动机A驱动下做往复旋转运动时,带动摆杆E在垂直于旋转臂C的平面作自由旋转。

图C-1 旋转倒立摆结构示意图

二、要求

1. 基本要求

(1)摆杆从处于自然下垂状态(摆角0°)开始,驱动电机带动旋转臂做往复旋转使摆杆摆动,并尽快使摆角达到或超过-60°~+60°;

(2)从摆杆处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动;

(3)在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除的同时,启动控制旋转臂使摆杆保持倒立状态时间不少于5 s;期间旋转臂的转动角度不大于90°。

2. 发挥部分

(1)从摆杆处于自然下垂状态开始,控制旋转臂做往复旋转运动,尽快使摆杆摆起倒立,保持倒立状态的时间不少于10 s;

(2)在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2 s内恢复倒立状态;

(3)在摆杆保持倒立状态的前提下,旋转臂做圆周运动,并尽快使单方向转过角度达到或超过360°;

(4)其他。

三、说明

(1)旋转倒立摆机械部分必须自制,结构要求如下:硬质摆杆E通过转轴D连接在旋转臂C边缘,且距旋转臂C轴心距离为20 cm±5 cm;摆杆的横截面为圆形或正方形,直径或边长不超过1 cm,长度在15 cm±5 cm范围内;允许使用传感器检测摆杆的状态,但不得影响摆杆的转动灵活性;图C-1中支架B的形状仅作参考,其余未作规定的可自行设计结构;电动机自行选型。

(2)摆杆要能够在垂直平面灵活旋转,检验方法如下:将摆杆拉起至水平位置后松开,摆杆至少能够自由摆动3个来回。

(3)除电动机A之外,装置中不得有其他动力部件。

(4)摆杆自然下垂状态是指摆角为0°的位置,见图C-2。

图C-2 摆杆位置示意图

(5)摆杆倒立状态是指摆杆在-165°~165°范围内。

(6)基本要求(1)、(2)中,超过30 s视为失败;发挥部分(1)超过90 s视为失败;发挥部分(3)超过3 min即视为失败;以上各项,完成时间越短越好。

(7)摆杆倒立时施加干扰的方法是,以15 cm长细绳拴一只5g砝码,在摆杆上方将砝码拉起15°~45°,释放后用砝码沿摆杆摆动的切线方向撞击摆杆上端1~2 cm处;以抗扰动能力强弱判定成绩。

(8)测试时,将在摆杆后1~2 cm处固定一如图C-2所示轻质量角器,以方便观察摆杆的旋转角度。

四、评分标准

报 告 1

基本信息

一、设计方案工作原理

1.预期实现目标定位

根据题目要求,需要自行设计制作一套旋转倒立摆及其控制装置,能够实现摆杆的自动起摆、倒立和旋转臂的圆周运动等功能,并具有一定的抗干扰能力,即在对摆杆施加一定的冲击干扰的情况下能够保持摆杆的倒立状态。

2.技术方案分析

系统由机械结构部分和控制电路部分组成,两个部分都很重要,机械结构的好坏影响到整个系统的工作性能,而控制电路的正常工作则是系统功能完善的保证。

(1)机械结构的设计方案

一个简易倒立摆系统是一个完整的测量控制系统,其中的机械结构则是这个测控系统的对象,对象的好坏在很大程度上会影响到后期控制算法的设计,对象制作得越稳定可靠,系统的性能也就越好。所以,在制作这样一个精密控制系统的时候,前期的对象制作是非常关键的一步,在制作的时候要尽量确保它的稳定性,选用合适的材料、采用尽量好的制作工艺。

在简易倒立摆中,机械结构大概分成以下几个部分,旋转臂、摆杆、摆杆转轴、电机和底座,下面就这几个部分作详细介绍。

① 旋转臂

旋转臂是旋转倒立摆的传动装置,由电机带动旋转使摆杆运动。旋转臂需要承受较大的力矩不能太重,后期要在旋转臂上安装转轴并与电机固定,所以也要易于加工。我们采用铝合金材质的U形条来加工旋转臂,在旋转臂中间位置打洞以便于与电机铆接,在旋转臂前端打洞以安装摆杆转轴。

② 摆杆

在旋转倒立摆当中,摆杆由旋转臂传动,需要完成一系列动作,题目的指标都是根据摆杆的运动情况来判别。所以,摆杆应该设计得轻巧且易于摆动,以减轻后端驱动装置的压力。另外,由于在倒立的过程中摆杆的轻微运动都应该被控制器捕捉到,所以如果能降低摆杆的运动速度,控制器就能更清晰地捕捉到摆杆的运动状况,控制也就能更精确。

当摆杆下垂时,可以看做单摆,其周期满足公式:

式中g是重力加速度,l是摆长,可以看到摆长越长,运动周期就越长。所以在设计摆杆的时候应该让其摆长尽量长,但题目对摆长有规定(20 cm以内),所以也不能使用过长的摆杆。

实际制作中,我们采用铁质空心方管制作摆杆,并在摆杆的近转轴处打了许多洞(如图C-1-1所示),这样可以使摆杆的重心向远离转轴的一端移动,且可以减小摆杆的重量。增加摆长l可以在相同条件下增加摆的周期,降低对控制实时性的要求;减小摆杆重量可以降低对电机驱动能力的要求,增加系统的可靠性

图C-1-1 摆杆示意图

③ 摆杆转轴

在倒立摆设计当中,摆杆转轴除了能使摆杆在竖直面内自由旋转之外,还应实现摆角测量的功能,所以可以直接使用带有转轴的角度测量装置作为摆杆转轴。为此,有两种方案可以选择:

a. 脉冲编码器:脉冲编码器可以有很高的测量精度,而且是数字信号,不容易受干扰。但在倒立摆系统中,摆杆角度来回变化,需对脉冲信号进行加减计数。为保证角度测量的实时性,应采用正交解码硬件电路实现角度测量,对系统资源要求较高。由于我们选用的MCU没有正交解码硬件电路资源,若采用CPLD或FPGA设计该电路,将增加系统的复杂程度且耗费较多的时间。所以,我们放弃了这个方案。

b. 电位器型角位移传感器:电位器型角位移传感器的测量精度不是很高,并存在长期漂移和角度测量死区的问题。但长期漂移可以通过校准克服,且摆杆角度测量范围不超过180°,完全可以避开角度测量死区。电位器型角位移传感器输出的模拟电压信号,可以方便通过A/D转换器实现角度测量,计算处理非常方便。所以我们选择了这个方案。

安装时,用一个支架结构将电位器型角位移传感器固定在旋转臂上,再用一个固定结构把摆杆连接在传感器的输出轴上。

④ 电机

旋转倒立摆当中,由于需要频繁地变换电机的转向和转速,驱动旋转臂使摆杆运动,所以电机必须能够输出一定的转矩,对于转速也有相应的要求以保证倒立摆控制的动态响应要求。通常,可以选择步进电机或直流电机。在不“失步”的情况下,采用步进电机易于实现旋转臂的角度控制,但其负载能力较差,且为了不产生“失步现象”需要对步进脉冲频率的变化速度进行较为复杂的控制;而直流电机的过载能力强,便于控制,虽然需要增加旋转臂角度测量,但总体来看利大于弊。所以,我们选择直流电机。

我们采用了24V 2A的直流电机,配合1∶12.5的减速器,这样可以得到不错的力矩而且速度也比较合适。同样,安装时用一个固定结构把旋转臂连接在减速器的输出轴上就可以了。

⑤ 底座

倒立摆工作的时候,会出现很强的振动,电机的高速变相也会产生很大的惯性,需要把装置固定在一个底座上才行,而且底座也不能太过笨重,否则会给后期的测试带来许多麻烦。

我们用铁条做了一个简易的支架,把电机用螺丝固定在支架上面,然后把支架固定在一块大的底板上,这样就可以有很好的固定效果,而且也比较简洁轻巧。底座的示意图如图C-1-2所示。

图C-1-2 底座示意图

(2)测控电路的设计方案

在上面的机构设计中已经选择好了电动机、角度传感器,后面的测控电路就依据对象的特性来设计,主要包括电源模块、主控制器模块、电机驱动模块、传感器采集模块、显示模块和输入模块。

① 电源模块

在实际制作中,我们发现电动机的电流比较大,较大的电流会影响高速运行的控制器工作,出现死机或者程序跑飞的情况。我们最终采用了两个开关电源供电,一个12 V的开关电源用于控制器、输入输出、传感器的供电,一个24 V的开关电源用于电机驱动模块。

② 主控制器模块

倒立摆系统是一个实时性要求较高的控制系统,为了使倒立摆稳定,需要很高的控制速度,而且还需要涉及自动起摆、圆周运动等复杂运动,算法也相对复杂。所以我们需要选择运算速度快、内存空间大的单片机作为控制器。由于我们对MSP430系列单片机比较熟悉,对其中F5438单片机非常熟练,所以选择它。该MCU主频达到了25 MHz,并拥有16 KB的内存,并内置12位A/D转换器、T/C等系统资源,为实现倒立摆控制提供了保证。

③ 电机驱动模块

倒立摆系统对于电机的力矩要求比较高,而强大的力矩不仅需要强力的电机和变速箱的支持,还要求驱动电路能够输出足够的电流。驱动电路不仅要有足够的电流输出能力,还得比较精确地控制电流大小,支持频繁的电流换向输出,提供简单的单片机接口

对于这种需求,我们采用了BTN7971全桥驱动模块,该模块可以达到极高的电流输出和优秀的控制精度,对于频繁的换向也不会出现电流过流的情况。

④ 传感器采集模块

在之前的机构设计当中,我们选用了多圈电位器作为我们的主传感器,用于直接测量摆杆的角度,而这个电路的采集方法很简单,只需要在电位器的滑动端布置A/D采样电路就可以了,MSP430F5438单片机内有12位A/D采样模块,可以直接完成高精度的A/D采样工作。另外,我们考虑到不同的地点可能会造成电压不稳定的情况,给多圈电位器设计了一个极高精度的基准电压信号,使得设备可以稳定工作。该模块示意图如图C-1-3所示。

图C-1-3 传感器采集模块示意图

另外,我们发现只靠一个传感器检测摆杆的姿态是不够的,这样控制器只能维持摆杆不倒,但无法保证旋转臂的角度满足题设要求。题目要求旋转臂的角度变化范围不超过90°,所以需要再安装一个辅助传感器,用于检测旋转臂的转动角度,当发现其发生一定的偏移时能及时作出调整。

如果采用与测量摆杆角度相同的方法测量旋转臂的转动角度,在电机减速器输出轴上安装一定的机械结构,需要做较为复杂的机械加工,所以我们没有采用这个方案。

我们注意到系统对于旋转臂角度并不需要很精确的测量,所以可以采用对角加速度积分的方法实现旋转臂角度的测量。我们在旋转臂上安装了一个加速度传感器,将测点的切线加速度换算成旋转臂的角加速度,对加速度做二次时间积分就可以得到摆臂的角度。加速度传感器采用的是MPU6050,采用I2C总线与MCU进行通信,使用很方便。

⑤ 显示模块和输入模块

图C-1-4 简易旋转倒立摆示意图

由于系统功能比较多,所以需要一个菜单界面用于控制功能设置和选择,在这里我们用了比较熟悉的2.3英寸320×240的液晶屏和独立按键模块构建电路。

(3)系统实现

简易倒立摆结构示意图如图C-1-4所示,控制电路结构框图如图C-1-5所示。

图C-1-5 测控电路结构框图

系统运行时,在液晶屏上显示菜单界面,用户通过按键模块控制进入对应功能。而后控制器读取两个传感器的值,整合计算后发出特定频率和占空比的PWM波形,控制电机驱动模块输出不同的电流、电压,最终使摆杆完成需要的动作。

3.功能指标实现方法

(1)摆杆摆动功能

这个功能要求摆杆能尽快摆动到一定的角度,我们分析后认为这个功能要达到的效果和共振很相似,所以应该让旋转臂以特定频率来回振动以达到这个效果。经过调试,最后我们发现当旋转臂振动频率是摆杆固有周期的两倍时可以轻松把摆杆甩过360°,用时非常短。

(2)倒立功能

这个功能要求摆杆能在手动送到倒立状态的情况下,自动保持住摆杆的倒立状态。根据之前的设计,需要定时采集两个传感器的值,整合运算并换算成PWM占空比,用于驱动电机。

在我们的设计当中,使用了MSP430F5438单片机自带的PWM产生模块,并通过对寄存器的调整使得PWM的占空比调整分辨率达到了1024。另外定义了一个定时中断,定时周期为 2 ms, 每一次定时中断对摆杆角度作一次反馈,每三次定时中断对旋转臂姿态作一次反馈。

(3)自动起摆功能

在自动起摆的设计中,有一种办法是不断振动旋转臂并同时检测角度,然后在某个角度开始控制直立,但这样编程难度很大,而且不容易把握住切换的位置,容易受运行环境影响,另外这种方法每次起摆的耗时也会比较长。

我们经过分析,想到如果设计一套固定的动作序列,让摆杆每次在完成这套动作后都能从自然下垂的状态摆动到某一个固定的比较合适的点位,然后开始控制直立,应该能取得不错的效果。所以我们设计了一套“摆动—停止—摆动”的固定动作,让摆杆每次都能运动到170°的位置,这时开始自动倒立控制,就能很可靠地直立了。这个方法的起摆动作非常快,能在1s左右完成起摆和倒立。

(4)圆周运动功能

在小车式倒立摆的理论里面,如果摆杆直立向上,那么小车就不会左右运动,如果摆杆有一个倾斜的角度,那么小车就会向一个方向运动。

在旋转倒立摆当中,我们如果把反馈的目标角度定义为180°(即倒立的位置),那么旋转臂就不会大幅度运动了。同样的,我们把反馈的目标角度改为175°,摆臂就开始向一个方向运动,而且可以通过倾斜角度的大小控制运动的速度。

二、核心部件电路设计

1.电机驱动电路

图C-1-6 电机驱动电路

2.MPU6050电路

图C-1-7 MPU6050电路

三、系统软件设计分析

1.系统总体工作流程

软件部分主要分成菜单界面设计和控制算法运行部分。程序流程图如图C-1-8所示。

图C-1-8 主程序流程图

2.程序设计思路

在软件体系当中,首先在菜单界面中进行人机交互,当进入功能后根据功能要求调用不同的函数。

除了交互和运行程序外,核心算法和控制相关的代码都放在定时器的中断当中。交互程序的最后,当所有设置都结束,在需要开始控制的地方开启定时器中断,并循环检测退出信号,这时摆杆开始自动控制完成动作。在需要退出的时候,按下“退出”按钮,程序检测到退出信号,关闭定时器中断,回到主菜单。

根据控制周期的需要,我们的定时采用2 ms的间隔,每2 ms做一次摆杆直立反馈,每6 ms做一次旋转臂速度反馈。

3.关键模块程序清单

略,详见网站。

四、竞赛工作环境条件

(1)设计分析软件环境

Windows7操作系统,使用串口示波器、IAR等编程设计仿真软件。

(2)仪器设备硬件平台

稳压电源,信号发生器,示波器。

(3)配套加工安装条件

有折弯机、台钻、热熔胶枪等工具,实现机械结构的制作。

(4)前期设计使用模块

在前期设计中,已独立完成MPU6050的数据获取及通过二次积分测量旋转角度的功能,所以旋转臂的角度测量很快就实现了。

五、作品成效总结分析

1.系统测试结果

表C-1-1 系统测试结果表

2.创新特色总结展望

采用开环控制与闭环控制相结合的控制方案,即起摆采用开环控制,摆杆进入倒立状态后采用闭环控制

进入倒立控制状态后,采用双传感器的双闭环反馈控制方法,同时实现了摆杆的倒立控制和旋转臂的角度控制,取得了很好的效果。倒立摆在保持倒立的状态下晃动较小,且能够承受较大动量的撞击而继续保持倒立状态;旋转臂的圆周运动也能够达到较快的速度。

在完成题目要求的基础上,我们还设计了自由发挥的项目,即在保持摆杆倒立状态时,旋转臂可以“原位正转一周—反转一周—返回原位”。

六、参考资料

[1]吴爱国,张小明,张钊.基于Lagrange 方程建模的单级旋转倒立摆控制[J].中国工程科学,2005,7(10)

[2]马光,高强.单级旋转倒立摆控制研究[J].天津理工大学学报,2007,23(3)

报 告 2

基本信息

一、设计方案工作原理

1.预期实现目标定位

设计并制作一套简易旋转倒立摆及其控制装置,能够实现题目中所有的要求。可以对倒立摆进行摆角控制,并实现稳定的倒立与圆周运动。

2.技术方案分析比较

本系统主要由电机及控制模块、摆杆角度测量模块、电源模块,显示模块等组成,下面分别论证这几个模块的选择。

(1)控制电机方案的论证与选择

题目中所有的动力来源都来自所使用的电机模块,因而电机模块的选择显得十分关键。

方案1:步进电机方案。步进电机在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,不受负载变化的影响。单片机可以精确控制步数与转速,适合较高精度的控制,然而电机的启动方式与较高的延迟值也对控制行为造成了很大的负面影响。

方案2:直流电机方案。直流电机驱动较为简便,速度快,反应时间短。但是转动的稳定性较步进电机差,因而对控制算法提出了更高的要求。

通过分析倒立摆的要求,发现步进电机难以实现相关的控制,所以在本题目中,我们选择了直流电机作为控制电机,同时搭配了L298N作为电机的驱动模块。

(2)摆杆角度测量方案的论证与选择

方案1:采用以MPU6050为代表的陀螺仪传感器。该类传感器多用于航模等空间方位十分敏感的领域。由于获取数据之后需要对其测得的三轴角速度以及三轴加速度进行融合滤波,然后才可以获得较为可靠的结果,这对于我们选用的MSP430单片机来说运算量显得稍大,难以保证实时性。但是MPU6050输出的六轴数据当中的Y轴角速度对于我们之后稳定倒立摆的控制算法起到了重要的作用,因此我们将MPU6050作为辅助的角度传感方式。

方案2:采用旋转编码器系列。编码器可以直接将旋转以及角度信息转换为编码脉冲输出,单片机可以直接通过中断方式获取角度值,较为符合本题目的环境。然而考虑到所选单片机(MSP430)的处理能力有限,在旋转臂转速过快时编码器注入很高的脉冲造成的中断将会影响单片机原本进行的对电机等的控制。此外,由于单片机捕获中断存在的各种误差在运行过程中不能消除而逐渐积累,这也会影响我们接下来的测控任务。

方案3:采用多圈电位器。多圈电位器可以随着外界的转向以及角度等输出相应的电阻值。由于其输出为模拟量,需要外接电压通过A/D采样的方式才能获得相应的数值,并不如前面的多款传感器方便和准确,然而这类传感器对于时序没有特殊要求,可以很好地适合本题目的情景。同时430单片机内部也集成了相应的A/D,可以进行采样,精度也符合本题目的要求。

综合这几种方案的优缺点,我们选择了WDD35D4电位器。虽然MPU6050并不能完全满足我们的需求,但是仍在之后的设计当中借用了它的Y轴角速度部分作为速度环反馈稳定倒立摆控制算法的输出量。

3.系统结构工作原理

机械系统的设计图示如图C-2-1所示,系统的总体框图如图C-2-2所示。

图C-2-1 系统的机械结构3D模型

图C-2-2 系统的总体框图

系统中的唯一动力来源为直流电机,通过L298N驱动板可以产生相应的正转、反转,灵敏性好,同时控制所用的PWM波使用方便。

多圈电位器作为主要的角度测量传感器,将系统的摆杆角度信息反馈给单片机。

430单片机内部的12位高速A/D可以设定的量程有1.5 V、2 V与2.5 V三挡。设定在2.5 V时与多圈电位器的配合较好。

MPU6050作为辅助传感器,反馈给单片机Y轴角速度(实际情况与安装的方向有关),整体起到速度环的作用。

4.功能指标实现方法

单摆能够稳定在垂直位置的条件有两个:

(1)受到与位移(角度)相反的回复力;

(2)受到与运动速度(角速度)相反的阻尼力。

倒立摆在偏离它平衡位置的时候,所受到的回复力与位移方向相同,而不是相反。因此,倒立摆便会加速偏离垂直位置,直到倒下。

如何通过控制使得倒立摆能够像单摆一样,稳定在垂直位置呢?要达到这一目的,只有一个办法:增加额外的受力,使得回复力与位移方向相反。

图C-2-3 系统的核心控制框图

因此系统的核心控制框图如图C-2-3所示,通过带有速度环的PID算法实现系统功能。

根据摆动系统频率的变化,可以采用椭圆积分的方式获得电机控制摆杆的振动周期随角度的变化情况。用Matlab完成的积分图如图C-2-4所示。

图C-2-4的仿真结果中,忽略了转轴阻力对摆动的影响。可见在实际的控制中,由电机控制的外加振动频率需要随系统固有频率的变化而变化。在系统起振时,旋转臂的振动周期可以采用经典的简谐运动公式进行近似求解,完成起振过程。之后随着摆幅的加大,周期逐渐发生改变,单片机控制的电机往复周期也作出相应的调整。

图C-2-4 电机的周期与旋转臂角振幅的关系

二、核心部件电路设计

1.关键器件性能分析

图C-2-5 A/D采样值与位置对应图

(1)电位器测试

电位器是该设计方案中的核心部分。多圈电位器可以将角度转换为电阻值输出,进而借助外电路将电阻值转换为电压量接入到A/D当中。单片机通过A/D采样获得的12位数值需要对应到0~360°。同时由于多圈电位器存在最大值与最小值之间的间断点,需要我们在单片机内对此区域进行滤波处理。因而进行电位器的测试,获取圆周坐标与A/D采样数值以及间断区所在的位置十分重要。实际测量时获得的点数非常多,这里仅用一张图示表示我们所连接的电位器的A/D值与角度值的对应关系。

(2)陀螺仪测试

实际上倒立摆控制中还需要引入关键的速度环才能保证倒立摆的稳定运行。速度环可以从MPU6050中的角速度获得相应的输入量。MPU6050本身存在零漂的现象,需要进行修正。进行零漂修正之后陀螺仪的输出量相对稳定,可以满足控制中速度环负反馈的作用。

2.电路工作机理

通过L298N驱动板可以产生相应的正转、反转,控制直流电机。L289N与单片机以及直流电机的连接方法如图C-2-6所示。

图C-2-6 L289N与单片机以及直流电机的连接方法

多圈电位器作为主要的角度测量传感器,将系统的旋转臂角度信息反馈给单片机,提供 2.5V 稳压的电源模块,电路图如图C-2-7所示。

图C-2-7 2.5 V电源模块电路图

3.关键电路驱动接口

系统的输入输出接口包括:

(1)A/D转换接口(3路):用于读取多圈电位器输出的电阻值,并转化为数字量读入单片机,3路A/D转换通道共同读取一个电压量并进行中值滤波,以获得较为平滑的角度数据。

(2)PWM接口(2路):用于输出电机控制信号以及L298N所需要的维持信号。

(3)I2C接口(2路):用于初始化陀螺仪MPU6050并读取输出的Y轴角速度数据。

(4)SPI接口(2路):用于与语音模块通讯,完成声音提示功能。

三、系统软件设计分析

1.系统总体工作流程

根据题目要求,软件界面部分主要实现键盘的设置和显示。

(1)键盘实现功能:选择相应的功能。

(2)显示部分:显示菜单项、当前任务、角度测量值、角速度测量值。

(3)语音模块功能:提示菜单项。

图C-2-8 主程序流程图

主程序流程图如图C-2-8所示。

2.程序设计思路

由于MSP430的单任务特性,因而需要我们借用定时器中断实现多个任务的处理。单片机进行的任务有界面的显示(主循环中完成,优先级最低)角度值的测量(计时器中断)电机的控制(PMW信号)算法的执行(PID控制算法、融合算法等的实现)。

主要模块程序设计的流程图如图C-2-9至图C-2-11所示。

图C-2-9 起振子程序流程图

图C-2-10 圆周运动子程序流程图

图C-2-11 倒立悬挂子程序流程图

3.关键模块程序清单略,详见网站。

四、竞赛工作环境条件

1.设计分析软件环境

Windows7操作系统,使用Matlab、IAR等编程设计仿真软件。

2.仪器设备硬件平台

稳压电源,信号发生器,示波器。

3.配套加工安装条件

有电钻、胶枪等工具,实现机械结构的制作。

4.前期设计使用模块

前期的设计中,使用直流电机以及驱动模块进行设计与调试。在机械结构搭建完毕后,对多圈电位器模块以及陀螺仪模块进行了调试与使用。

五、作品成效总结分析

1.系统测试性能指标测试

系统测试结果如表C-2-1所示。

表C-2-1 系统测试情况

2.创新特色总结展望

系统中摆的相关分析均在Matlab上完成数学建模与仿真。

角位移传感器与陀螺仪结合,采用带有速度环的PID算法以及模糊控制算法。能够实现直流电机控制摆杆倒立等一系列复杂的动作,可有效地抵御外界的物理扰动。带有速度环的PID算法及模糊控制算法可应用于其他相关的控制系统之中,增加系统的稳定性。

报 告 3

基本信息

一、设计方案工作原理

1.预期实现目标定位

制作一个简易旋转倒立摆及控制装置,以MSP430单片机和直流电机为核心,通过编码器进行角度实时反馈和PID调节来实现稳定控制。作品使用编码器,实时采样跟踪摆杆角度的数据变化,通过PID控制直流电机转速,实现预期任务要求。同时在显示设备上显示相关参数,方便观察调试。系统整体结构简捷,调试方便,系统稳定。按预期任务要求实现各种姿态,维持倒立摆的稳定,并且能在一定的外力作用下依旧保持倒立摆的平衡。

2.技术方案分析比较

(1)处理器选择

方案1:采用 FPGA 做主控制器,由 FPGA 来完成采集和信号处理等底层的核心计算。优点是计算速度快,功能强大;缺点是成本高,制作耗时长,不易控制。

方案2:采用 MSP430F2618单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,成本低,易控制,易实现。

方案3:采用STM32F4单片机做主控芯片,用其本身的编码器接口来进行正交解码,可提高角度检测的准确性;缺点为控制较复杂。

方案4:MSP430F2618与STM32相结合,用STM32的正交解码接口来采集角度数据,用MSP430来作为主控芯片,通过UART进行数据的传输。优点为可充分利用各个单片机的优势。

经过比较,方案4能够充分发挥各个单片机的优势,有效地采集数据以及进行高效的控制,故采用方案4。

(2)电机的论证与选择

方案1:采用步进电机,步进电机具有精确定位,速度易控制等优点,但速度较低,且速度不容易进行较大范围的变化。并且在我们初期测试时,发现步进电机在低速与高速运转的时候自身就带有很大的抖动,不易控制。

方案2:采用直流电机,速度易控制,转速高,价格低廉,并且通过加变速箱在低速的时候也能够平稳地运行,故本设计采用直流电机作为动力装置。

(3)角度测量方式的论证与选择

方案1:在转轴上安装电位器进行测角,即转轴转动电位器,运用 A/D 1543读出电阻值,并将检测信号反馈给单片机,然后在单片机内进行角度转换及计算。该方法的电位器在每次转动过程中,其电阻值都有一定的偏差,容易磨损,采集数据非常复杂,并且准确度很低。

方案2:在转轴后部安装编码器,摆杆转动会带动编码器的转动,并输出角度信号,同时配合STM43F4单片机的专用编码器接口,可以精准地获得角度数据,完全符合题目要求。

方案3:在摆杆上安装角度传感器,直接读出角度,MPU6050价格便宜,精度能够达到要求,但是系统在转动过程中传感器的引线会对系统造成不稳定的外力干扰。

本设计采用方案2采集角度,精度高且实现容易。

(4)电源的论证与选择

方案1:采用单一电源,这样供电比较简单,但是由于电动机启动瞬间电流很大,会造成电压不稳、有毛刺等干扰,严重时可能会造成单片机系统掉电,不利于单片机系统的稳定性。

方案2:多路电源供电,运用24V和5VAC-DC两路电源分成两路输出,分别供给单片机工作电源和电机的电源,并且在控制部分与电机驱动部分用光耦隔开,这样即能保证单片机系统和电机系统稳定工作,两者之间无相互干扰,并且整机系统工作可靠性高,所以本系统采用该方案。

图C-3-1 单摆受力分析

3.系统结构工作原理

(1)倒立摆系统直立的模型建立与分析

旋转倒立摆及控制装置的核心模型是一个倒立摆模型,它本身是一个不稳定的非线性系统。单摆模型是通过重力在运动方向上的回复力来达到稳定的。而倒立摆中,重力在运动方向上产生的力是与运动方向一致的,不仅不能提供回复力而且还会加速摆倒下,但是可以通过底部的转轴D的运动来提供回复力。这个回复力是由惯性力产生的,受力分析如图C-3-3所示。

可以将摆杆看成是一个质量集中的质点,位于其质心位置。

图C-3-2 通过转轴控制来达到摆杆平衡

图C-3-3 倒立摆受力分析

只要转轴运动的加速度a>g,就可以产生回复力来保持摆杆的直立。当然回复力越大,对保持直立越好,但是太大也会导致系统振荡,当系统发生振荡时,可以加入一定的阻尼力来消除振荡,这样就可以通过倒立摆的角速度分量来控制摆的平衡。

(2)摆杆摆角、转轴转速数据采样原理

系统将对倒摆摆杆的摆角和转轴转速进行采集,采集使用编码器。在编码器转过一定角度的时候,编码器产生一定个数的方波,通过对方波上升沿和下降沿的计数,以及正反转算法的判断,就能够得知当前摆杆的位置。角度的采集使用STM32F4的定时器编码器接口进行驱动和采集。

① 编码器原理

编码器有两路输出,分别是不同相位的方波,分别设为A、B。工作时,当定时器捕捉到A的上升沿或下降沿后,进行与B的组合判断,若A为上升沿触发,且B当前也为上升沿触发(即为低电平),则表示为码盘顺时针转动,否则为逆时针转动;若A为下降沿触发且B当前也为下降沿触发(即为高电平),则表示为码盘顺时针转动,否则为逆时针转动,如图C-3-4所示。

(a)A相比B相超前90°,顺时针

(b)A相比B相落后90°,逆时针

图C-3-4 编码器输出的相位波

② 角度和角速度测量原理

角度的测量利用STM32F4内部定时器编码器接口,将定时器设置为上升计数模式,计数周期为4000(假设编码器参数为2000 P/R),可同时捕捉上升沿和下降沿,配置定时器为编码器上升、下降双极性模式,即可读取到定时器实时计数值N,可换算得编码器的实时角度值

角速度的测量利用上述角度测量的结果和STM32F4内部定时器的中断,实现采样和频率控制,每隔τ=2 ms采样一次,并记录前后角度的差值,再除以采样周期,利用角度的差分值代替角度的微分值,从而得到角速度

正反转方向也可在定时器中断中简单地根据角度值的增大或减小判断出结果,无需判断A、B两线的相位问题,大大简化了测量电路。

(3)系统总体框图

系统总体框图如图C-3-5所示。

图C-3-5 系统总体框图

4.功能指标实现方法

我们采用了现在工业上用得比较多的PID控制器,PID控制器的实现比较简单,而且效果比较好。

PID控制器是一种线性控制器。假设系统给定值为rin(t),实际输出值为yout(t),根据给定值和实际输出值构成控制偏差:

error(t)=rin(t)-yout(t)

PID控制规律为:

或写成传递函数的形式:

式中,kp是比例系数,TI是积分时间常数,TD是微分时间常数。

PID是一个基于负反馈理论的控制方法,所以影响控制效果的好与坏大部分依赖于从传感器获得数据的优良。

通过编码器来获得摆杆的角度数据,再将其对时间求导获得角速度,在得到摆杆的角度和角速度后,就可以通过PID控制器来控制摆杆的平衡,只需调节PID的参数就可以让摆杆直立起来,而且效果很好。

另一方面,由于只测量摆杆并用PID进行调节,会导致电机转速波动过大,引起机械系统振动反而使得倒立摆无法直立。因此需要进行双环的闭环控制,采用两个编码器来进行数据的采集,其中一个编码器用来对摆杆的角度进行检测,采集到的角度值作为PID输入,目标角度为180°构成角度环,另一个编码器则用来对速度进行检测,采集到的电机转速作为PID输入,目标转速为0,构成速度环。最后,将两个编码器数据耦合即可进行双环控制。这样既可以使摆杆稳定在倒立状态,又可以使电机比较稳定地运行。

在实际的调试过程中,我们发现只加PID虽然可以让摆杆直立,但是无法消除摆杆在长期直立后会往一个方向加速的情况,为了减轻和消除这种影响,我们在控制中加入了一部分的积分作用,直立部分的PID框图如图C-3-6所示。

图C-3-6 直立控制的算法框图

直立控制的调试主要是调节PID控制中的比例系数P和微分系数D。对于PD这两个参数,先调节比例系数P,可以逐渐加大P,直到系统出现大幅度振荡,这时再增加微分参数D,因为微分参数是起阻尼作用的,它可以在一定程度上消除由于比例系数较大而引起的振荡,但是D太大就会使系统出现高频振荡,所以适中就可以。在确定了PD之后,再加入少许I控制量,同时微调PD来获得系统最稳定的状态。

5.测量控制分析处理

(1)测试方法

根据题目要求,测量:

① 接近165°位置外力撤销后摆杆保持倒立状态的时间以及期间旋转臂转动的角度。

② 从自然下垂状态开始倒立后,保持倒立状态的时间。

③ 在摆杆保持倒立状态的前提下,施加干扰后摆杆能继续保持倒立或恢复倒立状态的时间。

④ 在摆杆保持倒立状态的前提下,旋转臂做圆周运动,并单方向转过角度达到或者超过360°的时间。

(2)测试条件与仪器

秒表一个,量角器一把。

二、核心部件电路设计

1.关键器件性能分析

主控板:MSP430F2618,主频16MHz,足够用于数据的处理以及PID算法的实现。

数据采集芯片STM32:STM43F4单片机的专用编码器接口,可以精准地获得角度数据,完全符合要求。

编码器:测量摆杆角度编码器的分辨率为2000P/R,测量转轴转速的编码器的分辨率为400P/R。

电源:多路电源供电,运用24 V和5VAC-DC两路电源分成两路输出,分别供给单片机工作电源和电机的电源,稳定可靠。

电机:1∶15减速箱,200转,完全能够实现对摆杆的控制。

2.电路工作机理

24 V电源负责驱动电机,MSP430负责收集从STM32传回的编码器数据,并进行算法处理,同时从键盘获得模式输入选择信息,并在液晶显示器上输出相关控制信息,再将控制信号传递给电机进行相应的控制。系统整体电路如图C-3-7所示。

图C-3-7 系统整体电路图

3.核心电路设计仿真、电路实现调试测试、关键电路驱动接口

(1)电源

电源由变压部分、滤波部分、稳压部分组成。为整个系统提供±5 V或者±24 V电压,确保电路的正常稳定工作。这部分电路比较简单,在本系统中我们采用现成的模块电路。

(2)语音模块

语音模块采用ISD1730专用语音芯片,将提示语音录入到芯片内存中,并通过单片机进行控制提示语音的播放,提示何时到达直立稳定点。

(3)液晶显示模块

采用字符型LCD12864液晶显示器。该显示器低功耗,能显示字母、中文和数字,在本系统中能够有效地显示有用的数据,包括提示信息以及需要转动的角度和当前的角度,所以本系统采用LCD12864液晶显示装置。LCD12864显示电路如图C-3-9所示。

三、系统软件设计分析

1.系统总体工作流程

主程序流程图如图C-3-8所示。

图C-3-8 主程序流程图

2.主要模块程序设计

(1)各模式子流程图如图C-3-9所示。

图C-3-9 各模式子流程图

(2)自动模块子程序流程图如图C-3-10所示。

图C-3-10 自动模块子程序流程图

3.关键模块程序清单略,详见网站。

四、竞赛工作环境条件

(1)软件环境:CCS。

(2)仪器设备硬件平台:MSP430最小系统板。

(3)配套加工安装条件:用于做摆杆的金属条,用作悬臂梁的金属支架,用于基座的小木凳,用于悬挂引线的三脚架。

(4)前期设计使用模块:步进电机及其驱动模块。

五、作品成效总结分析

1.系统测试性能指标

测试结果及分析如下:

(1)从自然下垂状态开始倒立后,保持倒立状态的时间。

(2)摆杆保持倒立状态的前提下,施加干扰后摆杆能继续保持倒立或恢复倒立状态的时间。

(3)在摆杆保持倒立状态的前提下,旋转臂做圆周运动,并单方向转过角度达到或者超过360°的时间。

表C-3-1  摆从自然下垂至倒立

所需时间测试结果表

表C-3-2  干扰后恢复

所需时间测试结果表

表C-3-3 单方向做圆周运动

时间测试结果表

经过多次测量证明,测试值符合题目的要求,本设计全部完成了题目的基本要求和发挥部分的要求,具有较高的稳定性,并且具备语音提示功能,摆杆抖动很小,控制精准,在规定稳定范围内运行平稳。

综上所述,本设计达到设计要求。

2.成效得失对比分析

作品能够实现采样获得摆杆角度的实时数据,并通过PID控制直流电机转速,在相应的显示设备上显示摆杆当前的角度。作品额外加入了语音播报功能,能够对系统的稳定状态进行语音提示。系统结构简单,实现方便,主要功能为维持倒立摆的稳定。系统的不足是双环闭合参数有待进一步的调节来实现更稳定的系统。

3.创新特色总结展望

系统抗干扰能力强,能够进行语音播报。希望能在双环闭合的参数调试方面进行更好的实验及理论论证,争取使得系统的稳定性进一步提高。

六、参考资料

[1]杨世勇,徐莉苹,王培进.单级倒立摆的 PID 控制研究[J].控制工程,2007

[2]马光,高强.单级旋转倒立摆控制研究[J].天津理工大学学报,23(3),2007

报 告 4

基本信息

一、设计方案工作原理

1.预期实现目标定位

以旋转倒立摆为研究对象,在深入研究其结构原理并借鉴前人在该领域研究成果的基础上,设计制作出简易旋转倒立摆及控制装置,使之能够在摆杆处于自然下垂状态时起摆倒立,并能在一定时间内保持倒立状态,同时具有一定的抗干扰能力,能够完成简易动作。

2.系统结构工作原理

本设计由7个模块电路构成,如图C-4-1所示,其中单片机的作用是收集系统参数并计算;角度位移电位器的作用是获得当前摆杆的角度;键盘的作用是设置系统完成的功能;显示屏的作用是显示当前系统状态并协助设置系统模式;陀螺仪模块的作用是获取当前摆杆的角速度;驱动模块的作用是为电机提供驱动力;直流电机的作用是带动旋转臂转动以改变摆杆的状态。首先,通过键盘选择系统实现不同功能;利用角度位移电位器确定摆杆的位置信息;利用陀螺仪确定旋转臂的速度信息;将采集到的数据送到单片机处理,选择合适的控制算法;控制驱动模块输出不同占空比的正反向PWM波,驱动直流电机运动,以达到控制摆杆的目的;显示屏起到显示菜单和数据的作用。

图C-4-1 倒立摆系统整体结构图

3.功能指标实现方法

根据题目要求,可以总结出整个系统的基本特征:① 在较短的时间内使摆杆在竖直方向上保持平衡静止,与中垂线保持一致或是成偏差极小的角度;② 旋转臂应在较短的时间内达到稳定状态。为了达到这两个基本要求,可选在工业控制中最常用的PID控制算法。

PID控制系统原理框图如图C-4-2所示,系统由PID控制器和被控对象组成。

PID控制器是一种线性控制器。图C-4-2中,假设系统给定值为rin(t),实际输出值为 yout(t), 根据给定值和实际输出值构成控制偏差。公式为:

error(t)=rin(t)-yout(t)

图C-4-2 PID控制系统原理框图

PID控制规律为:

或写成传递函数的形式:

式中,kp是比例系数,TI是积分时间常数,TD是微分时间常数。

简单来说,PID控制器各校正环节的作用如下:

(1)比例环节:比例控制反映系统的偏差信号error,偏差一旦产生,控制器立即产生控制作用,以减小偏差,其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。

(2)积分环节:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有系统差。为了消除稳态误差,必须在控制器中引入积分项。积分项是误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。

(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

通常PID控制器有两种方案:PID单回路控制和PID双回路控制。

在单回路PID控制方案中,选取摆杆角度作为反馈信号。此方案只对系统的摆杆进行控制,对旋转臂没有进行控制,系统结构如图C-4-3所示。

双回路PID控制方案中,选取旋转臂角速度和摆杆角度作为反馈信号,此方案中不仅对系统的摆杆角度进行控制,而且对旋转臂角速度也进行了闭环控制,系统结构如图C-4-4所示。

图C-4-3 单回路PID控制图  图C-4-4 双回路PID控制图

4.测量控制分析处理

由上文可知,这个系统的关键是测试出符合系统实际的kpTlTD参数。算法的编写及参数的调试占据了大部分时间,虽然可以通过仿真器调试,但是这种调试方法不方便,每设置一次参数都需要烧写一次代码。因此,在测试过程中,笔者通过自己编写的上位机程序,实现PC串口和单片机的通信。上位机可以发送数据对单片机内的参数进行修改,省去了一些烧写代码的操作,这样可以大大提高参数调试的效率。

二、核心电路设计

1.关键器件性能分析

(1)角度位移传感器

位移式传感器根据运动方式可以分为直线位移传感器和角位移传感器,按材质又可以分为金属膜传感器、导电塑料传感器、光电式传感器、磁敏式传感器、金属玻璃轴传感器和绕线式传感器。

导电塑料位移传感器用特殊工艺将DAP(邻苯二甲酸二烯丙酯)电阻浆料覆在绝缘机体上,加热聚合成电阻膜,或将DAP电阻粉热塑压在绝缘基体的凹槽内形成实心体作为电阻体。其特点是:平滑性好、分辨力优异、耐磨性好、寿命长、动噪声小、可靠性极高、耐化学腐蚀,多用于宇宙装置、导弹、飞机雷达天线的伺服系统中。

本设计采用的角位移传感器是凌克公司的导电塑料式角位移传感器,型号是WDD35D4N,这种角位移传感器线性精度高,平滑性好,分辨力优异,耐磨性好,耐化学腐蚀,工作性能优良,动态性能优异,动态噪声小,使用寿命可达数千万次,被广泛应用于工业自动控制系统、自动化仪表、线位移测量系统及军工随动系统。其主要参数见表C-4-1。

表C-4-1 WDD35D4N角位移传感器的主要参数

在该系统中,角位移传感器用于采集摆杆的偏移角度。将5 V电压加在该传感器两端,当旋转式倒立摆摆杆的转动带动传感器转动,电位器就将会导致其有效电阻不同,用这个电位器对基准电压分压即可将角度值转化为电信号,经单片机A/D采集后得到摆杆角度信号,单片机及时地采取相应措施控制摆杆的正确姿态。

(2)带减速器的直流电机

直流电机因其良好的调速性能而在电力拖动中得到广泛应用。通过控制输出PWM 驱动信号,可以很容易实现速度的控制。带减速机的电机速度会比较慢,但扭矩会较大。如带 1∶3 减速机的电机,输出转速只有不带减速机的直流电机的1/3,但是输出扭矩会大3倍左右。

本系统采用的是日本SERVO公司生产的直流减速电机,型号为6DG50F,减速比为 1∶25, 额定电压为24 V,额定转速3600r/min。在系统工作的过程中,直流电机带动旋转臂转动,当悬转臂的速度改变时,会给摆杆一定的加速度,这个加速度可以改变摆杆的运动状态。当摆杆的姿态与竖直状态存在偏差时,通过提供加速度的方式使摆杆回到竖直状态。

(3)驱动模块

本系统电机驱动模块采用的是NovalithIC家族中的BTS7960。BTS7960是半桥驱动芯片,需要两组驱动电路驱动一个电机,电流最高43 A,其内阻很小,所以发热不大,具有过温、过压、欠压、过流及短路保护的功能,其主要参数见表C-4-2。

表C-4-2 BTS7960半桥驱动芯片的主要参数

由两片半桥驱动构成一个全桥驱动,控制直流电机的正反转,驱动的输入由单片机的PWM模块提供,输出直接接入直流电机即可。

(4)主控芯片

在本系统选用的S12XS 16位微控制器中,需要用到的模块有PWM驱动(用于控制直流电机),A/D转换模块(用于读取角度传感器的反馈值)。这款单片机成本较低,标称主频达到40 MHz,超频能达到80 MHz,完全可以满足使用需求。主要参数如下:

① 脉冲宽度调制模块:XS128具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道。

② 定时模块:基本的定时器模块由1个增强的可编程预分频驱动的可编程计数器、8个输入捕捉/输出比较通道和1个脉冲累加器组成。定时器模块一共有8个引脚,其中脉冲累加器与第7号通道的引脚是共用的。

③ 模数转换器模块:具有一个16位通道ATD模块。

(5)角速度传感器

本系统采用的陀螺仪模块包含一个单轴ENC-03MB陀螺仪模块,可选择3.3 V或5 V电源供电,模拟量输出电压0~3.3 V,静止状态输出约1.35 V。可直接用单片机内A/D直接采集。角速度传感器可以获得摆杆的角速度,用于微分项处理。

2.电路结构工作机理

(1)电源模块

电源模块的作用是提供5V和3.3V两种直流电压,作为单片机与外设的供电来源。

(2)基准电压

基准电压的作用是为单片机的A/D模块提供基准,基准电压芯片功耗小,产生的基准电压更稳定。

(3)核心单片机部分

单片机是该系统的计算中心,处理来自各个传感器的参数,并对控制器给出控制量。

(4)电机驱动

电机驱动用于驱动电机。输入信号为来自单片机PWM模块的可变占空比的矩形波信号,输出为接入电机的相应占空比的电压。

电路原理图如图C-4-5所示。

3.电路实现调试测试

单片机主板上包含简单的电源模块LM1117-3.3、LM2940, 可以提供3.3 V和5 V的电源。经过测试,该电源在一般的小负载下都可以正常工作。本设计使用控制比较简单的直流电机,单片机通过改变PWM 的占空比即可调节电机的转速和转向。电机型号为DME44S6HF,最大转速为3600r/pm,配上9∶1的减速箱,在选型时可先对电机进行测试,以了解其参数是否满足题目要求。该型号的电机扭力大,转速也快,完全可以满足题目需求。电机驱动方面,使用比较多的是LM298,但是通过查询数据手册和实验得知该驱动芯片电流较小,驱动能力较弱。因此在实际调试过程中,使用了驱动能力更强的BTS7960。

系统需要完成多项任务,任务模式的切换由一块外接键盘完成。同时,配备一块液晶显示屏,引导用户初始化和设置系统相关参数。在系统运行的过程中,显示系统的一些姿态信息,增强了人机交互界面的友好性。

(a)电源模块 (b)基准电压

(c)单片机

(d)电机驱动
图C-4-5 电路原理图

三、系统软件设计分析

1.系统总体工作流程

图C-4-6 上位机工作流程图

图C-4-6为上位机的工作流程,程序功能描述如下:

根据题目要求软件部分主要实现键盘设置、屏幕显示和测量控制。

(1)键盘实现功能:选择功能模式,设置目标角度值。

(2)显示部分:显示当前角度、目标角度。

(3)算法控制:通过测量参数,控制PWM输出。

2.主要模块程序设计

(1)任务一程序设计思路

要求:摆杆从处于自然下垂状态(摆角0°)开始,驱动电机带动旋转臂做往复旋转使摆杆摆动,并尽快使摆角达到或超过-60°~ +60°。

通过电机带动旋转臂来回摆动,以达到摆杆来回摆动的效果。因此,在程序中设置一个摆动时间,当计时变量达到预设时间时,令电机输出一个反向的PWM 驱动信号,保持原时间,摆杆可以保持在一个角度内来回摆动。通过测试,我们采用28%的占空比,可以使摆杆在60°内来回摆动。流程框图如图C-4-7所示。

图C-4-7 摆杆摆动流程图

(2)任务二程序设计思路

要求:摆杆从处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动。

由于摆杆必须达到一定的速度,在惯性的作用下摆动一周。因此,单片机首先给一个接近满占空比的宽占空比的PWM 驱动信号,使旋转臂高速运动一段时间,让摆杆达到一个比较高的速度,然后输出零占空比的PWM,使电机立刻减速,在惯性的作用下,摆杆绕转轴旋转一周。

(3)任务三程序设计思路

要求:摆杆从处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除的同时,启动控制旋转臂使摆杆保持倒立状态时间不少于5 s;期间旋转臂的转动角度不大于90°。

首先需要对系统进行初始化,当摆杆处于目标状态时角度位移电位器分压得到的值即为目标值。系统运行过程中,根据实时获得的摆杆角度信息求出当前角度与目标角度之间的偏差,利用PID 控制算法矫正姿态。根据角度偏差施加与之成正比的回复力,称之为比例控制。经理论分析易知,仅有臂力控制在理想情况下系统会处于一直震荡的状态。微分项的作用就是推动系统趋于稳定。微分项的控制力度与系统回到平衡位置的速度成正比,方向与之相反。就该系统而言,微分项控制力度与摆杆的角速度成正比,方向相反。摆杆的角速度可由陀螺仪模块获得。

(4)发挥部分一设计思路

要求:摆杆从处于自然下垂状态开始,控制旋转臂做往复旋转运动,尽快使摆杆倒立,保持倒立状态时间不少于10s。

运动流程图

按照任务一的思路将摆杆摆至较高角度(约165°),然后采用任务三的思路,保持摆杆的平衡。流程框图如图C-4-8所示。

图C-4-8 自动倒立控制流程图

(5)发挥部分二设计思路

要求:在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2s内恢复倒立状态。

该任务的思路与任务三相似。不同之处在于添加扰动后摆杆离平衡位置可能会比较远。当摆杆距离平衡位置较远时,需要适当增大比例项的控制力度,使得摆杆能够迅速回到平衡位置,待摆杆离平衡位置较近时,采用任务三所用的思路。

(6)发挥部分三设计思路

要求:在摆杆保持倒立状态的前提下,旋转臂做圆周运动,并尽快使单方向转过的角度达到或超过360°。

修改目标角度,使摆杆理想位置偏离理想倒立位置一个小角度,这样摆杆能够往同一个方向一直倾斜,旋转臂往该方向旋转,使摆杆保持倾斜角度,这样可以达到在理想位置状态下的圆周运动。流程框图如图C-4-9所示。

图C-4-9 旋转臂圆周

3.关键模块程序清单略,详见网站。

四、作品成效总结分析

根据多次测试,可以得出以下结论:

(1)该装置能够使摆杆大幅度摆动;

(2)该装置能够使摆杆保持平衡;

(3)该装置能够完成一定的简易动作,具有一定的抗干扰能力。

五、总结

完整的“起摆—倒立”控制是本系统的总体设计与实现的一个很好的测试和检验。实验证明,系统的稳定性和抗干扰性良好。这种基于PID的控制算法的优点是分析简单,易于实现,但是对不同的装置无法普适,缺乏自适应能力,因此还需改进现有算法,增加其适用范围,但由于时间和条件所限,未能做充分的实验研究。此外,在设计整个系统时,必须注意整体机械结构的设计,确保系统的稳定性,避免机械震动等因素增加控制难度。

报 告 5

基本信息

一、设计方案工作原理

1.预期实现目标定位

本项目要求完成简易旋转倒立摆的硬件、软件设计,实现倒立摆的摆动、倒立、干扰条件下的自动调节以及在倒立状态完成旋转臂的圆周运动等功能。

2.技术方案分析比较

本系统主要由电机、电机驱动模块、角度测量模块、电源模块以及倒立摆机械结构等组成,下面分别论证这几个模块的选择。

(1)电机选择

对于倒立摆而言,电机的选择是至关重要的。

方案1:采用步进电机作为该系统的驱动电机。由于步进电机转动的角度可以精确定位,可以实现转轴的精确控制,但步进电机的输出力矩较低,且随转速的升高而下降,在较高转速时输出力矩会急剧下降。因此步进电机不适用于倒立摆等对控制响应速度有较高要求的系统。

方案2:采用力矩电机。力矩电机转动力矩大,速度响应快,特别是在降低转速的情况下输出转矩不变,降低供电电压时电机转速下降,但输出力矩不变,电流也不变。力矩电机特别适合本系统的要求,但力矩电机价格高,特别是需要定制,无法即时供货。

方案3:采用直流电机。直流电机启动转矩大,调速性能好,体积小,重量轻,装配简单,使用方便,通过单片机输出PWM波很容易实现对直流减速电机正转、反转和停止等操作。

综合比较以上方案,选择方案3。

(2)电机驱动模块的论证与选择

方案1:采用继电器对电动机的供电电源进行开、关控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。

方案2:采用L298N驱动。L298N是一种全桥驱动芯片,它响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,结合单片机可实现对电机速度的精确控制,调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转。

比较后决定采用L298N控制直流电机,即采用方案2。

(3)角度测量模块的论证与选择

方案1:采用多圈电位器。虽然归零方便,但是由于多圈电位器对于单片机的A/D转换精度和转换速率要求极高,十分占用单片机的资源和时间,另外电位器的圈数本身也是具有最大圈数的限制,所以在实际调试和使用过程中很容易出问题。

方案2:采用光电码盘。光电码盘质量轻巧、安装方便,但是其本身受到码盘线数及光电门分辨率的限制,其测量精度是极度有限的,对于倒立摆这种角度且角速度要求精度十分高的控制系统,其误差是不可忽视的。

方案3:采用旋转编码器。旋转编码器体积小,精密,本身分辨率可以很高,无接触无磨损,价格合理,技术成熟。其分辨率精度是光电码盘无法比拟的,这十分有利于角速度的测量和倒立摆系统的运动控制。

综合以上方案,选择方案3。

(4)电源模块的论证与选择

方案1:采用7.2 V可充电动力电池组。动力电池组具有较强的电流驱动能力及稳定的电压输出性能,但是由于直流电机需要24 V直流驱动电压,所以不满足系统要求。

方案2:采用开关电源为系统供电。开关电源体积小、重量轻、功耗小、效率高,选择合适的输出电压和输出功率即可。

综合以上两种方案,选择方案2。

(5)控制系统的论证与选择

方案1:选用拥有ARM内核的Cortex-M3单片机。这类单片机主频很高,资源丰富,功能强大,可以实现复杂的逻辑功能,完全可以实现对电机的控制。但对于本题目而言,其优势资源无法得以体现,且成本稍高。

方案2:采用MSP430F6638作为控制单片机。该单片机算术运算功能强,软件编程灵活、自由度大,可实现各种算法和逻辑控制,尤其是其内部定时器资源十分丰富,并且由于其功耗低、体积小、技术成熟和成本低等优点,在各个领域应用广泛。

综上所述,采用方案2。

3.系统结构工作原理

如图C-5-1所示,本设计采用MSP430F6638单片机作为系统控制器,L298N驱动电机转动,编码器和码盘测量转动角度以及转速,TFT彩屏显示控制界面。各个功能模块组成了整个系统,通过编程完成倒立摆的各项功能。

图C-5-1 系统结构框图

二、核心部件电路设计

1.角度传感器

(1)角度传感器子系统框图

图C-5-2 角度传感器子系统框图

(2)角度/角速度测量模块

使用欧姆龙E6B2-CWZ6C旋转编码器,其分辨率为2000 P/R,根据其A、B相的输出脉冲数目、相位差以及频率来测定其角度和角速度。

(3)角度传感器子系统电路

图C-5-3 角度传感器外围电路图

2.电机驱动

图C-5-4 电机驱动子系统框图

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46 V;输出电流大,瞬间峰值电流可达3 A,持续工作电流为2 A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。

3.MSP430核心板

使用MSP430的PCB板,板上引出了MSP所有可能要用到的I/O口,并且搭载了键盘,方便调试及使用。

三、系统软件设计分析

1.数据采样原理

根据题目要求倒立摆能够实现多种方式启动,我们决定通过按键控制实现。按键控制有中断查询和扫描查询两种方式,由于程序还将执行摆角采集算法、摆角控制算法,使用扫描的方式将浪费太多的资源,所以我们采用中断查询的方式。

在按键中断服务函数中,根据矩阵键盘的原理,对每一个按键进行相应的编码,通过识别按键将程序中的一个变量mode赋予不同的值,根据变量mode的值执行不同的启动算法,从而实现倒立摆的多种启动方式。

系统使用编码器对倒立摆的摆角进行检测,在编码器转过一定角度的时候,编码器产生一定个数的方波,通过对方波上升沿和下降沿的计数,以及正反转算法的判断,就能够得知当前摆杆的位置。摆角的采集算法使用捕获计数器完成。

(1)正反转判断方法

编码器有两路输出,是不同相位的方波,分别设为A、B,如图C-5-6所示。工作时,当定时器捕捉到A的上升沿或下降沿后,与B进行组合判断。若A为上升沿触发,且B当前也为上升沿触发(即为低电平),则表示为码盘顺时针转动,否则为逆时针;若A为下降沿触发且B当前也为下降沿触发(即为高电平),则表示为码盘顺时针转动,否则为逆时针。A、B判断完之后,根据转向进行计数,并将定时器中断上升沿触发模式转变成下降沿触发模式,实现双向捕捉从而保证计数精度要求。

(a)A相比B相超前90°,顺时针   (b)A相比B相落后90°,逆时针

图C-5-6 编码器正反向判断方法

(2)角度测量原理

利用MSP430内部的定时器,并设置为捕捉模式(Capture Mode),将接有A/B相输出的引脚设置为捕捉输入引脚,开启中断,初始化时中断触发方式设置为上升沿或下降沿触发。摆杆保持为自然下垂状态,此时脉冲个数N为0。根据正反转对脉冲个数进行增减。

采样结束后,根据当前脉冲计数的个数N即可得到当前的绝对角度值θ

(3)角速度测量原理

利用MSP430内部的定时器,并设置为捕捉模式(Capture Mode),将其中一相A或B的输出引脚设置为捕捉输入引脚,开启中断,初始化时中断触发方式设置为上升沿触发。当捕捉到A的上升沿后,将中断触发方式设置为下降沿触发,计数器清零,开始计数。当捕捉到脉冲下降,计数器停止时,记录计数器中的值,并将中断方式设置为上升沿触发。

如此周而复始,将计数器值除以计数时钟源的周期,从而实现对一个脉宽的测量。一个脉冲对应的角度变化是已知的,如本编码器的分辨率为2000P/R,则一个脉宽走过的角度值为δ=2π/4000=0.0005π,将这个单位角度值除以脉宽,则可以得到角速度ω的值,在5 MHz计数器时钟源的条件下,最高能够测得2500π/s的角速度,即75kr/min,绝对满足测量的精度要求。最后根据之前角度值是增加还是减小来判断角速度的正负。

(4)角加速度测量原理

在上述的角度和角速度的测量基础上,再利用定时器对单片机本身的运行进行定时中断,实现采样和控制的频率控制,每隔T=0.2 ms采样一次,并记录前后角速度的差值,再除以采样周期,利用角速度的差分值代替角速度的微分值,从而得到角加速度α

(5)采样数据计算公式

角度

角速度

角加速度

2.控制算法

由于倒立摆的控制需要使用PID控制算法,为了保证离散控制的准确度,必须严格保证控制量时间间隔相同,所以将控制算法放在定时时间中执行。定时器的定时时间不宜取太小。

在定时器服务函数中通过多个定时变量设置多个子定时器。在2 ms定时器中执行采样数据处理程序,保证有500 Hz的数据可用,在该子程序中还将完成一次摆角参数初始化。在20 ms定时器中执行控制算法,控制算法执行频率是50 Hz,对于惯性器件控制,这个频率是足够的。在200 ms定时器中,执行起摆60°和一周的算法,由于该算法没有太高要求,定时器的时间设计也没有讲究。

(1)起摆算法

起摆算法是采用机械能增加的方式进行闭环起摆。通过编码器测量摆杆的位置以及摆杆的运动方向,来控制电机的转动方向。如摆杆在下方向左运动的时候,电机应向右运动;摆杆在下方向右运动的时候,电机应向左运动。这样摆杆的机械能会一直增加,使摆杆完成周转。但是如果一直采用这种驱动方式,将会使得摆杆运动过快,所以应该适当的调整电机驱动力大小以及实施驱动的范围。

(2)倒立算法

由于一级倒立摆是一个二阶系统,使用PID控制就能将其收敛。

而状态控制等现代控制方法在系统建模不准确的情况下,控制效果并不理想,故未使用。

也可使用陀螺仪通过角度环控制使其角度收敛,但是陀螺仪存在累计误差,而且加上角度环控制会影响倒摆的稳定性,故也未采用。

PID控制采用绝对式PID控制,并且进行了限幅操作。部分程序如下:

PwmCyc=(int)(kp*error+ki*sum_error+kd*(error-p_error));

if(PwmCyc>PwmLim) PwmCyc=PwmLim;

if(PwmCyc<-PwmLim) PwmCyc=-PwmLim;

四、竞赛工作环境条件

1.设计分析软件环境

本次竞赛采用IAR Embedded Workbench for MSP430,这是针对TI出品的MSP430系列单片机的开发环境。IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商,它提供的产品和服务涉及嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具等。

2.仪器设备硬件平台

竞赛所采用的仪器设备硬件平台是指开发与运行所需要的硬件环境,主要包括单片机及硬件配置。单片机采用的是TI公司的MSP430F6638芯片,硬件配置为L298N电机驱动模块,欧姆龙E6B2-CWZ6C旋转编码器和24 V的日本东方直流电机。

测试仪器设备为F05A型数字合成函数信号发生器,DF1731SC2A型DC直流稳压源,GDS—1062型示波器。

五、测试方案与测试结果

1.测试方案

(1)硬件测试

本项目要求有5种工作模式:60°摆动模式、圆周摆动模式、165°初始状态的倒立摆模式、自启动模式以及圆周摆模式。

模式1:测试摆杆从自然下垂状态到摆角达到60°的时间;

模式2:测试摆杆从自然下垂状态到连续完成3圈完整旋转的时间;

模式3:测试摆杆在初始摆角165°状态到完成倒立,并且电机转轴旋转角度超过90°时的时间;

模式4:测试摆杆从自然下垂状态到完成倒立,并且倒立摆稳定的时间;

模式5:测试摆杆从自然下垂状态到完成倒立,并且电机转轴旋转超过两圈的时间。

(2)软件仿真测试

经仿真程序无错误。

(3)硬件软件联调

通过按键实现模式的切换,进入各种模式,分别进行调试。

2.测试条件与仪器

测试条件:硬件和软件工作正常,能够实现各种工作模式。

测试仪器:秒表,量角器。

3.测试结果及分析

(1)测试结果

表C-5-1  系统测试结果

(2)测试分析与结论

根据上述测试数据,可以得出以下结论:

① 各个功能都能顺利地完成,且成功率高。

② 完成各个模式所需要的时间都较短。

③ 抗击打能力远远超过要求。

综上所述,本旋转倒立摆控制装置达到设计要求。

六、创新特色及总结展望

系统采用了基于能量的闭环起振方法,使用编码器实时地检测倒摆的姿态情况,使得起振过程效率高,并且保证了成功率。可根据倒摆摆角的情况,通过电机对倒摆进行角速度修正,使得对倒立点的抓取更为有利。系统硬件结构优良,电机响应速度快,编码器误差小,倒摆转动惯量适当,这些条件都有利于控制。系统PID参数整定恰当,使得系统有较好的稳定性。

本倒立摆系统仍有许多可以进一步发挥的空间,比如为系统添加陀螺仪,进行位置收敛的控制,使用现代控制的方法,为系统建立模型,更为准确地设定系统的极点。总之,倒立摆系统蕴含了许多控制科学的原理,值得我们为此进一步深究。

七、参考资料

[1]王建校, 危建国, 孙宏滨.MSP430 5XX/6XX系列单片机应用基础与实践[M].北京:高等教育出版社, 2012

[2]沈建华, 杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社, 2008

[3]胡寿松.自动控制原理[M].6版.北京:科学出版社, 2013

[4]梅晓榕.自动控制原理[M].2版.北京:科学出版社, 2002

[5]电网天下.MSP430彩屏驱动程序(8位)[CP/OL].[2012-8-20].http://wenku.baidu.com/view/f03994f8f705cc17552709ea.html.

[6]wenyuanhust.旋转编码器解码程序[CP/OL].[2013-9-4].http://download.csdn.net/detail/wenyuanhust/4306484

报 告 6

基本信息

一、系统方案

1.系统结构

图C-6-1 简易旋转倒立摆控制系统总体框图

按照功能划分,系统主要包括电源、控制核心、检测传感器、电机驱动和人机界面等模块。简易旋转倒立摆及控制装置基本系统结构如图C- 6-1所示。

2.方案比较与选择

(1)控制电机的选择

方案1:采用步进电机。步进电机具有控制精确的优点,但是扭矩较小,在实际测试时发现反应速度不能满足调整倒立摆时对速度和加速度的要求。

方案2:采用直流电机。直流电机调速范围广、调速特性平滑,而且驱动和制动转矩大、机械间隙小,能够满足本系统对速度和稳定性的要求。

综合考虑,本系统选择了BF37GB12-300直流电机。该电机用DC12V供电,传动平稳,噪声低,承载能力大,转矩为3~22500N·m,功率为0.18~200kW,输出转速可达0.06~ 374r/min, 在测试过程中满足各项任务的要求。

(2)电机驱动模块

方案1:使用L298N芯片。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;但是L298N的驱动电流小,电压较大,不能满足控制时对电流的要求。

方案2:采用双MOS管全桥电路驱动。驱动电机的桥电路(含有刷、无刷和步进电机)是实现电机正反转的换向电路,使用PWM方式驱动开关管,还可以实现电机的调速功能。全桥驱动电路的驱动电流较大,可以满足本系统的控制要求。

(3)微型处理器

方案1:采用MSP430系列单片机。MSP430单片机片内外设丰富,拥有外部中断、定时器、输入捕获等功能,并且容易购买,但因此系统需要过多I/O口,MSP430引脚资源有限,同时工作速度仅有8M,不满足本系统的操作要求。

方案2:采用STM32系列芯片。本系统需要实时检测转角和速度,同时采用PID算法对采集的数据进行及时处理,反馈给电机控制程序,所以对控制器的处理速度要求较高。我们最终选择了STM32F103VBT6作为控制器。STM32F103VBT6系列基于要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,具有功耗低、集成度高、结构简单容易使用等优点,完全可以满足本系统性能需求。单片机最小系统包含了显示、矩阵键盘、A/D、D/A等模块,能明显减少外围电路的设计,降低系统设计的难度,非常适合本系统的设计。

(4)传感器选择

方案1:电阻式角位移传感器

本系统需要实时检测转角和速度,进而将采集的数据用PID算法进行及时处理,使用电位器理论上可以满足角度偏转0~360°的测量,但是实际电位器有10°左右的死区,在死区内无法测出偏转角。在使用时,电位器的校零也比较繁琐,使用不方便。

方案2:OMERON E6B2-CWZ6C编码器

与电位器相比较,编码器可以实现0~360°的角度测量,而且编码器基本无阻尼,满足设计要求。OMERON E6B2-CWZ6C编码器采用DC5~24V供电,外径φ=40mm,备有2000P/R的分辨率,备有相对简单化的原点位置显示功能,实现轴负重、径向30N、推力向20N,附有逆接、负荷短路保护回路,改善了可靠性。

综合考虑,本系统采用OMERON E6B2-CWZ6C编码器对摆杆的偏转角度进行测量,并将采集的数据用PID算法处理,将处理结果反馈给电机,实现偏转角度的闭环。

(5)旋转臂速度检测

方案1:采用模拟3轴加速度传感器。模拟3轴加速度传感器由于有温漂,很难在软件上补偿,所以不适合本系统使用。

方案2:采用数字3轴加速度传感器。3轴加速度传感器具有体积小和重量轻的特点,可以测量空间加速度,能够全面准确地反映物体的运动性质,用3轴加速度传感器可以实现双轴正负90°或双轴0~360°的倾角,通过校正后期精度要高于双轴加速度传感器。使用3轴加速度传感器可以实现对旋转臂转速的测量。

综合考虑,本系统采用数字3轴加速度传感器对旋转臂的速度进行测量,从而实现旋转臂转速的闭环,使系统的稳定性得到提高。

(6)算法选择

方案1:直接采用摆杆的角度闭环。此方案有横向漂移,导致电机有旋转速度累加,直至振荡状态,从而系统不稳定。

方案2:采用摆杆的角度和旋转臂的速度闭环。采用双闭环算法可以减小速度的累加,使得旋转臂的速度保持在稳定状态。

综上所述,选择方案2能满足系统设计要求。

(7)液晶显示

方案1:采用OLED。OLED具有体积小,控制简单的优点,但是本系统需要显示的内容较多,OLED的显示屏太小,不能满足使用要求。

方案2:采用TFT液晶显示器。TFT液晶显示器可以做到高速度、高亮度、高对比度显示屏幕信息。其使用特性好:低压应用,低驱动电压,固体化使用安全性和可靠性提高;低功耗,它的功耗约为CRT显示器的十分之一。该显示器显示功能齐全,能够满足本系统的显示要求。

综合考虑,本系统选择TFT液晶显示器。

二、理论分析与计算

1.摆杆角度及速度测量方法

OMERON E6B2-CWZ6C编码器可以检测摆杆的倾斜角度,旋转臂的转速用3轴加速度采集,采集到的数据反馈给MCU,通过主函数的PID算法实现倾斜角度和转速的双闭环,从而实现系统的高度稳定。

2.建模与控制方法

(1)基本要求部分第一项的控制方法

要让摆杆摆动到规定角度,从谐振的理论分析,需要让摆杆的摆动方向与旋转臂的转动方向一致,使两者产生谐振。

此时不需要闭环检测,只要调好参数,使旋转臂的旋转周期配合摆杆的摆动周期,从而产生谐振,使摆杆的摆幅逐渐增大,最终达到甚至超过题目要求。

(2)基本要求部分第二项的控制方法

与第一项控制方法类似,利用谐振即能达到要求。

实际控制过程中,先让电机向同一方向高速旋转,带动摆杆运动,当角速度大约达到 180°/s 时,让电机迅速反转,带动旋转臂反向运动,此时摆杆便能实现360°高速旋转,再让旋转臂保持相同周期左右摆动,就能让摆杆连续360°旋转。

(3)基本要求部分第三项的控制方法

第三项和前两项不同,倒立时不能产生谐振,而是要做阻尼运动,如图C-6-2所示,当编码器检测到偏转角度小于题目规定松手的角度15°时,要让旋转臂以很大的加速度向左运动,使旋转臂的末端位置超过摆杆的顶端,即摆杆向右倾斜一个小于θ的角度,再用相同的方法控制旋转臂向右运动,来回调节以减小摆杆的倾斜角度,最终实现摆杆的稳定倒立。

图C-6-2 旋转倒立
摆倒立模型

需要注意的是,在以很大的加速度向摆杆倾斜的方向运动时,要使旋转臂的速度保持在较小值,否则将导致旋转臂向同一方向持续旋转,导致控制失败。

(4)发挥部分第一项的控制方法

先用基本要求部分第二项的控制方法使摆杆连续360°旋转,并控制摆杆的旋转速度,使其在最高点速度较慢,再用基本要求部分第三项的控制方法使摆杆稳定即可。

实验过程中,要给一定的预判时间,让摆杆到达最高点的速度不至于过大而超过可稳定的极限。

(5)发挥部分第二项的控制方法

摆杆受到撞击后将倾斜一定的角度,此时需要用基本部分第三项的控制方法,让摆杆逐渐减小倾斜角,直至恢复稳定。

此项任务仍然是对摆杆最高点的检测,通过PID分段控制程序,在不同倾斜角度对旋转臂的旋转速度进行控制,调节回复力,使摆杆逐渐回到竖直位置。

与基本部分第三项不同的是,摆杆受到撞击后,将产生很大的倾斜角加速度,这时需要MCU对编码器传送回的倾斜角度迅速作出判断,并控制旋转臂以更大的加速度向摆杆倾斜的方向运动。

图C-6-3 旋转倒立摆受力分析

(6)发挥部分第三项的控制方法

如图C-6-3所示,摆杆受到重力和旋转臂旋转时给的外力F的作用,当两者的合力方向沿旋转臂的切线方向时,摆杆做匀加速圆周运动。一方面,摆杆绕电机做圆周运动;另一方面,摆杆要在竖直平面内没有旋转,此时只有水平方向有加速度,只要此时旋转臂的加速度与摆杆合力的加速度相同,就能满足任务要求。

三、电路与程序设计

1.电路设计

(1)电源模块

需要为系统提供两种供电电源。一种是12V DC电源,为步进电机驱动器提供工作电压;另一种是5V DC电源,供单片机、传感器等电子器件使用,同时为步进电机驱动器提供弱电信号电压。

(2)控制核心模块

该模块是以STM32F103VBT6单片机为中心,由外接晶体振荡电路、复位电路组成的单片机最小系统。

(3)电机驱动模块

电机驱动模块采用双MOS全桥电路驱动电路,电路图如图C-6-4所示。

图C-6-4 电机驱动模块电路图

(4)键盘显示模块

为方便系统调试,使设计更显人性化,在满足题目要求的基础上,设计了人机交互界面。单片机接收键盘控制信号后,按照预设流程完成相应任务。使用TFT液晶显示模块显示系统提示信息及相关数据。

2.程序结构与设计

简易旋转倒立摆程序。采用C语言编写,在IAR集成环境中完成编辑、编译、调试,再通过USB下载器下载至单片机。简化程序结构如图C-6-5所示,程序详见网站。

图C-6-5 简易旋转倒立摆程序流程图

四、竞赛工作环境

1.软件环境

使用Keil for ARM软件对STM32单片机进行编程,并用Jlink在线仿真进行程序的调试。

2.仪器设备和硬件平台

本系统调试时使用毫秒级计时秒表、数字示波器、四位半数字万用表、刻度盘等工具。

3.配套加工安装条件

在搭建机械结构时使用切割机、打磨机、电锯等工具。

4.前期设计使用模块

前期设计模块包括:直流稳压电源、电机驱动。

五、测试方案与测试结果

1.测试方案

根据设计要求中基本部分和发挥部分对摆杆摆动角度和时间、摆杆偏离中心位置角度、抗干扰能力等的要求,使用普通示波器、四位半数字万用表、毫秒级计时秒表和刻度盘等工具,结合系统人机界面反复测试各要求参数,并据此修改程序中各参数的设置,使误差达到最小。

2.测试结果及分析

(1)基本要求部分第一项测试数据及分析

经过试验测试,测出摆杆的摆动角度如下:

表C-6-1 摆杆摆动角度

题目要求摆杆摆动角度达到-60°~+60°,实际测量时,摆动角度可达-90°~+90°,为了切合题目要求,本系统将摆动角度稳定控制在-70°~+70°。

(2)基本要求部分第二项测试数据及分析

表C-6-2 完成任务2所需时间

由于本系统采用了优良的控制方案,完成要求的时间远远小于规定值,最快可以在1.12s内一次性完成任务。

(3)基本要求部分第三项测试数据及分析

表C-6-3 完成任务3所需时间

由数据可见,本系统的倒立时间充分满足要求,但是由于电机温漂,数字3轴加速度传感器长时间工作时产生的零漂,导致摆杆在倒立时的偏转角度过大,有时会超出规定角度,我们在程序中对各种零漂做了参数校正,可以较好地控制旋转臂的旋转角度。

(4)发挥部分第一项测试数据及分析

表C-6-4 完成发挥任务1所需时间

摆杆经过3~4次的摆动后,能够实现低速360°连续旋转,当摆杆快到达最高点时,启动PID控制程序,实现摆杆的倒立,通过PID参数的多次调试,改进后的系统倒立迅速,而且倒立后非常稳定。

(5)发挥部分第二项测试数据及分析

施加干扰后摆杆不会直接倒下,抗干扰能力很强。

(6)发挥部分第三项测试数据及分析

经测试,本系统可以连续倒立旋转超过5min,时间远远超过题目要求,而且倒立时稳定,旋转角速度可以达到140°/s左右。

总结:本设计可以很好地完成各项要求,而且稳定性非常好。

六、参考资料

[1]高国燊.自动控制原理.广州:华南理工大学出版社.2005

[2]陈晓平.现代控制理论.北京:高等教育出版社,2011

[3]蒋珉.控制系统计算机仿真.北京: 电子工业出版社, 2008

[4]刘军.例说STM32.北京:北京航空航天大学出版社.2011

[5]李志明.STM32嵌入式系统开发实战指南.北京:机械工业出版社.2013

报 告 7

基本信息

一、设计方案工作原理

1.预期实现目标

为了满足题目基本部分和发挥部分的设计要求,在可靠的机械结构的支持下,用STC公司的STM32F103单片机作为系统的主控芯片,光电编码器可实时检测摆杆的角度,微机械陀螺传感器可检测旋转臂的角度,通过设定角度与测量角度的误差来反馈控制电机的转速和转向。其中电机的控制采用了双PID算法,最终能够实现旋转倒立摆运动姿态的控制。系统能很好地完成基本部分的全部要求,发挥部分也能够完全实现要求。

2.技术方案分析比较

(1)系统控制模块

方案1:采用51单片机作为主控芯片。传统的51单片机广为应用,具有使用简便,价格便宜等优点,但是其运算能力较低,片上资源少,处理速度较慢,功能相对单一,难以实现较复杂的任务要求。

方案2:采用STM32F103单片机作为主控芯片。STM32F103基于高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,强大的定时、中断功能,方便对编码器、电机的控制,可以快速进行复杂运算。同时具有大容量的RAM和ROM,可存储大容量的程序。编程时可以直接调用库函数,提高编程效率。

基于上述理论分析,选择方案2。

(2)电机选型与论证

方案1:采用步进电机。步进电机是一种能将电脉冲转化为角位移的机构,通过控制脉冲个数来控制角位移量,通过控制脉冲频率来控制电机转动的速度和加速度,其精确度高,但转速慢并且控制相对较繁琐。

方案2:采用直流电机。直流电机速度快,价格便宜,通过调节电流来改变速度,驱动电路简单,调速范围广,调速特性平滑。但其转矩小,带大负载时很容易堵转;而且由于其速度较快,不易控制,精确度低,不适合应用在本题。

方案3:采用直流减速电机。直流减速电机也是通过控制电流来改变速度的,而且其内部有减速齿轮箱,转矩大,易于控制,速度较步进电机快。通过分析题目要求,减速电机可以达到题目要求的精度,而且价格适中,控制简单。

综上所述,我们决定采用方案3的直流减速电机。

(3)电机驱动模块论证与分析

方案1:采用大功率三极管、二极管和电阻电容等元件。采用上述元件搭建两个H桥,通过对各路信号放大来驱动电机,原理简单。但由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。

方案2:采用L298N驱动芯片。L298N芯片是较常用的电机驱动芯片。该芯片有两个TTL/CMOS 兼容电平的输入,具有良好的抗干扰性能;其输出电压最高可达50V,可用单片机的I/O口提供信号,而且一块L298N芯片可驱动两个减速电机,电路简单、易用、稳定,具有较高的性价比。

综上所述,我们决定采用方案2。

(4)测量角度的元件论证与分析

方案1:采用微机械陀螺传感器。微机械陀螺传感器采用模拟量输出,需要放大电路及A/D完成角度的测量,由于在传输回路中模拟信号易受干扰,测量结果容易产生误差,但通过数字滤波等技术能够在一定程度上消除干扰造成的误差。

方案2:采用电位器作为角度传感器。自由摆系统的角度测量也可采用可变电阻器。精密的可变电阻器具有易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。但是可变电阻器也是模拟信号输出,需要A/D信号的转换,增加了系统的复杂性,而且安装要求较高,给硬件设计带来了不便。

方案3:采用增量式光电旋转编码器。光电编码器是一种角度(角速度)检测装置,它将输入给轴的角度量,利用光电转换原理转换成相应的电脉冲。旋转编码器具有体积小,精度高,工作可靠,接口数字化等优点。此外旋转编码器安装较为方便,接口电路较为简单,能够减少系统硬件电路的工作量。

由于本设计需要采用两个闭环控制,比较后旋转臂采用微机械陀螺传感器测量电机带动旋转臂转动的角度,用光电编码器测量摆杆的摆动角度。

综上所述我们选择方案1和3。

3.系统整体结构工作原理

系统硬件构或如图C-7-1所示。其中电源模块需要给光电编码器、微机械陀螺传感器、主控芯片供电,电机的驱动模块及直流减速电机也由外接12V电源供电,接口按键用来调节控制的模式,完成不同的摆杆控制要求。

图C-7-1 系统硬件模块框图

系统通过光电编码器的轴来固定摆杆,这样摆杆摆动的角度就可以通过光电编码器来测量;直流减速电机旋转带动旋转臂转动,在旋转臂上固定微机械陀螺传感器来检测电机带动旋转臂转动的角度;经过处理后的角度通过控制器与设定的角度进行比较,然后通过两个PID控制模块(软件完成)来实现电机驱动模块的控制,最终实现电机的转速和转向的控制。

4.功能指标实现方法分析

从上述方案论证中可知,选用12V直流减速电机,开始时给电机一个启动速度,摆杆由于惯性而向与电机转动相反的方向转动,如图C-7-2所示,当摆杆再次落到最低点时给电机一个反向的速度,摆杆会继续上升,这样重复一到两次就可以完成基本部分的第一个要求。

为了使摆杆在最低点的速度能够达到做圆周运动的速度,在摆杆速度达到最大时,通过电机反向作用,给摆杆一个正向的加速度,使其速度满足其做圆周运动,但由于摩擦较大,具体操作时,通过二次加速,从而使其做圆周运动。

当摆杆被外力拉倒165°时,放开的瞬间,通过电机给旋转臂一个与摆杆倒下方向相同的速度,如图C-7-3所示,通过PID调节给电机一个最大的加速度,使摆杆尽量能够在竖直位置附近,然后结束摆杆幅度加大的正反馈环节,进入让所加的加速度随着摆杆与竖直位置夹角的大小成正比,但加速度的方向与夹角变化方向相反的程序中,从而使摆杆达到倒立状态。

发挥部分通过对受力、摆杆角度及电机角速度反馈系统的分析,用能量定理以及PID算法来修正摆杆的实时状态。

图C-7-2 初始转动情况图C-7-3 摆杆倒下时状态

图C-7-4 PID算法控制原理

5.测量控制计算分析处理

(1)PID算法

在过程控制中,PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活。PID是比例、积分、微分的缩写,将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称为PID控制器。PID算法控制原理如图C-7-4所示。

根据方案要求,直流减速电机PID控制原理为给定速度n0(t)与实际转速n(t)进行比较,其差值e(t)=n0(t)-n(t),经过PID控制器调整后输出电压控制信号u(t), u(t)经过功率放大后,驱动直流减速电动机改变其转速。

(2)环形一级倒立摆系统的数学模型建立

环形单级倒立摆模型由一个转动杆和一个摆杆组成, 其坐标系如图C-7-5所示。图C-7-5中l1为转动杆杆长, l2为摆杆杆长;θ1θ2分别为转动杆相对于x轴的转角、摆杆与垂直向上方向的夹角, 逆时针为正。这是一个二自由度系统, 转动杆绕z轴水平转动, 以使摆杆进入工作状态。所谓工作状态, 就是摆相对于不稳定平衡点为θ2=0, 摆杆的θ2 角保持在一定的范围内。在距摆杆摆动轴O1为l 处取一小段dl,这一小段的坐标为:

x=l1cosθ1-lsinθ2sinθ1,y=l1sinθ1+lsinθ2cosθ1,z=lcosθ2

令摆杆质量为m2, 则这一小段的动能为:

摆杆的动能为:

图C-7-5 倒立摆坐标系

摆杆只有转动,其动能为:

则系统的总动能为T=Tl1+Tl2,以转动水平位置为零势能位置,则系统势能等于摆杆势能:

m2gl2cosθ2

由拉格朗日算子得L=T- V, 系统广义坐标为q={θ1, θ2} , 在广义坐标θ2上无外力作用。令Fi为广义力,由拉格朗日方程:

可得系统非线性数学模型为:

Mq+N=Fq

倒立摆的摆动控制涉及力学模型、参数识别和复杂控制规律计算等问题。可以通过控制摆的能量来直接实现起摆控制。使用能量控制首先要找到施加到旋转臂的控制力矩与倒立摆系统能量之间的关系,通过外加控制力矩来改变倒立摆的系统能量,直至摆杆实现倒立。

以摆杆摆动轴O1为坐标原点建立坐标系,定义摆杆在倒立位置时系统能量为0,则在非惯性系下倒立摆系统的能量为:

m2gl2(cosθ2-1)

其导数:

由于

m2gl2sinθ2+m2u2l2cosθ2=0

m2gl2sinθ22=-m2u2l2θ2cosθ2

应用李雅普诺夫函数:

u2=k(E-E02cosθ2

cosθ2≤0

由于摆杆不可能一直在水平位置,即cosθ2不会一直为0,因此函数V会逐渐变小,直到E=E0,此时摆杆摆起,实现了倒立,因此只要通过PID的适当控制,就可以实现摆杆的各种姿态。

二、核心部件电路设计

1.关键器件性能分析

光电编码器:角度测量模块由高精度光电编码盘和微机械陀螺传感器构成,编码盘转轴随自由摆旋转臂转动,当旋转臂摆过一个角度后旋转编码盘将输出一串脉冲,通过对脉冲的计数可以算出转臂转过的角度。

微机械陀螺传感器:MPU6050整合了3轴陀螺仪、3轴加速器,并含可由第二个I2C端口连接其他品牌的加速器、磁力传感器或其他传感器的数位运动处理硬件加速引擎,由主要I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术InvenSense的运动处理资料库,可处理运动感测的复杂数据,降低了运动处理运算对操作系统的负荷,并为应用开发提供架构化的API。

2.关键电路结构工作机理

旋转编码的输出信号A、B时序图如图C-7-6所示。

图C-7-6 旋转编码器判断正反转

当转轴正转时A相输出脉冲超前B相输出脉冲,反转时则相反。通过单片机检测A、B相输出脉冲的相位关系可以精确地判断自由摆臂的正反转。

三、系统总体工作流程

根据要求需要设定不同的工作模式,在各个模式间切换。因此把程序归为五个工作模式,由按键切换,具体分配如下:

模式一:为基本要求一,驱动电机带动旋转臂做往复旋转使摆杆摆动,并尽快使摆角达到或超过-60°~ +60°。

模式二:为基本要求二,从摆杆处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动。

模式三:为基本要求三,在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除的同时,启动控制旋转臂使摆杆保持倒立状态,时间不少于5s;期间旋转臂的转动角度不大于90°。

模式四:发挥部分要求一和二,摆杆从自然垂直摆动到倒立,保持时间不少于10s,施加干扰后可以继续保持倒立或在2s内回复。

模式五:发挥部分要求三,在摆杆保持倒立状态的前提下,旋转臂做圆周运动,并尽快使单方向转过角度达到或超过360°。

主流程图设计如图C-7-7所示,主程序由四个按键控制五种模式,当系统启动时,所有按键均未按下执行模式一,S1按下执行模式二,S2按下执行模式三,S3按下执行模式四,S4按下执行模式五。

图C-7-7 主程序流程图

光电编码器工作流程图见图C-7-8,微机械陀螺传感器工作流程图如图C-7-9所示。

图C-7-8 光电编码器工作流程图

图C-7-9 微机械陀螺传感器工作流程图

四、竞赛工作环境条件

1.设计分析软件环境

通过信号发生器产生周期方波,单片机最小系统对方波信号计数并显示脉冲数。通过显示的脉冲数与数字示波器显示频率的比较,验证最小系统工作是否正常。

2.仪器设备硬件平台

测试中用到的主要仪器见表C-7-1,主要完成电压量和电压波形的测试,判断控制电机的波形是否合适,另外,测量角度是否满足要求。

表C-7-1 测试仪器表

3.配套加工安装条件

如图C-1所示,该装置的固定底座为一木板,可置于水平面上,支架采用铁质支架,旋转臂和摆杆采用木质材料。

4.前期设计使用模块

电机驱动模块,角度测量模块等的设计及调试。

五、创新特色总结

此次简易旋转倒立摆及控制装置的设计,以STM32F103单片机为控制核心,采用2000线的光电编码器实时采集摆杆旋转的角度及方向信息,并通过单片机控制直流减速电机来实现摆杆的各种姿态。同时以PID算法修正偏差,以实现控制要求。本次所设计的简易旋转倒立摆及控制装置能够完全实现基本部分和发挥部分的所有指标。总结该设计的实现过程,具有以下三个方面的优点:

首先,采用2000线光电旋转编码器,输出信号A、B为高低电平的数字脉冲信号,可直接与单片机管脚相连,无需额外附加驱动电路,精简了整体硬件电路设计。因而该设计方案具有角度值精确度高,旋转方向判别稳定可靠,硬件电路接口简单等优点。

其次,采用直流减速电机,它具体积小,重量轻,力矩大,控制能力强,结构紧凑,运行可靠等优点,非常适合本设计。

再次,在该设计的程序编写方面,用光电旋转编码器输出信号产生脉冲数,直接计算出摆杆的角度,然后通过PID算法修正,通过两者的修正关系,极大地提高了实验的精确度。

以上三方面的优点是该设计方案取得良好实验结果的有力保障。同时,该设计方案也存在不足和有待完善之处。如PID修正虽提高了实验精确度,但在实际的情况中,硬件的干扰会降低实验的成功率。

六、参考资料

[1]蒙博宇.STM32自学笔记[M].北京:北京航空航天大学出版社,2012

[2]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选[M].北京:北京理工大学出版社,2007

[3]霍罡.可编程序控制器模拟量及PID算法应用案例[M].北京:高等教育出版社,2008

[4]谭浩强.C语言程序设计[M].2版.北京:清华大学出版社,2008

报 告 8

基本信息

一、设计方案工作原理

1.预期目标定位

(1)摆杆从处于自然下垂状态(摆角为0°)开始,驱动电机带动旋转臂做往复旋转使摆杆摆动,并尽快使摆角达到或超过-60°~ +60°。

(2)从摆杆处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动。

(3)在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除的同时,启动控制旋转臂使摆杆保持倒立状态,时间不少于5s;期间旋转臂的转动角度不大于90°。

(4)从摆杆处于自然下垂状态开始,控制旋转臂做往复旋转运动,尽快使摆杆摆起倒立,保持倒立状态,时间不少于10s。

(5)在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2s内恢复倒立。

(6)在摆杆保持倒立状态的前提下,旋转臂作圆周运动,并尽快使单方向转过角度达到或超过360°。

2.方案选择(技术方案比较)

(1)控制器选型

控制器为整个系统的控制核心,负责对系统的运行参数进行检测,并根据预设和判断做出控制指令,使系统能够稳定运行于最佳状态。

方案1:选用51系列单片机。51系列单片机应用范围广泛,技术成熟,但其处理速度较低,RAM容量较小,外围功能不强,不能满足本次设计要求。

方案2:选用Freescale系列微控制器中的MC9S12XS128单片机。该单片机为标准的16位控制器,主频最高可达80MHz; 8个PWM调制波输出通道,每一个输出通道都可以独立输出;16个A/D口,内置A/D转换电路,含8位、10位、12位三种采样精度,速度快;有4个串行口、串口输出速率可调;59个 I/O通用口,完全满足本设计的处理速度及资源需求。另外小组成员对该款单片机较为熟悉,使用起来比较方便。

结合题目要求与单片机性能指标,本设计选用Free scale的MC9S12XS128单片机作为控制器。

(2)传感器选型

能否实现对摆杆转动角度的精确测量是倒立摆系统中的一个关键问题,所以对于角度传感器的选择尤为重要。在本设计当中需要精确测量自由摆杆的摆动角度,常用的方法是使用光电编码器、加速度传感器、角位移传感器等对角度进行测量。

方案1:选用光电编码器。通过统计脉冲的方式,可以实现对角度的精确测量,不易被干扰。但是需要搭建正反转检测电路。外围电路需经过稳定性测试,且价格较高。

方案2:选用加速度计传感器。传感器存在温漂,性能不够稳定。并且,在摆杆旋转过程中,传感器接线会影响摆杆的自由摆动。

方案3:选用角位移传感器,通过检测反馈的电压信号,可以精确测出角度值,而且不易被干扰,价格非常便宜。角位移传感器的旋转轴充当自由摆杆的固定、连接部件,阻尼较小,不会影响摆杆的自由旋转,有效避免了加速度传感器的接线问题。

综合考虑,本设计选用了WDD35D4高精度角位移传感器。它采用硬质铝合金材料制作外壳,采用导电塑料作为电阻材料,经过模压及激光修刻微调,保证了它的高性能,具有机械寿命长,分辨率高,转动顺滑,动态噪声小的优良特性。

(3)电机选型

方案1:选用步进电机。步进电机相对普通电机可以实现开环控制,控制思想简单。但其响应速度相对较慢,存在失步现象。步进电机的特性决定其不适合应用在倒立摆系统中。

方案2:直流无刷电机。直流无刷电机速度快,但是换向延时时间达到毫秒级,无法满足控制要求。

方案3:选用扭矩较大的直流电机,采用自主设计制作的驱动器。直流电机响应速度快、转速快,其固有特性可以有效地抵消摆杆的一阶惯性环节。可以满足控制要求。

综合各项性能指标,选取方案3的扭矩较大的直流电机。

3.系统结构

通过以上几种设计方案的分析比较,得出了系统的最终整体结构设计。采用MC9S12XS128单片机作为主控制器,实时采集WDD35D4传感器反馈回的电压信号,快速处理后转换成角度信号,分析出自由摆杆瞬时位置,并发出控制指令,调整电机的转动方向和速度,实现倒立摆系统的稳定运行。

系统整体结构如图C-8-1所示。

图C-8-1 系统整体结构图

本设计实现目标的重点在于倒立摆的自起摆和保持倒立,并且使系统有一定的抗干扰能力。

4.测试方案

自由摆杆的角度值是倒立摆系统中最重要的参数,为了能够精确得出该值及其在摆动时的变化规律,小组采用了无线通信方式,在运行过程中即时采集角度的变化值,并通过上位机软件绘制成波形图,便于观察分析,绘制的部分波形如图C-8-2所示。图中波形表明摆杆能在垂直平面内灵活旋转(超过5个来回),摆动的运行轨迹非常平滑,完全满足命题的基本要求。

图C-8-2 自由摆杆的角度值波形

在传感器的测试阶段,通过上位机可以看出角位移传感器存在断点。为避免断点对系统的影响,硬件上,将断点的位置放在不影响起摆和稳定的位置上;软件上,采用相应的滤波算法,在A/D采集时对断点位置进行判断并作相应处理。具体波形如图C-8-3所示。

图C-8-3 角度值波形

在摆杆自由摆动的过程中,施加干扰信号,通过上位机软件观察滤波前后的波形,从而判断滤波算法的有效性。具体波形如图C-8-4所示。

图C-8-4 滤波前后传感器角度波形

二、核心部件电路设计

1.直流电机驱动器设计

驱动芯片采用英飞凌公司的半桥驱动芯片BTS7971。该芯片是一种应用于电机驱动的高集成、大电流、半桥驱动芯片。其具有的输入电压范围宽、电平翻转速度快、驱动电流大(可达70A)等特点,能够满足系统对电机频繁换向的要求。同时该芯片还具有高温、过电流以及短路保护的功能。每一路驱动由两片BTS7971并联提供,使电路能够承受更大的换向电流冲击。两个半桥驱动芯片BTS7971构成全桥驱动电路。电机输入电压为12V。

控制器根据采集的角度信号,产生PWM波和转向控制信号,驱动器根据控制信号驱动电机运行,带动摆杆转动,以实现倒立摆的稳定运行。光电耦合器采用HCPL-2630,可以有效地避免高频干扰和滤除噪声,防止电流倒灌烧坏控制器,提高了系统的可靠性。

单片机控制信号经过光电耦合器进入驱动芯片,经驱动芯片输出控制电机正反转。具体电路如图C-8-5所示。

图C-8-5 电机驱动电路

2.电源电路

为增强系统的抗干扰性能,将控制器的电源和A/D的电源分开,具体电路如图C-8-6所示。

图C-8-6 电源电路

三、系统软件设计分析

1.控制算法

PID控制算法简单易懂,算法易于实现,而且不需要精确的系统模型。对于倒立摆系统的直立控制,需要系统没有误差或者误差很小,这样摆杆倒立之后系统就不会有较大的震荡。PID算法对误差的控制量较大,并且能够有效地消除系统的静差。

控制算法流程图见图C-8-7。

图C-8-7 控制算法流程图

手动输入参数部分流程见图C-8-8。

图C-8-8 手动输入参数部分流程图

2.PID算法流程

增量式PID的输出量仅与当前拍和前两拍的误差有关,对于误差的控制量较小。在倒立摆直立状态下会产生误差积累,使系统产生震荡,稳定性较差;位置式PID的输出量与过去所有的状态有关,不会存在误差积累。一旦系统进入稳定状态,基本上不会产生震荡,系统的稳定性较好。理论分析和实际控制效果均表明:本系统采用位置式PID的控制效果要优于增量式PID。

位置式PID公式:

位置式PID控制算法流程见图C-8-9。

图C-8-9 位置式PID运算程序

四、竞赛工作环境条件

南通大学电气工程学院实验中心为竞赛提供了实验场地、计算机和测试仪器设备,保证了竞赛顺利开展。竞赛过程中用到的实验设备包括:数字示波器、直流稳压电源、数字电压表、函数发生器等。

南通大学工程训练中心提供了一整套机械系统加工的支持。利用线切割设备制作电机联轴器;利用铣床制作倒立摆的摆杆;利用台钻进行钻孔等。

前期设计阶段传感器采用的是单轴加速度计陀螺仪,滤波算法使用的是卡尔曼滤波。但考虑到传感器的安装问题,最终放弃了这种方案。

五、作品成效总结分析

系统实现的功能如下:

(1)倒立保持:在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除摆杆能够保持倒立状态;期间旋转臂的转动角度不大于90°。

(2)自起摆:从摆杆处于自然下垂状态开始,自起摆,使摆杆摆起并能够长时间保持倒立状态(倒立时间大于1min)。

(3)抗干扰测试:在摆杆保持倒立状态下,用长度为15cm的细线拉住30g砝码,将砝码拉至与摆杆成45°角的位置施加干扰,摆杆能继续保持倒立。

六、参考资料

[1]刘安家.环形倒立摆与旋转式倒立摆的起振和平衡控制[D].上海:同济大学,2009

[2]电磁组智利车参考设计方案(版本2.0)

[3]朱玉奇.旋转式倒立摆的控制研究[D].南京:南京化工职业技术学院

[4]江晨,王富东.旋转式倒立摆系统的算法研究及仿真[D].苏州:苏州大学

[5]马光,高强.单机旋转倒立摆控制研究[J].天津理工大学学报,2007,23(3):32-34

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈