直流小电动机调速系统_第1页
直流小电动机调速系统_第2页
直流小电动机调速系统_第3页
直流小电动机调速系统_第4页
直流小电动机调速系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题 目 一题目要求设计题目:直流小电动机调速系统采用单片机、uln2003为主要器件,设计直流电机调速系统,实现电机速度开环可调。具体要求:1、电机速度分30r/m、60r/m、100r/m共3档;2、通过按选择速度;3、检测并显示各档速度。实验器件:30pF2、)uln2003、小按键、按键(4、数码管、以及电阻等二组分工摘要泛的应用。基本结构、工作原理、运行特性及其设计方法。本系统采用PWM测量电动机的转速,用MCS-51单片机对直流电机的转速进行控控制精度、响应速度以及节约能源等都具有重要意义。关键词:直流电机 单片机 PWM 转速控制硬件部分1.时钟电路系统采用 12M 晶振与两个 3

2、0pF 电容组成震荡电路,接 STC89C52的 XTAL1 与 XTAL2引脚2.按键电路三个按键分别控制电机的不同转速,采用开环控制方法3.电机控制与驱动部分电机的运行通过 PWM 波控制。PWM 波通过 STC89C52 的 P2.4口输出。显示部分采用 4 位共阳极数码管实现转速显示。数码管的位选端 14分别接 STC89C52 的 P2.0P2.3管脚。完整仿真电路图软件部分系统软件采用Keil集成开发环境开发程序如下:#include sbit P2_0=P20; /数码管位sbit P2_1=P21;sbit P2_2=P22;sbit P2_3=P23;sbit P2_4=P2

3、4; /电机位sbit keysp30=P11;sbit keysp60=P12;/30/60sbit keysp100=P13; /100unsignedcharcodetable=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e;unsigned int spd; unsigned char ge,shi,bai,qian; spd的各个位unsigned int counter=0;/光电传感器脉冲数/pwm占空比/占空比设置值/设定多长时间计算一

4、次速度unsigned int pwm;unsigned int mid;unsigned int c;void display(); /数码管显示电机速度void delay(); /延迟函数void ctrlpwm(); /控制电机占空比void speed(); /计算电机速度,放于motorspeed变量中void keys(); /按键扫描void main()P2=P2&0 x0f;vid=0;initial();while(1)keys();display();ctrlpwm();speed();void initial() /初始化程序EA=1; /开启总中断EX0=1; /开

5、启外部中断0IT0=1; /设置成下降沿触发方式TMOD=0 x01; /设置定时器0为模式1,即16位计数模式TH0=(65536-10000)/256; /计数时间为10msTL0=(65536-10000)%256;ET0=1;TR0=1;/开启定时器0中断/启动定时器0void keys()/键盘扫描if(keys1 = 0)delay();if(keysp1 = 0)vid=1;if(keys2 = 0)delay();if(keys2 = 0)vid=3;if(keys3 = 0)delay();if(keys3 = 0)vid=5;void speed()if(c=100) /1

6、00*10ms=1s计算一次电机转速frq1=counter/3; /转的圈数除以时间counter=0;c=0;/清零脉冲数/清零标志void ctrlpwm()if(pwm=0 & pwm=mid & pwm10)P2_4=0;else pwm=0;void _TIMER0() interrupt 1TH0=(65536-10000)/256; /重新装入初值,计数时间为10msTL0=(65536-10000)%256;pwm+;c+;void _INT0() interrupt 0counter+;void display()/数码管显示函数ge=spd%10;shi=spd/10%1

7、0;bai=spd/100%10;qian=spd/1000%10;P2_0=0;P0=tableqian;delay();P0=0 xff;P2_0=1;P2_1=0;P0=tablebai;delay();P0=0 xff;P2_1=1;P2_2=0;P0=tableshi;delay();P0=0 xff;P2_2=1;P2_3=0;P0=tablege;delay();P0=0 xff;P2_3=1;void delay() /延迟函数unsigned char i;系统的调试包括两方面,软件的仿真和硬件电路最后的测试。软件的仿真利用Proteus Pro 7.5 keil 软件证程序

8、逻辑的正确性,结果显示正确。能的完整性可靠性,以及系统电气性能的稳定性。设计总的来说还是比较顺利的。从原理图的设计,电路板的焊接到写课程设计论文,在这个过程中我们也给我最大的体会就是有很多东西如果不是自己亲自动手,只在书本上是学不到一些时间,但这比空想要有效的多。做事情一定要细心,更要耐心,遇到问题要慢慢去检查,然后仔细分析后再解决;除此之外,还要有合作精神,注重团队合作,和合作者一起做,相互鼓励,互相弥补不足之处,很多难点的突破都来自于与同学的交流,交流使自己获得更多信息,开拓了思路,这样很多事情就成了。本次设计把理论应用到了实践中,同时通过设计,也加深了自己对理论知识的理解和掌握,在解决困

9、难的过程中,获得了许多专业方面的知识,拓展了视探索精神。这样的课程设计是很好的锻炼机会,通过实验设计使我深入了解到课学期的毕业设计提供了宝贵的经验。按照以前实习的解题步骤一步步的做,首先是查找相关的资料,如 PWM 的工作原理。查完资料后,运用以前我们所学的 C 语言知识对我们的题目进行模块化分类。刚开始查阅完资料进行编程时,错误百出,毕竟好久没用 C 编程了,谢这次实验使用了软件 keil 和 Proteus 7 Professional,其中 keil 用来编写 C 语言程序,以及编译连接使之产生后缀名为 hex 的文件,将其烧录在软件 Proteus 7Professional 中进行测

10、试仿真调试。这次实习的重点就是如何编写程序以及仿真中的行骗各个管脚的连接问题,主要的芯片有51ulnled显示、电机。首先分清各管脚起什么作用,比如说晶振要与51 的 XTAL1和 XTAL2连接等等。其次 keil 和 proteus 7Professional软件,比如知道在 proteus 7 Professional 中如何正确的找出单片机、uln、led 显示、电机等这些芯片,怎么将 keil 中运行好的程序烧录到 proteus 7Professional 中,然后正确的运行。当同组的同学咁好板子后,接通电源时发现led 显示不够亮,所以就进行改进,通过再接入放大器放大信号就可以使 led 更好的显示出来。还很多。合作也是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论