应用实例:单片机/电机控制实例 单片机设计中带有内建的外设,因此只需要zui少量的外部元器件就可以容易地实现BDC电机的速度和方向控制。PIC16F684是一款14引脚单片机,对于低成本双向BDC电机控制非常理想。之所以选择PIC16F684 做为例子,是因为这款单片机带有内建的外设,只需要zui少量的外部元器件就可以容易地实现BDC电机的速度和方向控制。这款单片机的两大特点对于BDC电机控制非常有用。首先,片上内建有增强捕获/比较/PWM(ECCP)模块,当配置为全桥模式时,可以提供直接驱动H桥电路所需要的PWM信号。H桥电路可以为电机提供双向电流驱动。PIC16F684第二个非常适合电机控制器的特点是可以产生频率高达31.2 kHz的8位PWM信号。对于电机控制应用来说,这一点很重要,因为低于20 kHz的频率会导致电机产生人听觉范围内的噪声。不需要增加任何外部时钟源,PIC16F684 就可以提供高于听觉频率的8位分辨率。为了获得高出听觉频率范围的频率,此前的单片机需要在运行时降低PWM的分辨率。与其它具备ECCP的单片机相比,PIC16F684体积小且成本效率高。利用片上ECCP模块做为PWM硬件发生器,而不是采用过去的软件解决方案,宝贵的单片机处理器资源可以用于完成其它任务。 此类应用中使用的片上外设除ECCP模块外,还有一个内部10位模数转换器(ADC)。ECCP有捕获模式(可捕获定时器寄存器的16位值)、几个比较器和4个PWM。在无传感器的BDC电机控制应用中,4个PWM通道是一个重要优势。如图2所示,配合外部桥和4个FET驱动器件,单片机的PWM模块可以容易地实现双向电机控制。 图2中的低成本BDC电机控制系统在全桥PWM模式下使用ECCP。用户可容易地配置PWM占空比,并实时改变单片机内部振荡器。此外,利用单片机片上的一个10位ADC来测量反向电动势(EMF),PIC16F684可以容易地跟踪电机的转速(RPM)。
本应用中的硬件有三个主要部分。一个电源级、一个通信模块(RS-232)和一个RPM及电流测量级。电源级包括提供BDC电机双向控制的全H桥。PIC16F684通过RC2、RC3、RC4和RC5引脚连接到H桥。从RA5引脚通过一个RS-232端口可以将有关PWM占空比、单片机振荡器速率、电机RPM和电流值等指令和信息发送给计算机。虽然实际生产出来的设备很可能并没有这样一个通信接口,但在开发阶段这样一个通信接口非常有用。在实际产品中,RA5可以被赋予不同的用途,如点亮状态指示LED或者读取电位计输入。 通过测量电机的反向EMF电压,不需额外传感器即可以获得电机转速(RPM)。电机转速与反向EMF电压直接成正比。BDC电机是一种感性负载。电机上感生的电压等于电机电感乘以dI/dt 。将对应FET关断(OFF)即可以测量反向EMF电压。这会产生一个反方向流过电机的电流。PIC16F684中的ADC模块可以测量出EMF电压。
通过测量MOSFETs、QB 和 QD, 以及地之间电流检测电阻上的电压可以获得电流值。 选择适当的电阻值时需要考虑zui大电流和功耗。PWM信号驱动BDC电机。H桥电路仅在PWM信号处于高电平时才吸收电流。采用一个采样和平均算法在多个PWM周期测量结果的基础上算出电流值和电机转速。 对低成本高能效BDC电机解决方案感兴趣的Microchip公司主要客户对于PIC16F684外设的定义做出很大贡献。目前,Microchip正与几大设备生产商合作,他们迫切希望将现有BDC电机控制电路更换为更为智能和先进的单片机解决方案。