1简易风洞及控制系统(G题)摘要:本帆板控制系统由单片机ATMEGA328作为帆板转角的检测和控制核心,实现按键对风扇转速的控制、调节风力的大小、改变帆板转角θ、液晶显示等功能。引导方式采用角度传感器感知与帆板受风力大小的转角θ的导引线。通过PWM波控制电机风扇风力的大小使其改变帆板摆动的角度θ。风扇控制核心采用L298电机驱动模块,用ATMEGA328单片机为控制核心,产生占空比受数字PID算法控制的PWM脉冲,实现对直流电机转速的控制,同时利用光电传感器将电机速度转化成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。MMA7455三轴加速传感器把角度输出信号传送给ATMEGA328单片机进行处理。关键词:ATMEGA328,MMA7455,PWM波,PID算法2目录1.系统设计1.1任务与要求1.1.1主要任务1.1.2基本要求1.1.3说明1.2总体设计方案1.2.1设计思路·1.2.2方案论证与比较1.2.3系统的组成2.单元电路设计2.1风速控制电路2.2小球测距原理2.3控制算法3.软件设计3.1风速控制电路设计计算3.2控制算法设计与实现3.3程序流程图4.系统测试4.1调试使用的仪器与方法4.2测试数据完整性4.3测试结果分析4.4结束语5.总结参考文献附录1元器件明细表附录2电路图图纸附录3程序清单31.系统设计1.1任务与要求1.1.1主要任务设计制作一简易风洞及其控制系统。风洞由圆管、连接部与直流风机构成,如图所示。圆管竖直放置,长度约40cm,内径大于4cm且内壁平滑,小球(直径4cm黄色乒乓球)可在其中上下运动;管体外壁应有A、B、C、D等长标志线,BC段有1cm间隔的短标志线;可从圆管外部观察管内小球的位置;连接部实现风机与圆管的气密性连接,圆管底部应有防止小球落入连接部的格栅。控制系统通过调节风机的转速,实现小球在风洞中的位置控制。1.1.2基本要求(1)小球置于圆管底部,启动后5s内控制小球向上到达BC段,并维持5s以上。(2)当小球维持在BC段时,用长形纸板(宽度为风机直径的三分之一)遮挡风机的进风口,小球继续维持在BC段。(3)以C点的坐标为0cm、B点的坐标为10cm;用键盘设定小球的高度位置(单位:cm),启动后使小球稳定地处于指定的高度3s以上,上下波动不超过±1cm。(4)以适当的方式实时显示小球的高度位置及小球维持状态的计时。(5)小球置于圆管底部,启动后5s内控制小球向上到达圆管顶部处A端,且不跳离,维持5s以上。(6)小球置于圆管底部,启动后30s内控制小球完成如下运动:向上到达AB段并维持3~5s,再向下到达CD段并维持3~5s;再向上到达AB段并维持3~5s,再向下到达CD段并维持3~5s;再向上冲出圆管(可以4落到管外)。(7)风机停止时用手将小球从A端放入风洞,小球进入风洞后系统自动启动,控制小球的下落不超过D点,然后维持在BC段5s以上。(8)其他自主发挥设计。1.1.3说明(1)题中“到达XX段”是指,小球的整体全部进入该段内;(2)题中“维持”是指,在维持过程中小球整体全部不越过该段的端线;(3)小球的位置以其中心点为准(即小球的上沿切线向下移2cm,或下沿切线向上移2cm);(4)直流风机的供电电压不得超过24V,注意防止风机叶片旋转可能造成的伤害;可在圆管及其周围设置传感器检测管内小球的位置;可将圆管、连接部与直流风机安装在硬质板或支架上,以便于使圆管保持竖直状态,并保持风洞气流通畅。(5)每一个项目最多进行三次测试;对于任何测试项目,测试专家可要求进行重复测试。(6)风洞制作方法参考:圆管长度约40cm,可以选用透明的有机玻璃(或亚克力材料)圆管,也可以选用不透明的PVC圆管。圆管的内直径必须大于40mm,保证小球(直径为40mm的乒乓球)在管内能够自由运动。如果选用不透明的PVC圆管,为了能够方便直观地观察管内小球的位置,可以在管臂上沿轴线方向开凿宽度约5mm的长条形槽孔,再用宽的透明胶带贴在槽孔上,保证圆管的气密性。开凿长条形槽孔后,应清除管壁内的残屑,以免影响小球的运动。为了防止小球落入连接部,可将一根细铁丝或导线,用AB胶或透明胶带粘在圆管下端口处。连接部的材料可以采用冰箱保鲜袋。剪去袋底封口部分,得到一个两端开口的塑料薄膜“软管”。将“软管”的一端包住圆管的下端口,并用透明胶带将重叠部分缠紧;将软管的另一端包住直流风机出风口的外沿,并用透明胶带将重叠部分缠紧。注意直流风机的风向,应向连接部方向吹风。可将风洞的圆管、直流风机部分固定在一块硬质板上,再固定硬质板,使圆管保持竖直状态;也可做一个三脚支架,将风洞的圆管部分固定在支架上并保持竖直状态,直流风机垂挂在圆管下方。直流风机的进风口处应留有足够的空间,保证气流通畅。51.2总体设计方案1.2.1设计思路题目要求设计一个翻版控制系统,通过对风扇转速的控制,调节风力的大小,改变帆板转角θ。设计中采用单片机PWM波电机控制方式,使得控制风扇风力的大小,帆板受到风力的大小从而改变帆板偏转的角度θ,角度传感器把检测到帆板的偏转角度传给ATMEGA48单片机进行处理达到设计所需的要求再用键盘进行调整,用液晶显示屏进行显示。1.2.2方案论证与比较1.电源的设计方案论证与选择系统需要多个电源,ATMEGA328、L298、MMA7455都使用5V的稳压电源,电机驱动需要24V电压。方案一、采用LM2596开关电压调节器,能够输出3A的输出电流,同时具有很好的线性和负载调节特性,固定输出3.3V、5V、12V经过调整可输出小于37V的电压。方案二、采用升压型稳压电路。用两片MC34063芯片分别将3V的电池电压进行直流斩波调压,得到5V和12V的稳压输出。只需使用两节电池,既节省了电池,又减小了系统体积重量,但该电路供电电流小,供电时间短,无法是相对庞大的系统稳定运作。方案三、采用三端稳压集成7805与7824分别得到5V与24V的稳压电压。利用该方法方便简单,工作稳定可靠。综上所述,选择方案三,采用三端稳压电路。2.角度传感器的设计方案论证与选择方案一、采用WDS35D4精密导电塑料角位移传感器,利用该传感器的输入端加上一个直流电压,在输出端得到一个直流电压信号,把角度位移的机械位移量转化成电压信号,用输出电压进行角度位移的控制。用此传感器只要测量导轨电阻两端的直流电压,不同的角度有不同的电阻值,通过电阻来算出角度,计算不方便。电刷在导轨上移动获得输出,数值越小,精度越高。该传感器的优点:对环境条件要求低,线性精度高、分辨率高、动态的噪声小等优点,由于该传感器的各项精度都比较精细使其价格过高。方案二、采用电位器进行调角:帆板转动时电位器跟着转动,电压随之发6生变化,通过电压的值转换成角度值。但扭力过大,而且精度也不高。方案三、采用MMA7455三轴加速度传感器,利用物体运动和方向改变输出信号的电压值,把检测到的信号传送给ATMEGA328的AD转化器进行转化与读取此输出信号。通过不同的角度,X、Y、Z三个方向的加速度输出不同,将电容值的变化转化为电压值,电容值的计算公式是:C=Ae/D,其中A是极板的面积,D是极板间的距离,e是电介质常数,再用反正弦函数把角度算出来,计算比较方便。该传感器的优点:线性精度高、体积小、工作可靠、标识清晰、扩展性好等优点。综上所述,选择方案三,用MMA7455三轴加速传感器。3.显示方式的选择方案一、采用LED数码管显示。使用数码管动态显示,由于显示的内容较少,给人的视觉冲击不怎么的舒适,具有亮度高、工作电压低功耗小、易于集成、驱动简单等优点。但在此次设计中需要设定的参数种类多,使用LED数码管不能完成设计任务,不宜采用。方案二、采用字符型LCD显示。可以显示英文及数字,利用程序去驱动液晶显示模块,设计简单,且界面美观舒适,耗电小。综上所述,选择方案二,用字符型LCD进行显示。4.帆板的设计方案论证与选择方案一、采用电路板作为帆板。根据设计需要的要求,电路板需做成宽:10cm,长:15cm;在所拥有的风扇下采取电路板作为帆板,很难满足设计所需达到的角度。考虑风力的大小和自身重力,不宜采用。方案二、采用泡沫作为帆板。泡沫的体积太轻,很容易满足设计所需要的角度,缺点:泡沫的稳定性不高,干扰成分太多。考虑不稳定性的因素太多此方案不宜采用。方案三、采用铝板作为帆板。经过多次实验:铝板可以作为帆板使用,能过达到设计所需要的要求,而且铝板的稳定性比较好,抗干扰能力强,受干扰的成分比较小。综上所述,选择方案三,用铝板作为帆板使用。1.2.3系统的组成经过方案比较与论证,最终确定的系统组成框图如图1.1.1所示。其中的集成电路ATMEGA328单片机驱动液晶显示模块、控制电机驱动改变风扇风力的大小从而改变帆板的角度,角度传感器把接收到的输出信号传送给ATMEGA328单片机进行处理再更新显示。7图1.1.1系统组成框图8PID算法:由于单片机的处理速度和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/Tu(t)=u(t-1)+Δu(t)微分控制对系统性能的影响:微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。Td偏小时,超调量也较大,调节时间也较长。只有Td合适,才能使超调量较小,减短调节时间。由于快速傅立叶变换FFT算法设计大量的浮点运算,由于一个浮点占用四个字节,所以要占用大量的内存,同时浮点运算时间很慢,所以采用普通的8位MCU一般难以在一定的时间内完成运算,所以综合内存的大小以及运算速度,采用32位的单片机ATMEGA328,它拥有较大的RAM,并且时钟频率高达16M,所以对于浮点运算不论是在速度上还是在内存上都能够很快的处理。2.单元电路设计92.1风扇控制电路风扇控制电路主要是由ATMEGA328、L298电机驱动模块组成。L298电机驱动模块主要由放大电路、OPAMP运算放大电路、电机驱动组成。用电阻和电容组成高通滤波电路,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电机转速。用L298驱动两台直流减速电机的电路引脚A,B分别用PWM控制。如果电机运动则可将IN1,IN2和IN3,IN4两对引脚分别接高低电平,仅用单片机的两个端口给出PWM信号控制A,B即可。特点:工作电压高,可以达到46V;输出电流大,瞬间峰值可达3A,持续工作电流2A;额定功率25W。当步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转的越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速,从而控制了风扇的风力的大小。L298电机驱动的特点:可以实现电机正反转及调速、启动转矩大。图1.1.2L298电机控制电路2.2角度测量原理MMA7455三轴加速传感器是检测物体运动和方向