直流电机驱动模块(共6页).doc
精选优质文档-倾情为你奉上一 方案论证由于使用的是永磁式直流电机,因此只能对电枢电压进行控制来实现电机转速和方向的控制,因此电机驱动模块要能方便的实现对输出电压的大小和极性控制。可以考虑的方案有:方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路比较简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短可靠性不高。 方案二:采用功率管组成桥型电机驱动电路,并利用PWM波来实现对输出电压的有效值大小和极性进行控制。这种调速方式具有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,能耗小等优点,还可以实现频繁的无级快速启动和反转等优点。方案三:采用L298专用芯片进行驱动。L298芯片的工作原理和方案二一致,但是其工作时较方案二稳定,且编程较为简单,便于调试。另外L298内部集成了两个H桥,能同时驱动两个电机,硬件实现较方案二简单。基于上述理论分析,拟定方案三,为了防止电机驱动电路对控制模块的影响,采用光电耦合进行隔离。二 电路原理分析图E.1 电机驱动电路(注:图见智能小车论文模块)图E.2 L298内部结构图由于系统有两个电机时使用PWM信号控制直流电机电枢电压有效值来改变电机速度和方向,所以需采用L298芯片来控制两个电机,引脚6,11用来PWM控制,将5,7和7,12分别接高低电平,仅用单片机的两个端口输出PWM控制6,11引脚就可以实现直行,转弯和后退,由于前轮的驱动能力较大,提高控制的可靠性,缩短导通时间;六个光耦器件起到隔离作用,将单片机发出的控制与电机驱动电路隔离(起来),防止干扰,在电机的两端并联一个104的小电容。滤去高频谐波信号。其工作原理如下:当P10和P11的信号输入为高电平和PWM电平时,L298的2和3引脚分别输出高低电平,电机正传,如果改变P10和P11信号,则L298的2和3引脚分别输出低高电平,电机反转。因此电路的有效值功率其中为PWM波的占空比,U为电机的供电电压,I为流过电机的电流,通过改变占空比就能方便的改变电机的驱动功率。若左边为点电平,右边为高电平,则电机反转。光耦的工作原理是:它的内部是一个二极管和一个光电三极管组成,当二极管通电导通是发出红外光,是光电三极管导通;二极管的导通一定的电流,所以电阻R的值不能过大,VCC=5V,选取R=330欧姆,=15mA 图中的电容都是起滤波的作用,八个二极管都是当电机反转是起泄流的作用。图E.3 电机驱动电路图图E.4 电机驱动电路顶层PCB图图E.5 电机驱动电路顶层丝印图图E.6 电机驱动电路底层丝印图注:图详见“直流电机调速1”程序清单:/本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,#include<reg52.h>#ifndef _DEFINE_#define _DEFINE_#define uchar unsigned char#define uint unsigned int#endif/电机IO说明sbit fwd=P10;sbit rwd=P11;sbit en=P12;bit turnflag;/正反转标志uchar hlt,llt;void delayrun(unsigned char dlylevel)/约产生 DLYLEVEL*400us 的延时 int i=50*dlylevel;while(-i);void motorrun()if(turnflag=1)/正转afwd=1;arwd=0;aen=1;/bfwd=1;/brwd=0;/ben=1;delayrun(hlt);/可以测试一下fwd=0;rwd=0;aen=0;/arwd=0;/aen=0;/ben=0;delayrun(llt);else/反转afwd=0;arwd=1;aen=1;/bfwd=0;/brwd=1;/ben=1;delayrun(hlt);aen=0;/arwd=0;/aen=0;/ben=0;delayrun(llt);专心-专注-专业