【嵌入式模块】直流电机驱动L298N,TB6612详解

参考链接

单片机 控制 直流电机 基于L9110S 、L298N、TB6612FNG驱动 - 简书

概述

  从上面那篇教程我们可以看出,直流电机控制时,只需要给它输入一个PWM波即可,占空比越大,电机运行速度越快。但是一般来说单片机工作电压为5V,且电流较小,而电机运行需要较大的电流,因此往往控制电机运行时,都需要在单片机与电机之间连接一个驱动,即所谓的电机驱动
  目前市面上比较常见的小型车的电机驱动一般有两种:L298NTB6612FNG,下面分别介绍。

L298N

引脚定义
在这里插入图片描述
电气特性
  L298N使用时需要用12V供电(9V也行),然后其内部带有稳压模块,如果5V使能跳帽没有取下,则内部的逻辑控制的5V电源由稳压模块提供,外部不需要再供电5V,甚至还可以为外界提供5V电源。如果跳帽被取下,则需要另外接一个5V电源进来,芯片才能正常工作。
控制使用
  两侧的OUT1~OUT4接两个直流电机,用来输出较大电流的,然后那一排公针为控制信号输入端。需要注意的是,L298N有两种控制方案。

  • 使能跳帽不取下,则需要连接四个PWM输出引脚,左侧两个控制左边的输出,右侧两个控制右边的输出。在控制时,电机的运行速度和方向由两个PWM信号的占空比之差来控制,差值越大,电机运行速度越快。差值为正时,电机正转,差值为负,电机反转(和接线方式有关)
  • 使能跳帽取下,则两个使能端为PWM信号输入端,中间四个引脚为方向控制端,只需要输入高低电平即可。此时电机的速度与PWM占空比直接关联。而转动方向与两个控制引脚的高低电平有关,左高右低为正转,左低右高为反转(和接线方式有关)

TB6612FNG

在这里插入图片描述

概述
  TB6612FNG相对于传统的L298N 效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热。
  TB6612FNG每通道输出最高1.2 A的连续驱动电流,启动峰值电流达2A/3.2 A(连续脉冲/单脉冲);片内集成低压检测电路与热停机保护电路;PWM支持频率高达100 kHz,支持待机状态。

引脚定义

功能引脚引脚功能
A控制信号输入PWMAVM电机驱动电压输入端(4.5V-13.5V)
A电机输入端2AIN2VCC逻辑电平输入端(2.7V-5.5V)
A电机输入端1AIN1GND接数字地
正常工作\待机状态控制端STBYAO1A电机输出端1
B电机输入端1BIN1AO2A电机输出端2
B电机输入端2BIN2BO2B电机输出端2
B控制信号输入端PWMBBO1B电机输出端1
接模拟地PGND1PGND2接模拟地

控制使用
  在使用时,VM端需要接相对较大的电压,如12V,而且VCC端还要接5V,两个都得接。控制电机时,AO1,AO2,BO1,BO2连接电机的两个引脚,PWMA,PWMB输入PWM信号,AIN1,AIN2,BIN1,BIN2用来控制电机的运动方向,还有就是它的STBY端,是一个使能信号,当STBY=1时,正常工作,输入PWM信号,电机即可运行;当STBY=0时,电机驱动处于待机状态,输入信号,电机不会运行。

  • 35
    点赞
  • 339
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
code warrior是一种集成开发环境(IDE),可以用于开发嵌入式系统的软件。它支持多种编程语言,包括C和C++等,并提供了一系列强大的工具和功能,可帮助开发者快速和高效地编写驱动电机的代码。 驱动电机的代码主要负责控制电机的运动和行为。在使用code warrior开发驱动电机的代码时,我们需要首先了解电机的控制方式和接口。一般来说,驱动电机的代码需要实现以下几个核心功能: 1. 初始化:通过调用电机芯片提供的初始化函数,对电机进行初始化设置。这包括设置电机的工作模式、速度和加速度等参数。 2. 控制电机速度:根据需求控制电机的运动速度。代码中可以使用PWM(脉宽调制)信号来控制电机转动的速度,通过改变PWM的占空比来调节电机的转速。 3. 控制电机方向:根据需要改变电机的转向。可以使用GPIO(通用输入/输出)来控制电机的转向引脚,通过设置不同的引脚输出高电平或低电平来改变电机的旋转方向。 4. 监测电机状态:通过读取电机的编码器信号或电流传感器数据,可以实时监测电机的速度、位置和负载等状态信息,并根据需要进行相应的调整和控制。 5. 错误处理:在代码中需要处理可能出现的错误情况,如电机过载、超速等。在出现错误时,可以通过传感器和保护电路等措施来保护电机和系统的安全。 在使用code warrior开发驱动电机的代码时,我们可以利用其强大的调试功能来进行代码的调试和优化。可以通过设置断点、查看变量的值和调试输出等方法,实时监测代码的执行情况,从而更加准确和高效地进行开发工作。 总结起来,code warrior驱动电机的代码需要实现电机的初始化、速度和方向的控制,监测电机状态,并进行错误处理。通过使用code warrior的工具和调试功能,可以帮助开发者更好地进行驱动电机代码的编写和调试工作。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录无知岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值