2024电赛控制类风力摆论文.docx

上传人:夺命阿水 文档编号:1115649 上传时间:2024-03-22 格式:DOCX 页数:23 大小:207.71KB
返回 下载 相关 举报
2024电赛控制类风力摆论文.docx_第1页
第1页 / 共23页
2024电赛控制类风力摆论文.docx_第2页
第2页 / 共23页
2024电赛控制类风力摆论文.docx_第3页
第3页 / 共23页
2024电赛控制类风力摆论文.docx_第4页
第4页 / 共23页
2024电赛控制类风力摆论文.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《2024电赛控制类风力摆论文.docx》由会员分享,可在线阅读,更多相关《2024电赛控制类风力摆论文.docx(23页珍藏版)》请在课桌文档上搜索。

1、2024年全国高校生电子设计竞赛风力摆限制系统(B题)【本科组】OOq灾生电与野潺9duate Eiecto2024年8月15日摘要本设计由MC9S12XS128ML单片机限制模块、角度检测模块、人机交互系统以与风力摆机械结构组成的闭环限制系统。由BTN7971驱动12V、1.2A的直流风机作为风力摆的动力源,MM7361采集风力状态角,单片机处理状态角数据后通过PID调整直流风机限制风力摆,实现在直流风机作为动力限制下快速起摆、画线、复原静止,画圆的功能。为了使测控系统限制更为精确,在采集数据的过程中采纳了非线性误差校正以与卡尔曼滤波等数据处理方法。同时设计中考虑到可能存在的各种干扰因素,采

2、纳软硬件结合的抗干扰方法提高系统限制的稳定性。经过反复的测验,该方案完全能够实现题目要求!关键字:单片机闭环风力摆限制系统卡尔曼滤波书目1 .方案论证与比较O1.1. 系统主控芯片选择O1.2. 风力摇摆力系统方案选择O1.3. 角度检测方案的选择与论证11.4. 电机驱动模块的选择与论证11.5. 算法选择22 .系统设计22. 1.系统总体设计23. 2.模块电路设计34. 系统理论分析与计算54.1. 风力摆的运动限制分析53. 2.系统算法的分析54.软件设计64.1. 程序功能描述与设计思路64. 2.程序流程图65. 系统调试与测试75 .1.系统调试76 .2.系统测试87 .结

3、束语98 .附录107.1.附录1:参考文献107.2.附录2:主要元器件清单107.3.附录3:电路原理图117.4.附录4:部分源程序12L方案论证与比较1.1. .系统主控芯片选择方案一:采纳AT89C51系列单片机作为限制的核心。51单片机价格便宜,应用广泛,I/O口的设置和运用操作简洁。但是51单片机的运行速度过慢,抗静电抗干扰实力弱,内部资源和存储器功能较少,而且无ADC,还须要用外接电路实现AD转换,使硬件电路变得困难。另外,51单片机完成系统功能较为困难。方案二:采纳MC9S12XS128MAL作为限制核心MC9S12XS128MAL是Freescale公司生产的16位单片机,

4、储存功能强大,具有丰富的输入/输出端口资源,具有多种寄存器功能,而且端口引脚大多为复用口,具有多功能,全部端口都具有通用I/O口功能。内部本身自带PWM.A/D转换功能,可以干脆用,省去了单独做PWM模块和A/D转换模块,节约大量时间。完全能够实现本系统的全部功能。综合考虑,本系统选择方案二1.2. 风力摇摆力系统方案选择依据题目要求,用24只直流风机,共有一下三种方案选择!方案一:采纳两只风机作为系统动力系统。两只风机并排同向而立,分别固定摆杆两侧,通过限制两个风机转速产生不同风力控装置摇摆是激光笔划线画圆。此方案遂犯负载亲,但是在很难限制风力摆的状态修正和制动。方案二:采纳三只风机作为动力

5、系统。三只风机成等边三角形相背而立,互成120度夹角(外角)。此方案相对于方案一在限制风力摆转动过程中状态修正方面有提升,而且对于画圆有肯定优势,但是不好驾驭相邻风机的推力,在限制系统运动方向难度很大。方案三:采纳四只直流风机作为动力系统。四只风机两两背靠背而立,中间用碳纤维棒将四只风机固定成十字架形态。综合上述比较分析,考虑到系统的快速工作以与精确限制,本系统采纳方案三。1.3. 角度检测方案的选择与论证方案一:角位移电位器。角位移电位器属于二位平面内角位移传感器测量摇摆时关于静止状态时的偏转角,通过该偏转角限制流风机的状态。但是角位移电位器只能检测出二维平面内的角度变更,不利于检测风力摆的

6、空间位置。方案二:选用三轴加速度传感器。三周加速度传感器具有体积小和重量轻的特点,可以测得空间加速度,能够全面精确反映物体的运动的空间位置。此方案课精确测量风力摆的当前状态,实现对风力摆的精确限制。综合考虑,本系统选择方案二。1.4. 电机驱动模块的选择与论证方案一:运用L298芯片实现电机驱动。L298N内部包含4通道逻辑驱动电路,与内部含两个H桥的双全桥驱动器,接受TTL逻辑电平信号通过PWM实现直流风机调速。但是L298驱动大功率电机时发热严峻易烧毁芯片。方案二:运用英飞凌的BTN7971驱动芯片。BTN7971是大功率集成半桥驱动芯片,在单一封装中集成了PMOS和NMOS凹凸侧功率开关

7、以与门驱动器,还集成了逻辑限制电路和一些爱护检测功能,能够防止过热、过压、欠压、过流和短路。综合考虑,本系统选择方案二。1.5. 算法选择算法有许多种,它的选择很重要,它确定处理系统的性能质量和可行性。方案一:自适应算法。自适应过程是一个不断靠近目标的过程。单片机读取传感器采集来的风力摆空间位置来限制风力摆的运动,但是由于该系统变更太快,自适应算法调整方式难以达到系统要求。方案二:PID算法。在过程限制中,按比例、积分和微分的函数关系,对系统模型进行运算分析,将其运算结果用以输出限制。限制精度高,且算法简洁明白。2 .系统设计2.1. 系统总体设计依据上述方案论证,我们最终确定了以MC9S12

8、XS128ML单片机作为中心处理器,采纳型号为MM7361的模拟加速度陀螺仪检测风力摆的空间位置,运用BTN7971芯片驱动4个大功率直流风机。总体框图如下图2.1所ZjKo角度传N信号l感器模处理直流 风机电机驱动“S12 , xs128 单 片 机人机交互LED灯 光提示图2.1设计总体框图2.2. 模块电路设计1、 角度传感器角度传感器选用蓝宙电子生产的3轴陀螺仪+3轴模拟加速度传感器MM7361模块。该模块具有ENC-03M(全新包装)三轴陀螺仪传感器、MM7361三轴模拟量输出。2、 电机驱动模块BTN7971驱动芯片电路图如图2.2所示,BTN7971属于半桥驱动芯片,所以用两个芯

9、片组成一个完整的全桥驱动芯片,如图2(b)所示。由于直流风机无法反转,将风机地端连载一起,将电源端接入驱动电路中的OUT1、OUT2、OUT3、0UT4,将驱动电路的输入口接单片机PWM1、3、5、7口,通过个给驱动输入PwM值台阶风机速度达到对风机限制目的。图2.23、 拨码开关在单片机的PB口接一个拨码开关,实现人机交互功能。当拨动一个值后,系统会切换一个系统模式,完成本系统的全部功能操作。该模块便利选择各种模式。的限制。图3. 1风力摆结构示意图3 .系统理论分析与计算3.1. ,风力摆的运动限制分析风力摆采纳4只功率为12V、1. 2A的大功率直流风机为动力驱动系统。模拟加速度陀螺仪采

10、集风力摆的当前的角度,单片机处理角度信息输出PWM占空比,限制4只风机的工作状态,从而实现对风力摆3.2. .系统算法的分析本系统采纳PID算法来限制流风机的转动速度,流风机起先工作后,姿态采集模块不断采集当前风力摆的空间位置角度,并与之前的状态比较,是的风力摆的运动状态渐渐趋向于平稳。PID算法由风力摆转动角度比例P、角度误差积分I和角度微分D组成。其输入e(t)与输出U(t)的关系为:U(t)=P*e(t)lIfe(t)dt+D*de(t)dt它的传递函数为:G(s)=U(三)/E(三)=P*1+1/(I*s)+D*s风力摆转动角度比例P:对风力摆角速度进行比例调整,即对风机转动速度调整。

11、比例越大,调整速度越快,但不能过大,过大可能造成四风机因工作状态的突变而使摆杆不稳定。角度误差积分I:使系统消退稳态误差。计入微分调整使系统稳定系数下降,动态相应变慢。依据本系统要更快更稳完成风力摆的限制,本系统对积分调整的须要就特别弱。即保证在不须要时系统不会受到影响。角度微分D:微分反映风力摆角度的变更率,具有可预见性,能预见偏差变更的趋势因此产生超前的限制作用,在偏差还没有形成之前,已被微分作用调整消退。因此,可以改善系统的动态性能。在为分时间选择合适状况下,削减调整时间。4 .软件设计4.1. ,程序功能描述与设计思路系统软件实现的功能如下:1、读取陀螺仪数据,将数据反馈给单片机;2、

12、单片机将读取数据的模拟量AD转换为数字量后,将相对应的PWM波发送给轴流风机;3、限制平衡板;4、拨码开关限制;5、数据汇总做出推断。4.2. .程序流程图系统主程序流程图如下图所示,进入主程序并初始化后,等待拨码开关的状态执行相应程序,每个程序能完成一项要求,各子模块是独立模块,结构清晰。图4.1系统程序流程图5 .系统调试与测试5.1. .系统调试为了便于系统调试,本系统运用CodeWarriorIDE进行原程序的编写、编译和链接,并最终生成可执行文件。该编译器具有高度可视化界面操作与自动创建困难嵌入式系统应用的功能,包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项

13、目工程管理器、C交叉编译器、汇编器、连接器以与调试器,可支持在线调试,为运用嵌入式产品开发供应了便利。6 .2.系统测试1、测试工具刻度尺、秒表、量角器2、测试指标与方法1)基本要求(1):驱动风力摆工作,使激光笔稳定地在地面划出的直线段,来回五次,记录七由静止只起先自由摆时间与最大偏差距离。(15s内完成,线性误差大于土2.5cm),经测验,满足题目要求。2)基本要求(2):设置风力摆划线长度,驱动风力摆工作,记录其由静止起先自由摆时间与在华不同长度直线时的最大偏差距离。(15s内完成,线性误差大于2.5cm)。经测验,满足题目要求。3)基本要求(3):设置风力摆自由摆时的角度,驱动风力摆工

14、作,记录其由静止只起先自由摆时间与在画不同角度直线时的最大偏差距离。经测验,满足题目要求。4)基本要求(4):将风力摆拉起随意角度(30度45度),5s内使风力摆制动达到静止。将风力摆拉起肯定角度放开,测试风力摆制动所需的时间。经测验,满足规定的5s内静止。5)发挥部分:以风力摆静止时的光电为圆心,设置风力摆画圆半径,区东风里摇摆激光笔在地面画圆,记录其画三次圆所用的时间以与最大偏差距离,重复测试三次。变更原半径再次测验,重复以上操作四次,经测验,误差在规定的30s、2.5Cnl的线性误差内。6.结束语通过惊慌的四天三夜的奋力拼搏,与小组其他成员的通力协作,团结互助,最终完成了设计项目。通过不

15、断地测试调试,本系统达到了设计的四个基本要求和发挥部分,在本次设计的过程中,我们遇到了许多突发事务和各种困难。尤其是向如何在摇摆过程中如何保持激光轨迹的线性度一度陷入困难。但通过团队的细致分析和自我调整状态后我们最终解决了问题,取得了比较满足的结果。经过本次电子设计竞赛让我们对电路的设计、调试有了深刻的印象,加深了对测控技术的理解,同时也深刻体会到了共同协作和团队精神的重要性,提高了我们动手解决问题的实力,设计中还有欠缺的地方,今后的学习工作中会加以留意。同时感谢竞赛的主办方让我们得到了很好的熬炼机会,由于时间紧迫我们未能将系统方案调整到最优,但是我们会利用课余时间接着深化探讨找出更好的的方案

16、!7.附录7.1. ,附录L参考文献1黄智伟.高校生全国电子设计竞赛训练教程.北京:电子工业出版社,20242谭浩强.C语言程序设计(其次版).北京:清华高校出版社,20003郭天祥.新概念51单片机C语言教程.入门、提高、开发M北京:电子工业出版社,20244张阳、吴晔、滕勤.MC9S12XS单片机原理与嵌入式系统开发.北京:电子工业出版社7.2.附录2:主要元器件清单元件名称数量(个)模拟加速度陀螺仪112V、1.2A轴流风机4MC9S12XS128MAL单片机1BTN7971驱动芯片412V大功率电源1激光笔17.3. 附录3:电路原理图P再I#腓斛腓擀)雨MCVMC9S12XS12S

17、SystemSSfifi3flBSSfiSflafi群腓岸I 呻阵粕*SS2cSaxx3*3&M湍总&M懈Y“片图7.1主板原理图图7.2驱动模块整体电路图7.4. 附录4:部分源程序voidKalman_Filter_Y(floataccel,floatgyro)/range-1000-2g(floatPHt_0,PHt_l,E,K_0,K_l,Y_0,Y_l;/K_0含有卡尔曼增益的另外一个函数,用于计算最优估计值/K1含有卡尔曼增益的函数,用于计算最优估计值的偏差/先验估计角度更新ang1e_y+=(gyro-gyro_bias)*dt;/由角速度积分得到的角度计算过程协方差矩阵的微分矩

18、阵/关于dt的调整,增加dt可使kalmanfilter的输出相位滞后Pdot0Q.acce-PP01-PP10;派生协方差矩阵计算Pb0,0先验估计误差协方差的微分Pdotl=-PPll;/0,1Pdot2=-PPll;/1,0Pdot3=Q_gyro;1,1Pdot=A*P+P*A导+QPP00+=PdotO*dt;计算协方差矩阵协方差矩阵更新PP0l+=Pdotl*dt;/Pk-先验估计误差协方差微分的积分=先验估计误差协方差PPl0+=Pdot2*dt;PPll+=Pdot3*dt;PHt_O=H_O*PPO0;PHtI=HO*PP1O;E=R_angle+H_O*PHt_O;估计偏差

19、计算的过程量误差估计计算K_O=PHt_O/E;计算卡尔曼增益卡尔曼增益,E越大,K越小K_l=PHt_l/E;后验估计更新状态估计计算测量角度和估计角度的偏差angle_error=accel-angle_y;计算角度偏差zk-先验估计ang1e_y+=K_O*angle_error;更新角度最优估计值/融合后的角度gyrobias+=K_l*angle_error;更新最优估计值偏差rotate_y=gyro-gyro_bias;/更新角速度最优估计值输出值(angle_y)的微分=角速度融合后角速度更新协方差矩阵后验估计,更新协方差阵Y_0=PHt_0;YI=H0*PP0l;PP00-=

20、K0*Y_0;后验估计误差协方差PP0l-=K_0*Y_l;PPl0-=K_l*Y_0;/P(KIK)E越大,P越大PP11-=K_1*Y_1;)*voidKalman_Filter_Yl(floataccell,floatgyrol)/range-1000-2g(floatPHt_0,PHt_l,E,K_0,K_l,Y_0,Y_1;/K_0含有卡尔曼增益的另外一个函数,用于计算最优估计值/K_l含有卡尔曼增益的函数,用于计算最优估计值的偏差/先验估计角度更新angle_yl+=(gyrol-gyro_biasl)*dtl;/由角速度积分得到的角度计算过程协方差矩阵的微分矩阵/关于dt的调整,

21、增加dt可使kalmanfilter的输出相位滞后PdotlO=Q_accel-PPlO1-PP110;派生协方差矩阵计算Pk-0,0先验估计误差协方差的微分Pdotll=-PPlll;/0,1Pdotl2=-PPlll;/1,0Pdotl3=Q_gyrol;1,1Pdot=A*P+P*A导+QPPl00+=Pdotl0*dtl;计算协方差矩阵协方差矩阵更新PPl0l+=Pdotll*dtl;/Pk-先验估计误差协方差微分的积分=先验估计误差协方差PPl10+=Pdotl2*dtl;PPl11+=Pdotl3*dtl;PHt_O=H_l*PPlO0;PHt_l=H_l*PPllO;E=R_an

22、glel+H_l*PHtJ);估计偏差计算的过程量误差估计计算K_O=PHt_O/E;计算卡尔曼增益卡尔曼增益,E越大,K越小K_l=PHt_l/E;后验估计更新状态估计计算测量角度和估计角度的偏差ang1e_error1=acce11-ang1e_y1;计算角度偏差Zk-先验估计融合后的角度angle_yl+=K_0*angle_errorl;更新角度最优估计值gyro_biasl+=K_l*angle_errorl;更新最优估计值偏差融合后角速度rotate_y1=gyro1-gyro_bias1;/更新角速度最优估计值输出值(angljy)的微分=角速度更新协方差矩阵后验估计,更新协方差

23、阵Y_O=PHt_O;Y_1=H_1*PP1O1;PPloO-=K_O*Y_O;/后验估计误差协方差PPl01-=K_O*Y_1;PP11O-=K1*Y0;/P(K!K)E越大,P越大PP111-=K_1*Y_1;*/voidAngleCalculate(void)(uinti;for(i=0;i3;i+)(gyro_tempi=ad_once(0);/y陀螺仪acce_templi=ad_once(l);/Z加速度计GyroY=Mid(gyro_temp0,gyrotemp1,gyro_temp2);求中值AcceZ=Mid(acce_templ0,acce_templ1,acce_templ2);/陀螺仪处理GyroY-=GyroY-GYROSCOPE-OFFSET;求陀螺仪偏差angular_y=-GyroY_*GYROSCOPE_ANGLE_RATIO;陀螺仪角速度加速度处理Accez=AcceZ-GRAVITZ-OFFSET;/加速度计偏差accel_y=ACCeZ*GRAVITY_ANGLE_RATIO;加速度计角度KaIman_FiItejY(accel_y,angular_y);

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号