基于51单片机的直流电机PWM调速系统
2017-09-20宫晓明
宫晓明
摘 要 脉冲宽度调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。本设计用单片机做微处理器来实现对直流电机的调速。因此在设计中,对直流调速的原理、直流调速控制方式以及调速特性、PWM基本原理及实现方式进行了全面的阐述。
关键词 单片机;PWM;直流电机
中图分类号 TP3 文献标识码 A 文章编号 2095-6363(2017)16-0151-01
随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机技术成为自动控制技术的核心之一。直流电机由于具有良好的启动,制动,调速性能也被广泛应用。基于单片机的PWM调速系统对直流电机进行调速,通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗,其控制简单,灵活。
1 硬件电路的设计
1.1 控制电路的设计
控制电路主要由STC89C51单片机来控制,编写一段程序使单片机发出的PWM脉冲来实现对驱动的控制。
1.2 霍尔元件测速部分电路的设计
霍尔传感器是基于霍尔效应的一种磁敏式传感器。由于霍尔元件产生的电势差很小,故通常将霍尔元件与放大器电路、温度补偿电路及稳压电源电路等集成在一个芯片上,称之为霍尔传感器。
1.3 电机控制正反转电路设计
通过调节直流电机的电压可以改变电机的转速,本系统用脉宽调制(PWM)来实现调速。方波的有效电压跟电压幅值和占空比有关,通过占空比实现改变有效电压。用软件模拟PWM可以有延时和定时两种方法,延时方法占用大量的CPU,所以这里采用定时方法。
一个典型的直流电机控制电路,电路得名于“H桥驱动电路”。4个三极管组成H的4条垂直腿,而電机就是H中的横杠。H桥式电机驱动电路包括4个三极管和一个电机,要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。本系统直接用L293D芯片来实现。
1.4 显示设计
LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。在本系统中采用了四位七段数码管,用动态驱动来显示具体的值。
动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P2.4-P2.7位选通COM端电路的控制。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示。
1.5 整个电路原理图
2 软件设计
2.1 主程序部分
本程序的功能是通过对测量的转速,并用L293D器件来控制电机的转速,与电机转动的方向。然后用4位数码管显示出来当前的转速与转动方向。
2.2 数码管显示设计
数码管要显示当前各种状态,当前转速与当前转动方向。当电机转速发生改变的时候,数码管显示内容立即显示当前转速。
程序设计注意事项:
1)消除各个数码管之间的显示阴影部分;2)由于硬件没有锁存器,需要延长数码管的点亮时间,从而使数码管显示的更加清晰;3)合理运用程序空间,避免数码管显示不清晰;4)动态扫描可以实现各个数码管的不同显示。
2.3 功能程序设计
功能程序部分,主要实现各个按键的功能。主要功能如下:
1)启动/停止键:用来控制电机的启动和停止按键;2)加速按键:用来控制电机的转速,可以增加电机的当前转速;3)减速按键:用来控制电机的转速,减缓电机的转速;4)正/反转按键:改变电机的转动方向。
PWM调速程序:
void timer0() interrupt 1
{
sec++; //每10us sec加一
if(RF==0)
{
J7=1; //正转调速
if(sec J2=0; else J2=1; } else //反转调速 { J2=1; if(sec J7=0; else J7=1; } if(sec>10) { sec=0; } } 3 结论 本系统用51单片机做微处理器,产生PWM脉冲信号,实现对直流电机数字式的调速。相比于传统用硬件来实现PWM调速,本系统降低了成本,电路简单、控制响应快、控制精度高,而且调试和运行也比较方便。本系统实现了电机控制数字化具有一定的使用价值。 参考文献 [1]张义和,等.例说51单片机C语言版[M].北京:人民邮电出版社,2010. [2]康华光.电子技术基础数字部分[M].北京:高等教育出版社,2006. [3]康华光.电子技术基础模拟部分[M].北京:高等教育出版社,2006. [4]杨志忠.数字电子技术[M].北京:高等教育出版社,2003. [5]胡宴如.模拟电子技术[M].北京:高等教育出版社,2008. [6]邹久朋.80C51单片机实用技术[M].北京:航天航空大学出版社,2008. [7]李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社,2005.