风力摆控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方案 2:MSP430F149 单片机,是 16 位单片机,处理能力强,超低功耗,并 且运算速度快。本设计需要多个电机轮流控制,并对时间精度要求高,MSP430F149 能够满足要求。
因为 MSP430F149 运算速度足够快,能够实现题目要求,相比较之下选择方 案 2。
2.3 直流风机组合方式的比较和论证
(3-3)
6
传递函数如式(3-4)
()
G(s) = = + +
()
(3-4)
比例 P:对风力摆的角速度进行比例调节,进而对直流风机的转速进行调节。
比例越大,直流风机的转速越大,风力摆的角速度越大。不过不能过大,否则会
造成超调。
积分 I:对角度误差进行积分调节,消除系统的稳定误差。本设计对风力摆
达到稳定状态的速度要求较高,所以对角度误差的积分调节要求不高。
风力摆控制系统 摘要
本设计实现了用风力作为动力的摆动装置控制系统,该系统是由单片机控制 模块、姿态采集模块、风力摆模块、显示模块、独立按键以及风力摆机械结构组 成的。本设计采用了 MSP430F149 为单片机控制直流风机;电子陀螺仪 MPU6050 采集风力摆姿态角;独立按键来切换各个工作状态;激光笔来显示摆动的轨迹; LED 灯显示运动是否达到要求。本设计实现了风力摆做直线摆动,且摆动长度、 角度可设定;快速制动;在有无干扰的情况下画圆的要求,本系统较好的完成了 题目所给的指标。
5
3 理论分析与计算
3.1 摆动原理
如图 3.1 为风力摆摆动Βιβλιοθήκη Baidu力分析图,A、B 两点为摆动最高点,以 A 点为例, =0,风力摆受到摆杆的拉力 、重力 G,此时加速度如公式(3-1),因为 A 点 为最高点,则此时角度α为最大值,所以此时加速度 a 最大。若在此时风机全速 运转,给风力摆施加与加速度 a 方向相同的力 F,更容易使其加速,最终实现摆 动。B 点同理。
(3) 可设定摆动方向,风力摆从静止开始,15s 内按照设置的方向(角度) 摆动,画出不短于 20cm 的直线段;
(4) 将风力摆拉起一定角度(30°~45°)放开,5s 内使风力摆制动达到 静止状态。
2
1.2.2 发挥部分 (1) 以风力摆静止时激光笔的光点为圆心,驱动风力摆用激光笔在地面画
圆,30s 内需重复 3 次;圆半径可在 15~35cm 范围内设置,激光笔画出的轨迹 应落在指定半径±2.5cm 的圆环内;
(2) 在发挥部分(1)后继续作圆周运动,在距离风力摆 1~2m 距离内用 一台 50~60W 台扇在水平方向吹向风力摆,台扇吹 5s 后停止,风力摆能够在 5s 内恢复发挥部分(1)规定的圆周运动,激光笔画出符合要求的轨迹;
(3) 其他。
2 方案论证与设计
2.1 总体方案描述
本设计的结构示意主视图与俯视图如下图 2.1 所示,为了实现题目中的要求, 我们在初始点 O 处 1~4 号直流风机全部开始运转,1、3 号直流风机用来调节垂 直于运动方向上的距离,使其摆动时偏差不超过允许范围;2、4 号直流风机同时 运转,但转速不同,使风力摆向风速小的方向运动。风力摆无法直接运动到指定 位置,所以需要多次摆动,每次到达最高点时将其推向另一侧,最终使其实现摆 动。采用姿态采集模块来测量摆动角度,进而推断画线长度;通过几个在直流风 机的合力使风力摆向任意指定方向摆动;改变各个直流风机的风速使其尽快制动。 调节各个风机使其在有无干扰的情况下完成画圆功能。
方案 1:使用两个直流风机,直接将两个直流风机固定在摆杆的下方,两个 直流风机成十字交叉状如图 2.3 所示。这种方式的优点在于负载轻、操作简单, 可以直接由两个直流风机分别负责两个轴上的摆动,不过风力摆的状态微调和快 速制动不易实现。
摆杆
风机 1 风机 2
图 2.3 两个直流风机组合示意图
4
方案 2: 使用四个直流风机,用两个矩形塑料板组成十字形,分别将四个直 流风机放置在四个点上如图 2.4 所示。每个轴上由两个直流风机控制风力摆的摆 动,可以很好地做到加速摆动与快速制动,能够更容易的实现题目的要求。
图 4.2 MPU6050 角度测量电路图
4.1.3 电机驱动电路 L298N 电机驱动电路图如图 4.3 所示, L298N 是 ST 公司生产的一种高电
压、大电流电机驱动芯片。该芯片采用 15 脚封装。主要特点是:工作电压高, 最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;额定功率 25W。内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱 动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控 制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有 一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻, 将变化量反馈给控制电路。
图 4.4 LCD1602 电路图
9
4.2 软件实现
4.2.1 主程序流程图 本设计的主程序流程图如图 4.3 所示,本系统使用单片机为主控核心,采用
C 语言编程,使用软件读取风力摆角速度,加速度,倾斜角度等信息。它控制整 个系统稳定协调的运作,完成不同轨迹的绘制。系统各种功能主要通过在中断中 调用具体的子函数来实现。
7
4.1.2 姿态采集模块电路 本设计采用了 MPU6050 陀螺仪进行姿态采集,MPU6050 通过处理器读取
测量角度然后通过串口输出,免去了用户自己去开发 MPU6050 复杂的 C 协 议,同时精心的 PCB 布局和工艺保证了 MPU6050 收到外接的干扰最小,测量 的精度最高。
模块内部自带电压稳定电路,可以兼容 3.3V/5V 的嵌入式系统,连接方便。 模块保留了 MPU6050 的 C接口,以满足高级用户希望访问底层测量数据的需 求。采用先进的数字滤波技术,能有效降低测量噪声,提高测量精度。模块内部 集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块 的当前姿态,姿态测量精度 0.01 度,稳定性极高。MPU6050 角度测量电路图如 图 4.5 所示。
方案 2:采用电子陀螺仪 MPU6050 测量角度。MPU6050 是全球首例整合 3 轴加速度计和 3 轴陀螺仪的 6 轴模块。内置 16 位的 A/D,输出 16 位的数据。测 量范围可以根据需要进行选择,控制简单、方便。
倾角传感器的误差较大,不能满足设计要求,相比较之下选择方案 2。
2.5 液晶显示模块的比较和论证
测量角度 判断摆动方向与距离
外界干扰
5.2 测试方案与结果
5.2.1 风力摆画长于 50cm 直线测试
风力摆从静止开始做类似自由摆运动,激光笔在地面上画出运动轨迹,直至 画出一条长于 50cm 的直线,记录所用时间,在测量误差时多测 3 个周期,取每 个周期偏差的最大值,再计算三次的误差平均值,记录误差平均值,重复三次, 测试结果如下表:
独立按键
单片机
电机驱动模块 直流风机 激光笔
显示模块
图 2.2 系统框图
2.2 微处理器模块的比较和论证
方案 1:51 系列单片机,是 8 位单片机,体积小,低功耗,控制能力强,扩 展灵活,使用方便。但是其运行速度很慢,(因为是 CISC(集中指令)结构,而 且芯片为了抗干扰采用了 12 分频的方法)、所有的 I/0 口都是准双向口,I/0 口 的驱动能力弱。
风机 1
风机 4
风机 2
风机 3
图 2.4 四个直流风机组合示意图
综上所述,因为四个直流风机的组合更容易摆动与快速制动,所以选择方案 2。
2.4 姿态采集模块的比较和论证
方案 1:采用倾角传感器 ADXL345,感应倾斜偏差角度的,将数据反馈给 单片机。操作简单、编程较容易、成本低,但其误差较大,不能满足本设计要求。
图 1.1 风力摆结构示意
1.2 设计要求
1.2.1 基本要求 (1) 从静止开始,15s 内控制风力摆做类似自由摆运动,使激光笔稳定地
在地面画出一条长度不短于 50cm 的直线段,其线性度偏差不大于±2.5cm,并 且具有较好的重复性;
(2) 从静止开始, 15s 内完成幅度可控的摆动,画出长度在 30~60cm 间 可设置,长度偏差不大于±2.5cm 的直线段,并且具有较好的重复性;
微分 D:微分调节反映风力摆的角度变化率,即角速度。微分调节具有预见
性,可以预见偏差的变化趋势,进而超前控制系统。可以减小调节时间。
4 系统硬件、软件的实现
4.1 硬件实现
4.1.1 微处理器电路 本作品用的 MSP430F149 最小系统电路如图 4.1 所示。
图 4.1 MSP430F149 最小系统电路图
图 2.1 结构示意主视图与俯视图
根据上述描述,本系统设计系统框图如图 2.2 所示,分为单片机控制、姿态 采集、直流风机三大模块。本系统采用姿态采集模块对角度进行测量,采用单片 机采集数据,并对电机驱动模块进行控制,进而控制直流风机。本系统可以通过 独立按键切换工作模式。
3
电源模块 姿态采集模块
开始 驱动电机画线
反馈线长 调节电机
否 是否退出画线
是 结束 图 4.5 画线程序流程图
开始 定时中断 扫描按键 保存键值
返回 图 4.7 键盘读值程序流程图
11
5 系统测试
5.1 测试仪器
序号 1 2 3 4 5
表 5.1 测试仪器 仪器名称 秒表 直尺 量角器
方向角度图纸 台扇
备注 测量摆动时间 测量摆动长度与误差
方案 1:12864 液晶显示,12864 不仅能显示数字符号,还能显示汉字与图 形,操作方法与其他液晶显示相似。但其体积较大,并且价格较高。
方案 2:采用 1602 液晶显示,1602 能显示字母、数字、符号,功能上完全 满足此系统的要求。相比于 12864,价格更低,更适合本设计。
综上所述两个液晶显示模块都能满足设计要求,但 12864 的价格较贵,所以 选择方案 2。
8
图 4.3 电机驱动电路图
4.1.4 液晶显示模块电路 本设计采用了 LCD1602 液晶显示模块,其电路图如图 4.4 所示。液晶显示
的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, 这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱 动、易于实现全彩色显示的特点。
开始 系统初始化 起摆画直线
读取键值
否 是否进行功能设置
是 读取键值 分析指令 执行功能 执行结束 图 4.3 主程序流程图
10
4.2.2 子程序流程图
开始
驱动电机画圆
反馈圆的半径
调节圆半径
否 是否退出画圆
是 结束 图 4.4 画圆程序流程图 开始
设置摆动方向
驱动电机摆动
调节摆动
否 是否退出
是 结束 图 4.6 设置摆动方向程序流程图
本设计采用 PID 算法来控制风力摆的摆动,使用陀螺仪实时测量当前姿态,
用其与前一个姿态、前前一个姿态进行比较,观察其变化趋势,若变化趋势是远
离设定姿态,则调节直流风机,以改变风力摆的变化趋势,使风力摆的状态趋于
设定姿态。PID 算法输入与输出的关系如式(3-3)
()
u(t) = ( ) + ∫ ( ) +
a=
(3-1)
M α
A
B
Fa O
G
C
N
D
图 3.1 风力摆摆动受力分析图
在用激光笔画设定长度的直线时,根据设定长度 CD 与已知长度 MN,可求 得其角度α,计算公式如式(3-2)。采用陀螺仪检测角度,当角度达到α时,则 激光笔所画直线已达到设定长度。
α = arc tan
(3-2)
3.2PID 控制原理
关键词:风力摆;直流风机;MSP430F149;电子陀螺仪
1
1 设计任务与要求
1.1 设计任务
一长约 60cm~70cm 的细管上端用万向节固定在支架上,下方悬挂一组(2~4 只)直流风机,构成一风力摆,如图 1 所示。风力摆上安装一向下的激光笔, 静止时,激光笔的下端距地面不超过 20cm。设计一测控系统,控制驱动各风机 使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。
序号
表 5.2 风力摆画长于 50cm 直线测试 时间
误差平均值
1
9.45s
1.57cm
2
9.20s
1.80cm
3
9.34
1.97
经测试发现本设计可以在 15s 内摆动幅度达到 50cm 长,不过在摆动过程中
有误差,这些误差是由于摆锤的结构做得不够完美,运动时方向会有偏差,并且
会受到外界风力等因素影响,不过这些误差在可允许范围内,能够满足题目要求。
相关文档
最新文档