TB6612FNG电机驱动器模块
该模块相对于传统的L298N有效率地大幅提高,体积上也大幅减少,在额定范围内芯片几乎不发热。
TB6612FNG每个通道输出最高1.2 A的连续驱动电流,启动峰值电流为2A/3.2 A (连续脉冲/单脉冲);
4种电机控制模式:正转/反转/制动/停止;
PWM支持频率高达100 kHz;
待机状态;
片上低压检测电路和热停止保护电路;
工作温度:-20~85;
SSOP24小型修补软件包。
本文参考任意门
3358 bildr.org/2012/04/TB 6612 fng-arduino /
下面对端子a控制信号输入----PWMAVM----电机驱动电压输入端子(4.5V-15V )进行说明
a电机输入端子2----ain2VCC----逻辑电平输入端子(2.7V-5.5V ) ) )。
a电机输入端子1----ain1gnd-----接地
正常动作/待机状态控制端----stbyao1----a电机输出端1
b电机输入端子1----DFDYC1ao2----a电机输出端子2
b电机输入端子2----DFDYC2BO2----B电机输出端子2
b控制信号输入端子----pwmbo1----b电机输出端子1
接地-----接地接地
接线方式
程序实现
程序包下载: https://u 16460183.CT file.com/fs/16460183-295784301
//motoraconnectedbetweena 01 anda 02//motorbconnectedbetweenb 01 andb 02 int stby=10; //standby//Motor Aint PWMA=3; //Speed control int AIN1=9; //Directionint AIN2=8; //Direction//Motor Bint PWMB=5; //Speed controlint dfdyc1=11; //Directionint dfdyc2=12; //directionvoidsetup((pinmode ) stby,OUTPUT ); pinmode(PWMA,输出); pinmode(ain1,输出); pinmode(ain2,输出); pinmode(pwmb,OUTPUT ); pinmode(DFDYC1,OUTPUT ); pinmode(DFDYC2、OUTPUT ); }void loop () move ) ) 1,255,1 ); //motor 1,全速度,左移动(2,255,1 ); //motor 2,全速度,左延迟(1000; //go for 1第一次停止(; //stopdelay(250; //holdfor 250 msuntilmoveagainmove (1,128,0 ); //motor 1,半速度,right move (2,128,0 ); //motor 2,half speed,rightdelay(1000; stop (; 戴尔(250; }voidmove(intmotor、int speed、int direction )//movespecificmotoratspeedanddirection//motor : for B1 fora////speed //disablestandbybooleaninpin1=low; 布尔输入2=high; if(direction==1) { inPin1=HIGH; inPin2=LOW; }if(motor==1)数字写入(ain1,inPin1); 数字写入(Ain 2、inPin2); 模拟写入(pwma,speed ); } else {数字写入(DFD YC 1,inPin1); 数字写入(DFD YC 2,inPin2); 模拟写入(pwmb,speed ); }}void stop ()//enablestandbydigitalwrite ) ) stby,LOW ); }
实例效应通电,测量电机a和b的输出电压,基本相同,电压差正负0.03V,输出稳定。
完全可以解决L9110S和L298N两个系统的电机输出电压误差大而无法直线行走的问题。