基于STM32的风力摆控制系统的设计

合集下载

风摆控制实验系统设计

风摆控制实验系统设计

风摆控制实验系统设计余善恩;李真【摘要】The experimental system aims to meet the teaching and studying requirements ,which provides the experimental platform for learning the principle of automatic control ,MCU ,embedded system ,etc .The main research contents include design of angular surveying ,control & drive module ,and PC software .MPU6050 was used for angular surveying ,PID control algorithm was used to control the flap to go to the target angular , and PC software was used for display ,analysis ,and processing .%为满足"自动控制原理"实验教学的需要,研发了一套风摆控制实验系统.该系统分为角度检测模块、控制驱动模块、上位机软件3部分.控制驱动模块接收来自角度检测模块的风摆角度信息,与上位机设定的目标角度进行比较,计算出当前的风机驱动量并调节风机风力,将风摆控制到目标位置.该系统提供了一个综合性实验平台,能够灵活地应用于单片机、嵌入式系统、电机控制等课程.【期刊名称】《实验技术与管理》【年(卷),期】2017(034)006【总页数】4页(P135-138)【关键词】风摆;自动控制;PID控制;实验系统【作者】余善恩;李真【作者单位】杭州电子科技大学自动化学院 ,浙江杭州 310018;杭州电子科技大学自动化学院 ,浙江杭州 310018【正文语种】中文【中图分类】G642.423“自动控制原理”是自动化类专业本科生的重要专业课,也是其他院系本科生的专业基础课或选修课。

基于STM32的智能风扇系统设计

基于STM32的智能风扇系统设计

收稿日期:2020-11-25 基金项目:江苏省高校自然科学研究面上项目(19KJB520015);泰州学院校级科研课题(TZXY2019YBKT002) 作者简介:张彬(1991—),男,江苏泰州人,助教,硕士研究生,研究方向:模式识别;宋振宇(1986—),男,江苏扬州人,讲师,博士研
究生,研究方向:智能计算;黄兴平(1979—),男,广东兴宁人,讲师,博士研究生,研究方向:云计算;杨舒畅(1997—),男, 江苏徐州人,学士,研究方向:物联网。
2.3 OLED 显示屏
屏幕选用的是 4 针 9.6 寸 OLED 屏幕,这是一种新型的屏幕 技术,拥有自发光的特性,具有可视角度大、功耗低、对比度高 等优势。对比 lcd 屏屏幕,OLED 显示效果更好、功耗更低、适合 小系统。OLED 屏幕支持 3.3V ~5V 供电,所以不用修改模块电 路。OLED 屏幕包含 4 个引脚分别是 GND、VCC、SCL 和 SDA。
2.2 DS18B20 温度传感器
为了实现对周围温度的检测该系统选用的是 DS18B20 可 编程数字温度传感器,它具有抗干扰能力强、价格便宜、使用方 便等优势[5]。传感器测温结果是通过其内部精密晶振振动频率 随温度变化的特性得到的。传感器内部独立包含一个独立的 测量芯片,芯片内置存储单元,包含 64 位的 ROM 和 9 字节的 RAM,64 位 ROM 用于存放产品编码,9 字节 RAM 的前两字节用 于保存温度信息。温度传感器 DS18B20 的高度集成化,大大降 低了外接放大转换等电路的误差因素,测量出的温度误差很 小[6]。检测到的温度数值可以在器件内部转换成数字量直接输 出,这样方便了系统程序设计。温度传感器的详细参数如下:
的打开与关闭,在夜晚可以提供照明;睡眠定时功能:用户根据 需要选择相应的定时时间,定时结束后风扇自动关闭。

风力摆控制系统程序设计

风力摆控制系统程序设计

上大部分的字符型液晶。(图 2) 3 驱动电路原理图
图 4 主程序流程图
L298N 是一种双 H 桥电机驱动芯片,其中每个 H 桥可以提供 2A
图 5 子程序流程图 表 1 风力摆画长于 5 2.5- 48v,逻辑部分 5v 供电,接受
5vTTL 电平。一般情况下,功率部分的电压应大于 6V 否则芯片可能不
根据上述测试数据,可以得出以下结论: 驱动风力摆工作,激光笔稳定地在地面画出一条长度不短于 50cm 的直线段,来回五次,满足时间要求及最大偏差距离。
参考文献 [1]李硕,赵彤帆,李根全,宋海珍.Matlab 软件在单摆自由振动中的应用[J]. 实验室研究与探索,2013,11:65-68. [2]陈文涛,龚善初.单摆振动分析[J].湖南理工学院学报(自然科学版), 2008,01:66-70. [3]侯祥林,丛德宏,徐心和.倒立单摆摆起开环控制律的最优化算法[J].东 北大学学报,2004,01:9-12. [4]龚善初.影响单摆振动周期的参数研究[J].大学物理,2006,06:12-15. [5]郭鹏.模糊前馈与模糊 PID 结合的风力发电机组变桨距控制[J].中国电 机工程学报,2010,08:123-128. [6]王述彦,师宇,冯忠绪.基于模糊 PID 控制器的控制方法研究[J].机械科 学与技术,2011,01:166-172. [7]何芝强.PID 控制器参数整定方法及其应用研究[D].杭州:浙江大学, 2005. [8]张卫政.基于模糊控制的风机盘管空调系统应用研究[D].广州:广东工 业大学,2005. [9]王冀龙.智能新风机控制系统设计[D].秦皇岛:燕山大学,2014.
1 系统总体框图(图 1)
2 显示模块
1602 液晶也叫 1602 字符型液晶,它

基于stm32的风力摆

基于stm32的风力摆

2017年全国大学生电子设计竞赛陕西赛区设计报告封面作品编号:(由组委会填写)… …………… ……………剪切线…………… …………… …作品编号:(由组委会填写)说明1.为保证本次竞赛评选的公平、公正,将对竞赛设计报告采用二次编码;2.本页作为竞赛设计报告的封面和设计报告一同装订;3.“作品编号”由组委会统一编制,参赛学校请勿填写;4.“参赛队编号”由参赛学校编写,其中“学校编号”应按照巡视员提供的组委会印制编号填写,“组(队)编号”由参赛学校根据本校参赛队数按顺序编排,“选题编号”由参赛队员根据所选试题编号填写,例如:“0105B”或“3367F”。

5. 本页允许各参赛学校复印。

基于stm32的风力摆控制系统的设计与实现摘要本系统采用STM32F103开发板作为控制中心,与万向节、摆杆、空心杯电机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。

单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。

利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。

控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。

从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。

关键词:STM32F103;空心杯电机;MPU6050;PIDAbstractThis system adopts the STM32F103V development board as the control center, and the universal joint, swinging rod, dc fan (brushless motor + blades), laser, feedback device together form the swinging rod motion state and fan speed distribution of the double closed loop speed regulation system. MCU output variable PWM waves to the motor speed, control four directions wind speed of the fan, to produce different size. Using accelerometer module MPU6050, accurately measure the position of swinging rod mobile and center position, the relationship between the sampling after feedback to the single chip microcomputer, the fan timely correction, prevent from the trajectory. Use the compass module judging direction, deviation control system to a specified direction. Using PID algorithm control method, proportion link for quick response, integral element to realize astatic, differential link decrease overshoot, speed up the dynamic response. So that the system has goodperformance, which can well realize the pendulum movement, fast brake static, circle, specify the direction deviation, has a good stability.Keywords:STM32F103;Hollow cup motor;MPU6050;PID1引言风力摆控制系统是自动控制理论的重要研究平台,可对应于人工智能控制技术,因此对它的研究具有重大的实践意义和价值。

风力摆控制系统 设计报告

风力摆控制系统 设计报告

摘要:本系统主要是以STM32单片机为控制芯片控制4只直流轴流风机,从而调节风机转速来控制使风力摆呈现不同状态的控制系统。

该系统主要由主控板,无线遥控器,直流轴流风机,摆架框架等四大部分组成风力摆控制系统。

关键字:风力摆无线 STM32单片机直流轴流风机一.系统方案1.系统方案论证本系统主要由遥控模块、控制模块、陀螺仪模块、直流轴流风机组成,添加一些辅助电路作为扩展功能。

系统工作有六种工作模式,使用无线遥控切换模式并显示。

下面分别论证这几个模块的选择。

1.1直流风机的论证与选择方案一:使用直流鼓风机。

直流鼓风机的机械摩擦非常小,具有较大的精度,并能提供足够的风力进行运动。

但在实验过程中,风机启动速度较慢,且由于其自身重量过大,风摆在运动过程中受惯性影响极大,不能有效的完成任务要求。

方案二:采用直流轴流风机。

直流轴流风机是在固定位置使空气流动,自身重量和体积都比较小,且出风口大,能够很好的提供动力与控制。

在实验过程中能够较快的启动,并能较好的实现任务要求,符合实验需要。

综合以上两种方案,风力摆在运动过程中需要进行实时控制摆杆的姿态,且需要风机启停反应快,故选择方案二。

1.2控制器模块的论证与选择根据设计要求,控制器主要用于计算摆杆姿态、控制直流轴流风机PWM、使摆杆能完成相应等功能。

方案一:采用STC89C51作为系统控制器。

它的技术成熟,成本低。

STC89C51是8位的单片机,数据传输速度慢,在用于精密的操作时,不能满足实时控制的要求,且复杂的控制算法难以实现,不利于控制。

方案二:采用意法半导体公司的STM32F103单片机作为控制器。

STM32系列单片机是32位、RISC、低功耗的处理器。

在进行高精密的操作时,处理能力非常强,运算速度快,具有很好的控制能力,且成本低,更符合实验要求。

综合考虑以上两种方案,采用方案二。

2.系统结构根据上述方案的论证,我们确定以STC32F103作为控制核心,采用型号为PFB0812XHE的直流轴风机控制摆杆运动,用陀螺仪MPU6050检测状态数据,并将采集到的数据传输给控制板,然后通过单片机计算处理得出摆杆的姿态并调整直流轴风机的转速,从而使摆杆快速获得需要的状态,通过对应的无线遥控,设置相应的功能并发送给控制板,使其实现对应的功能,完成任务要求。

基于STM32F103的风力摆控制系统设计

基于STM32F103的风力摆控制系统设计

基于STM32F103的风力摆控制系统设计作者:贺娅莉郭艳花高荣登来源:《智能计算机与应用》2017年第04期摘要:本系统采用STM32F103单片机为核心控制系统,采用模块化设计方案,整个系统包含控制系统模块、电机驱动模块、角位移传感器模块、电源模块等。

用角位移传感器MPU6050采集风力摆摆头的角度及位置,通过I2C总线传输发送到主控系统中,采用LCD12864显示采集到的信息,通过PID算法进行数据处理,产生相应的PWM信号,发送给相应的直流风机,控制直流风机实现自由摆动,从而画出直线、圆等轨迹。

测试结果表明,该系统运算速度快,抗干扰能力强。

关键词:风力摆;角位移传感器MPU6050; PID算法中图分类号:TP273文献标志码:A文章编号:2095-2163(2017)04-0076-030引言风力摆系统是一个典型非线性、不稳定的系统。

在经典控制理论和现代控制理论中的应用也是该领域具有代表性的基础研究课题之一。

而将其作为实验装置时可以测试控制理论,检验控制方法和思路。

这些控制研究成果都能广泛应用于一般工业与工程控制,所以对于风力摆控制系统的研讨设计则将呈现重要的理论探索意义和实际应用价值。

本文即针对这一项目内容给出如下分析论述。

1系统硬件设计1.1控制器模块比较与选择1)方案一:采用STC89C51单片机作为控制器。

STC89C51价格低廉,结构简单,且资料丰富;但是51单片机系统资源有限,8位控制器,运算能力有限,无法达到较高的精度,需要外接大量外围电路,增加了系统复杂度,达不到系统要求。

2)方案二:采用MSP430G2553单片机作为系统控制器。

MSP430G2553单片机内部集成精度高,是16位单片机,但其外部接口较少,运算速度相对较慢,达不到要求。

3)方案三:采用STM32F103单片机作为系统控制器。

STM32F103单片机是32位单片机,内部集成度高,拥有大量外部接口,运算速度高,能够满足问题中对数据的快速采集和处理需求。

基于stm32的智能风扇控制系统设计

基于stm32的智能风扇控制系统设计

2019年第23期信息与电脑China Computer & Communication软件开发与应用基于STM32的智能风扇控制系统设计胡慧之(无锡城市职业技术学院,江苏 无锡 214153)摘 要:笔者设计的智能风扇控制系统以STM32F407为控制核心,结合温度检测、人体感应、语音识别、蓝牙数据传输等模块,对常用风扇进行了改进。

该系统具有人工控制和智能控制两种工作模式,在智能控制模式下,风扇会根据检测到的环境温度自动调整风扇转速,使环境温度恒定在人体最舒适的范围内;在人工控制模式下,用户可利用LCD触摸屏、手机APP和语音人为控制风扇转速。

此外,该系统还采用红外热释电传感器对人体进行检测,有人时正常工作,无人时风扇会延时一段时间再自动关闭,避免能源浪费。

关键词:STM32;智能风扇;PWM控制中图分类号:TM925.11 文献标识码:A 文章编号:1003-9767(2019)23-059-03Design of Intelligent Fan Control System Based on STM32Hu Huizhi(Wuxi City College of Vocational Technology, Wuxi Jiangsu 214153, China)Abstract: The intelligent fan control system designed by the author takes STM32F407 as the control core, and combines temperature detection, human body induction, speech recognition, Bluetooth data transmission and other modules to improve the common fans. It has two working modes: manual control and intelligent control. In the intelligent control mode, the fan automatically adjusts the fan speed based on the detected ambient temperature, so that the ambient temperature is constant within the most comfortable range of the human body. In manual control mode, the fan speed can be controlled manually using the LCD touch screen, mobile app and voice. In addition, the infrared pyroelectric sensor is also used to detect the human body. When someone is working normally, the fan is automatically turned off after a delay, and energy is saved.Key words: STM32; intelligent fan; PWM control0 引言传统电风扇大多数功能单一,只有选档吹风、定时、定速等功能,不能根据温度变化调整转速,存在一定的健康隐患和能源浪费。

一种风力摆系统的设计

一种风力摆系统的设计

一种风力摆系统的设计作者:唐晨光来源:《无线互联科技》2016年第03期摘要:文章介绍了风力摆控制系统的设计与制作。

系统以STM32为主控芯片,通过角度传感器MPU6050将三维数据传给单片机,单片机输出相应的PWM方波,通过电机驱动模块BTN7961控制轴流风机的风力大小,从而实现对风力摆控制系统的控制。

根据风力摆的数学模型分析,确定了万向节和摆杆之间的PID控制算法,并在实验中优化控制参数。

经反复试验,证明该系统实现了设计的要求。

关键词:STM32F103RCT6;角度传感器;电机驱动模块BTN7961;轴流风机1 总体设计方案1.1 系统总体设计本系统硬件包括主控芯片STM32、角度传感器MPU6050、电机驱动模块BTN7961、摆杆、万向节及支架。

该系统采用STM32开发板作为主控模块,STM32单片机通过读取角度传感器MPU8060的三维角度数据从而判断摆杆的偏摆方向和角度,通过PID控制算法计算后,输出相应的PWM控制信号给电机驱动模块,控制轴流风机风速,从而使摆杆达到相应的运动状态和位置。

1.2 主控芯片的选择方案1:采用入门级51或者AVR、PIC等流行已久的8位MCU作主控。

价格低廉,资料众多,但功能有限,计算能力有限。

方案2:采用STM32系列的STM32F103RCT6。

风力摆控制系统要求处理器具有足够的内存、闪存和快速的信号采集能力,因此,本文选用手头现有的集成仿真器,方便软件仿真调试,板上为STM32F103RCT6单片机,该单片机超低功耗,运算速度快,性价比高。

1.3 电机驱动器的选择本设计采用BTN796IB集成专用驱动模块。

BTS7960是专门针对电机驱动的,具有大电流输出的半桥式驱动芯片,它内部自带一个P型的高边MOSFET,同时自带N型的低边MOSFET,外加一个独立驱动的集成芯片。

P型的MOSFET因为自带开关而省略了电荷泵电路,故大幅度减小了EMI。

内部自带的驱动电路具有电流诊断、逻辑电平输入、死区产生电路、斜率调整电路,同时具备过温度、过电压、欠电压、过电流和故障短路保护的功能。

STM32单片机下智能风扇控制系统设计探析

STM32单片机下智能风扇控制系统设计探析

STM32单片机下智能风扇控制系统设计探析提纲:1.智能风扇控制系统的功能和特点2.STM32单片机的控制原理和特性3.系统硬件设计方案的考虑和实现4.系统软件设计方案的考虑和实现5.系统性能测试及未来拓展方向的展望1.智能风扇控制系统的功能和特点智能风扇控制系统是一种可以自动监测室内温度、湿度等参数,并据此自动调节风扇转速、风量等参数的系统。

适用于家用、办公室等多种场合中,可大大提高室内舒适度,降低能耗和环境污染。

其主要特点包括:- 可自动监测温度、湿度等参数,并据此自动控制风扇的运行;- 可远程遥控,方便操作;- 可根据不同需求调节风扇转速、风向等参数;- 可与其他智能家居系统实现联动控制,更好地提高室内舒适度。

2.STM32单片机的控制原理和特性STM32单片机是一款高性能、低功耗的微控制器,广泛应用于智能控制系统中。

其主要特性包括:- 低功耗:采用了动态频率调节技术和功耗管理技术,可实现低功耗运行;- 高性能:内置高速时钟和优化指令集,可实现高速计算和高效率控制;- 丰富接口:支持多种外部设备接口,包括UART、SPI、I2C 等;- 大容量存储:集成大容量Flash存储器和SRAM内存,可存储大量的程序和数据。

3.系统硬件设计方案的考虑和实现硬件设计主要包括传感器模块、通信模块、风扇控制模块等。

传感器模块:可采用温度、湿度传感器等,用于监测室内环境参数。

通信模块:可采用Wifi、Zigbee等通信技术实现远程遥控。

风扇控制模块:可采用电机驱动芯片和PWM技术实现风扇的速度调节。

4.系统软件设计方案的考虑和实现软件设计主要包括参数监测、风扇控制和通信模块设计。

参数监测模块:通过定时采样温湿度传感器信号,实现室内环境参数的实时监测。

风扇控制模块:根据室内环境参数,实现风扇转速、风量等参数的智能控制。

通信模块:实现远程遥控功能,方便用户操作。

5.系统性能测试及未来拓展方向的展望系统性能测试主要考虑系统的响应速度、精度和稳定性。

基于单片机stm32f103c8t6的简单风扇控制系统设计代码

基于单片机stm32f103c8t6的简单风扇控制系统设计代码

基于单片机stm32f103c8t6的简单风扇控制系统设计代码一、概述本文将介绍基于单片机STM32F103C8T6的简单风扇控制系统的设计代码。

该系统通过控制电机的转速来实现风扇的调节,可以根据温度传感器采集到的温度数据来自动调节风扇转速。

二、硬件设计1. 硬件组成本系统硬件组成如下:(1)STM32F103C8T6开发板(2)温度传感器DS18B20(3)LCD1602液晶显示屏(4)电位器(5)直流电机及驱动模块L298N2. 接线图下图为本系统的接线图:三、软件设计1. 程序框图本系统程序框图如下:2. 代码实现以下为本系统代码实现,包括初始化函数、温度读取函数、PWM输出函数以及主函数等。

(1)初始化函数:void SystemInit(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = 999;TIM_TimeBaseStructure.TIM_Prescaler = 71;TIM_TimeBaseStructure.TIM_ClockDivision = 0;TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = 0;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM3, &TIM_OCInitStructure);TIM_OC2Init(TIM3, &TIM_OCInitStructure);TIM_OC3Init(TIM3, &TIM_OCInitStructure);}(2)温度读取函数:float ReadTemperature(void){uint8_t temp_byte1, temp_byte2;int16_t raw_temperature;float temperature;OneWire_Reset();OneWire_WriteByte(0xcc);OneWire_WriteByte(0x44);delay_us(750000);OneWire_Reset();OneWire_WriteByte(0xcc);OneWire_WriteByte(0xbe);temp_byte1 = OneWire_ReadByte();temp_byte2 = OneWire_ReadByte();raw_temperature = (temp_byte2 << 8) | temp_byte1;temperature=(float)raw_temperature/16.0;return temperature;}(3)PWM输出函数:void PWMOutput(uint16_t CCR1_Val, uint16_t CCR2_Val, uint16_t CCR3_Val){TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable); TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); TIM_SetCompare1(TIM3, CCR1_Val);TIM_SetCompare2(TIM3, CCR2_Val);TIM_SetCompare3(TIM3, CCR3_Val);TIM_Cmd(TIM3, ENABLE);}(4)主函数:int main(void){SystemInit();LCD_Init();float temperature;uint16_t duty_cycle;while (1){temperature = ReadTemperature();duty_cycle = (temperature - 25) * 10;if(duty_cycle > 999) duty_cycle = 999;PWMOutput(duty_cycle, duty_cycle, duty_cycle);LCD_Clear();LCD_Write_String("Temperature: ");LCD_Write_Float(temperature);delay_ms(500);}}四、总结本文介绍了基于单片机STM32F103C8T6的简单风扇控制系统的设计代码。

基于STM32单片机测风系统的设计

基于STM32单片机测风系统的设计
一般 是 通过 旋转 某个 机 械 部件来 测量 风 的特 性 , 由于其长 期进 行机械 运 动 , 在 大风 和雨 雪 的恶劣 自然 环境 中容 易受 到腐 蚀而 导 致测 量精 度 的降低 , 甚 至造 成损坏 ,且维护 费用 高 , 同时 由于存在 机 械运 动将 会导致 其 有一 个相 对 比较 大 的起 动 下 限值 ( 起 动风 速 ) 。超 声 波测 风 装 置 以
h a s b e c o me t he f o c u s of he t s t u d y , a n d t he a c c ur a c y o f wi n d s pe e d a nd d i r e c t i o n of wi nd e ne r g y p l a y s a k e y r o l e . Ul t r a s o ni c wi n d me a s ur e me n t d e v i c e c a n a d a p t t o t he ha r s h n a t u r a l e n vi r o n me n t a n d c a n k e e p t h e h i g h p r e c i s i o n a n d wi d e l y us e d. The pa pe r d e s c r i b e s i n d e t a i l t he r e s e a r c h me t ho d a nd t he h a r d wa r e c i r c u i t d e s i g n of t h e me a s u r i n g s ys t e m of t h e wi n d,The e xp e r i me n t a l r e s u l t s s h o w t h a t t he d e s i g n of e a c h p a r t c a n me e t t h e r e q u i r e me n t s o f i nd u s t r i a l d e s i g n. Ke y wo r ds : wi n d me a s u r e me nt de v i c e; t h e ul t r a s o n i c s e ns o r ;d r i ve c i r c u i t ;S TM 3 2

一种风力摆系统的设计

一种风力摆系统的设计

一种风力摆系统的设计唐晨光【摘要】文章介绍了风力摆控制系统的设计与制作。

系统以STM32为主控芯片,通过角度传感器MPU6050将三维数据传给单片机,单片机输出相应的PWM方波,通过电机驱动模块BTN7961控制轴流风机的风力大小,从而实现对风力摆控制系统的控制。

根据风力摆的数学模型分析,确定了万向节和摆杆之间的PID控制算法,并在实验中优化控制参数。

经反复试验,证明该系统实现了设计的要求。

%This paper describes the wind swing control system design and production system with STM32 mainly control chip. Through the angle sensor, this is the 3D data transfer to the microcontroller, microcontroller output corresponding PWM square wave, through the motor drive wind lfow fan module BTN7961 control shaft, in order to realize the control of wind pendulum control system. According to the mathematical model of the wind swing, the PID control algorithm between the universal joint and the swing rod is determined, and the control parameters are optimized in the experiment. Through repeated experiments, it is proved that the system has achieved.【期刊名称】《无线互联科技》【年(卷),期】2016(000)003【总页数】3页(P71-72,85)【关键词】STM32F103RCT6;角度传感器;电机驱动模块BTN7961;轴流风机【作者】唐晨光【作者单位】武昌工学院,湖北武汉 430065【正文语种】中文1.1 系统总体设计本系统硬件包括主控芯片STM32、角度传感器MPU6050、电机驱动模块BTN7961、摆杆、万向节及支架。

基于STM32的风力摆控制系统

基于STM32的风力摆控制系统

180
计算机工程应用技术
本栏目责任期 (2016 年 8 月)
Computer Knowledge and Technology 电脑知识与技术
力摆当前状态, 此方案风力摆负载最重, 但对于控制风力摆状 态最为精确, 且动力最足。 综合上述比较, 考虑系统的快速工作以及精确控制, 本系 统采用方案二。
风力摆系统是自动控制系统中的一个典型的研究对象。 在工业和环境监测等行业有着较为广泛的应用前景。本系统 通过数字式 PID 算法可实现风力摆的圆周运动和定向线段的 运动, 并且系统具有一定的稳定性和精确度。
1 系统方案
1.1 总体方案
本风力摆控制系统主要包括单片机控制模块、 电机驱动模 块、 姿态采集模块、 风力摆模块、 液晶显示模块、 人机交互系统 以及风力摆机械结构组成。风力摆由万向节连接碳纤维管再 连接风机组成。位于碳杆最下方的姿态采集模块不断采集风 力摆当前姿态角并反馈给主控芯片 STM32。 STM32 控制液晶 显示姿态角数据并处理数据后通过控制 PWM 波占空比控制风 机转速实现对风力摆的控制。本系统结构框图如图 1 所示。
基于 STM32 的风力摆控制系统
金冬子, 朱军
(安徽大学 电子信息工程学院, 安徽 合肥 230601)
摘要: 本系统是由 STM32 控制模块、 姿态检测模块、 风力摆模块、 液晶显示模块以及风力摆机械结构组成的闭环控制系 统。其实现了风力摆在直流风机为动力控制下迅速启摆、 直线运动、 恢复静止的功能, 并能精准地绘制不同直线, 且在受 风力影响后能够快速恢复画圆状态, 具有很好的重复性。姿态检测模块 MPU6050 采集风力摆姿态角, STM32 处理姿态角 数据后通过 PID 精确算法调节直流风机以控制风力摆。另外, 本系统具有良好的人机交互界面, 各参数及测试模式可由按 键输入并通过液晶显示, 稳定性高、 反应速度快。 关键词: PID 算法; MPU6050; STM32 中图分类号: TP391 文献标识码: A DOI:10.14004/ki.ckt.2016.3144 文章编号: 1009-3044(2016)23-0180-03

基于stm32低功率风力摆控制系统的研究

基于stm32低功率风力摆控制系统的研究

基于stm32低功率风力摆控制系统的研究张祥庆;尹庆庆;张浩然;刘沂青;葛伟楠【摘要】系统采用STM32F103V系统板作为控制中心,与万向节、摆杆、2W低功率轴流风机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统.单片机移植入ucos操作系统,可以稳定地控制程序,输出可变的PWM波给轴流风机,控制4个方向上风机的风速,从而产生大小不同的力.利用加速度计模块MPU6050防止脱离运动轨迹.控制方式采用PID算法加快动态响应.从而使该系统具有很好的稳定性.【期刊名称】《电子制作》【年(卷),期】2016(000)004【总页数】1页(P8)【关键词】STM32F103V;ucos;2W轴流风机;MPU6050;PID【作者】张祥庆;尹庆庆;张浩然;刘沂青;葛伟楠【作者单位】山东师范大学山东济南 250358;山东师范大学山东济南 250358;山东师范大学山东济南 250358;山东师范大学山东济南 250358;山东师范大学山东济南 250358【正文语种】中文【文章摘要】系统采用STM32F103V系统板作为控制中心,与万向节、摆杆、2W低功率轴流风机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。

单片机移植入ucos操作系统,可以稳定地控制程序,输出可变的PWM波给轴流风机,控制4个方向上风机的风速,从而产生大小不同的力。

利用加速度计模块MPU6050防止脱离运动轨迹。

控制方式采用PID算法加快动态响应。

从而使该系统具有很好的稳定性。

STM32F103V;ucos;2W轴流风机;MPU6050;PID众所周知,轴流风机功率越大,其机动性越强,受控制能力越好,所需要的算法难度也会降低;而如果轴流风机功率很小,那么它的可控性就会降低,所需要的算法难度大大增加。

目前,在这种控制领域一般采用40W以上甚至100W以上的无刷电机加上扇页,供以220V交流电或者大功率直流电来驱动电机,这种电机提供了足够的动力,使得风机控制算法难度大大降低。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32的风力摆控制系统的设计
作者:黄一珀丁斌董杨潘嘉睿
来源:《中国新通信》2016年第22期
【摘要】该风力摆控制系统是由单片机控制核心、ADXL345 数字三轴重力加速度芯片、直流电机、电机驱动模块以及液晶显示模块几个部分构成的闭环系统。

利用单片机产生不同占空比的PWM波给驱动模块让其产生正弦波驱动为电机提供工作电压,运用相位合成和占空比调节实现对风力摆的运动轨迹控制,通过实际数据试验出风力摆的控制规律,稳定的完成了风力摆的直线运动和曲线运动要求。

【关键词】正弦波角度传感器直流电机
一、设计方案及原理分析
本系统由机械结构、控制模块、电机驱动模块、摆杆角度测量模块、电机和电源等组成,下面分别论证一下几个模块的选择。

1.1机械结构的设计方案
风力摆控制系统是一个完整的测量控制系统,其中的机械结构则是这个测控系统的对象,对象的好坏在很大程度上会影响到后期控制算法的设计,对象制作的越稳定可靠,系统的性能就会越好。

所以在制作这样一个精密控制系统的时候,前期的机械结构的制作是非常关键的一步,在制作的时候要尽量确保它的稳定性,例如选用合适的材料、采用尽量好的制作工艺等。

该风力摆控制系统中,机械结构大概分成以下几部分,风机、摆杆、摆杆转轴、底座和激光笔。

1.2控制模块方案
采用STM32F103单片机作为主控芯片。

STM32F103基于高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex—M3内核,强大的定时、中断功能,方便对传感器模块和电机的控制,可以快速进行复杂的运算。

同时具有大容量的RAM和ROM,可存储大容量的程序。

编程时可以直接调用库函数,提高编程效率。

能够较为迅速的从传感器中采集数据进行处理,并快速反馈给电机进行下一步动作。

1.3电机驱动模块方案
采用L298N驱动。

L298N是一种全桥驱动芯片,它响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。

用该芯片作为电机驱动,操作方便,结合单片机可
实现对电机速度的精确控制,调速特性优良、调整平滑、调速范围广、过载能力大,能承受频率的负载冲击,还可以实现频率的无级快速启动、制动和反转。

1.4摆杆角度测量模块方案
采用加速度传感器模块ADXL345。

该传感器具有体积小、重量轻、功耗低、分辨率高等优点,能够检测不到1°的倾角变化,并且具有很高的可靠性。

这十分有利于对角度的取样和对风力摆的控制。

1.5电机的选取方案
采用直流电机。

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

1.6电机工作方式的选取方案
采用正弦波的工作方式。

采用正弦波给电机供电,通过调节幅值来控制电机转速,让两个方向都以正弦波运动,合成后运动轨迹更接近圆,且容易控制和调节。

二、系统实现
系统运行时,在液晶上显示界面,用户通过按键模块进入对应的模式来完成相应的功能。

而后控制器读取角度传感器的数值,整合计算后发出特定频率和占空比的PWM波形,控制电机驱动模块输出不同的电流、电压,最终使摆杆完成需要的动作。

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

加速度传感器模块ADXL345作为角度测量传感器,将系统的摆杆角度信息反馈给单片机,并根据设定的程序,作出一系列的控制调节,使摆杆完成相应的动作。

试验测试以及各功能指标的实现:1、完成了划出预设长度的线段。

根据需要的线段长度,设定对应的角度值,在摆杆运动的过程中,依据角度测量传感器传输回来的角度值,调节摆杆的角度到预定的角度值,通过算法不断修正,进而画出对应长度的线段。

2、完成了预设角度的偏移。

根据需要的角度,设定对应的角度值,使相邻的两个电机同时工作,根据角度测量传感器传输回来的角度值,结合PID算法来调节摆杆的相应方向的偏移角度,进而画出预设角度偏移的线段。

3、完成了摆杆的制动功能。

根据程序中不同的模式调节,当需要制动功能时,给予电机反相位的正弦波驱动,根据x,y两个方向的分别调节制动,可实现5s内完成制动功能。

4、完成了预设直径的圆周运动。

当需要做圆周运动时,给四个电机依次间隔四分之一周期输入正弦波驱动,根据直径要求,调节正弦波驱动的幅值,即可改变圆的直径,根据角度测量传感器传输回来的数据,结合PID算法实时进行修正,完成预设直径的圆周运动。

三、测试结果
将传感器采集的数据进行滑动滤波,得到近似正弦曲线,取相应方向的最大值,可以得到该方向上摆杆的角度,结合PID算法对运动轨迹进行实时调整修正。

较好的完成了预期的各项实验要求,测试过程中,完成了对指定长度以及指定角度的直线运动,以及指定直径的圆周运动。

具有误差小,稳定快的特点。

四、创新特色总结
此风力摆控制系统的设计,以STM32F103单片机为控制核心,采用ADXL345角度传感器实时采集摆杆旋转的角度信息,并通过单片机控制直流电机实现摆杆的各种姿态。

同时结合适当PID算法修正偏差,以实现控制要求。

本次所设计的风力摆控制系统能够完成实现预设的基本部分和发挥部分的所有指标。

总结该设计实现过程,具有以下三个方面的优点:首先,采用ADXL345角度传感器进行角度采集,无需额外附加驱动电路,精简了整体电路设计。

因而该设计方案具有角度值精确度高,旋转方向判别稳定可靠,硬件电路接口简单等优点。

其次,采用直流电机,它具有体积小,重量轻,力矩大,运行可靠等优点,非常适合本系统。

再次,在该设计的程序编写方面,用角度传感器直接计算出摆杆的角度,然后通过PID算法修正,通过两者的修正关系,极大地提高了实验精确度。

以上三个方面的优点是该设计方案取得良好实验结果的有力保障。

同时,该设计方案也存在不足和有待完善之处。

如PID修正虽然提高了实验精度,但在实际情况中,硬件干扰会降低实验的成功率。

参考资料
[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,2012;
[2]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选 [M].北京:北京理工大学出版社,2007
[3]胡寿宋.自动控制原理[M].6版.北京:科学出版社,2013。

相关文档
最新文档