单片机直流电机控制器附电路图和部分程序.docx

上传人:叶*** 文档编号:35711662 上传时间:2022-08-23 格式:DOCX 页数:9 大小:56.32KB
返回 下载 相关 举报
单片机直流电机控制器附电路图和部分程序.docx_第1页
第1页 / 共9页
单片机直流电机控制器附电路图和部分程序.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《单片机直流电机控制器附电路图和部分程序.docx》由会员分享,可在线阅读,更多相关《单片机直流电机控制器附电路图和部分程序.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机直流电机控制器(附电路图与部分程序)89C52单片机控制PWM调速电路实现小功率直流电机的转速调节,并要将其实时转速用LED管显示出来。而本系统必须符合以下几点要求: (1) 在(10005500)转/分 内对直流电机进行任意调速,最小调速级差为1转/分。(2)电机能在所设速度下稳定运转,运转速度与设定速度之差小于20转/分。(3)电机启动与加减80%额定负载时,其转速能迅速回到设定值,转速超调5%内。(4)利用按键与LED数码管设置速度,设置方便,快捷。(5)利用LED数码管实时显示电机速度。(6)电机能进行正反转控制。 控制方面,本设计是采用定时器控制I/O口输出PWM信号驱动斩波电

2、路控制电机运转与调速;利用单片机外部中断引脚的捕获功能、电机同轴带缺口的圆盘、光电耦合器来测量转速;并将测得转速与设定转速进行PI运算后输出,实现闭环控制;转向调节则是用的桥式电路。显示是利用8位LED数码管,用按键进行设定。下面简单介绍下硬件组成与一些软件原理:一、硬件电路。 1、单片机选用的是STC的89C52,20MHz晶振。 2、显示部分比较简单,用的8位7段数码管同时显示设定速度与实时速度。采用74LS164串行移位输出,只占用单片机3个I/O口,刷新频率100Hz。 3、PWM驱动电路。使用了9012与8050两个三极管来驱动,相信网上很多的,也不用我多说,只是别忘了加上续流二极管

3、与两个三极管之间的限流电阻就是。 4、测速电路。测速电路用的是光耦测量转动圆盘引起的脉冲宽度,从而可得单片机的实时速度,精度很高,可达千分之一。用的是外部中断的。好像是捕获模式,忘记了呵呵! 5、转向调节电路。转向调节,由于是后来加上去的,所以就没有使用单片机控制,直接用硬件实现,但其实原理是一样的。原理是利用开关控制继电器,然后控制桥路对电机实施转向控制。另外用一个同轴电机按正反方向接2个LED用来指示方向。PS:因为这是小功率电机,所以就算没有制动电路,强制转向,也不会对电机造成损坏。二、软件方面中断方面,本程序一共用了3个中断源:定时器0,定时器2以及外部中断1,它们的优先级分别为:定时

4、器0、外部中断1为高优先级,定时器2为低优先级。另外还用了计数器1,用做计算脉冲宽度,与外部中断1一起构成测速系统。 显示部分程序不多说,按键消抖动什么的也是街知巷闻的了。本设计中,重点是3个,PWM调速与测速,还有PI运算。 1、PWM的调速原理是通过调节一个斩波周期中的脉冲占空比来调节电机功率而达到调速目的。本设计中,PWM的斩波周期为1ms,那也就是说斩波频率为1KHz,在理论上能达到1线性可调,也就是能以0.1%的调节精度来调节PWM占空比。程序如下:(放中断中进行)void time0_int(void) interrupt 1TH0= (time0_tmp/256);TL0= (t

5、ime0_tmp%256);if(cut = 1)time0_tmp = 65536-time0_set*20/12;cut = 0;elsetime0_tmp = 65536-(time0 - time0_set)*20/12;cut = 1; 2、测速系统的工作原理为:利用电机轴上带的圆盘的缺口,引起光电开关产生高电平脉冲,单片机就采集此脉冲的宽度,加以计算,得出其实时速度。获取脉冲宽度值子函数如下:void getwidth_1()TH1 = 0;TL1 = 0;n = 0;n1 = n;while(INT1=1&(n-n1)30)/n为每1MS +2 if(INT1=0)TR1 = 1

6、;/计数器1打开elsegoto out;/IE1 = 0;/中断请求标志EX1 = 1;/外部中断1启动n = 0;n1 = n;while(m=0&(n-n1)30)if(m=0)/M=1,则已经进入out_int1中断,若等于0,则说明30MS延时已过TH1_1 = 0;TL1_1 = 0;out: IE1 = 0;/中断请求标志m = 0;EX1 = 0;/外部中断允许位TR1 = 0;width_1 = (TH1_1*256+TL1_1);/timepr=脉冲宽度 /S另外为了稳定测得的转速值,在程序中加了一个取平均值的函数(几乎在整个程序中都有感觉,程序写得不精炼,有点累赘,呵呵,

7、但总算功能是能实现嘛反正毕业设计对程序执行效率没要求。)void getwidth()int gw,gw1;width = 0;gw1 = 0;for(gw=0;gw6;gw+)GG:getwidth_1();if(width_1 != 0)widthbufgw = width_1;elsegoto GG; width = (widthbuf0 + widthbuf1 + widthbuf2 + widthbuf3 + widthbuf4 + widthbuf5)/6;将测得的连续6个不为零的脉冲宽度取平均值,以消除偶然的不稳定因素,使转速显示更加稳定 3、PI调节PI调节计算公式如下5: Y

8、K = KP*EK + KI*EK2YK:要输出的数据增量EK:设定值与实测值的差值EK1:上次的EK值EK2:EK-EK1的差值KP:比例系数(本程序中设KP=1.6)经反复凑试的结果KI:积分系数(本程序中设KI=1.5)经反复凑试的结果当KP与KI为以上值时,系统处于最佳运行状态,实验中表现为:电机原来速度为2000,当设置为4500转时,可以在2秒之内迅速上升并稳定于450020,而超调量也仅为+300转/分,出现在第一次上升的时候,下来之后便稳定了。速度变化曲线:实物图: 嘿嘿,希望对广大单片机初学者有那么点帮助顺便再做做广告,有兴趣购买的 可以QQ:54281963(注明毕业设计),或者发邮件至:或者,本人也可代做51单片机系列的设计,详谈。 没学其他,呵呵,能把一样做精也很不错了,反正现在51系列单片机功能已经是今非昔比了,什么看门狗,PWM,AD,EEPROM,双串口,N外部中断口的,一应俱全。STC刚出一款速度号称是经典51速度的480倍的单指令周期单片机呢。 对研究啊,创新啊什么的,当然是AVR,DSP好,但是对于做产品来说,就当然是价格低廉的51系列好啦只要51能实现的,就尽量用51,对产品来说,成品很重要啊_!第 9 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁