直流电机驱动芯片

article/2025/9/11 19:39:26

由于单片机属于信息类电路,带负载能力极差,不可能直接用来控制电机的运动。因此电机的驱动就显得尤为重要。本文汇总了自己用过的几个电机驱动芯片及其注意事项等等,以后有机会还会继续修正增加等。大家有其他的方案也欢迎交流。

芯片种类

  • 驱动原理
  • BTN7960/BTN7971
  • A4950
  • TB6612
  • IR2101
  • L298N

驱动原理

直流电机驱动多种多样,但是驱动原理却是恒定不变的。电机速度的调控总的来说有三种:弱磁升速,调压调速和串电阻调速。而降压调速兼顾平滑无级调速和调压范围广的优点使之称为小型直流电机中最为常用的速度调控方式。而H桥电路作为一个天才般的发明,可以使得电机既得到正向电流也可以得到反向电流。H桥电路
H桥电路的设计完美的解决了电机的四象限运动,让电流可以正向流动也可以反向流动。前面我们说了小型直流电机最好调速方式是调压调速,那么进行调压的技术就是脉宽调制技术,又称为PWM技术。PWM技术让峰值允许的情况下直流调压称为可能,借助现在性能良好的控制全控原件,PWM技术正发挥着越来越重大的作用。PWM调制原理

BTN7960/BTN7971

这个芯片是我们最开始做智能车的时候使用的芯片,相当耐用,一般不会有什么问题。但是无奈单片价格不太友好,不太建议使用。但是如果对芯片性能要求不高的话,这个芯片也是一个不错的选择。
BTN7971是BTN7960的升级版,性能相对而言更加稳定,但是功能和驱动方式等等没有任何区别,你可以直接拿BTN7971的芯片放到BTN7960的板子上面,完全不会有任何问题。更不友好的是:BTN7971是一个半桥型驱动芯片,驱动一个电机需要两个BTN及相应的外置芯片。
驱动原理
该芯片的应用也较为简单,使用起来没有太多的要求,大家按照电路图进行连接即可使用。在这里插入图片描述
因为BTN7971是一个半桥驱动,所以驱动一个电机就需要一个两块BTN进行驱动,并且加上相应的电阻和滤波电容(图上没有,数据手册上面有,但实际测试不适用也没有太大影响。高频情况下)相关原件就有数十个。

BTN7971数据手册

A4950

A4950可以属于单芯片内部集成MOS全桥电路,因此可以使用一个芯片控制电机的正反转,相对于BTN7971的半桥电路要稳定好多。价格上也相对而言较低,可以接受。
A4950应用电路
A4950体积较小,因此工作时会有较多的热量产生,因此需要在设置PCB的时候注意在芯片下方留一定数量的通孔用来散热。芯片上部的散热片如果有可能的话建议贴上去,但是不贴似乎也不会有太大影响。
A4950散热孔
A4950的应用电路就相对而言较为简单,但是有一个比较特备的要求就是需要一个R250功率电阻,用来释放多余的功率成分。应用电路上图已经标识,不再单独画出来了。
A4950数据手册

TB6612

TB6612是一个双 电机驱动,一个电机可以同时控制两个电机,但是相对而言性能不够优秀,现在有渐渐被淘汰的趋势,建议使用A4950代替TB6612二者使用元件数目几乎一致,但A4950各方面性能都稍稍好一点。
TB6612应用电路
应用电路可以依靠上面的原理图进行来制作,外部连接器件较少,也没有额外的其他要求,使用起来比较简便。
TB6612数据手册

IR2101

IR2101并不是一个电机驱动芯片,只能算是一个全桥控制器,但是相对于其他芯片而言,也算是另一种驱动方式吧
IR2101驱动电路原理
IR2101属于自行利用MOS管搭建H桥电路,因此使用起来所需要的单独原件较多,但是性能相对而言更好,带负载能力也稍强,驱动电流较大的电机的时候自行搭建H桥较好。注意,下图只是半桥驱动电路,如果要驱动电机需要构成全桥驱动,还需要这样相同的电路才能构成驱动电路。应用电路
IR2101数据手册

L298N

这个是一个比较常用的电机驱动芯片,这个芯片是我们老师推荐我们使用的,因此我觉得可能是一个比较经典的应用,使用起来也的确有点复杂,不如前面的那些电路应用简单。所以也不太推荐使用。基本的原理图应用如下:
L298N应用电路
L298N应用电路,L298N应用方法
应用电路
L298N数据手册


http://chatgpt.dhexx.cn/article/RAfEKpmM.shtml

相关文章

一些免费Api分享(持续更新中...)

有时候想自己写点有意思的工具,又不想自己搭服务器,这里我们就得找一些有意思的Api供自己使用! 免费API http://api.wpbom.com/ 46 种类多 公共API https://www.qqlykm.cn/ 87 类型多 接口大全 https://www.free-api.com/ 100 类型丰富&#…

夏柔免费API管理系统

系统介绍 基于ZeroArt二开美化 页面方式仿的ApiFox,严禁商用,仅供学习测试交流 内置**100**免费接口(远程),部署即用,内置的远程接口可持续提供调用服务! 接口数据来源:api.aa1.c…

公开的免费API集锦

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl API集锦 在此,介绍部分目前已知的公开的免费API供开发人员使用。 http协议测试 http://httpbin.org/ httpbin非常强大,简单,易用。 文…

免费接口及资源

手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11 历史上的今天API接口: https://www.juhe.cn/docs/api/id/63 股票数据API接口: https://www.juhe.cn/docs/api/id/21 全国WIFI接口: https://www.juhe.cn/docs/…

JavaWeb request用法

request封装了所有的请求信息 如: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("请求方法:"request.getMethod());System.out.println("URI&#…

@RequestBody的使用

提示:建议一定要看后面的RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基 本知识常识,可选择性跳过。 声明:本文是基于SpringBoot,进行的演示说明。 基础知识介绍: R…

JSP 内置对象request常见用法

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) 1、访问请求参数 <a href"login.jsp?name张三&sexman&id">传递参数</a> login.jsp关键 代码 <% "name:"new Stri…

jsp的request用法

request用于接受html提交的表单数据 首先如下图先创建一个QQ注册页面 设置昵称input的属性name值,并且设置提交到的页面为reg_success.jsp,这里提交方式有两种: get 和 post 。区别如图: <% page contentType"text/html;charsetUTF-8" language"java" …

uni.request的使用

uniapp中有很多原生的API&#xff0c;其中我们经常会用到的肯定有&#xff0c;uni.request. 那么问题来了&#xff0c;当我们第一次使用的时候&#xff0c;该怎么去用呢, 首先我们来看一看官方文档给出的示例 uni.request({url: https://www.example.com/request, //仅为示例…

el-upload使用http-request自定义上传和进度条实战

介绍 项目中发现使用默认的el-upload上传动作发送上传请求的时候不会带上请求头&#xff0c;于是想通过自定义请求也就是http-request来自定义上传。实践证明这条路是通的&#xff0c;不过有个小问题就是原本上传的进度条没了。于是搞一个自定义进度条。 实现效果 表单 <…

pythonrequest方法_python-request-各方法使用及格式

Request库方法介绍 方法 说明 requests.request() 构造一个请求,支撑一下各方法的基础方法 requests.get() 获取HTML网页的主要方法,对应于HTTP的GET requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD requests.post() 向HTML网页提交POST请求的方法,对应于HTTP…

flask框架中request请求用法详解

当浏览器去访问一个地址时&#xff0c;Http协议会向后台传递一个request对象。这个request对象包含请求头、请求参数、以及请求方式&#xff0c;当然后台可以取到request。然后进行逻辑处理。 在flask框架中&#xff0c;request对象是一个全局的&#xff0c;在任何地方都可以使…

Python-request库用法

一、HTTP详解 二、Request主要方法 1、基本方法简介 总共有七个方法&#xff0c;这七个方法最后都是使用requests.request()实现。 2、Request返回 r.encoding是从头部获取的内容编码方式&#xff08;r.text的编码&#xff09; r.apparent_encoding 是根据内容分析出来的&a…

Jmeter - JDBC Request使用方法

系统&#xff1a;windows11 jmeter版本&#xff1a;5.4.3 一、建立数据库连接 1、添加配置原件JDBC Connection Configuration&#xff1a;线程组 - 右键“添加” - 配置原件 - JDBC Connection Configuration 2、配置JDBC Connection Configuration JDBC Connection Configu…

request基本使用教程

request使用 一.基本用法 1.准备工作安装request库&#xff0c;pip安装或再pycharm内安装。 2.实例引入renquest库中方法清晰简单&#xff0c;获取网页直接使用get方法就能直接实现&#xff1a; 代码&#xff1a; import requests response requests.get(http://www.baidu.…

request方法

2019独角兽企业重金招聘Python工程师标准>>> 1request概述 request是Servlet.service()方法的一个参数&#xff0c;类型为javax.servlet.http.HttpServletRequest。在客户端发出每个请求时&#xff0c;服务器都会创建一个request对象&#xff0c;并把请求数据封装到…

【8086汇编】cmp指令和条件转移指令jxxx

1.定义 2.无符号比较影响标志位 3.有符号比较影响标志位 4.各种条件转移指令 5.cmp配合条件转移的使用

汇编cmp比较指令详解

刚刚看到了cmp指令&#xff0c;一开始有点晕。后来上网找了些资料&#xff0c;终于看明白了&#xff0c;为了方便初学者&#xff0c;我就简单写下我的思路吧。高手绕过&#xff0c;谢谢&#xff01; cmp(compare)指令进行比较两个操作数的大小 例:cmp oprd1,oprd2 为第一个操作…

汇编中的test和cmp指令

看过破解教程,都知道test,cmp是比较关键,来分析一下它们究竟是怎么比较 首先看看:状态寄存器(即标志寄存器) PSW(Program Flag)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示: 条件码&#xff1a; ①OF(Overflow Flag)溢出标志,溢出…

条件执行指令 CMP

CMP可以比较两个数的关系&#xff0c;其本质就是一条减法指令&#xff0c;只是不会将运算结果保存到寄存器&#xff0c;因为对于CPU而言&#xff0c;比较两个数时只关心结果是false还是true 指令格式&#xff1a;CMP <第一操作寄存器> <第二操作数> 第一操作寄…