欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    微机原理无刷直流风扇调速与测速分析.docx

    • 资源ID:1714779       资源大小:20.27KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理无刷直流风扇调速与测速分析.docx

    工学院微机原理(3级)项目报告项目名称,微机原理课程设计项目题目,无刷克流风扇调速及测速指导老牌:系别,机电系专业:机械设计制造及其门动化组员信息学号:姓名:玉组员信息学号,姓名,郭完成时间,2019年12月01日至2019年J月1日成果:评阅人:书目一、学习目标(1)二、项目要求(1)三、转速测置和调整系统的硬件构成(1)四、程序流程图并说明方案思路(3)五、风扇转速及占空比之间的关系表格和曲线(4)六、设计酊(5)七、分析设计过程出现的问题(12)八、方案总结(13)voidcheck();数据填入数码管函数voidVA1.UE_To_Num(intnum,unsignedchard);voiddirect();/干脆及反馈调整PWM函数voidadjustO:voidDisp1.ayO;voidsend(unsignedchard):voidsonde(unsignedchar*pd);voidsendc_num(unsignedchar*pd);voidmain()f1.ag_direct=O;f1.ag_send=O;wait=5;PWA1.CoUnI=0,PWMjUrn=I70,Pm1.nIaX=200;TimerOInitO:Timcr2Init();ExtOInitO;UARTInitO;need_steady=1.;接地后起先调整HideVa1.ue=1;接地后显示目标转速K3=1:增加占空比按钮K4=1;削减占空比按钮WhiIe主循环if(f1.ag_k)限制每60ms允许通过按键调整一次PWMJUrnif(!K3&&PWM一turn<190)PB1.turn+;if(!K4&&PWM_turn>10)PWM_turn;f1.ag_k=0;if(f1.ag_direct)checkO;directO;f1.ag_direct=O:wait=4;传送了干脆值后不能立刻进行反馈调整,误差太大了if(f1.ag)限制约1.5s允许调整数码管显示值VA1.UEJrO_Num(500*(SPEEDIemP)/25),4);if(wait>O)wait-:减缓约4.56s才允许反馈调整if(O=wait)M(!need_steady)满意条件时启用转速反馈调整adjust();fIag=O;VA1.,UE_To_Num(PWMturn,O);if(!HideVa1.ue)VA1.UE_To_Num(Target,O);干脆按下K2显示当前的目标转速的值,可以检查有没有收到串口数据if(f1.ag_send)sendc_num(Number);f1.ag_send=O;Disp1.ayO:2、初始化子程序voidTimerOInit(Void)TMODI=0x01;/TO16位定时T1.O=0x33;设置定时初值THO=OxFE;设置定时初值TFO=0:清除TFO标记EA=1;总中断打开ETO=1;定时器0中断打开TRO=1;定时器0起先计时voidTimer2Init(void)RCAP2H=0x28:RCP21.=0x00;定时60msEA=I;打开总中断ET2=1:打开定时器2中断TR2=1;定时器2起先计时voidext1.nit(void)INTO=I;/置高接收口P3.2PXO=I:设置中学断优先级TUO=OxFE;设置定时初值PwmOut=PWM_count<PWM_turn?1.:0;计数值在0199共200个组成;PHb1.tUrn=O时只输出低电平,P端1.tUrn=PnMJnaX时只输出高电平PWM_count+;if(PWb1.count=PWMjnaX)/PWM,count达到顶端时回到初始PWM_count=0;串行中断版务函数接受速度限制吩咐voidseria1.Ointerrupt4staticunsignedcharwrite_point=0;staticbitread_ab1.e=0;unsignedcharTemp;if(RI)/推断是接收中断产生RI=O;标记位清零Temp=SBUF;/读入缓冲区的值if(read_ab1.e)va1uewrite_point=Temp:writc_point+;if(write_point>4)/只读入4个字节f1.ag_direct=1.;/通知主函数可以调整PBI了read_ab1.e=0;write_poin1.=0;wait=4:/马上暂停反馈调整if(Temp='A')'A'作为特征码检测,也可以运用其他的字母来规定限制代码write_point=0;一旦收到A,指针回到开头并且允许接受数据readab1.e=1;1.f(TI)假如是发送标记位,清零TI=O;sending=0:清正在发送标记定时器2调整数码管的刷新速度voidtime2(void)interrupt5using1定时器2中断TF2=0;必要的软件清中断标记COUnt_time+;f1.ag_k=1.;if(count_time>=25)fIag=I;SPEEDjemp=SPEED:SPEED=O;count_time=0:count_scnd+;if(count_send>=5)f1.ag_send=1.;count_send=0:4、协助处理程序检查串口数据Voidcheck()unsignedchari:for(i=0;i<4;i+)if(va1.uei<,0,va1.uei>,9,)va1.uei,O'Target=(va1.ue0,0,)*1000+(va1.ue1->O*)*100+(va1.ue2,0,)*10+(va1.ue3,0,);if(Target>2180Target<280)禁止不行调整范围的PWMSendC("范围外的转速值!n");将数据填入数码管缓存voidVA1.UE_To_Num(intNum,unsignedchard)(unsignedchari:for(i=7;i>3;i")Numberi-d=Num%10;Num=NumZ1.O:干脆调整P1.恻函数voiddirect()if(Target>2180Target<280)禁止不行调整范围的PWMreturn:if(Target<1520)PWM-turn=(0.00003*Target*Target+O.01311.*Target+53.467);/运用分段函数更贴合PWM-n的关系e1.sePWM_turn=(-0.00009*Target*Target+0.4299*Target-302.08);if(PWb1.tUrn>200)PWMJUrn=200;反馈调整P1.锄函数Voidadjust()doub1.enum;num=SPEED_temp*20;if(Target>2180Target<280)禁止不行调整范围的PWMreturn;if(Target<1520)PWM_turn=PWMturn+(0.00006*Target+0.01311)*(Target-num);/J理是dy=f,(x)*dxe1.se属于比例调整PWM_turn=PWM_turn+(0.00018*Target+0.4299)*(Target-num):if(num<(Target4)/防堵转检测directO;wait=4;if(PWM_turn>200)PWM1.Urn=200;数码管显示程序voidDisp1.ayOunsignedcharnum;unsignedintm;for(num=0;num<8:num+)PO=weinum;we1.a=1.;we1.a=O:PO=duanNumbernum:du1.a=1.:du1.a=O;for(m=128:m>0:in-);时间间隔短,利用人眼的余辉效应,觉得每个数码管都始终在亮。发送一个字节Voidsend(unsignedchard)发送一个字节的数据,形参d即为待发送数据。SBIJF=d;将数据写入到串口缓冲sending=1.;设置发送标记WhiIe(Sending);等待发送完毕发送一个字符串VOidsendc(unsignedchar*pd)whi1.e(*pd)!三,0,)/发送字符串,直到遇到O才结束send(*pd);发送一个字符Pd+;移动到下一个字符voidSendC_num(UnSignedchar*pd)unsignedchart:for(t=0;t<8;t+)if(t=4)send(>');Send(*pd)+'O');发送一个字符Pd+;移动到下一个字符sendCn');七、分析设计过程出现的问题1 .在设计PWM的调控方式的过程中,我们遇到了一个选择PWA1.波周期的问题。查阅资料后发觉,PWM波的周期大小能干脆影响小风扇的输出转矩。在实际测试过程中,第一次选用载波脉冲数为200个,载波周期为250US的方式构成周期为50InS的PW我们发觉,此时使风扇恰好保持转动的占空比为35与。其次次选用载波脉冲数为200个,载波周期为500us的方式构成周期为100ms的PWM此时使风扇恰好保持转动的占空比为26%,并且相对上一次的选择在调速过程中,相同的占空比能输出更大的转速。因此相对的,其次种方案调速实力更加优秀。最终选择了用载波脉冲数为200个,载波周期为500us的方式构成周期为100ms的PWMo2 .设计中关于测定转速及占空比的关系的次序也是一个问题。在设计的后期,我们留意到从高占空比测到低占空比以及从低到高测,得到的PIYM-n关系曲线在占空比相同时,转速的差值可以很大,这干脆影响到占空比干脆调整函数的精度。为解决这个问题,利用随机给定占空比的方式测速更为贴合实际的运用状况。因此后期中创建了一个特地用来测定转速及占空比的关系的程序,它能随机指定占空比并且定时几秒后把当前稳定的PWM-n关系发回PC机。八、方案总结依据项目报告的检查要求,我们将项目过程分阶段进行。第一阶段,初步实现用按键调整占空比并输出PWM波让风扇转动:其次阶段让数码管能显示PWM波的占空比状况:第三阶段加入转速测量功能并且用数码管显示转速:第四阶段加入串口通讯功能,主要实现用单片机接受数据;第五阶段制作风扇转速及占空比之间的关系表格和曲线:第六阶段依据关系曲线选择合适的调整方案;最终整合程序并且完成项目实践报告。从结果上看,我们的无刷直流风扇系统已经能实现全部要求的功能,能做到调速及自动稳定转速。为提高该系统的性能,我们可以考虑从改善稳定转速的方案入手,这须要对P1.D调整有深化的了解。

    注意事项

    本文(微机原理无刷直流风扇调速与测速分析.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开