风力摆控制系统论文14p

上传人:cjc****537 文档编号:46127073 上传时间:2018-06-22 格式:DOC 页数:14 大小:13.21MB
返回 下载 相关 举报
风力摆控制系统论文14p_第1页
第1页 / 共14页
风力摆控制系统论文14p_第2页
第2页 / 共14页
风力摆控制系统论文14p_第3页
第3页 / 共14页
风力摆控制系统论文14p_第4页
第4页 / 共14页
风力摆控制系统论文14p_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《风力摆控制系统论文14p》由会员分享,可在线阅读,更多相关《风力摆控制系统论文14p(14页珍藏版)》请在金锄头文库上搜索。

1、0风力摆控制系统风力摆控制系统摘摘 要要本文设计和实现的风力摆控制系统一种双输入,双输出闭环控制系统。系统通过调节风机转速实现风力摆按照一定规律运动,激光笔画出所要求的运动轨迹,而以风力摆的摆角作为调节风机转速的参数。本系统以 STM32F103 单片机为控制核心,包括电源模块,单片机控制模块、按键选择模块、声光报警模块、风机驱动模块、角度检测模块。由按键选择风力摆的工作模式,单片机通过驱动控制风机转速,改变风力摆的摆角。陀螺仪检测风力摆的摆角并将数据反馈给单片机,对此数据进行卡尔曼滤波和 PID 控制算法处理后,单片机声光报警,输出 PWM 波控制驱动调节风机转速。软件部分应用 C 语言实现

2、系统的基本功能。关键词:关键词:风力摆;陀螺仪;卡尔曼滤波;PID 控制算法11 1 方案论证与比较方案论证与比较1.11.1 总体方案设计总体方案设计本系统以 STM32F103 单片机为控制核心,包括电源模块,单片机控制模块、按键选择模块、声光报警模块、风机驱动模块、角度检测模块。采用直流开关电源给驱动和单片供电,驱动将电压稳压后给风机供电。由按键选择风力摆的工作模式,单片机通过 ULN2003 驱动模块控制风机转速,改变风力摆的摆角。MUP6050 陀螺仪检测风力摆的摆角并将数据反馈给单片机,对此数据进行卡尔曼滤波和 PID 控制算法处理后,单片机声光报警,输出 PWM 波控制驱动模块调

3、节风机转速。图 1-1 为系统总方案设计框图。驱 动电 源风机陀螺仪MSP430F149按键输入声光报警器图图 1-1 系统总方案设计框图系统总方案设计框图1.21.2 单片机控制模块方案论证与比较单片机控制模块方案论证与比较方案一:采用 STC8051 单片机作为本系统主控器。51 系列单片机功耗较高,8 位微型处理器运算速度慢,5 个中断源,无硬件乘法器,片内资源少。但价格低廉,使用简单。方案二:采用 MSP430F149.单片机作为本系统的主控器。MSP430F149 单片机德州仪器开发的一种超低功耗微控制器,它是一款 16位单片机,内含 12 位 ADC,运算速度较快,价格略贵。方案三

4、:采用 STM32F103 单片机作为本系统主控器。STM32 系列是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的 ARM 。STM32F103 是一款常用的增强型系列微控制器。STM32F103 增2强型系列使用高性能的 ARM/Cortex-M3/32 位的 RISC 内核,运算速度极快,精度高,执行能力强,中断源多。综上三种方案,STM32F103 单片机比其他两个单片机运算速度都快,精度更高,处理能力强,功耗低,且价格适中,能大大降低系统复杂度,提高了系统的性价比,因此我们选方案二。1.31.3 角度检测模块方案论证与比较角度检测模块方案论证与比较方案一:采用导电塑料角位移

5、传感器 WDS35D。WDS35D 传感器采用特殊形状的转子和绕线线圈,模拟线性可变差动传感器的线性位移。WDS35D 测量范围为 0360,输出电压范围输入电压有关,输出精度为 1mv,测量精度为 0.1,可以实现对角位移的精确测量。但WDS35D 操作复杂,不易控制,价格较高,适用于对角度精度和稳定性要求极高的复杂控制系统。方案二:采用 MPU6050 陀螺仪模块。MPU-60X0 是全球首例 9 轴运动处理传感器。它集成了 3 轴 MEMS 陀螺仪,3 轴 MEMS 加速度计,以及一个可扩展的数字运动处理器 DMP,MPU6050 对于角度的采集精度高,易于操作。综上两种方法,MPU60

6、50 和 WDS35D 可都以进行精确测量,但 MPU6050 陀螺仪模块体积小、精度高、采集速度快、操作简单,而 WDS35D 操作复杂,价格较高,不实用,故我们选择方案二。1.41.4 驱动模块方案论证与比较驱动模块方案论证与比较方案一:采用以 L298N 为主芯片的驱动电路。L298N 是 ST 公司生产的一种二相和四相电机的专用驱动器。L298N 是可以承受高压大电流的双全桥式驱动器,可驱动直流和步进电机,其输出电流大,功率大,一次可以同时控制两个电机,价格适中,是比较常见和实用的电机驱动模块。方案二:采用 ULN2003 驱动模块。ULN2003 是高压大电流达林顿晶体管阵列系列产品

7、,可直接驱动继电器等负载,其操作简单,易于控制,具有电流增益高、工作电压高、温度范围宽、带负载能力强等优点。综上两种方案,我们采用 ULN2003 模块驱动。按照题目要求我们选择的轴流风机所需驱动电压较小,而以 L298N 为主芯片的驱动电路驱动电压过大,而 ULN2003 模块的驱动电压刚好适用,故我们选择方案二。32 2 系统理论分析及计算系统理论分析及计算系统要实现风力摆的规律运动,使激光笔画出运动轨迹,单片机对与角度数据的处理是非常重要的。本系统中由陀螺仪检测风力摆的摆角,陀螺仪共检测到风力摆 3 组角速度、重力加速度数据,由于此数据为非线性信号,所以要先采用低通滤波进行信号处理,然后

8、对采集数据进行四元数与欧拉角的转换,转换后的数据经卡尔曼滤波得到易于控制的线性信号,最后由 PID 控制算法计算得到单片机所应该输出的 PWM 波,由此调节风机转速,实现风力摆的规律运动。2.12.1 四元数与欧拉角的转换四元数与欧拉角的转换角度数据经低通滤波后变得较为平滑,但此数据为非线性信号,不能直接用于控制,需要进行四元数与欧拉角的转换。四元数是简单的超复数,复数是由实数加上虚数单位 i 组成。四元数就是由一个实数加上三个元素 i、j、k 组成,四元数一般可表示为 a+bi+cj+dk,且。假设刚体坐标系为 b 系,地理坐标系为 R 系,则地理坐12222dcba标系 R 到刚体坐标系

9、b 的坐标变换为: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqCb r222110322031103223213021203130212322212222122221欧拉角是用来唯一地确定定点转动明体位置的三个一组独立角参量,由章动角、进动角和自转角组成,已知任一瞬时的某一角的各个分量,也可求出其他两角时间的关系,因而也就决定了刚体的运动。四元数转换成欧拉角的变换为: qqqqqq22213021 212arctan qqqqqq23223021 212arctanqqqq31202arcsin42.22.2 卡尔曼滤波卡尔曼滤波卡尔曼滤波一种利用线性系统状态方程,通过系统输

10、入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。数据滤波是去除噪声还原真实数据的一种数据技术, 滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。在本系统中以风力摆所有过去的摆角输入和扰动作用最小参数的集合为基础对未来摆角数据进行预测,从输出和输入观测数据求出的系统状态最优估计,能够与未来的输入与系统的扰动一起确定风力摆摆角的整个变化。非线性数据经过卡尔曼滤波作用后可以大幅度提高控制精度,减少系统误差,增加系统的稳定性。2.32.3 PIDPID 控制算法理论分析控制算法理论分析PID 调节

11、是一种线性调节,它将给定值与实际输出的偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制。当被控对象的结构和参数不能完全掌握或得不到精确的数学模型,控制理论和其他技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用 PID 技术最为方便,即使当我们不完全了解一个系统和被控对象,或是不能通过有效的测量手段来获得系统参数时,也适合采用 PID 控制技术。在本系统中被控对象为风力摆,其数学模型以及理论计算并不容易,故我们采用位 PID 控制算法对经卡尔曼滤波后的数据进行计算。其中 P 为比例系数;I 为角度误差的积分系数;D 为微分系数。OUTPUT=P*Err

12、or+D/dt*Error(n)-Erro(n-1)系统控制框图如图 2-1 所示。PID陀螺仪PIDMMPWM波PWM波、图图 2-12-1 系统控制框图系统控制框图53 3 硬件与软件的设计硬件与软件的设计3.13.1 硬件的实现硬件的实现3.1.1 单片机控制模块设计单片机控制模块设计基于 STM32F103 单片机的主控电路,STM32F103 是 ST 旗下的一款常用的增强型系列微控制器,STM32F103 增强型微控制器系列使用高性能的ARM/Cortex-M3/32 位的 RISC 内核,具有处理能力强,功耗低,执行能力强,中断源多等优点。在整个系统中由 STM32F103 单片

13、机控制实现整个功能,包括陀螺仪对摆角数据的采集,卡尔曼滤波处理非线性信号,PID 控制算法计算、风机的驱动以及声光报警等功能。系统采用 C 语言进行编程,C 语言生成目标代码质量高,程序执行效率高,更易控制系统。图 3-1 为 STM32F103 单片机最小系统电路图。图图 3-1 STM32F103 单片机最小系统电路图单片机最小系统电路图3.1.2 电源与驱动模块设计电源与驱动模块设计本系统采用 LM2596 开关电源供电,LM2596 为可调式的开关电源,可固定输出 3.3V、5V、12V 电压,可调版本可以输出小于 37V 的各种电压。具有6很好的线性和负载调节特性。LM2596 将输

14、出电压同内部基准稳压值进行比较,通过放大器调节去芯片内部振荡器的输出占空比,从而稳定输出电压,稳定输出的电压经电容进行平滑滤波。在实际操作中通过调节 R2 改变输入电压,经LM2596 稳压得到所需电压。本系统中通过经 LM2596 稳压得到 3.3V、5V、7V 电压,分别给单片机、驱动、声光报警模块、风机供电。电源模块电路如图 3-2 所示。图图 3-2 电源模块电路图电源模块电路图3.1.2 驱动模块设计驱动模块设计本系统采用 ULN2003 驱动模块驱动轴流电机作为本系统的执行机构。单片机对角度数据处理后输出 PWM 波控制 ULN2003 驱动模块。ULN2003 是高耐压、大电流达

15、林顿陈列,由七个硅达林顿管组成。ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻,在 5V 的工作电压下它能与 TTL 和 CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 在本系统中所选的轴流电机所需驱动电压较小,ULN2003 驱动模块驱动电压刚好适用,ULN2003 实际为多个 NPN 三极管,相比其他驱动模块,ULN2003 操作简单,易于编程。驱动模块电路如图 3-3 所示。图图 3-3 驱动模块电路图驱动模块电路图 73.1.3 声光报警模块设计声光报警模块设计本系统采用蜂鸣器和 LED 灯作为声光报警模块。按照题目要求运动达到要求时要进行一定

16、的声光提示,题目要求不高,蜂鸣器和 LED 灯完全能够达到要求。在此模块中系统采用三极管 9012 作为开关控制 LED 灯亮、蜂鸣器报警。三极管 9012 为 NPN 型三极管,当运动轨迹达到要求时,单片机给NPN9012 基极一个低电平时,三极管导通,LED 灯亮、蜂鸣器报警。在电路中 1N4007 二极管主要起保护电路作用。驱动模块电路如图 3-4 所示。图图 3-4 电源模块电路图电源模块电路图3.23.2 软件的实现软件的实现本系统采用 STM32F103 单片机为控制器,采用 C 语言编程。程序主要起导向和决策的作用,它控制整个系统稳定协调的运作。在本系统中,对各个模块的调试采用分步进行,确定各个模块的独立工作完整性,然后再对整个系统所有模块进行完糅合,使其完成系统的所有功能。由按键选择风力摆的工作模式,单片机通过控制风机转速

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

当前位置:首页 > 经济/贸易/财会 > 经济学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号