欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程设计实验报告.docx

    • 资源ID:4237531       资源大小:119.33KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    课程设计实验报告.docx

    1、课程设计实验报告直流电机测速摘要设计一种直流电机调速系统,以STC89C52为控制核心,通过ULN2003驱动电机,使用ST151测量转速,实现了按键输入、电机驱动、转速控制、转速显示等功能。关键词:直流电机, 80C51, ULN2003, 转速控制第一章 题目描述直流小电机调速系统:采用单片机、uln2003为主要器件,设计直流电机调速系统,实现电机速度开环可调。要求:1、电机速度分30r/m、60r/m、100r/m共3档; 2、通过按选择速度; 3、检测并显示各档速度。所需器件:实验板(中号)、直流电机、STC89C52、电容(30pF2、10uF2)、数码管(共阳、四位一体)、晶振(

    2、12MHz)、小按键(4个)、ST151、电阻、发光二极管等。第二章 方案论述按照题给要求,我们最终设计了如下的解决方案:用户通过键盘键入控制指令(开关),微控制器在收到指令后改变输出的PWM波,最终在ULN2003的驱动下电机转速发生改变。通过ST151传感器测量电机扇叶的旋转情况,将转速显示在数码管上。在程序主循环中实现按键扫描与转速显示,将定时器0作为计数器,计数ST151产生的下降沿,可算出转速,并送至数码管显示。第三章 硬件部分设计系统硬件部分包含输入模块、显示模块、控制模块、测速模块等。在硬件搭建前,先通过Proteus Pro 7.5进行硬件仿真实现。1.时钟电路系统采用12M晶

    3、振与两个30pF电容组成震荡电路,接STC89C52的XTAL1与XTAL2引脚,为微控制器提供时钟源2.按键电路四个按键分别控制电机的不同转速,即控制PWM波高电平的占空比,以实现电机的速度控制,采用开环控制方法,不是十分精确,但控制简单,易实现,代码编写简单3.显示部分系统采用4位共阴极数码管实现转速显示。数码管的位选端14分别接STC89C52的P2.0P2.3管脚,端选段AG与DP分别接STC89C52的P0.0P0.7管脚。需要说明的是:实际焊接电路时,数码管的位选端需要焊接三极管,否则数码管显示亮度将会非常暗。4.电机控制与驱动部分电机的运行通过PWM波控制。PWM波通过STC89

    4、C52的P2.4口输出。说明:测速部分用的是Motro-encode电机,实际用ST151实现测速,焊接电路如下图:其中R1=510,R2=4.7KST内部电路:5.其他电路复位电路如下所示:完整仿真电路图:第四章 软件部分设计1.开发环境系统软件采用Keil集成开发环境开发程序代码如下(带注释):#include sbit P2_0=P20; /数码管选定位sbit P2_1=P21;sbit P2_2=P22;sbit P2_3=P23;sbit P2_4=P24; /电机控制位sbit keysp0=P10; /电机转速为0的控制键sbit keysp30=P11; /电机转速为30的控

    5、制键sbit keysp60=P12; /电机转速为60的控制键sbit keysp100=P13; /电机转速为100的控制键unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;unsigned int motorspeed; /电机转速unsigned char GE,SHI,BAI,QIAN; /电机转速motorspeed的各个位unsigned int counter=0; /光电传感器脉冲数unsigned int pwm;

    6、 /pwm占空比unsigned int mid; /占空比设置值unsigned int calsp; /设定多长时间计算一次速度void display(); /数码管显示电机速度void delay(); /延迟函数void controlpwm(); /控制电机占空比void calspeed(); /计算电机速度,放于motorspeed变量中void keyscan(); /按键扫描void main() P2=P2&0x0f; mid=0; EA=1; /开启总中断 EX0=1; /开启外部中断0 IT0=1; /设置成下降沿触发方式 TMOD=0x01; /设置定时器0为模式1

    7、,即16位计数模式 TH0=(65536-10000)/256; /计数时间为10ms TL0=(65536-10000)%256; ET0=1; /开启定时器0中断 TR0=1; /启动定时器0 while(1) keyscan(); display(); controlpwm(); calspeed(); void keyscan() /键盘扫描 if(keysp0 = 0) delay(); /延迟防止抖动 if(keysp0 = 0) mid=0; if(keysp30 = 0) delay(); if(keysp30 = 0) mid=1; if(keysp60 = 0) delay

    8、(); if(keysp60 = 0) mid=3; if(keysp100 = 0) delay(); if(keysp100 = 0) mid=5; void calspeed() if(calsp=100) /100*10ms=1s计算一次电机转速 motorspeed=counter/3; /转的圈数除以时间 counter=0; /清零脉冲数 calsp=0; /清零标志 void controlpwm() if(pwm=0 & pwm=mid & pwm10) P2_4=0; /电机不加速 else pwm=0;void _TIMER0() interrupt 1 TH0=(655

    9、36-10000)/256; /重新装入初值,计数时间为10ms TL0=(65536-10000)%256; pwm+; calsp+;void _INT0() interrupt 0 counter+; /接受脉冲数void display() /数码管显示函数 GE=motorspeed%10; SHI=motorspeed/10%10; BAI=motorspeed/100%10; QIAN=motorspeed/1000%10; P2_0=0; P0=tableQIAN; delay(); P0=0xff; P2_0=1; P2_1=0; P0=tableBAI; delay();

    10、P0=0xff; P2_1=1; P2_2=0; P0=tableSHI; delay(); P0=0xff; P2_2=1; P2_3=0; P0=tableGE; delay(); P0=0xff; P2_3=1;void delay() /延迟函数 unsigned char i=10; while(i-) ;第五章 系统测试测试方案:测试包含仿真测试和硬件测试两个部分。仿真测试指使用Proteus Pro 7.5 对系统进行仿真测试。主要测试系统电路的设计和验证程序逻辑的正确性。硬件测试指系统搭建后对硬件电气性能的测试。主要测试各功能的完整性可靠性,以及系统电气性能的稳定性。测试工具为

    11、示波器万用表等。仿真测试结果:真测试中,系统运行正常,程序逻辑正确。按键输入正常、数码管显示正确。P2.4管脚间输出PWM波正常。硬件测试结果:系统硬件搭建完毕后,进行硬件测试。系统加电后,振荡电路正常起振,STC89C52在时钟源电路的驱动下运行正常。系统可在复位电路的作用下正常复位。系统按键输入正常,并能够正确消除抖动。系统PWM波输出正常。将示波器接STC89C52的P2.4管脚,可观察到峰峰值5V左右的方波,频率与调速要求一致。ST151传感器测量正常。数码管转速显示正常,数码管可正确显示并正确显示电机转速。第六章 实验总结这次课程设计我主要负责硬件方面,从刚开始到图书馆查资料、上网查

    12、资料、软件仿真、再到后来的硬件焊接,整个过程下来感觉还是挺不容易的。到最后成功的完成了设计,还是有点成就感的。在整个过程中学到了很多东西,更加巩固了单片机方面的知识,掌握了protues,keil等软件的使用。熟悉了硬件方面测试,焊接等知识,回想这次实习,还是有很大收获的。对以后学习有很大的帮助。通过这次课设,我了解了直流电机调速系统,熟悉了单片机在控制系统的应用,掌握了Proteus和keil环境和应用。实际硬件做出来后效果和仿真的相差甚远,经过反复的检查,我们发现我们的程序效率太差,其运行时间比设定的计时还要长,以至于占空比的调节范围太小,经多次调试最终的效果还是比较理想,当然,我们做的还

    13、有不足之处,比如说:测速模块,准确度不太高,而且数码管的显示总是不稳定(+/-20震荡)。总之,通过这次课设,我觉得对待知识一定要严谨认真,细微之处见水平此次课程设计使用80C51作为核心,在十分有限的性能和硬件资源上实现一定的功能,虽然是一个十分简单的系统,但很好的体现了对嵌入式工程师的要求,也纠正了我们以往思维的很多错误,让我们认识到嵌入式系统开发的关键正是在有限的成本和硬件资源下实现所需的功能,更加扎实了我们的设计功底。通过这次课程设计,我对51单片机的编程方法以及流程有了一个更加深刻的认识,学会了使用proteus设计仿真电路。在设计电路过程中,我学会了三极管用作开关时的接法,以及共阴共阳四位一体数码管的接法有了一个新的认识。此外,我还对ST151光电传感器的内部构造和原理,以及电机测速方法有了一个初步的认识。总之,通过这次课程设计,我无论在软件还是硬件方面都有很大的收获。附录1 人员分工情况: 硬件搭建(仿真及焊接) 硬件搭建(仿真及焊接) 软件编写 报告撰写


    注意事项

    本文(课程设计实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开