本设计中使用的tb6612fng是一款新型驱动器件,能独立双向控制2个直流电机,它具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
1 tb6612fng简介
tb6612fng是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流mosfet-h桥结构,双通道电路输出,可同时驱动2个电机。
tb6612fng每通道输出最高1.2 a的连续驱动电流,启动峰值电流达2a/3.2 a(连续脉冲/单脉冲);4种电机控制模式:正转/反转/制动/停止;pwm支持频率高达100 khz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;ssop24小型贴片封装。
如图1所示,tb6612fng的主要引脚功能:ainl/ain2、bin1/bin2、pwma/pwmb为控制信号输入端;ao1/a02、b01/b02为2路电机控制输出端;stby为正常工作/待机状态控制引脚;vm(4.5~15 v)和vcc(2.7~5.5 v)分别为电机驱动电压输入和逻辑电平输入端。
tb6612fng是基于mosfet的h桥集成电路,其效率高于晶体管h桥驱动器。相比l293d每通道平均600 ma的驱动电流和1.2 a的脉冲峰值电流,它的输出负载能力提高了一倍。相比l298n的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容
就可以直接驱动电机,利于减小系统尺寸。对于pwm信号,它支持高达100 khz的频率,相对以上2款芯片的5 khz和40 khz也具有较大优势。
2 电机控制单元设计
2.1 单元硬件构成
图2所示为tb6612fng与avr单片机组成的电机控制单元。单片机定时器产生4路pwm输出作为ain1/ain2和bin1/bin2控制信号,如图2中ocxa、0cxb对电机m1和m2的控制。采用定时器输出硬件pwm脉冲,使得单片机cpu只在改变pwm占空比时参与运算,大大减轻了系统运算负担和pwm软件编程开销。输入引脚pwma、pwmb和stby由i/0电平控制电机运行或制动状态以及器件工作状态。电路采用耐压值25 v的10μf电解电容和0.1μf的电容进行电源滤波,使用功率mosfet对vm和vcc提供电源反接保护。
2.2 电机控制的软件实现
脉宽调制方式产生占空比变化的pwm信号,通过对驱动器输出状态的快速切换,实现电机的速度控制。pwm占空比的大小决定输出电压平均值,进而决定电机的转速。文中采用单极性、定频调宽的pwm调制方式,保证电机调速控制的稳定性。tb6612fng的逻辑真值表如表1所示。该器件工作时stby引脚置为高电平;in1和in2不变,调整pwm引脚的输入信号可进行电机单向速度控制;置pwm引脚为高电平,并调整in1和in2的输入信号可进行电机双向速度控制。表中a、b两通道的控制逻辑相同。
单片机定时器pwm输出设置如图3所示。首先需设置t/c中断屏蔽寄存器timskx使能定时器溢出中断。其次分别设置t/c控制寄存器tcc-rxa和tccrxb选择pwm模式和预分频比,最后将控制信号引脚i/0置为输出。程序运行时,每当定时器计数产生溢出,cpu响应中断,定时器回零后重新开始计数。
以下列出的示例代码设置为快速pwm反向输出模式,当系统时钟记为fclk时,pwm输出频率fpwm=fclk/64/256。
timskx |=1<
tccrxa=oxf3;
tccrxb=ox03;
ddrx |=(1<
为获得更高的pwm波形精度,可以采用相位修正的pwm输出模式,不过在精度提高的同时,fpwm也将减半,以下代码得到fpwm=fclk/64/512。
tccrxa=0xf1:
tccrxb=0x03;
pwm占空比大小的改变通过对输出比较寄存器ocrxx的数值操作来实现,例如当ocrxx=203时,占空比为204/256=80%。编程时将速度变量值写入ocrxx寄存器,从而达到改变占空比和对电机调速的目的。
文中通过电位器调速试验来检测tb6612fng的pwm控制与电机输出转速间的线性关系。单片机adc对精密多圈电位器的电压值进行采样,用于控制电机转速。程序流程如图4所示。首先进行电机控制信号的初始化,接着通过设置adc控制状态寄存器adcsra和adc多路复用选择寄存器admux选择adc频率和通道,然后选取合适的样本数量,对adc循环采样并计算样本均值作为当前速度值,代入速度函数。
试验中,随着电位器阻值的调整,tb6612fng输出端电压测量值成比例变化,同时对电机实现启停和加减速控制,达到了预期试验效果,表明其输出和pwm输入之间具有良好的线性关系。
3 tb6612fng在轮式移动机器人平台的应用
为研究差速驱动方式的运动学特性和机器人路径规划算法,开发了一个轮式移动机器人试验平台,在其中应用tb6612fng对机器人的2个驱动电机进行控制。平台以单片机为控制核心,能实现零半径转向、轨迹跟踪、路径搜索等功能,并通过按键开关、液晶显示等单元进行操作和指示,是一个较为完整的小型机电运动控制系统。
如图5所示,系统硬件电路主要由电源、控制、传感、电机驱动、操作与指示等单元组成。系统采用电池组供电,通过稳压电路输出vm和vcc2路电压。稳压电路主要由开关型稳压器lm2576和三端稳压器7805构成,前者能提供输出电流最高3 a的vm,对电机驱动等单元供电,后者将电源稳压至vcc(+5 v),对单片机及其外嗣电路供电。
选用高性能低功耗的atmega系列单片机作为控制核心,其运算速度高达1 mips/mhz,具有多路pwm和adc,适用于小型机器人和电机控制系统的开发。单片机通过adc或i/o连接传感器,同时定时器产生硬件pwm作为电机驱动控制信号。传感单元由光电和测距传感器等构成。移动机器人系统由按键开关和传感信号等组成前向通道,由pwm控制、tb6612fng、电机及液晶等组成后向通道。
控制系统通过传感器获取机器人运行位置信息,利用单片机对其进行读取和计算,由数字pid方式得到控制信号并输出至驱动器件,实时调整电机转速。pid控制基本流程如图6所示,其中比例项p为读取位置与给定位置的偏差;积分项i为p值的累加;微分项d为相邻p值之差;kp、ki、kd为pid参数。c为pid计算得到的调节控制量,b为设定的驱动电机基本转速,speedl和speedr分别为左右驱动电机的转速信号。系统启动后,循环执行流程,当运行位置发生偏离时,速度调节的计算结果由单片机输出,经ain1/ain2和bin1/bin2输入至tb6612fng,对电机转速进行快速调整,实现机器人位姿的校正和位置偏差的纠正,直到终点标志或接收停止指令。
试验表明,在系统高速运行时,tb6612fng对驱动电机的调速能够保持较好的连续性和平稳性。pid参数的设定对系统运行有很大影响,应根据运行控制要求,通过反复试验调整确定pid参数,选取kp、ki、kd的最优组合以取得良好的控制效果。系统取消积分环节,采用pd控制时,也能够得到较好的运行结果。
4 运行性能和建议
1)器件输出状态在驱动/制动之间切换时,电机转速和pwm占空比之间能保持较好的线性关系,其运行控制效果好于器件在驱动/停止状态之间切换,所以表1中的inl/in2一般不采用l/l控制组合。
2)fpwm较高时,电机运行连续平稳、噪音小,但器件功耗会随频率升高而增大;fpwm较低时,利于降低功耗,并能提高调速线性度,但过低的频率可能导致电机转动连贯性的降低。通常fpwm>;1 khz时,器件能够稳定的控制电机。
3)过大的pwm占空比会影响电机驱动电流的稳定性和器件的输出负载能力,应根据不同的速度要求合理设定占空比范围。
4)器件工作温度过高会导致其输出功率的下降,电路pcb设计中应保证足够面积的覆铜,这样有助于散热,利于器件长时间稳定工作。
5 结束语
利用tb6612fng和单片机构成直流电机控制单元,并将其应用在差速驱动的轮式移动机器人系统中。试验运行表明,这款器件与单片机结合应用能够实现灵活稳定的电机驱动控制。tb6612fng在集成性、运行性能和输出能力等方面达到了较好的平衡,适用于单、双直流电机数字控制系统的设计开发。
转载:中国机器人网(原始来源:电子工程世界)
以上是网络信息转载,信息真实性自行斟酌。











)







