简易风洞模拟控制系统报告.docx

上传人:b****4 文档编号:12290878 上传时间:2023-04-17 格式:DOCX 页数:25 大小:206.47KB
下载 相关 举报
简易风洞模拟控制系统报告.docx_第1页
第1页 / 共25页
简易风洞模拟控制系统报告.docx_第2页
第2页 / 共25页
简易风洞模拟控制系统报告.docx_第3页
第3页 / 共25页
简易风洞模拟控制系统报告.docx_第4页
第4页 / 共25页
简易风洞模拟控制系统报告.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

简易风洞模拟控制系统报告.docx

《简易风洞模拟控制系统报告.docx》由会员分享,可在线阅读,更多相关《简易风洞模拟控制系统报告.docx(25页珍藏版)》请在冰豆网上搜索。

简易风洞模拟控制系统报告.docx

简易风洞模拟控制系统报告

简易风洞模拟控制系统

组员:

高明达田新兴阚亚进

摘要

本帆板控制系统由单片机ATMEGA328作为帆板转角的检测和控制核心,实现按键对风扇转速的控制、调节风力的大小、改变帆板转角θ、液晶显示等功能。

引导方式采用角度传感器感知与帆板受风力大小的转角θ的导引线。

通过PWM波控制电机风扇风力的大小使其改变帆板摆动的角度θ。

风扇控制核心采用L298电机驱动模块,用ATMEGA328单片机为控制核心,产生占空比受数字PID算法控制的PWM脉冲,实现对直流电机转速的控制,同时利用光电传感器将电机速度转化成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。

MMA7455三轴加速传感器把角度输出信号传送给ATMEGA328单片机进行处理。

关键词:

ATMEGA328,MMA7455,PWM波,PID算法

Summary

ThesystemusesMSP430F149SCMasthecorecontrolsystem;tosteppermotorcontrolflatturns,brokendownbydriveenhancedsteppermotorprecision;MMA7361anglesensorchipmodule,acquisitionoffreedompendulumdisplacementangleand12,864LCDdisplay;controlledbyphotoelectricsensorplatewhereyoustopped,Flattiltanglehappenstomeetflatforceoncoin(supportingforceandfrictionforce)happentoprovidethecomponentsofthecoinhorizontallyintransverseaccelerationforcerequired;electromagnetsareusedtoautomaticallyfreeupswing.Accordingtothefootofthestepmotor(1.8°/STEP),precisecontrolofsteppingmotorrotationcorrespondingsteps.Thesystemlayoutisreasonable,theoreticalpossible,actuallyrunmoresmoothly,highcontrolprecision,meetstherequirementsoftopicsessentialparts.

Keywords:

freedompendulum.anglemeasurement.divided.drivingbalancecontrol

 

目录

一、系统方案2

1.1方案选择与对比2

1.1.1角度测量方案2

1.1.2驱动电机方案2

1.2系统结构2

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

2.1平板转一周的控制原理分析3

2.2硬币不滑落控制原理分析4

三、硬件模块设计与分析4

3.1控制电路4

3.2角度测量电路5

3.3步进电机及驱动电路5

3.4控制按键及模式转换电路6

3.5光电传感电路6

3.6显示电路7

四、软件程序设计7

4.1系统主流程图7

4.2各模块程序流程图8

五测量方案与测试结果9

5.1测量方案9

5.1.1基本要求功能测试9

5.2测试结果及分析9

实验总结10

参考文献11

附件一:

电路原理图12

附件二:

主要器件清单12

附件三:

源程序13

一、系统方案

1.1方案选择与对比

1.1.1电源的设计方案论证与选择

系统需要多个电源,ATMEGA328、L298、MMA7455都使用5V的稳压电源,电机驱动需要24V电压。

方案一、采用LM2596开关电压调节器,能够输出3A的输出电流,同时具有很好的线性和负载调节特性,固定输出3.3V、5V、12V经过调整可输出小于37V的电压。

方案二、采用升压型稳压电路。

用两片MC34063芯片分别将3V的电池电压进行直流斩波调压,得到5V和12V的稳压输出。

只需使用两节电池,既节省了电池,又减小了系统体积重量,但该电路供电电流小,供电时间短,无法是相对庞大的系统稳定运作。

方案三、采用三端稳压集成7805与7824分别得到5V与24V的稳压电压。

利用该方法方便简单,工作稳定可靠。

综上所述,选择方案三,采用三端稳压电路。

1.1.2角度传感器的设计方案论证与选择

方案一、采用WDS35D4精密导电塑料角位移传感器,利用该传感器的输入端加上一个直流电压,在输出端得到一个直流电压信号,把角度位移的机械位移量转化成电压信号,用输出电压进行角度位移的控制。

用此传感器只要测量导轨电阻两端的直流电压,不同的角度有不同的电阻值,通过电阻来算出角度,计算不方便。

电刷在导轨上移动获得输出,数值越小,精度越高。

该传感器的优点:

对环境条件要求低,线性精度高、分辨率高、动态的噪声小等优点,由于该传感器的各项精度都比较精细使其价格过高。

方案二、采用电位器进行调角:

帆板转动时电位器跟着转动,电压随之发生变化,通过电压的值转换成角度值。

但扭力过大,而且精度也不高。

方案三、采用MMA7455三轴加速度传感器,利用物体运动和方向改变输出信号的电压值,把检测到的信号传送给ATMEGA328的AD转化器进行转化与读取此输出信号。

通过不同的角度,X、Y、Z三个方向的加速度输出不同,将电容值的变化转化为电压值,电容值的计算公式是:

C=Ae/D,其中A是极板的面积,D是极板间的距离,e是电介质常数,再用反正弦函数把角度算出来,计算比较方便。

该传感器的优点:

线性精度高、体积小、工作可靠、标识清晰、扩展性好等优点。

综上所述,选择方案三,用MMA7455三轴加速传感器。

1.1.3显示方式的选择

方案一、采用LED数码管显示。

使用数码管动态显示,由于显示的内容较少,给人的视觉冲击不怎么的舒适,具有亮度高、工作电压低功耗小、易于集成、驱动简单等优点。

但在此次设计中需要设定的参数种类多,使用LED数码管不能完成设计任务,不宜采用。

方案二、采用字符型LCD显示。

可以显示英文及数字,利用程序去驱动液晶显示模块,设计简单,且界面美观舒适,耗电小。

综上所述,选择方案二,用字符型LCD进行显示。

1.1.4帆板的设计方案论证与选择

方案一、采用电路板作为帆板。

根据设计需要的要求,电路板需做成宽:

10cm,长:

15cm;在所拥有的风扇下采取电路板作为帆板,很难满足设计所需达到的角度。

考虑风力的大小和自身重力,不宜采用。

方案二、采用泡沫作为帆板。

泡沫的体积太轻,很容易满足设计所需要的角度,缺点:

泡沫的稳定性不高,干扰成分太多。

考虑不稳定性的因素太多此方案不宜采用。

方案三、采用铝板作为帆板。

经过多次实验:

铝板可以作为帆板使用,能过达到设计所需要的要求,而且铝板的稳定性比较好,抗干扰能力强,受干扰的成分比较小。

综上所述,选择方案三,用铝板作为帆板使用。

1.2系统结构

经过方案比较与论证,最终确定的系统组成框图如图1.1.1所示。

其中的集成电路ATMEGA328单片机驱动液晶显示模块、控制电机驱动改变风扇风力的大小从而改变帆板的角度,角度传感器把接收到的输出信号传送给ATMEGA328单片机进行处理再更新显示。

系统框图如图:

 

图1:

系统框图

二、系统理论分析与计算

PID算法:

由于单片机的处理速度和RAM资源的限制,一般不采用浮点数运算,而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,做好余数补偿。

遇限消弱积分:

一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。

具体地说,在计算Ui时,将判断上一个时刻的控制量Ui-1是否已经超出限制范围,如果已经超出,那么将根据偏差的符号,判断系统是否在超调区域,由此决定是否将相应偏差计入积分项积分分离法:

在基本PID控制中,当有较大幅度的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调量和长时间的波动。

特别是对于温度、成份等变化缓慢的过程,这一现象将更严重。

为此可以采用积分分离措施,即偏差较大的时,取消积分作用;当偏差较小时才将积分作用投入。

离散化公式:

Δu(t)=q0e(t)+q1e(t-1)+q2e(t-2)

当|e(t)|≤β时

q0=Kp(1+T/Ti+Td/T)

q1=-Kp(1+2Td/T)

q2=KpTd/T

当|e(t)|>β时

q0=Kp(1+Td/T)

q1=-Kp(1+2Td/T)

q2=KpTd/T

u(t)=u(t-1)+Δu(t)

微分控制对系统性能的影响:

微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。

Td偏小时,超调量也较大,调节时间也较长。

只有Td合适,才能使超调量较小,减短调节时间。

由于快速傅立叶变换FFT算法设计大量的浮点运算,由于一个浮点占用四个字节,所以要占用大量的内存,同时浮点运算时间很慢,所以采用普通的8位MCU一般难以在一定的时间内完成运算,所以综合内存的大小以及运算速度,采用32位的单片机ATMEGA328,它拥有较大的RAM,并且时钟频率高达16M,所以对于浮点运算不论是在速度上还是在内存上都能够很快的处理。

 

三、硬件模块设计与分析

3.1风扇控制电路

风扇控制电路主要是由ATMEGA328、L298电机驱动模块组成。

L298电机驱动模块主要由放大电路、OPAMP运算放大电路、电机驱动组成。

用电阻和电容组成高通滤波电路,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电机转速。

用L298驱动两台直流减速电机的电路引脚A,B分别用PWM控制。

如果电机运动则可将IN1,IN2和IN3,IN4两对引脚分别接高低电平,仅用单片机的两个端口给出PWM信号控制A,B即可。

特点:

工作电压高,可以达到46V;输出电流大,瞬间峰值可达3A,持续工作电流2A;额定功率25W。

当步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转的越快。

调整单片机发出的脉冲频率,就可以对步进电机进行调速,从而控制了风扇的风力的大小。

L298电机驱动的特点:

可以实现电机正反转及调速、启动转矩大。

图:

 

3.2角度测量电路 

MMA7455三轴加速传感器是检测物体运动和方向的传感器,它根据帆板运动和方向改变输出信号的电压值。

当帆板受到风扇风力运动时,三轴加速传感器检测到帆板运动的输出信号,把该输出的电压值用三角函数数出来在把结果送往ATMEGA328单片机进行处理,通过按键控制与液晶显示屏进行显示。

MMA7455三轴加速传感器如图:

图3:

加速度传感器原理图

 

3.4控制按键及模式转换电路

系统利用模式转换开关实现工作状态的切换,并设置了相关按键,分别实现电源、启动等控制。

3.5光电传感电路

我们在摆杆和平板垂直的位置加上了一个ST188的光电传感器,减少由于角度传感的延时和误差导致平板和摆杆垂直的时间和角度,更好的让摆杆和平板达到垂直位置。

电路原理图如下:

图5:

光电传感器原理图

3.6显示电路

我们通过液晶12864ST7920连接到单片机显示角度的变化。

电路原理与如下:

图6:

液晶显示电路原理图

四、软件程序设计

4.1系统主流程图

图7:

系统主流程图

我们用按键来实现多个子程序的转换,使总程序逻辑更加清楚。

总程序附表三给出。

4.2各模块程序流程图

图8:

应用一程序流程图图9:

应用二的程序流程图

五测量方案与测试结果

5.1测量方案

5.1.1基本要求功能测试

1、平板旋转一周控制测试方法及测试数据

在摆杆上对应平板的位置贴上角度标尺,方便观察平板旋转角度。

系统测量的摆杆角度实时在液晶上显示,在摆杆的后方平行位置放一量角尺,先将摆杆拉至一定角度,对比液晶上显示的角度值,经多次实验,证明液晶上显示的角度值可以用来作为实际值,进行后面的测试。

摆杆垂直静止时,手动调整平板使其水平,然后将摆杆推至一定角度,启动系统并放开摆杆让其自由摆动。

软件检测到摆杆摆动一个周期时,控制步进电机停止转动,系统停止工作,摆杆回到垂直静止时观察平板倾斜角度,从而得到摆杆摆一个周期时平板旋转一周的误差。

同理控制摆杆摆动2~6个周期时,分别观察平板的旋转误差。

2、硬币不滑落控制测试方法及测试数据

将摆杆拉至一定角度,调整平板角度,在平板中心稳定放置一枚1元硬件,启动后放开摆杆让其自由摆动。

6个摆动周期后停止系统运行,用直尺测量硬币偏移距离并记录。

改变摆杆摆动时的初始角度。

同理在平板中心稳定放置8枚1元硬件,分角度进行8次实验。

5.2测试结果及分析

表1:

平板旋转控制测试数据

摆动初始

角度(°)

摆动周期数

(周)

平板旋转

误差(°)

摆动初始

角度(°)

摆动周期数

(周)

平板旋转

误差(°)

15

1

4

45

1

3

15

2

7

45

2

8

15

3

11

45

3

12

15

4

15

45

4

15

15

5

18

45

5

19

30

1

5

50

1

4

30

2

7

50

2

7

30

3

12

50

3

12

30

4

15

50

4

15

30

5

19

50

5

19

40

1

4

60

1

4

40

2

7

60

2

7

40

3

11

60

3

11

40

4

16

60

4

16

40

5

19

60

5

20

 

表2:

一枚硬币滑离中心的数据

次数

1

2

3

4

5

6

7

8

角度

30°

33°

35°

39°

40°

41°

43°

45°

滑动距离(cm)

0.3

0.3

0.4

0.5

0.6

0.6

0.7

0.8

误差分析:

由实验测试结果可以看出,当摆杆起始角度由30°到45°逐渐增大时,硬币滑离中心位置的距离越大(在实验允许的误差之内),这符合理论分析的结果且符合实际生活规律,达到了预期的实验效果。

表3:

8枚硬币滑离中心和掉落的数据

次数

1

2

3

4

5

6

7

8

角度

45°

48°

49°

52°

53°

56°

57°

60°

滑动距离(cm)

0.3

0.4

0.5

1.2

0.6

0.8

2.8

1.0

跌落数目

2

0

0

1

0

0

1

2

误差分析:

由实验测试结果可以看出,当摆杆起始角度由45°到60°逐渐增大时,最底层硬币滑离中心位置的距离越大,当硬币发生跌落时,相应的最底层硬币滑离中心位置的距离也很大,这一结果符合理论分析的结果。

实验总结

通过这次设计的经历,我们团队有了更深的配合和默契,在设计过程中,我们遇到一个一个的困难,通过一次的学习和讨论,我们克服了很多问题,在电路设计、软件调试及机械组装等方面得到了很好的锻炼,提高了独立思考、自学知识等多方面的能力,更意识到团队合作和理论实践结合的重要性,受益匪浅!

虽然其中很多处理方式并不是的很好,导致一些稍大的误差,但是整体上我们完成了对题目的要求。

在这次设计中,我们对MSP430单片机的应用和编程有了进一步的认识,对步进电机和传感器的应用得到了很大的加强。

同时,我们认识到我们在发挥部分的精确控制方面有很大的欠缺,希望在今后的日子加强对这方面的学习和应用。

参考文献

[1]魏惠军、朱烔明.大角度单摆的周期J.上海师范大学学报.2004年第33卷(103—105)

[2]张福才.MSP430单片机自学笔记.北京航空航天大学出版社.2011年2月

[3]赵燕著.传感器原理及应用.北京大学出版社.2010年2月。

[4]坂本正文(日)著,王自强译.步进电机应用技术.科学出版社.2010年5月

[5]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编[M].北京:

北京理工大学出版社,2007.

 

附件一:

电路原理图

附件二:

主要器件清单

序号

原件名称,型号和规格

数量

备注

1

MS430149单片机

1

系统控制

2

42HS3404A4步进电机

1

转动平板

3

DM542细分驱动器

1

驱动步进电机

4

ST188光电传感器

1

判断摆与平板的垂直

5

MMA7391加速度传感器

1

角度测量

6

12864ST7920液晶显示屏

1

显示角度

7

电阻

若干

8

电容

若干

附件三:

源程序

#include

#include"12864.h"

#include"delay.h"

#include"adc.h"

#include"Init_Clk.h"

#include"l298.h"

#include

longintsuma=0,sumb=0,sumc=0,base,degree,base2,t=0;

unsignedinti=0,j=0,p,k;

doublem,m1,T;

unsignedcharft[]={0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x08};

unsignedcharbk[]={0x08,0x04,0x02,0x01};

voidmain()

{

WDTCTL=WDTPW+WDTHOLD;

P1DIR=0XFF;P1OUT=0XFF;

P2DIR=0XFF;P2OUT=0XFF;

P3DIR=0XFF;P3OUT=0XFE;

P4DIR=0XFF;P4OUT=0XFF;

P5DIR=0XFF;P5OUT=0XFF;

P6DIR=0XFF;P6OUT=0XFF;

Init_Clk();

adc_4ch();

Init_Lcd();

P4DIR=0XFC;

P1DIR=0Xf0;

while

(1)

{

if((P1IN&BIT0)==0){k=0;break;}

if((P1IN&BIT1)==0){k=1;break;}

}

if(k==0)

{

Disp_4num(0x80,0000);

while

(1)

{

if((P4IN&BIT1)==0)

break;

}

Disp_4num(0x80,1111);

for(p=10;p>0;p--)

{

/*P2OUT=P2OUT|0x02;

Delay_Nus(8);

P2OUT=P2OUT&0xfd;

Delay_Nus(8);

*/

P2OUT=0xf2;

//Delay_Nus(80);

Delay_Nms(25);

P2OUT=0xf0;

Delay_Nms(25);

}

P3OUT=P3OUT|BIT0;

while

(1)

{

//Disp_4num(0x80,2222);

P2OUT=0xf2;

Delay_Nms(25);

P2OUT=0xf0;

Delay_Nms(25);

if((P4IN&BIT0)==0)break;

}

//while

(1)

//Disp_4num(0x80,2222);

for(p=2;p>0;p--)

{

P2OUT=0xf2;

Delay_Nms(25);

P2OUT=0xf0;

Delay_Nms(25);

}

while

(1)

Disp_4num(0x80,3333);

}

else

{

while

(1)

{

ADC12CTL0|=ADC12SC;

_BIS_SR(CPUOFF+GIE);

}

}

/*while

(1)

{

Disp_4num(0x80,1111);

for(i=0;i<4;i++)

{

P2OUT=ft[i];

Delay_Nms(50);

if((P4IN&BIT0)==0)break;

}

if((P4IN&BIT0)==0)break;

}

if(i==3){i=1;P2OUT=ft[i];}

elseP2OUT=ft[i++];

if(i==3){i=1;P2OUT=ft[i];}

elseP2OUT=ft[i++];

while

(1)

{

Disp_4num(0x80,2222);

}

*/

//ADC12CTL0|=ADC12SC;

/*while

(1)

{

ADC12CTL0|=ADC12SC;//Samplingopen启动转换

//if(fabs(base-degree)>5)break;

while

(1)

{

//if(degree>20)break;

_BIS_SR(CPUOFF+GIE);

}

break;

//_BIS_SR(CPUOFF+GIE);//LPM0,ADC12_ISRwillforceexit进入低功耗等待中断模式

}

*/

//if(m<0)

//{

/*Write_Cmd(0x01);

Disp_4num(0x80,1111);

while

(1)

{

for(i=0;i<4;i++)

{

P2OUT=ft[i];

Delay_Nms(100);

if((P4IN&BIT0)==0)break;

}

if((P4IN&BIT0)==0)break;

}*/

//}

/*else

{

while

(1)

{

for(i=0;i<4;i++)

{

P2OUT=bk[i];

Delay_Nms(100);

if((P4IN&BIT0)==0)break;

}

if((P4IN&BIT0)==0)break;

}

while

(1);

}*/

}

//ADC12interruptserviceroutine

#pragmavector=ADC_VECTOR

__interruptvoidADC12_ISR(void)

{

longinta,b,c,d,y,z,q;

doubledegree_

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1