单片机直流电机控制器(附电路图和部分程序) 89C52 单片机控制PW M 调速电路实现小功率直流电机的转速调节,并要将其实时转速用LED 管显示出来。而本系统必须符合以下几点要求: (1) 在(1000—5500)转/分 内对直流电机进行任意调速,最小调速级差为1转/分。 (2) 电机能在所设速度下稳定运转,运转速度与设定速度之差小于±20 转/分。 (3) 电机启动和加减 80%额定负载时,其转速能迅速回到设定值,转速超调±5%内。 (4) 利用按键和LED数码管设置速度,设置方便,快捷。 (5) 利用LED数码管实时显示电机速度。 (6) 电机能进行正反转控制。 控制方面,本设计是采用定时器控制I/O口输出PWM信号驱动斩波电路控制电机运转和调速;利用单片机外部中断引脚的捕获功能、电机同轴带缺口的圆盘、光电耦合器来测量转速;并将测得转速和设定转速进行PI运算后输出,实现闭环控制;转向调节则是用的桥式电路。显示是利用8位 LED数码管,用按键进行设定。 下面简单介绍下硬件组成和一些软件原理: 一、硬件电路。 1、单片机选用的是 STC的89C52,20MHz晶振。 2、显示部分比较简单,用的8位 7段数码管同时显示设定速度和实时速度。采用74LS164串行移位输出,只占用单片机3个 I/O口,刷新频率100Hz。 3、PWM驱动电路。使用了 9012和8050两个三极管来驱动,相信网上很多的,也不用我多说,只是别忘了加上续流二极管和两个三极管之间的限流电阻就是。 4、测速电路。测速电路用的是光耦测量转动圆盘引起的脉冲宽度,从而可得单片机的实时速度,精度很高,可达千分之一。用的是外部中断的。。。好像是捕获模式,忘记了~呵呵! 5、转向调节电路。转向调节,由于是后来加上去的,所以就没有使用单片机控制,直接用硬件实现,但其实原理是一样的。原理是利用开关控制继电器,然后控制桥路对电机实施转向控制。另外用一个同轴电机按正反方向接 2 个 LED 用来指示方向。PS:因为这是小功率电机,所以就算没有制动电路,强制转向,也不会对电机造成损坏。 二、软件方面 中断方面,本程序一共用了 3 个中断源:定时器 0,定时器 2 以及外部中断 1,它们的优先级分别为:定时器 0、外部中断 1 为高优先级,定时器 2 为低优先级。另外还用了计数器 1,用做计算脉冲宽度,与外部中断 1 一起构成测速系统。 显示部分程序不多说,按键消抖动什么的也是街知巷闻的了。本设计中,重点是 3 个,PW M 调速和测速,还有 PI 运算...