版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
风力摆控制系统摘要STC89C52是单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值。本设计采用STC89C52单片机作为主控制芯片,设计并制作一套风力摆控制系统。该系统主要是以单片机最小系统模块、电源模块、电机驱动模块、12864液晶显示模块组成的。利用三轴加速度陀螺仪MPU-6050对轴流风机姿态的采集反馈给STC89C52,通过PID控制算法提高动态性能,实现类似自由摆运动、幅度可控的摆动,以及按照设置的方向(角度)摆动等功能。关键词:STC89C52,三轴加速度陀螺仪、L298N驱动、轴流风扇、12864液晶显示。AbstractSTC89C52isawiderangeofapplicationsinthemicrocontroller,inthefieldofautomaticcontroltoenjoyahighvalue.ThisdesignusesSTC89C52microcontrollerasthemaincontrolchip,designandmanufactureasetofwindpendulumcontrolsystem.Thesystemismainlybasedonsingle-chipmicro-computersystemmodule,powersupplymodule,motordrivermodule,12864LCDmodule.UsingthethreeaxisaccelerationgyroscopeMPU-6050tocollectfeedbacktotheSTC89C52,thePIDcontrolalgorithmisusedtoimprovethedynamicperformance,andtoachieveasimilarfreeswingmotion,theam-plitudecontrollableswing,andinaccordancewiththedirectionofsetting(angle)swingandotherfunctions.Keywords:STC89C52,threeaxisaccelerationgyroscope,L298Ndrive,axialflowfan,12864LCD故综合考虑实际中选择方案二。1.3电机驱动的论证与选择方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对轴流风机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案二:采用集成电路驱动芯片L298N,L298N内含两个H桥的高电压大电流双全桥式驱动器,可驱动46v,2A以下电机,1和15脚可单独引出接电流采样电阻器,形成电流传感信号,同时通过单片机控制产生PWM波,精确控制电机转速。这种电路驱动能力强,可以简单地实现转速和方向的控制,稳定性高。方案三:采用互补硅功率达林顿管TIP142T实现电机的驱动,采用该方法电路连接比较简单,稳定性好,成本低廉,但不足之处是由于使用分立元件,安装和调试相对麻烦。基于上述理论分析,本系统采用方案二作为电机驱动电路。L298N驱动电路图1.4速度控制的论证与选择方案一:采用D/A变换电路将数字量转换成控制电机电压的模拟量。再利用电平的高低达到调速的目的。本方案达到了利用CPU输出的数字量精确控制模拟量的目的。但是电路比较复杂,成本较高。方案二:采用脉宽调制方式(PWM)从I/O口输出不同占空比的脉冲,经滤波后获得不同甘共苦高低电平控制电机。本方案可以达到对速度的控制要求,且控制简单易实现。总结:通过比较明显方案二最单洁清晰、容易实现、速度快、精度高。从系统指标要求来看,对速度要求较高,低速与高速之间差别较大,且准确度要求高,各个速度之间的切换也要求简单、迅速。所以我们选用方案二作为控制部分具体实施的方案。1.5角度测量方案选择方案1:采用由UZZ9001和KMZ41组成角度测量模块,KMZ41是一种利用磁阻效应测量角度的传感器,采用非接触的方式利用磁场对介质材料电阻的影响将角度信号转换为电信号,能够对180范围内的角度信号进行测量,并利用SPI方式提供11位的角度信号输出。避免了由接触面带来的损耗,该型传感器体积小、价格低、寿命长等优点。但使用该方案需外加磁场,外界磁场对角度测量影响误差大,故不选用此方案。方案二:采用三轴加速度陀螺仪。陀螺仪范围:+250-250+500-500+1000-1000+2000-2000/s,加速度范围:+2-2+4-4+8-8+16-16g在经过计算之后能准确测量出轴流风机偏离的竖直平面的夹角,易于单片机控制。同时MPU-6050芯片可与52板通信,电路简单。综上考虑我们选择此方案二,采用三轴加速度陀螺仪。1.6显示方案选择方案一:使用数码管显示,通过数码管显示被测角度和设定角度。该方案程序简单,但硬件占用单片机I/O口较多,对于尽量节约端口,让线路简单来说不是好方法,而且显示也不够直观灵活,只能显示数字,不能显示汉字显示功能提示,故不适合本次设计应用。方案二:使用液晶屏LCD12864,具有体积小,使用方便等特点。并且可以显示字母,数字及汉字等功能,观察显示很直观,通过字幕显示各种菜单界面、设定角度、测量角度等。该方案程序较复杂,但显示观察清晰,显示直全符合本系统设计功能。故为最佳方案,我们选择方案二。12864液晶显示原理图二.系统理论分析与计算2.1风扇调试原理单片机控制的小型直流电机的一般采用PWM脉冲调制方式实现速度的控制。
PWM基本原理:PWM即脉冲宽度调制(定义),是直流电源电压基本不变的情况下通过电子开关的通断,改变施加到电机电枢端得直流电压脉冲宽度(即所谓的占空比),以调节输入电机电枢的电压平均值的调速方式。通过改变直流电机电枢上电压的"占空比"来改变平均压的大小,从而控制电动机的转速。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为式中,Vd--电机的平均速度;Vmax--电机全通电时的速度(最大);D=t1/T占空比。由此可见,当我们改变占空比D:t1/T时,就可以得到不同的电机平均速度Vd,严格地讲,平均速度Vd与占空比D并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。2.2风力摆状态的测量与计算采用高精度的陀螺加速度计MPU6050不断采集风力摆姿态角数据。MPU6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP。MPU6050和所有设备寄存器之间的通信采用400kHz的I2C接口,实现高速通信。且内置的可编程卡尔曼滤波器,采用最优化自回归数据处理算法精确测量风力摆当前姿态角。MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,通过DMP处理器读取测量数据然后通过串口输出。角度检测电路2.3控制算法的分析本系统采用PID算法来控制风机转动的速度。风机开始工作后,陀螺加速度计MPU6050采集模块不断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动状态逐渐趋向于平稳。PID算法控制器由舵机转动角度比例P、角度误差积分I和角度微分D组成。风力摆转动角度比例P:对风力摆角速度进行比例调整,即对风机转动速度调整。比例越大,调节速度越快。但不能过大,过大可能造成四风机因工作状态突变而是摆杆不稳定。角度误差积分I:使系统消除稳态误差,提高无差度。加入积分调节可使系统稳定性下降,动态响应变慢。本系统追求更快更稳完成对风力摆的控制,因此,本系统对积分调节的需要就非常弱。即保证在不需要时系统不会受到影响。角度微分D:微分作用反映风力摆角度的变化率,即角速度。具有预见性,能预见偏差变化的趋势因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,减少调节时间。三.系统结构3.1机械结构机械结构的稳定性直接影响系统的稳定性。故该风力摆以铁板作为底座,稳固性能好,其机械结构图如下:风力摆结构示意图3.2测控电路结构MPU6050MPU6050正反馈12864液晶显示轴流风机电机驱动STC89S5212864液晶显示轴流风机电机驱动STC89S52键盘电源键盘电源四.系统软件设计4.1主程序流程图开始开始是否有按键按下?N是否有按键按下?Y单片机STC89C52单片机STC89C52轴流风机轴流风机三轴加速度陀螺仪三轴加速度陀螺仪实现基本要求实现基本要求结束结束五.测试方案及结果基本要求一:驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于50cm的直线段。时间(S)误差1误差2误差3误差4误差5第一次测试13.22.01.8-1.62.1-1.9第二次测试12.7--1.72.1第三次测试-1.41.6-2.0表1风力摆画长于50cm直线测试六.结束语经过我们小组的努力,我们终于成功的完成了题目的要求。制作过程中,我们遇到了很多困难,比如三轴加速度陀螺仪的使用,12864液晶屏的显示,风机转速的调整等。但我们通过自己研究,都一一克服了。经过这次比赛我们深刻体会到了团队精神和自己解决问题的能力,在此,衷心的感谢老师们对我们的培养。七.参考文献[1]童诗白,华程英.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2009.[2]阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2009.[3]黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2007.[4]高吉祥,唐朝京.全国大学生电子设计竞赛培训系列教程(电子仪器仪表设计)[M].北京:电子工业出版社,2007.[5]张友德、赵志英、涂时亮.单片微型机原理、应用与实践(第五版)[M].上海:复旦大学出版社,2009.[6]郭天祥.新概念51单片机C语言教程.入门、提高、开发[M].北京:电子工业出版社,2009.[7]梁明理.电子线路(第五版)[M].北京:高等教育出版社,2008.附录:主程序:#include<reg52.h>#include<math.h>#include"typedef.h"#include"lcd12864.h"#include"I2C.h"#include"pwm.h"#include"sbit.h"BYTEBUF[8]; uchardis[5],c_i=0,ds_arr[5],setbh_arr[5];ucharKEY_1_types=0;intdis_data,ACCE_X,ACCE_Y,ACCE_Z; floatangleAx,angleYx,angleZx;voidinit(){ EA=1; EX0=0; IT0=1;}voidscanf_key0(){ if(!KEY_1) { delay1ms(10); if(!KEY_1) { while(!KEY_1); KEY_1_types++; if(KEY_1_types>15) { KEY_1_types=0; } } }}voidPlay_page0(){ Myprintf_s12864(0,1,"2015年电子设"); Myprintf_s12864(1,2,"计大赛"); Myprintf_s12864(2,0,"风力摆"); Myprintf_s12864(2,3,"控制系统"); Myprintf_s12864(3,0,"基础部分:");}voiddisplay(){ floatx,y,z; Myprintf_c12864(1,0,'X');Myprintf_c12864(2,0,'Y'); Myprintf_c12864(3,0,'Z'); ACCE_X=(GetData(ACCEL_XOUT_H)); ACCE_Z=(GetData(ACCEL_ZOUT_H)); x=(float)ACCE_X/4096.0; z=(float)ACCE_Z/4096.0; angleAx=atan2(x,z)*180/3.14; lcd12864printf(dis,angleAx); Myprintf_s12864(1,1,"轴夹角"); LCD12864_WriteData(':'); for(c_i=0;c_i<5;c_i++) { LCD12864_WriteData(dis[c_i]); } LCD12864_WriteData(0xa1); LCD12864_WriteData(0xe3); ACCE_Y=(GetData(ACCEL_YOUT_H)); ACCE_Z=(GetData(ACCEL_ZOUT_H)); y=(float)ACCE_Y/4096.0; z=(float)ACCE_Z/4096.0; angleYx=atan2(y,z)*180/3.14; lcd12864printf(ds_arr,angleYx); Myprintf_s12864(2,1,"轴夹角"); LCD12864_WriteData(':'); for(c_i=0;c_i<5;c_i++) { LCD12864_WriteData(ds_arr[c_i]); } LCD12864_WriteData(0xa1); LCD12864_WriteData(0xe3); ACCE_X=(GetData(ACCEL_XOUT_H)); ACCE_Y=(GetData(ACCEL_YOUT_H)); x=(float)ACCE_X/4096.0; y=(float)ACCE_Y/4096.0; angleZx=atan2(x,y)*180/3.14; lcd12864printf(setbh_arr,angleZx); Myprintf_s12864(3,1,"轴夹角"); LCD12864_WriteData(':'); for(c_i=0;c_i<5;c_i++) { LCD12864_WriteData(setbh_arr[c_i]); } LCD12864_WriteData(0xa1); LCD12864_WriteData(0xe3); }voidmain(){ init();LED_1=0;LED_2=0;ENA_1=0;ENB_1=0;ENA_2=0;ENB_2=0;beep=1;KEY_1=1;KEY_2=1;LCD12864_PSB=0;delay(300); LCD12864_Init();InitMPU3050();delay(100);Play_page0();delay(2000); while(1){ scanf_key0(); if(KEY_1_types==1) { LCD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武汉地铁集团有限公司2026届春季校园招聘备考题库附答案详解(典型题)
- 2026天津医科大学肿瘤医院第三批招聘40人备考题库完整答案详解
- 2026江西南昌大学抚州医学院招聘编外合同制科研助理1人备考题库附答案详解(达标题)
- 2026北京协和医院检验科王瑶团队合同制科研助理招聘1人备考题库含答案详解(考试直接用)
- 陕西省2026届定向延安“优师计划地方专项”师范毕业生招聘30人备考题库含答案详解(精练)
- 2026福建厦门市集美区寰宇实验幼儿园产假顶岗教师招聘2人备考题库及答案详解(必刷)
- 2026陕陕煤化铜川康复医院招聘6人备考题库含答案详解(基础题)
- 2026年福建泉州晋江市第七实验小学招聘食堂财务管理员备考题库含答案详解(考试直接用)
- 2026年4月四川西南医科大学附属医院招聘日间手术中心医师1人备考题库含答案详解(轻巧夺冠)
- 2026内蒙古自治区民航机场集团有限责任公司乌兰浩特分公司招聘6人备考题库含答案详解(预热题)
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 《市域(郊)铁路设计规范》条文说明
- 典型新闻案例分析课件
- 基础教育精品课《杨氏之子》课件模板
- 2022年青岛前进船厂招聘笔试题库及答案解析
- 分包企业准入资格证
- 完整word版《劳动合同书》范本下载
- 设备监造实施细则-202208271405446
- 新浙教版八年级下册初中数学 4.4 平行四边形的判定定理 教学课件
- 2022同等学力申硕英语真题
- 成都市建筑消防设施及电气防火检测规范DB510100T
评论
0/150
提交评论