电赛 风力摆 论文.docx

上传人:b****2 文档编号:3250946 上传时间:2023-05-05 格式:DOCX 页数:13 大小:287.73KB
下载 相关 举报
电赛 风力摆 论文.docx_第1页
第1页 / 共13页
电赛 风力摆 论文.docx_第2页
第2页 / 共13页
电赛 风力摆 论文.docx_第3页
第3页 / 共13页
电赛 风力摆 论文.docx_第4页
第4页 / 共13页
电赛 风力摆 论文.docx_第5页
第5页 / 共13页
电赛 风力摆 论文.docx_第6页
第6页 / 共13页
电赛 风力摆 论文.docx_第7页
第7页 / 共13页
电赛 风力摆 论文.docx_第8页
第8页 / 共13页
电赛 风力摆 论文.docx_第9页
第9页 / 共13页
电赛 风力摆 论文.docx_第10页
第10页 / 共13页
电赛 风力摆 论文.docx_第11页
第11页 / 共13页
电赛 风力摆 论文.docx_第12页
第12页 / 共13页
电赛 风力摆 论文.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电赛 风力摆 论文.docx

《电赛 风力摆 论文.docx》由会员分享,可在线阅读,更多相关《电赛 风力摆 论文.docx(13页珍藏版)》请在冰点文库上搜索。

电赛 风力摆 论文.docx

电赛风力摆论文

 

2015年全国大学生电子设计竞赛

 

风力摆控制系统(B题)

 

 

2015年8月15日

摘要

该设计采用STM32F103VCT6芯片为风力摆控制核心,实行模块化设计,由控制系统模块、电机驱动模块、角度传感器模块、电源模块等模块组成。

通过四元数法对MPU6050回传数据进行处理,并通过闭环PID算法控制轴流风机转动以控制风力摆运动。

实现了风力摆15s内做可控幅度及方向的摆动并用激光笔在地上画出稳定直线,风力摆在一定角度放开后快速静止,风力摆可做可控半径的圆周运动,并在受外力干扰后快速恢复运动。

经测试,该设计系统性能良好,所有基本要求都已达到,部分指标或超出题目发挥部分要求。

 

关键词:

风力摆;模块化;MPU6050;PID算法

目录

一、系统方案1

1、电机驱动的论证与选择1

2、角度传感器的论证与选择1

3、控制系统的论证与选择1

二、系统理论分析与计算2

1、风力摆状态的分析2

2、四元数与姿态的计算2

(1)四元数2

(2)四元数与旋转2

3、PID的计算4

三、电路与程序设计4

1、电路的设计4

(1)系统总体框图4

(2)电机驱动模块框图与电路原理图4

(3)角度传感器模块框图与电路原理图5

2、程序的设计6

(1)程序功能描述与设计思路6

(2)程序流程图6

四、测试方案与测试结果6

1、测试仪器6

2、功能测试6

(1)测试过程6

(2)测试结果(数据)7

3、测试结论与分析7

五、结论与心得7

六、参考文献7

附录1:

原理图8

附录2:

测试数据9

风力摆控制系统(B题)

【本科组】

一、系统方案

本系统主要由控制系统模块、电机驱动模块、角度传感器模块、电源模块组成,下面分别论证这几个模块的选择。

1、电机驱动的论证与选择

方案一:

采用继电器对电动机的开或关进行控制,通过开关的切换对轴流风机的速度进行调整。

这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。

方案二:

以N沟道增强型场效应管为核心,基于H桥PWM控制的驱动控制电路,对直流电机的正反转控制及速度的调节具有良好的工作性能。

并且直流电机控制电路的运行稳定可靠,电机调节响应速度快,满足大功率直流电机的驱动控制,结构简单、驱动力强、功耗低。

综合以上二种方案,选择方案二。

2、角度传感器的论证与选择

方案一:

采用WDD35D5角度传感器。

其原理相当于可调电位器,根据风力摆倾斜角度产生相应的阻值,通过AD转换处理后从而算出相应的角度,但是该方案需要AD转换、不易放置、仅能直接得到角度等问题。

方案二:

采用MPU-6050加速度陀螺仪。

该模块整合了3轴陀螺仪和3轴加速度器,输出六轴旋转矩阵、四元数、Euler角的融合演算数据,通过处理后可检测到风力摆倾斜角度及其加速度,以便于对摆杆的控制。

综合以上二种方案,选择方案二。

3、控制系统的论证与选择

方案一:

采用STC89C52单片机作为主控芯片,STC89C52单片机是STC89C51单片机的增强板,是STC公司生产的一种低功耗、高性能8位微控制器,具有8k可编程Flash存储器,总共有32 位I/O 口线, 3个16 位定时器/计数器,4个外部中断,全双工串行口等资源。

虽然最小系统简单,编程较易,但是工作频率过低无法满足该设计的高速运算要求。

方案二:

采用STM32F103VCT6作为主控芯片,STM32系列单片机是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。

它具有512K 片内FLASH,64K片内RAM ,片内FLASH 支持在线编程(IAP),多达80个IO(大部分兼容5V逻辑),4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S 接口,2路I2C接口,5路USART等丰富的资源,较高的工作频率可满足该设计所需的高速运算及数据处理。

综合以上二种方案,选择方案二。

二、系统理论分析与计算

1、风力摆状态的分析

从陀螺仪DMP直接读出四元数,然后计算出欧拉角,最后通过欧拉角确定陀螺仪的姿态。

通过风摆姿态变化可以分析出风摆实时的位置还有速度信息,再由主控系统通过PID算法分析后控制轴流风机转动控制风力摆运动。

2、四元数与姿态的计算

(1)四元数

四元数是简单的超复数。

复数是由实数加上虚数单位i组成,其中i^2=-1。

相似地,四元数都是由实数加上三个虚数单位i、j、k组成,而且它们有如下的关系:

i^2=j^2=k^2=-1,i^0=j^0=k^0=1,每个四元数都是1、i、j和k的线性组合,即是四元数一般可表示为a+bk+cj+di,其中a、b、c、d是实数。

对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表X轴与Y轴相交平面中X轴正向向Y轴正向的旋转,j旋转代表Z轴与X轴相交平面中Z轴正向向X轴正向的旋转,k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。

(如图2-1)

图2-1

(2)四元数与旋转

姿态解算的核心在于旋转,一般旋转有4种表示方式:

矩阵表示、欧拉角表示、轴角表示和四元数表示。

矩阵表示适合变换向量,欧拉角最直观,轴角表示则适合几何推导,而在组合旋转方面,四元数表示最佳。

因为姿态解算需要频繁组合旋转和用旋转变换向量,所以采用四元数保存组合姿态、辅以矩阵来变换向量的方案。

下面介绍一下四元数,然后给出几种旋转表示的转换。

四元数可以理解为一个实数和一个向量的组合,也可以理解为四维的向量。

这里用一个圈表示q是一个四元数(很可能不是规范的表示方式)。

四元数的长度(模)与普通向量相似。

下面是对四元数的单位化,单位化的四元数可以表示一个旋转。

四元数相乘,旋转的组合就靠它了。

旋转的“轴角表示”转“四元数表示”。

这里创造一个运算q(w,θ),用于把绕单位向量w转θ角的旋转表示为四元数。

通过q(w,θ),引伸出一个更方便的运算q(f,t)。

有时需要把向量f的方向转到向量t的方向,这个运算就是生成表示对应旋转的四元数的(后面会用到)。

然后是“四元数表示”转“矩阵表示”。

再次创造运算,用R(q)表示四元数q对应的矩阵(后面用到)。

多个旋转的组合可以用四元数的乘法来实现。

“四元数表示”转“欧拉角表示”。

3、PID的计算

PID计算方式如图2-1所示

图2-1PID计算方式

PID计算公式:

该风力摆上,经调试PID参数设置为:

K=1,P=1600,I=2,D=165。

三、电路与程序设计

1、电路的设计

(1)系统总体框图

该风力摆控制系统由stm32最小系统、mpu6050传感模块、电机驱动模块、电源模块组成,由stm32用PID算法处理传感器回传的数据,用处理后的数据来控制轴流风机的转动进而控制风力摆运动。

系统总体框图如图3-1所示

激光笔

轴流风机

电机驱动

STM32

MPU6050

 

电源

 

图3-1系统总体框图

(2)电机驱动模块框图与电路原理图

1、电机驱动框图

直流电机驱动电路由电机驱动逻辑电路、光电隔离电路、驱动信号放大电路、H桥功率驱动电路等4部分组成,如图3-2所示。

电机驱动电路的主要控制信号有电机转向控制信号Dir、电机转速控制信号PWM。

Uc1为驱动逻辑电路电源,Uc2为电机驱动电源。

设计的电路中,逻辑电路与驱动放大电路进行电气隔离,消除了驱动电路对前级电路的干扰,逻辑运算后的控制信号通过光电隔离和放大后,驱动H桥上下桥臂,实现对电机的控制。

图3-2电机驱动框图

2、电机驱动电路

图3-3电机驱动电路

 

(3)角度传感器模块框图与电路原理图

MPU6050整合了三轴陀螺仪、三轴加速度计,并含I2C端口连接其他厂家的加速器、磁力传感器或其他传感器的数位运动处理(DMP)硬件加速引擎等,由主I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术InvenSense的运动处理资料库。

MPU60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。

为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250、±500、±1000与±2000°/sec(dps),加速度计可测范围为±2g、±4g±8g与±16g。

电路图如图3-4所示:

图3-4MPU6050电路图

2、程序的设计

(1)程序功能描述与设计思路

该程序首先初始化,根据风力摆运动要求开启轴流风机,控制系统读取陀螺仪回传数据,进行PID处理后调节PWM出给电机驱动模块,修正轴流风机转动,实现风力摆按要求运动。

(2)程序流程图

1、主程序流程图见附录1

四、测试方案与测试结果

1、测试仪器

仪器

型号

用途

数量

示波器

TEKTRONIXDOP2024

显示电路波形

1

卷尺

WEY-100

测量画线长度

1

量角器

测量画线角度

1

电风扇

格力

吹风影响风力摆

1

2、功能测试

(1)测试过程

测试基本要求部分时,初始化系统,将风力摆从静止开始做可控制幅度及方向的摆动,使激光笔在地面稳定地画出直线。

测试发挥部分,初始化程序,风力摆将按照要求,做可控半径的圆周运动,并且在受外力影响时,快速回复圆周运动。

(2)测试结果(数据)

见附录2

3、测试结论与分析

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

1、风力摆可在规定时间内做可控幅度及方向的直线运动。

2、风力摆再拉起一定角度放开时,可快速恢复静止状态。

3、风力摆可在规定时间内做可设半径的圆周运动,并在受外力作用下快速恢复圆周运动。

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

五、结论与心得

该系统采用STM32F103VCT6单片机控制,采用模块化设计,多模块协调工作。

经过四天三夜的不懈努力,完成了题目基本要求和发挥部分。

在此系统设计制作中多次陷入困境,尤其是四元数与姿态计算时的理论分析的确不是我们的强项,但是大家靠现查资料、恶补物理和高数方面的不足,最后得以把误差控制在可接受的范围内,比较圆满完成风力摆可控运动。

在最后的多模块联合调试过程中,由于大家分工不同,代码组合起来的难度超出我们的意料。

最终我们三人通过一个通宵的奋斗还是圆满地完成了任务。

此次比赛,我们深刻体会到队员之间交流的重要性,自己的任务完成得再好,代码联合不起来也是无用功。

六、参考文献

【1】谭浩强.C语言程序设计[M].北京:

清华大学出版社,2012

【2】童诗白、华成英.模拟电子技术基础(第四版)[M].北京:

高等教育出版社,1980.

【3】黄智伟.全国大学生电子设计竞赛电路设计[M].北京:

北京航空航天大学出版社,2006

附录1:

原理图

1、主程序流程图

 

附录2:

测试数据

1、15s画45cm与基准夹角60度直线

测试次数

直线长度/cm

直线角度/度

用时/s

1

47.0

57.0

14

2

43.5

59.3

15

3

44.3

60.2

16

4

46.4

60.0

15

5

47.4

61.1

13

2、风力摆有35°放开,5s内使风力摆静止

测试次数

1

2

3

4

5

时间/s

6.2

4.9

5.0

4.3

4.8

3、30s内重复3次做半径为30的圆周运动

测试次数

1

2

3

4

5

时间/s

35

25

27

20

33

4、被风扇影响后5s内恢复圆周运动

测试次数

1

2

3

4

5

时间/s

6

6

5

4

5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2