直流小电动机调速系统.doc

直流小电动机调速系统.doc

ID:55916477

大小:90.50 KB

页数:14页

时间:2020-06-14

直流小电动机调速系统.doc_第1页
直流小电动机调速系统.doc_第2页
直流小电动机调速系统.doc_第3页
直流小电动机调速系统.doc_第4页
直流小电动机调速系统.doc_第5页
资源描述:

《直流小电动机调速系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、题目直流小电机测速系统一.题目要求设计题目:直流小电动机调速系统描述:采用单片机、uln2003为主要器件,设计直流电机调速系统,实现电机速度开环可调。具体要求:1、电机速度分30r/m、60r/m、100r/m共3档;2、通过按选择速度;3、检测并显示各档速度。实验器件:实验板、STC89C52、直流电机、晶振(12MHz)、电容(30pFⅹ2、10uFⅹ2)、)uln2003、小按键、按键(4个)、、数码管、以及电阻等二.组分工摘要在电气时代的今天,电动机在工农业生产与人们日常生活中都起着十分重要的作用。直流电机作为最常见的一种电机,具有非常优秀的线性机械特性、较宽的调速围、良好的起动性

2、以及简单的控制电路等优点,因此在社会的各个领域中都得到了十分广泛的应用。本文设计了直流电机测速系统的基本方案,阐述了该系统的基本结构、工作原理、运行特性及其设计方法。本系统采用PWM测量电动机的转速,用MCS-51单片机对直流电机的转速进行控制。本设计主要研究直流电机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。·关键词:直流电机单片机PWM转速控制硬件部分1.时钟电路系统采用12M晶振与两个30pF电容组成震荡电路,接STC89C52的XTAL1与XTAL2引脚2.按键电路三个按键分别控制电机的不同转速,采用开环控制方法3.电机控制与驱动部分电机的运行通过P

3、WM波控制。PWM波通过STC89C52的P2.4口输出。显示部分采用4位共阳极数码管实现转速显示。数码管的位选端1~4分别接STC89C52的P2.0~P2.3管脚。完整仿真电路图软件部分系统软件采用Keil集成开发环境开发程序如下:#includesbitP2_0=P2^0;//数码管位sbitP2_1=P2^1;sbitP2_2=P2^2;sbitP2_3=P2^3;sbitP2_4=P2^4;//电机位sbitkeysp30=P1^1;//30sbitkeysp60=P1^2;//60sbitkeysp100=P1^3;//100unsignedcharcodeta

4、ble[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsignedintspd;//电机转速unsignedcharge,shi,bai,qian;//电机转速spd的各个位unsignedintcounter=0;//光电传感器脉冲数unsignedintpwm;//pwm占空比unsignedintmid;//占空比设置值unsignedintc;//设定多长时间计算一次速度voiddisplay();//数码管显示电机速度voiddelay();//延迟函数vo

5、idctrlpwm();//控制电机占空比voidspeed();//计算电机速度,放于motorspeed变量中voidkeys();//按键扫描voidmain(){P2=P2&0x0f;vid=0;initial();while(1){keys();display();ctrlpwm();speed();}}voidinitial()//初始化程序{EA=1;//开启总中断EX0=1;//开启外部中断0IT0=1;//设置成下降沿触发方式TMOD=0x01;//设置定时器0为模式1,即16位计数模式TH0=(65536-10000)/256;//计数时间为10msTL0=(65536-

6、10000)%256;ET0=1;//开启定时器0中断TR0=1;//启动定时器0}voidkeys()//键盘扫描{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;}}voidspeed(){if(c>=100)//100*10ms=1s计算一次电机转速{frq1=counter/3;//转的圈数除以时间counter=0;//清零脉冲数c=0;//清零标志}}voidctrlpwm(){if(pwm

7、>=0&&pwm=mid&&pwm<10){P2_4=0;}elsepwm=0;}void_TIMER0()interrupt1{TH0=(65536-10000)/256;//重新装入初值,计数时间为10msTL0=(65536-10000)%256;pwm++;c++;}void_INT0()interrupt0{counter++;}voiddispla

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。