当前位置:文档之家› 风力摆控制系统设计

风力摆控制系统设计

风力摆控制系统设计
风力摆控制系统设计

摘要:本次风力摆控制系统设计,采用4个直流风机垂直挂在长约70cm的细管下方,直流风机下方固定一个激光笔,当风力摆受控制按一定规律运动时,激光笔在地上画出相应的轨迹。本设计以STC15W4K32S4系列的芯片作为主控芯片,采用LM298模块作电机驱动,通过单片机控制其输入占空比获得不同高低电平,达到对电机转速的控制。空间角度测量中,本设计采用MPU-6050陀螺仪对空间角度进行准确追踪,精度高。最终可将所测部分数据传输到LCD12864显示出来。关键字:STC15W4K32S4单片机轴流风机陀螺仪

一、设计任务

设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地

面画出要求的轨迹。

1.基本要求

(1)从静止开始,15s内控制风力摆做类似自由摆运动,使激光笔稳定地在地面画出一条长度不短于50cm的直线段,其线性度偏差不大于±2.5cm,并且具有较好的重复性;

(2)从静止开始,15s内完成幅度可控的摆动,画出长度在30~60cm间可设置,长度偏差不大于±2.5cm的直线段,并且具有较好的重复性;

(3)可设定摆动方向,风力摆从静止开始,15s内按照设置的方向(角度)摆动,画出不短于20cm的直线段;

(4)将风力摆拉起一定角度(30°~60°)放开,5s内使风力摆制动达到静止状态。

2.发挥部分

(1)以风力摆静止时激光笔的光点为圆心,驱动风力摆用激光笔在地面画圆,30s内需重复3次;圆半径可在15~35cm范围内设置,激光笔画出的轨迹应落在指定半径±2.5cm的圆环内;

(2)在发挥部分(1)后继续作圆周运动,在距离风力摆1~2m距离内用一台50~60W台扇在水平方向吹向风力摆,台扇吹5s后停止,风力摆能够在5s内恢复发挥部分(1)规定的圆周运动,激光笔画出符合要求的轨迹;

(3)其他。

二、方案论证

基于本次风力摆控制系统的设计,我们有如下几种方案:

方案一:采用传统的51单片机做主控芯片,其体积小,价格便宜,控制简单,但其运算速度慢,内部存储容量小,难以存储大体积的程序和实现快速精准的反应控制。其采用的是12MHz时钟,受其限制,计时精度低,且其内部资源少,不适合本次需要多路PWM控制电机转速,且精度和运算速度要求高的设计。

方案二:采用STC15W4K32S4系列的单片机作主控芯片,控制PWM脉宽调制从I/O口输出不同占空比的脉冲,经滤波后获得不同高低电平控制电机,从而达到控制电机转速的效果。该系列芯片可控制多路PWM脉宽调制,且具有大容量4K字节SRAM,内部有时钟电路和复位电路,不需要外接,减轻了外围电路的复杂性,且其运算速率高,精度大,适于控制精度和速率要求大的陀螺仪等模块。

方案三:采用STC15W4K32S4系列单片机作主控芯片,通过D/A变换电路将数字量转换成控制电机电压的模拟量。再利用电平的高低达到调速的目的。本方案达到了利用CPU输出的数字量精确控制模拟量的目的。但D/A变换电路复杂,且整体设计成本较高。

经过以上分析,我们发现方案二电路设计相对简单,且控制速率快,精度高,成本低,考虑到这些,我们选择该方案进行设计。其流程框图如下:

图1 流程框图

三、理论分析与计算

3.1设计原理

本系统硬件主要有陀螺仪传感、四个轴流风机、电源供电模块、摆杆及支架构成。STC15W4K32S4作为系统的控制核心,陀螺仪传感器对摆杆的运行状态数据进行实时采集并反馈回单片机,产生的控制量作用于电路从而实现对四个轴流风机转速及转向的控制。四个轴流风机产生空气推力进而实现对摆杆的控制。硬件框图如下图2所示。

图2 硬件结构

3.2理论分析

1.STC15W4K32S4系列芯片

本次主控芯片采用STC15W4K32S4系列芯片,该芯片运行速度较传统的单片机快,ISP编程时5MHz~35MHz宽范围可设置,可彻底省掉外部昂贵的晶振和复位电路,省去了普通单片机制作最小系统时外部电路的设计。此外,该系列单片机具有大容量程序存储器,且内部资源丰富,具有8路10位PWM,8路高速10位A/D转换,4组独立的高速异步串行通信端口SPI,是宽电压、高速、高可靠、低功耗、超强抗干扰的新一代8051单片机。

STC15W4K32S4系列单片机如下图3所示:其中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时器/计数器、掉电唤醒专用定时器、I/O口、高速A/D转换、比较器、看门狗、UART高速异步串行通信口1、串行口2、串行口3、串行口4、CCP/PWM/PCA、高速同步串行通信串口SPI、片内高精度R/C时钟及高可靠复位等模块。STC15W4K32S4系列单片机几乎包

含了数据采集和控制中所需要的所有单元模块,是一个真正的片上系统。

图3 STC15W4K32S4系列单片机

2.电机速度控制

本次设计的电机驱动模块采用LM298来驱动4个风机的转速,通过PWM 脉冲宽度调制来调节电机的转速。

LM298内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器。内部含有两个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V,2A以下电机。具有控制原理简单,输出波动小,线性好,对邻近电路干扰小等特点。

PWM即脉冲宽度调制技术,通过改变接通脉冲宽度,使直流电机电枢上的电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速。

占空比定义:输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比。

该调速系统具有以下特点:

(1)电路简单,所用功率原件少,且工作于开关状态,因此电路的导通损耗小,装置效率比较高。

(2)采用功率较小的低惯量电机时,具有高的定位速度和精度。

(3)低速性能好,稳速精度高,调速范围宽。

(4)系统频带宽,动态响应好,抗干扰能力强。

3.MPU-6050模块

本设计采用高精度的陀螺加速度计MPU-6050,通过处理器读取MPU-6050的测量数据然后通过串口输出,免去了用户自己去开发MPU-6050复杂的I2C协议,同时精心的PCB布局和工艺保证了MPU-6050收到外接的干扰最小,测量的精度最高。模块内部自带电压稳定电路,可以兼容3.3V/5V的嵌入式系统,连接方便。模块保留了MPU-6050的I2C接口,以满足高级用户希望访问底层测量数据的需求,采用先进的数字滤波技术,能有效降低测量噪声,提高测量精度。模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态,姿态测量精度0.01 度,稳定性极高,性能甚至优于某些专业的倾角仪!

MPU-6050模块连接上位机可输出加速度、角速度以及角度,其中加速度计算公式为:

a x =((AxH<<8)|AxL)/32768*16g(g 为重力加速度,可取9.8m/s2)

a y =((AyH<<8)|AyL)/32768*16g(g 为重力加速度,可取9.8m/s2)

a z =((AzH<<8)|AzL)/32768*16g(g 为重力加速度,可取9.8m/s2)

其温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

其校验和:

Sum=0x55+0x51+AxH+AxL+AyH+AyL+AzH+AzL+TH+TL

角速度计算公式为:

w x =((wxH<<8)|wxL)/32768*2000(°/s)

w y =((wyH<<8)|wyL)/32768*2000(°/s)

w z =((wzH<<8)|wzL)/32768*2000(°/s)

其温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

其校验和:

Sum=0x55+0x52+wxH+wxL+wyH+wyL+wzH+wzL+TH+TL

角度计算公式为:

滚转角(x 轴):

Roll=((RollH<<8)|RollL)/32768*180(°)

俯仰角(y 轴):

Pitch=((PitchH<<8)|PitchL)/32768*180(°)

偏航角(z 轴):

Yaw=((YawH<<8)|YawL)/32768*180(°)

温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

校验和:

Sum=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+TH+TL

四、测试结果与误差分析

4.1 测试使用工具及仪器

(1)秒表

(2)量角器

(3)自制角度图纸

4.2测试方案及结果

4.2.1驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于50cm 的直

线段,来回五次,记录其由静止开始至摆到规定长度时自由摆所用时间及最大偏

差距离。测试结果如表1所示。

表1风力摆画长于50cm直线测试

第一次测量第二次测量第三次测量第四次测量第五次测量偏差距离(cm) 1.6 0.5 0.8 0.7 0.9

所用时间(s)13.7 11.3 12.6 10.4 14.7

4.2.2设定不同的长度,驱动风力摆工作,使其画出规定长度的线段,记录其由

静止开始自由摆动至画出规定长度的线段时所用的时间及在画不同长度线段时的最大偏差距离。测试结果如表2所示。

表2风力摆画不同长度直线测试

设定测量距离(cm)30405060偏差距离(cm)0.8 1.2 0.6 1.6 所用时间(s)10.8 12.8 12.2 13.4

4.2.3设置风力摆自由摆时角度,驱动风力摆工作,记录其由静止至开始自由摆

时间及在画不同角度直线时的最大偏差距离。测试结果如表3所示。

表3 风力摆画不同角度直线测试

设定摆动角度画0°直线画90°直线画180°直线画270°直线画360°直线偏差距离(cm) 1.2 0.8 1.6 1.4 1.3

所用时间(s) 12.4 10.8 13.2 11.6 13.8

4.2.4将风力摆拉起一定角度放开,驱动风力摆工作,测试风力摆制动达到静止状态所用时间。测试结果如表4所示。

表4 风力摆恢复静止测试

第一次测量第二次测量第三次测量第四次测量第五次测量

拉起30° 4.8s 4.2s 4.6s 4.3s 4.7s

拉起35° 4.7s 4.6s 4.2s 4.5s 4.6s

拉起40° 4.4s 4.9s 4.7s 4.6s 4.2s

拉起45° 4.1s 4.4s 4.8s 4.7s 4.2s

五、结论、心得体会

本次设计中,利用STC15系列单片的低功耗、低价格以及资源丰富等特性,用其来作主控芯片使整个设计从成本、实现难易方面都符合实际要求。在角度及电机转速控制过程中,更是利用MPU-6050以及LM298使整个设计达到运行精度高,高速控制等优点。但由于时间紧张,还有一些问题没能较好解决,没有时间进一步改善。

通过这次竞赛使我们明白了理论知识与实践相结合的重要性,理论知识最终是为实践服务的,只掌握理论知识是远远不够的,只有把理论知识与实际应用相结合,在理论中运算,在实践中得到结果,从而不但加深了对理论知识的理解,也提高了自己实际动手能力与独立思考能力。此外,本次比赛中,我们充分发挥了团队协作的精神,懂得了在团队中分工合作的重要性,为以后的比赛甚至是学习工作取得很大的帮助。

附录:

总电路图

原件清单

源程序

元件名称 数量 元件名称 数量 STC15W4K32S4

1个 轴流风机 4个 变压器 1个 12864液晶屏

1个 升压模块 2个 滑动变阻器 若干 MPU6050模块

1个 杜邦线 若干 电容 若干 Led 灯 1个 电阻 若干 万用板 2个 底座

1个

LM298电机驱动

1个

原程序

#include"STC15Fxxxx.H"

#include"GPIO.h"

#include"USART.h"

#include"delay.h"

#include"timer.h"

extern u8 PWM1;

extern u8 PWM2;

extern u8 PWM3;

extern u8 PWM4;

extern u8 TL Y;

extern u8 JY;

extern float JD_num[3];

extern float J_SD_num[3];

extern u16 TIME_num;

xdata float

Z_sin[17]={7.5,7.8,8.0,8.9,9.5,9.9,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,13.9,14.0,1 5.0};

u8 ge,shi,bai;

int zhanbi;

sbit PWM_R=P0^0;

sbit PWM_L=P0^1;

sbit PWM_H=P0^2;

sbit PWM_Q=P0^3;

void gongnengA()

{

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

//delay_ms(10);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(100); // delay_ms(200); PWM_H=0;

//delay_ms(100);

//delay_ms(150);

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

delay_ms(100);

//delay_ms(200);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

while(1)

{

if((JD_num[1]<(-2))&&(JD_num[1]>(-11.8))){PWM_Q=1;delay_ms(50);} else PWM_Q=0;

if((JD_num[1]>2)&&(JD_num[1]<11.8)){PWM_H=1;delay_ms(50);} else PWM_H=0;

// if((JD_num[0]<(-1.0)))PWM_R=1;

// else PWM_R=0;

// if((JD_num[0]>1.0))PWM_L=1;

// else PWM_L=0;

}

}

void gongnengB(int R)

{ float cs;

R=R/2;

R=R-15;

cs=Z_sin[R];

if(R<6)

{

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

// delay_ms(200);

PWM_Q=0;

//delay_ms(10);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(100); // delay_ms(200); PWM_H=0;

//delay_ms(100);

//delay_ms(150);

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

delay_ms(100);

//delay_ms(200);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(200);

//delay_ms(200);

PWM_Q=0;

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_Q=0;

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

}

else

{

if(R<10)

{

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

//delay_ms(10);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(100); // delay_ms(200); PWM_H=0;

//delay_ms(100);

//delay_ms(150);

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

delay_ms(100);

//delay_ms(200);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(200);

//delay_ms(200);

PWM_Q=0;

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0;

}

else

{

if(R<14)

{

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

//delay_ms(10);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(100); // delay_ms(200); PWM_H=0;

//delay_ms(100);

//delay_ms(150);

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); PWM_Q=0;

delay_ms(100);

//delay_ms(200);

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(200); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_Q=0; PWM_H=1; delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); //delay_ms(200); //delay_ms(100); //delay_ms(200); PWM_H=0; PWM_Q=1; delay_ms(200); delay_ms(200); delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_Q=0;

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_Q=0;

PWM_H=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

//delay_ms(200);

//delay_ms(100);

//delay_ms(200);

PWM_H=0;

}

else

{

PWM_Q=1;

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

// delay_ms(200); // delay_ms(200); // delay_ms(200); // delay_ms(200);

简易风力摆报告设计

设计了一个简易风力摆控制装置,由直流风机组,陀螺仪,直流减速电机以及激光笔等组成。以MSP430F14单片机为核心,用PW波控制控制电机转速,调节风力大小,并以四个风机上下与左右同面两两并在一起对碳素管及激光笔进行工作,使细杆及激光笔在 风机的作用下可进行自由摆动且进一步可控摆动在地上划线,具有很好的重复性,并且可 以设定摆动方向且画短线,已经能够在将风力摆拉起一定角度放开后可以在规定时间内达到平衡。 关键词:风力控制摆、陀螺仪、轴流风机、PWM B速、MSP43C单片机 风力摆控制系统(B题) 1方案设计与选择 1.1设计内容 要求一个下端悬挂有(2~4只)直流风机的细管上端固定在结构支架上,只由风机提供动力,构成一个风力摆,风力摆上安装一个向下的激光笔。通过单片机代码指令控制驱动风机使风力摆按照一定的规律运动,并使激光笔在地面画出要求的轨迹,风力摆结构图如图1所示。 图1风力摆结构图 1.2设计要求 1.2.1基本要求 (1)从静止开始,15s内控制风力摆做类似自由摆运动,使激光笔稳定地在地面画出一条长度不短于50cm的直线段,其线性度偏差不大于土 2.5cm,并且具有较好的重复性; ⑵从静止开始,15s内完成幅度可控的摆动,画出长度在30~60cm间可设置,长度偏差不大于土 2.5cm的直线段,并且具有较好的重复性; (3)可设定摆动方向,风力摆从静止开始,15s内按照设置的方向(角度)摆动,画

出不短于20cm的直线段; (4)将风力摆拉起一定角度(30~45 ° )放开,5s内使风力摆制动达到静止状态。 1.2.2发挥部分 (1) 以风力摆静止时激光笔的光点为圆心,驱动风力摆用激光笔在地面画圆,30s内 需重复3次;圆半径可在15~35cm范围内设置,激光笔画出的轨迹应落在指定半径 ± 2.5cm的圆环内; (2) 在发挥部分(1)后继续作圆周运动,在距离风力摆1~2m距离内用一台50~60W台扇在水平方向吹向风力摆,台扇吹5s后停止,风力摆能够在5s内恢复发挥部分(1)规定的圆周运动,激光笔画出符合要求的轨迹; (3) 其他。 2总体方案设计与选择 2.1单片机选择 方案一:采用STC89S51芯片,该款芯片具有高性能低功耗的特点,具有32位输入/ 输出,可以实现处理、存储等功能⑴,但是其灵活性不高,需实时保护软件现场,否则易丢失信息,存储能力较弱。 方案二:采用MSP430F14芯片,该款芯片具有高性能,低功耗的特点,其抗干扰能力比较强,存储空间较大,稳定性较强。 二者比较之下,选择方案二作为此次设计的核心控制部分。 2.2直流风机选择 方案一:采用12V 4.5A的轴流风机,风力很大,可以将自身轻松吹起,但是体积较大,质量较重。 方案二:采用12V 1.5A的小风机,体积小,质量轻。但是风力足够大,单电机产生 的风力可吹起4个相同电机

51单片机风力摆设计方案

2015年全国大学生电子设计竞赛 风力摆控制系统 (B题) 2015年8月15日

摘要 本设计以IAP15W4K58S4单片机为控制核心,支持6路pwm 输出,根据51单片机的易用性、多功能性,以及低成本等特点,我们选择了它作为风力摆的控制核心。风力摆系统采用18650锂电池供电,配合自焊驱动电路板,根据内部程序,对风力摆上直流电机进行调速控制。通过控制不同方向直流电机的转速,从而向空气产生各个方向的不同的力,再通过空气对风力摆的反向作用力,以完成题目要求的风力摆做出的动作。 1.方案论证 本系统主要由单片机控制模块、姿态采集模块、电源模块,控制算法、直流调速系统等部分组成,下面分别论证这几个模块的选择。 1.1直流调速系统的论证与选择 方案一:静止可控整流器。简称V-M系统。 方案二:脉宽调速系统。 V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。它的另一个缺点是运行条件要求高,维护运行麻烦。最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。 与V-M系统相比,PWM调速系统有下列优点: (1)由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达1:10000左右。由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小。

(2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗扰能力强。 (3)由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。 根据以上综合比较,本设计中采用PWM调速系统对直流电机进行调速。 1.2 电源方案的论证与选择 方案一:使用单电源接自制线性直流稳压源模块。单电源同时给控制系统和风机供电,方案简单易操作。但风机转动过程中不仅会给电源带来纹波,而且产生反电压容易使单片机被烧毁。且单电源工作负载大,耗电快。 方案二:采用双电源供电。风机驱动电源和单片机控制电源分开,单片机使用12V 锂电池配合L298N驱动模块供电,直流风机则用18650配合自焊驱动电路板进行供电。此方案可确保系统的稳定性,方便对电机进行PWM调速,且满足了系统对供电需求。 综合上述比较,考虑系统的安全性、稳定性以,本系统采用方案二。 1.3 角度测量方案的选择与论证 方案一:只测量风力摆关于静止状态时的偏转角。采用二维平面内角位移传感器测量风力摆转动时关于静止状态时的偏转角,通过控制该偏转角反馈给单片机执行控制算法实现对风机的控制。该方案软件处理繁琐,且二维平面内的角位移传感器不利于测量风力摆的空间位置,不利于实现对风力摆的精确控制。 方案二:采用MPU-6000(6050)模块。模块集成加速度计和陀螺仪,以数字输出6轴的旋转矩阵、四元数(quaternion)、欧拉角格式(Euler Angle forma)的融合演算数据,得到风力摆姿态角,再通过控制算法对直流风机进行控制。6050模块能测得三轴陀螺仪和三轴加速度数据,能计算出风力摆的精确姿态角,从而实现对风力摆的精确控制。本系统选用6050模块的方案。 1.4 控制算法的论证与选择 方案一:采用模糊控制算法, 模糊控制有许多良好的特性,它不需要事先知道对象的数学模型,具有系统响应快、超调小、过渡过程时间短等优点,但编程复杂,数据处理量大。 方案二:采用PID算法,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制。优点是控制精度高,且算法简单明了。对于本系统的控制已足够精确,节约了单片机的资源和运算时间。本系统选择方案二。

简易风力摆报告设计

摘要 设计了一个简易风力摆控制装置,由直流风机组,陀螺仪,直流减速电机以及激光笔等组成。以MSP430F149单片机为核心,用PWM波控制控制电机转速,调节风力大小,并以四个风机上下与左右同面两两并在一起对碳素管及激光笔进行工作,使细杆及激光笔在风机的作用下可进行自由摆动且进一步可控摆动在地上划线,具有很好的重复性,并且可以设定摆动方向且画短线,已经能够在将风力摆拉起一定角度放开后可以在规定时间内达到平衡。 关键词:风力控制摆、陀螺仪、轴流风机、PWM调速、MSP430单片机

风力摆控制系统(B题) 1方案设计与选择 1.1设计内容 要求一个下端悬挂有(2~4只)直流风机的细管上端固定在结构支架上,只由风机提供动力,构成一个风力摆,风力摆上安装一个向下的激光笔。通过单片机代码指令控制驱动风机使风力摆按照一定的规律运动,并使激光笔在地面画出要求的轨迹,风力摆结构图如图1所示。 图1风力摆结构图 1.2设计要求 1.2.1基本要求 (1)从静止开始,15s 内控制风力摆做类似自由摆运动,使激光笔稳定地在地面画出一条长度不短于50cm 的直线段,其线性度偏差不大于±2.5cm,并且具有较好的重复性; (2)从静止开始,15s 内完成幅度可控的摆动,画出长度在30~60cm 间可设置,长度偏差不大于±2.5cm 的直线段,并且具有较好的重复性; (3)可设定摆动方向,风力摆从静止开始,15s 内按照设置的方向(角度)摆动,画出不短于20cm 的直线段; (4)将风力摆拉起一定角度(30~45°)放开,5s 内使风力摆制动达到静止状态。 1.2.2发挥部分 (1)以风力摆静止时激光笔的光点为圆心,驱动风力摆用激光笔在地面画圆,30s 内需重

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

龙源期刊网 https://www.doczj.com/doc/f04161244.html, 基于STM32的风力摆控制系统的设计 作者:黄一珀丁斌董杨潘嘉睿 来源:《中国新通信》2016年第22期 【摘要】该风力摆控制系统是由单片机控制核心、ADXL345 数字三轴重力加速度芯片、直流电机、电机驱动模块以及液晶显示模块几个部分构成的闭环系统。利用单片机产生不同占空比的PWM波给驱动模块让其产生正弦波驱动为电机提供工作电压,运用相位合成和占空比调节实现对风力摆的运动轨迹控制,通过实际数据试验出风力摆的控制规律,稳定的完成了风力摆的直线运动和曲线运动要求。 【关键词】正弦波角度传感器直流电机 一、设计方案及原理分析 本系统由机械结构、控制模块、电机驱动模块、摆杆角度测量模块、电机和电源等组成,下面分别论证一下几个模块的选择。 1.1机械结构的设计方案 风力摆控制系统是一个完整的测量控制系统,其中的机械结构则是这个测控系统的对象,对象的好坏在很大程度上会影响到后期控制算法的设计,对象制作的越稳定可靠,系统的性能就会越好。所以在制作这样一个精密控制系统的时候,前期的机械结构的制作是非常关键的一步,在制作的时候要尽量确保它的稳定性,例如选用合适的材料、采用尽量好的制作工艺等。该风力摆控制系统中,机械结构大概分成以下几部分,风机、摆杆、摆杆转轴、底座和激光笔。 1.2控制模块方案 采用STM32F103单片机作为主控芯片。STM32F103基于高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex—M3内核,强大的定时、中断功能,方便对传感器模块和电机的控制,可以快速进行复杂的运算。同时具有大容量的RAM和ROM,可存储大容量的程 序。编程时可以直接调用库函数,提高编程效率。能够较为迅速的从传感器中采集数据进行处理,并快速反馈给电机进行下一步动作。 1.3电机驱动模块方案 采用L298N驱动。L298N是一种全桥驱动芯片,它响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,结合单片机可实现对电机速度的精确控制,调速特性优良、调整平滑、调速范围广、过载能力大,能承受频率的负载冲击,还可以实现频率的无级快速启动、制动和反转。

风力摆控制系统设计报告

2015 全国大学生电子设计竞赛 风力摆控制系统(B题) 【本科组】 2015年8月15日

摘要:本设计是基于STM32F103VE单片机为核心的简易风力摆控制系统,该系统由电源供电模块,直流风机及驱动模块、角度检测模块、信息处理模块、继电器及驱动模块、蜂鸣指示模块和液晶显示模块构成。STM32F103VE通过改变PWM占空比来实现对直流风机速度及方向的控制,该风力摆控制系统能够实现题目要求,简单做直线运动、复杂做圆周运动。 关键字:风力摆角度传感器单片机自动控制系统 一.方案论证: 1.系统结构 1)机械结构如图1所示。 一长约67cm的吸管上端用万向节固定在支架上,下方悬挂4只直流风机,中间安装陀螺仪,构成一风力摆。风力摆下安装一向下的激光笔,静止时,激光笔下端距离地面18cm。 图 1 2)测控电路结构 测控电路结构如图2所示。 编码器按键

图2 2.方案比较与选择 其实整体电路架构上图已经给定,主要是几个关键部分————直流风机选型及架构、直流风机驱动电路、传感器、主控芯片选择,我们分析如下: 1)直流风机的选型 方案一:采样大电流成品直流风机,虽然风力够大,但驱动多个风机所需电流过大,单个电源难以满足要求,而且比较重,多个电机使得惯性过大难以控制。鉴于以上两点,弃用。 方案二:采用小型高速电机加螺旋桨自制直流风机,风力大,体积小,质量轻,而且性价比高。 风力摆控制系统风机质量轻,减小惯性,容易起摆;风力大,风速控制范围大,摆动角度大;体积小,减少外部的干扰;鉴于以上几点,本设计采用方案二。 STM32微处理器 角度传感器 直流风机 电机驱动电路 风机供电 OLED 液晶显示 蜂鸣器

风力摆控制系统设计报告

风力摆控制系统设计报 告 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

大学生电子设计竞赛 风力摆控制系统 学院: 计算机学院 项目:风力摆控制系统 负责人:王贤朝 指导老师:张保定 时间: 2017年5月20日

摘要 本系统采用K60开发板作为控制中心,与万向节、摆杆、直流风机(无刷电机+扇叶)、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。使用指南针模块判别方向,控制系统向指定方向偏移。控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。 关键词:K60、空心杯电机、MPU6050、PID、无线蓝牙 目录

风力摆控制系统(B题) 【本科组】 一、系统方案 系统基本方案 控制方案设计 为了实现题目要求我们采用K60单片机做为主控芯片,用加速度计陀螺仪模块MPU6050来计算角度和风机状态,用直流风机带动摆杆运动。当MPU6050检测到摆杆的角度时,可根据三角函数公式计算出摆杆现在距离中心的具体位置(方向、距离),单片机会控制PWM波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。当摆杆处于自然下垂状态时,给四个风机同时上电且风向都向外,此时摆杆仍处于受力平衡——静止状态。此时降低X轴上一个风机的转速,摆杆将会带动激光头在X轴上画一条直线,当达到一定的倾斜角度时,单片机可根据角度计算出此时距离中心的距离是否>=25cm,若达到要求后,此风机减速,X轴反方向上电机逐渐加速,恢复到初始速度,反方向做相同的运动。在此过程中,单片机做出A/D采样,Y轴方向方向风机随时做出矫正,防止发生轨迹偏移。 机械结构方案设计 由于摆杆长度(60cm~70cm)较长,且要求激光头在地面画出15cm~35cm的圆,所以要求横杆的距离要足够长。横杆长度较长加之摆杆重量较大,所以要求底座要有足够的重量来支撑整个系统。如果结构不稳或者重量不够,摆杆运动过程中将会产生倾倒或者抖动等现象,影响测试结果。于是,底座采用了“工”型结构,保证了整个系统的稳定性。摆杆材料方面,我们选用轻便的硬

风力摆控制系统论文

风力摆控制系统 摘要:本系统采用STM32F103ZET6单片机作为控制核心,通过对置于风力摆上的MPU9150陀螺仪采集的角度进行处理得到角度与风力摆位置的关系,再通过驱动输出PWM波控制轴流风机,使风力摆到达指定的位置,做规定的圆周运动。本系统通过PID调试,测试表明,各项功能已达到或超过本题目要求。 关键词:MPU9150;PID;轴流风机

1.系统方案 本系统主要由主控制器,陀螺仪,电机驱动模块,轴流风机,激光笔组成,下面分别对这几个模块进行选择与论证。 1.1陀螺仪的选择 方案一:MPU6050。 9轴运动处理传感器,它集成了3轴MEMS陀螺仪,3轴MEMS 加速度计,以及一个可扩展的数字数字运动处理器DMP,可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU-6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。一个片上1024字节的FIFO,有助于降低系统功耗。但零飘较严重。 方案二:角度传感器。当连结到RCX上时,轴每转过1/16圈,角度传感器就会计数一次。往一个方向转动时,计数增加,转动方向改变时,计数减少。计数与角度传感器的初始位置有关。当初始化角度传感器时,它的计数值被设置为0。角度传感器一般测静态的角度,倾角用加速度计。明显在本系统中角度传感器不如陀螺仪方便使用。 方案三:MPU9150。MPU-9150 是采用系统级封装 (SiP),集合了两个芯片:MPU-6050 和 3 轴数字罗盘 AK8975,其中 MPU-6050 包含 3 轴陀螺仪、3 轴加速计以及能够处理复杂 9 轴 MotionFusion 算法的板载Digital Motion Processor? (DMP?) 。这款元件集成 9 轴 MotionFusion 算法,能够访问所有内部传感器,以收集全套传感器数据。MPU9150测转角的速度的,可以积分得到转的角度,动态性能好,静态差,零飘基本无,很适合本系统。 综合考虑后决定采用方案三。 1.2轴流风机的选择 方案一:四线可测速、包含温控PWM调速轴流风机。此种轴流风机一般重量较大,启动时间长,虽然风量大但明显不适合本系统的实时检测调整的思路。 方案二:三线可测速轴流风机。此种轴流风机重量较轻,启动时间短,直接接驱动即可对其进行控速,风量也很大,比较符合题目各项要求的时间限制。 综合考虑后决定采用方案二。

风力机设计

风力机课程设计 一种简单叶片的设计过程 Hank

一、设计任务 1)基于叶素和动量理论设计设计水平轴风力机叶片; 2)绘制风力机叶片弦长随叶片展向长度的变化曲线; 3)绘制风力机叶片扭角随叶片展向长度的变化曲线; 4)绘制设计风力机的性能曲线; 5)绘制设计叶片的图纸,以及各位置的叶片翼型结构图纸; 6)编写设计说明书,并附上必要的计算公式 二、常用符号 Pd 设计功率 U∞设计风速 W 合成流度 ω风轮旋转角速度 ρ空气密度 c 弦长 λ叶尖速比 D 风轮直径 R 风轮半径 σ叶片弦长实度 r φ 叶素倾角 β 叶素安装角 α叶素攻角 Cl 升力系数 Cd 阻力系数 M 总力矩 P 总功率 Cp 风能利用系数 a 轴向诱导因子 b 切向诱导因子

三、 基础理论 切向速度: (1-1) 轴向速度: (1-2) 叶素合成流速: (1-3) 入流角:(1) sin U a W φ∞-= (1-4a) (1) cos 2r b a ωφ+= (1-4b) 攻角:φα=-β (1-5) 垂直分力系数:sin cos y l d C C C φφ=- (1-6) 水平分力系数:cos sin x l d C C C φφ=+ (1-7) 迭代方程:2 2214sin 4sin r r x y a C C a φφσσ=(-)- (1-8) 14sin cos r y b C b φφσ= + (1-9) 叶片弦长实度: 22r N c N c R R σ= = ππμ (1-10) 叶素单位圆环扇面:24()(1)M U r b a r r ωδ∞δ=πρ- (1-11) 风能利用系数表达式: 321 2p P C U R ρ∞= π (1-12) 翼型与尖速比的关系:2r l C σλ= (1-13) 0(1b) y V r ω=+0(1)x V U a ∞= - W ==

风力摆控制系统 设计报告

摘要:本系统主要是以STM32单片机为控制芯片控制4只直流轴流风机,从而调节风机转速来控制使风力摆呈现不同状态的控制系统。该系统主要由主控板,无线遥控器,直流轴流风机,摆架框架等四大部分组成风力摆控制系统。 关键字:风力摆无线 STM32单片机直流轴流风机

一.系统方案 1.系统方案论证 本系统主要由遥控模块、控制模块、陀螺仪模块、直流轴流风机组成,添加一些辅助电路作为扩展功能。系统工作有六种工作模式,使用无线遥控切换模式并显示。下面分别论证这几个模块的选择。 1.1直流风机的论证与选择 方案一:使用直流鼓风机。直流鼓风机的机械摩擦非常小,具有较大的精度,并能提供足够的风力进行运动。但在实验过程中,风机启动速度较慢,且由于其自身重量过大,风摆在运动过程中受惯性影响极大,不能有效的完成任务要求。 方案二:采用直流轴流风机。直流轴流风机是在固定位置使空气流动,自身重量和体积都比较小,且出风口大,能够很好的提供动力与控制。在实验过程中能够较快的启动,并能较好的实现任务要求,符合实验需要。 综合以上两种方案,风力摆在运动过程中需要进行实时控制摆杆的姿态,且需要风机启停反应快,故选择方案二。 1.2控制器模块的论证与选择 根据设计要求,控制器主要用于计算摆杆姿态、控制直流轴流风机PWM、使摆杆能完成相应等功能。 方案一:采用STC89C51作为系统控制器。它的技术成熟,成本低。STC89C51是8位的单片机,数据传输速度慢,在用于精密的操作时,不能满足实时控制的要求,且复杂的控制算法难以实现,不利于控制。 方案二:采用意法半导体公司的STM32F103单片机作为控制器。STM32系列单片机是32位、RISC、低功耗的处理器。在进行高精密的操作时,处理能力非常强,运算速度快,具有很好的控制能力,且成本低,更符合实验要求。 综合考虑以上两种方案,采用方案二。 2.系统结构 根据上述方案的论证,我们确定以STC32F103作为控制核心,采用型号为PFB0812XHE的直流轴风机控制摆杆运动,用陀螺仪MPU6050检测状态数据,并将采集到的数据传输给控制板,然后通过单片机计算处理得出摆杆的姿态并调整直

风力摆论文

论文 题目:风力摆控制系统设计 学生:庞刚 学号:201206070422 院(系):电气与信息工程学院 专业:自动化124 指导教师:郑恩让 2016年 1 月 4 日

风力摆控制系统 庞刚 (陕西科技大学电气与信息工程学院,陕西西安 710021) 摘要:本组选择的是2015年大学生电子竞赛B题——风力摆控制系统。针对于题目基础部分与发挥部分要求,设计了一个以飞思卡尔公司单片机MK60为控制单元、2对垂直放置的轴流风机组为执行器单元、陀螺仪传感器和加速度传感器以信息融合方式实现的(角度)传感器单元形成了一个三维空间的闭环控制系统(风力摆控制系统)。在此基础上首先利用空间矢量法将被控量投影到X和Y 两个独立坐标上,分别利用相互独立的PID、FUZZY等控制方法实现风力摆系统系列动作。实验表明:本竞赛小组设计制作的风力摆系统能够以较高的精度完成各种任务。 关键词:风力摆,MK60,轴流风机,角度传感器,空间矢量法,PID Wind pendulum control system P ANG Gang (Shaanxi University of Science & Technology, Academy of electronic information and electrical engineering ,ShanXi Xi’an 710021) Abstract: The Undergraduate Electronic Competition in this group chose B question - Wind pendulum control system. For the base portion and play in the title part of the requirements, we designed a Freescale microcontroller MK60 control unit, two pairs of vertically disposed axial air units for the actuator unit, a gyro sensor and an acceleration sensor information fusion way to achieve (angle) sensor units form a closed loop control system of a three-dimensional space (wind pendulum control system). Firstly, on the basis of space vector will be charged the amount projected onto X and Y coordinates of two separate, independent of one another, respectively PID, FUZZY and other control methods to achieve a wind pendulum series of actions. Experimental results show that: The race team designed a wind pendulum system with high accuracy can complete various tasks. Keywords: Wind swing, MK60, axial fans, angle sensors, space vector, PID 1 方案论证 首先我们对该系统的结构及风力摆运 动控制方案的比较论证。

风力摆控制系统设计报告

大学生电子设计竞赛 风力摆控制系统 学院: 计算机学院 项目:风力摆控制系统 负责人:王贤朝 指导老师:张保定 时间: 2017年5月20日

摘要 本系统采用K60开发板作为控制中心,与万向节、摆杆、直流风机(无刷电机+扇叶)、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。使用指南针模块判别方向,控制系统向指定方向偏移。控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。 关键词:K60、空心杯电机、MPU6050、PID、无线蓝牙 目录

电路............................................................................. . (3)

风力摆控制系统(B题) 【本科组】 一、系统方案 系统基本方案 控制方案设计 为了实现题目要求我们采用K60单片机做为主控芯片,用加速度计陀螺仪模块MPU6050来计算角度和风机状态,用直流风机带动摆杆运动。当MPU6050检测到摆杆的角度时,可根据三角函数公式计算出摆杆现在距离中心的具体位置(方向、距离),单片机会控制PWM波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。当摆杆处于自然下垂状态时,给四个风机同时上电且风向都向外,此时摆杆仍处于受力平衡——静止状态。此时降低X轴上一个风机的转速,摆杆将会带动激光头在X轴上画一条直线,当达到一定的倾斜角度时,单片机可根据角度计算出此时距离中心的距离是否>=25cm,若达到要求后,此风机减速,X轴反方向上电机逐渐加速,恢复到初始速度,反方向做相同的运动。在此过程中,单片机做出A/D采样,Y轴方向方向风机随时做出矫正,防止发生轨迹偏移。 机械结构方案设计 由于摆杆长度(60cm~70cm)较长,且要求激光头在地面画出15cm~35cm的圆,所以要求横杆的距离要足够长。横杆长度较长加之摆杆重量较大,所以要求底座要有足够的重量来支撑整个系统。如果结构不稳或者重量不够,摆杆运动过程中将会产生倾倒或者抖动等现象,影响测试结果。于是,底座采用了“工”型结构,保证了整个系统的稳

风力摆控制系统设计报告

风力摆控制系统设计报 告 集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

大学生电子设计竞赛 风力摆控制系统 学院: 计算机学院 项目:风力摆控制系统 负责人:王贤朝 指导老师:张保定 时间: 2017年5月20日

摘要 本系统采用K60开发板作为控制中心,与万向节、摆杆、直流风机(无刷电机+扇叶)、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。使用指南针模块判别方向,控制系统向指定方向偏移。控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。 关键词:K60、空心杯电机、MPU6050、PID、无线蓝牙 目录

电路................................................................... .. (3)

风力摆控制系统(B题) 【本科组】 一、系统方案 系统基本方案 控制方案设计 为了实现题目要求我们采用K60单片机做为主控芯片,用加速度计陀螺仪模块MPU6050来计算角度和风机状态,用直流风机带动摆杆运动。当MPU6050检测到摆杆的角度时,可根据三角函数公式计算出摆杆现在距离中心的具体位置(方向、距离),单片机会控制PWM波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。当摆杆处于自然下垂状态时,给四个风机同时上电且风向都向外,此时摆杆仍处于受力平衡——静止状态。此时降低X轴上一个风机的转速,摆杆将会带动激光头在X轴上画一条直线,当达到一定的倾斜角度时,单片机可根据角度计算出此时距离中心的距离是否>=25cm,若达到要求后,此风机减速,X轴反方向上电机逐渐加速,恢复到初始速度,反方向做相同的运动。在此过程中,单片机做出A/D采样,Y轴方向方向风机随时做出矫正,防止发生轨迹偏移。 机械结构方案设计 由于摆杆长度(60cm~70cm)较长,且要求激光头在地面画出15cm~35cm的圆,所以要求横杆的距离要足够长。横杆长度较长加之摆杆重量较大,所以要求底座要有足够的重量来支撑整个系统。如果结构不稳或者重量不够,摆杆运动过程中将会产生倾倒或者抖动等现象,影响测试结果。于是,底座采用了“工”型结构,保证了整个系统的稳定性。摆杆材料方面,我们选用轻便的硬质铁质材料与风机进行刚性连接,既

2015年全国大学生电子设计竞赛题目风力摆控制系统(B题)

2015年全国大学生电子设计竞赛试题 参赛注意事项 (1)8月12日8:00竞赛正式开始。本科组参赛队只能在【本科组】题目中任选一题;高 职高专组参赛队在【高职高专组】题目中任选一题,也可以选择【本科组】题目。 (2)参赛队认真填写《登记表》内容,填写好的《登记表》交赛场巡视员暂时保存。 (3)参赛者必须是有正式学籍的全日制在校本、专科学生,应出示能够证明参赛者学生 身份的有效证件(如学生证)随时备查。 (4)每队严格限制3人,开赛后不得中途更换队员。 (5)竞赛期间,可使用各种图书资料和网络资源,但不得在学校指定竞赛场地外进行设 计制作,不得以任何方式与他人交流,包括教师在内的非参赛队员必须迴避,对违纪参赛队取消评审资格。 【本科组】 一、任务 一长约60cm~70cm 的细管上端用万向节固定在支架上,下方悬挂一组(2~4只)直流风机,构成一风力摆,如图1所示。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过20cm 。设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。 二、要求 1. 基本要求 (1) 从静止开始,15s 内控制风力摆做 类似自由摆运动,使激光笔稳定地 在地面画出一条长度不短于50cm 的直线段,其线性度偏差不大于±2.5cm ,并且具有较好的重复性; (2) 从静止开始,15s 内完成幅度可控的摆动,画出长度在30~60cm 间可设 置,长度偏差不大于±2.5cm 的直线段,并且具有较好的重复性; (3) 可设定摆动方向,风力摆从静止开始,15s 内按照设置的方向(角度) 摆动,画出不短于20cm 的直线段; (4) 将风力摆拉起一定角度(30°~45°)放开,5s 内使风力摆制动达到静 止状态。

2015全国大学生电子设计竞赛风力摆控制系统论文.

2015年全国大学生电子设计竞赛风力摆控制系统(B题) 2015年8月15日

摘要 系统为由STC 12单片机控制模块、姿态采集模块、风力摆模块、液晶显示模块、人机交互系统以及风力摆机械结构组成的闭环控制系统。MPU6050采集风力摆的姿态角,单片机处理姿态角数据后通过PID精确算法调节直流风机以控制风力摆。本系统实现了风力摆在仅受直流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受风力影响后能够快速的恢复画圆状态,具有很好的鲁棒性,另外,本系统具有良好的人机交互界面,各参数及测试模式可有按键并通过液晶显示,性能好,反应速度快。 关键词:PID算法 MPU6050 STC 12单片机人机交互

目录 一、系统方案 (1) 1.1主控制器件的论证与选择 (1) 1.2 姿势采集的论证与选择 (1) 二、系统理论分析与计算 (2) 2.1 风力摆控制系统的分析 (2) 2.2、基础部分功能实现的分析与计算 (3) 2.2.1 基础一功能实现的分析与计算 (3) 2.3、发挥部分功能实现的分析与计算 (4) 三、电路与程序设计 (5) 3.1电路的设计 (5) 3.2 基础部分系统框图与电路原理图 (5) 3.2.1基础部分系统框图 (5) 3.3 发挥部分系统框图与电路原理图 (6) 3.3.1系统框图 (6) 3.4 电源 (6) 3.5程序的设计 (6) 3.5.1程序功能描述与设计思路 (6) 3.5.2 程序流程图 (6) 四、测量方案与测量结果 (7) 4.1测量工具 (7) 4.2 测试方案及结果 (7) 五、结论与心得 (8) 六、参考文献 (9) 附录1:电路原理图 (10) 附录2:源程序(部分) (11)

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

Techniques of Automation & Applications | 1《自动化技术与应用》2019年第38卷第2期 控制理论与应用 Control Theory and Applications 基于IAP15W4K58S4的风力摆控制系统设计 刘翘楚1,郭鹏伟1,刘学明2 (1.中北大学朔州校区,山西 朔州 036000; 2.国网山西省吕梁供电公司,山西 吕梁 033000) 摘 要:风力摆控制系统作为一种典型的自动化控制平台,近年来得到了广泛的研究。为了更科学合理地运用风力摆,设计并制 作了一套基于单摆物理模型的实物系统,为系统预设了定角度直线运动和圆周运动两种主要形式。对运动过程进行了线性化、离散化处理,将两种运动都分解为两个正交方向的简谐运动,利用莉萨如图形完成算法的设计。利用单片机的定时器产生系统的控制周期,在一个控制周期内完成采样、计算、输出、执行。试验结果表明,系统可以稳定、精确、快速地完成预设的目标动作,且抗干扰能力强,响应快。 关键词:简谐运动;PID 算法;伺服系统;IAP15W4K58S4 中图分类号:TP273 文献标识码:A 文章编号:1003-7241(2019)02-0001-04 Design of Wind Pendulum Control System Based on IAP15W4K58S4 LIU Qiao-chu 1, GUO Peng-wei 1, LIU Xue-ming 2 ( 1. Campus of Shuozhou, North University of China, Shuozhou 036000 China; 2. Stste Grid Lvliang Power Supply Company, Lvliang 033000 China ) Abstract: As a typical automatic control platform, wind pendulum control system is studied extensively in recent years. In order to apply the wind pendulum more scientifically and rationally, a kind of object system based on simple pendulum physical model is designed and manufactured. The system has two main forms: fixed angle linear motion and circular motion. The motion process is linearized and discretized, and they are decomposed into two orthogonal directions of harmonic motion. The algorithm is designed by using Lissajous-Figure. The control cycle is generated by the timer of the single-chip, and the sampling, calculation, output and execution are completed within a control cycle. The results show that the system can achieve the preset target motion stably, accurately and rapidly, and has strong anti-interference ability and fast response. Key words: simple harmonic movement; PID algorithm; servo system; IAP15W4K58S4 收稿日期:2017-11-151 引言 从古至今,人们对风力的应用从来没有停止过,风 力应用在科学研究上也有着重要意义,如飞机、四轴飞 行器、风洞等便是人们对风力的典型应用。风力摆作为 一种研究风力控制的典型模型,具有造型简单、造价低 廉等优点,对其研究可以增加人们对可控风力的了解和 对风力控制中一些典型算法的验证,同时为理论教学和 课外实践搭建了良好的操作平台[1]。 2 系统总体设计风力摆控制系统本质为一套伺服随动控制系统,以四个对称布置的风机作为动力源,提供风力摆在四个方向的推力。角度传感器实时采集风力摆的姿态。M C U 主控单元获取角度并与目标值比较[2],经运算后得出控制量,送给风机执行,从而完成预设的定角度直线摆动和圆周运动。为调试方便,系统加入完善的人机交互模块。系统框图如图1所示。

风力摆控制系统

风力摆控制系统 摘要 本设计实现了用风力作为动力的摆动装置控制系统,该系统是由单片机控制模块、姿态采集模块、风力摆模块、显示模块、独立按键以及风力摆机械结构组成的。本设计采用了MSP430F149为单片机控制直流风机;电子陀螺仪MPU6050采集风力摆姿态角;独立按键来切换各个工作状态;激光笔来显示摆动的轨迹;LED灯显示运动是否达到要求。本设计实现了风力摆做直线摆动,且摆动长度、角度可设定;快速制动;在有无干扰的情况下画圆的要求,本系统较好的完成了题目所给的指标。 关键词:风力摆;直流风机;MSP430F149;电子陀螺仪

1设计任务与要求 1.1设计任务 一长约60cm~70cm 的细管上端用万向节固定在支架上,下方悬挂一组(2~4 只)直流风机,构成一风力摆,如图 1 所示。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过20cm。设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。 图1.1 风力摆结构示意 1.2设计要求 1.2.1 基本要求 (1)从静止开始,15s 内控制风力摆做类似自由摆运动,使激光笔稳定地在地面画出一条长度不短于50cm 的直线段,其线性度偏差不大于±2.5cm,并且具有较好的重复性; (2)从静止开始,15s 内完成幅度可控的摆动,画出长度在30~60cm 间可设置,长度偏差不大于±2.5cm 的直线段,并且具有较好的重复性; (3)可设定摆动方向,风力摆从静止开始,15s 内按照设置的方向(角度)摆动,画出不短于20cm 的直线段; (4)将风力摆拉起一定角度(30°~45°)放开,5s 内使风力摆制动达到静止状态。

大学生电子设计竞赛论文-风力摆控制系统的设计

2015 年全国大学生电子设计竞赛 论文 B 题:风力摆控制系统的设计 2015年8 月15 日

摘要 该系统以高速单片机STC89C52R为控制核心,主要由物理框架、数据采 集系统、主控系统、执行系统四大部分组成。主控系统以高速单片机 STC11F52X助核心,实现对执行系统对直流电机的控制,从而实现基于自由摆的摆动控制系统。此方案可行性高,且精确度较高。 关键词:单片机( STC11F52X)E ,直流电机,风力摆摆动控制

目录 1、系统方案论证与选择 (1) 1.1 控制系统的论证与选择 (1) 1.2 供电系统的论证与选择 (2) 1.3 风力摆角度调整系统的论证与选择 (2) 2、系统理论分析与计算 (3) 2.1 建模与控制方法 (3) 2.1.1 基本部分的第一项控制方法 (3) 2.1.2 基本部分的第二项控制方法 (3) 3 、硬件电路设计与分析 (3) 3.1 系统电路总体框图 (3) 3.2 主要模块电路的设计 (4) 3.2.1 继电器模块电路 (4) 3.2.2 单片机模块电路 (4) 4、测试方案与测试结果 (5) 4.1 测试仪器 (5) 4.2 测试方案以及结果... 4.2.1 测试基本部分(1) 4.2.2 测试基本部分(2). 5、总结.................... 5.1硬件小结 ............ 5.2软件小结 ............ 5.3 心得体会 ........... 附录1电路原理图和PCB版图附录2主要元器件清单 (5) (5) ...5 14 14 15 15 16 18

神经元PID在风力摆控制系统中的应用

第39卷第5期2018年5月自一动一化一仪一表PROCESSAUTOMATIONINSTRUMENTATIONVol 39No 5May.2018 收稿日期:2017?09?25基金项目:江西省高等学校教学改革研究省级课题基金资助项目(JXJG?16?35?3) 作者简介:徐涢基(1981 ),男,硕士,讲师,主要从事智能检测与控制技术二嵌入式技术的研究,E?mail:196299389@qq.com神经元PID在风力摆控制系统中的应用 徐涢基1,方一平1,李一娜1,谭尾琴2,毛启宁1 (1.华东交通大学理工学院,江西南昌330100;2.江西警察学院安全管理系,江西南昌330103) 摘一要:针对传统的自动控制系统教学效果不够理想二自动控制教学模型复杂二PID参数整定经验方法效率较低和速度较慢的特点,设计了一款性价比高二调试方便的基于六轴重力及角加速度传感器MPU6050的风力摆控制系统三采用IAPSTC15W58S4作为微控制器,选用820空心杯电机作为动力源,神经元PID算法作为主控算法三通过给系统设定一个任务,空心杯电机驱动风力摆起摆,MPU6050传感器采集当前摆动角度三通过串口将角度返回给上位机SerialChart软件显示,根据SerialChart软件显示情况分析摆动规律,从而不断对P二I二D参数进行整定,使摆完成预定任务三实测结果验证了该神经元PID算法及P二I二D参数整定方法应用于风力摆系统的正确性及可行性三该风力摆控制系统必将在自动控制原理的教学及控制系统的设计方面具有重要的意义和价值三 关键词:神经元PID算法;风力摆;空心杯电机;SerialChart软件;工业自动化;参数整定 中图分类号:TH89;TP214一一一一文献标志码:A一一一一DOI:10.16086/j.cnki.issn1000?0380.2017090057一ApplicationofNeuronPIDinWindPendulumControlSystem XUYunji1,FANGPing1,LINa1,TANWeiqin2,MAOQining1 (1.InstituteofTechnology,EastChinaJiaoTongUniversity,Nanchang330100,China;2.DepartmentofSafetyManagement,JiangxiPoliceAcademy,Nanchang330103,China) Abstract:Theteachingeffectoftraditionalautomaticcontrolsystemisnotideal,andtheautomaticcontrolteachingmodeliscomplex,theefficiencyofPIDparametertuningexperiencemethodislow,thespeedisslower,aimingatthesedisadvantages,awindpendulumcontrolsystembasedonsix?axisgravityandangularaccelerationsensorMPU6050hasbeendesigned.Thesystemfeatureshighcosteffectivenessandeasetodebug.Inthesystem,IAPSTC15W58S4isusedasmicrocontroller,820hollowcupmotorisselectedasthepowersource,andtheneuronPIDalgorithmisadoptedasthemaincontrolalgorithm.Bysettingataskforthesystem,thewindpendulumisdrivenbythehollowcupmotor,theMPU6050sensorcollectsthecurrentswingangleandreturnsittotheSerialChartsoftwareinhostcomputerthroughtheserialport.AccordingtothedisplayofSerialChartsoftware,thelawofpendulumswingisanalyzedandtheparametersofP二I二Darecontinuouslyadjustedtocompletethetask.ThemeasuredresultsverifythecorrectnessandfeasibilityoftheneuronPIDalgorithmandtheP二I二Dparametertuningmethodappliedtothewindpendulumsystem.Thewindpendulumcontrolsystemwillbeofgreatsignificanceandvalueintheteachingofautomaticcontrolprincipleandthedesignofcontrolsystem. Keywords:NeuronPIDalgorithm;Windpendulum;Hollowcupmotor;SerialChartsoftware;Industrialautomation;Parametertuning0一引言 风力摆控制系统[1?2]是控制系统中典型的控制模 型三该系统以风机作为动力源,能够很好地验证PID 算法的效果三 目前,在自动控制原理的学习与设计过程中,由于 控制模型昂贵二复杂,难以将控制理论很好地与实践相 结合,学习效果较差,设计难度较大三因此,设计一款性价比高二调试方便的PID控制系统,对提升自动控制原理的学习效果二降低自动控制系统设计难度意义重大三本文在充分研究了PID控制算法基础上,设计了一款风力摆控制系统模型[3]三为验证PID控制[4]的效果,设计任务如下:让空心杯电机驱动摆在竖直面来

相关主题
文本预览
相关文档 最新文档