在使用ROS机器人构建地图的过程中,需要在房间内自主运行,采集地图信息。这个过程中需要控制电机的正反转,电机的转速,以适应机器人直行,转弯等动作。
正反转控制原理有刷电机的正反转非常简单,只需要交换电机供电线正负极,便可以实现电机正反转控制。在自动控制系统中,我们不可能手动去不停交换电机正负极供电顺序,需要使用程序配合硬件电路去实现。
如下图所示,使用4个功率管(可以为MOS管或者IGBT)搭建成桥式电路,在桥臂中心引出两根导线,连接到电机的供电引脚上。
当使用单片机控制Q2,Q3导通,Q1,Q4截止时。电流经过过电源正极,经过Q3,电机线圈,Q2流到GND。假设这种状态时电机正转。
当使用单片机控制Q1,Q4导通,Q2,Q3截止时。电流经过过电源正极,经过Q1,电机线圈,Q4流到GND。假设这种状态时电机反转。
通过桥式电路的两种状态切换便可以轻松实现电机正反转控制。对于有刷电机的正反转控制还可以使用2个继电器简单实现,但是这种方式不便于调速控制,这里就不介绍了。
直流有刷电机调速****原理
根据电机电压平衡方程
从公式中可以看出电机转速n和供电电压成正比。所以通过改变电机供电电压可以达到到调速的目的。
在电力电子中可以通过PWM波控制开关管导通与关闭来调制直流电压。并且调制电压满足关系Vout=D*Vin,式中D为PWM波的占空比,等于在一个PWM周期内高电平持续的时间与PWM周期的比值。
调速方法:在进行晶体管控制时,可以选择不同的三种斩波方式HPWM-LON,HON-LPWM,PWM-ON-PWM。我通常使用的为HPWM-LON方式即上管PWM,下管导通。
直流有刷电机驱动电路
H桥电路采用4颗大电流NMOS管,栅极100欧姆电阻起到抑制浪涌电流的作用,10K电阻组成栅源寄生电容泄放回路,栅极二极管提供一个低阻抗MOS管关断路径,加快MOS管关断。(电路中元件参数看根据实际PCB进行调整)
半桥驱动电路,当MOS管栅源电压高于阈值电压时MOS管开始导通,IRF3710的阈值电压为4V。但是只是使用4V电压进行驱动MOS管时,MOS管Rds比较大,MOS管不能流过过大电流,如下图所示:
从图中可以看出,随着栅源电压的增大MOS管的通流能力也就随着增大。所以在驱动器设计过程中,我使用了12V电源作为MOS管的驱动,当MOS管导通时,MOS能够有很小的Rds,使MOS管有更大的通流能力。
电路中C7作为自举电容,当驱动H桥电路中的上桥臂时,由于上桥MOS管源级踩在较高的电压上(24V),所以MOS管G极电压应该比源极高12V时才能够导通(Vgs=36V),这里利用电容两端电压不能突变的特性,半桥驱动芯片内部电路将MOS管栅极抬升至36V,此时MOS栅源电压满足导通条件。由于自举电容C7需要不断地间隔进行充电,也就导致了此种电路PWM占空比不能达到100%,在编程时需要特别注意。
光偶隔离电路,使用光耦器件将驱动器与主控进行电气隔离,防止电机驱动器对主控制器的干扰。