引言
在全国大学生智能汽车竞赛中,有刷电机的使用与驱动是竞赛人员应掌握的必备技能,但很多人对于有刷驱动的驱动方式有很多误解?并且对焊接完成之后经常出现问题,不知道从何探测?本文将对此问题进行解决,并为大家提供详解,希望大家竞赛顺利! 如有问题,大佬轻喷/(ㄒoㄒ)/~~
强调:以6s电池输入为例
原理图:
一.电路整体分析
1.电源输入
图中即为电源输入电路,电源来自主板的电源分口,由两个KF-301端子进行连接。
中间的C13电容用于电压滤波,使纹波更小同时,防止大纹波情况下可能让一些芯片外设无法工作,其中最受影响的应该是隔离电路内部集成的四个集成运放。
LED1用于指示是否存在电源输入,但led灯只要灯的功率大于最低亮的功率,就可以发光,所以led指示只能确定有电源,但不能确定电源是否为6s电池电源,至于led灯前面电阻的选取,尽量偏大,防止功率过大,烧坏led灯。
其实电源输入可优化的地方很多,可以加入pmos作为电子开关,起到防反接的作用,但是要注意Pmos的可接受最大电流,或者再加入分压电路和一个3v3稳压二极管做电压采样,获取此时电池电压信息,减少主板采样电路,具体的还需要大家去自我探索。
2.电机控制信号输入
主要的信号线,有四个,pwm信号,DIR方向信号,GND信号,和3.3V使能信号。
pwm信号:连接drv8701e的EN口,EN口作为h桥的使能端,其实更形象的来说,是控制h桥中的mos管的开关速率。
DIR信号:连接drv8701e的PH口, PH作为H桥的相位输入端,通过方向信号的0电平和1电平控制H桥中电流的走向,从而控制电机的正转和反转。
GND信号:使主板与驱动板共地。
3.3V使能信号:连接drv8701e的nsleep角,由于nsleep角内部自然下拉,默认低电平,芯片处于休眠状态,需要3.3V连接使得nsleep角为高电平,驱动芯片工作。
在逐飞开源电路中,其实是有3.3V信号线的,后面广大车友为他更新,加入了3.3V使能电路,减少了一个3.3V信号线的输入,使主板与驱动板的连接更少,防止驱动板在驱动电机过程中引起3.3V电压动荡,影响主板陀螺仪,编码器等精密外设的正常工作。
3.隔离电路
内部集成为四个运放,如上图所示。
其中1OE横杠的意思代表低电平有效,详情见数字电子技术,将两个有用信号分别连接一个运放,通过运放高输入阻抗,低输出阻抗的特性,作为一个电气隔离作用的缓冲级电路,常见的缓冲级电路有电压跟随器等,但在此处并没有去做阻抗变换去保证信号传给下一级电路,保证信号完整性,更多的是做电气隔离,因为在h桥的输出端,电压直接与电机相连,此处只有线和电机本身内部的阻抗,电压最大可达到24V,使线的电流可以达到安培级别,这也是为什么输出口要进行铺铜处理的原因。
电压跟随器的主要功能是让输入信号在经过该电路时保持电压不变,同时提供低输出阻抗,以便于驱动后续电路。这样做的目的通常包括:
阻抗转换:将高输入阻抗转换为低输出阻抗,防止信号源负载影响。
隔离作用:避免前级电路的相互干扰。
通过这种方式,电路可以保护信号的完整性而不改变其幅度。
4.drv8701e驱动H桥
这里不详细介绍对H桥的讲解,后文会详细叙述,主要对其各个引脚进行介绍以及drv8701e做一个整体介绍。
通过上图对drv8701e的总体概述,我们可以看到他的一些功能概括与功能参数,其中最言简意赅的就是说该芯片总体上来说就是一个H桥栅极驱动器,其实我们在对信号线和方向线,进行变化的时候,真正变化的是输出给栅极的电压,通过栅极电压的变化来控制H桥的正转和反转以及开关速率。
上图展示了该芯片的功能引脚,作为栅极驱动器,其中最为重要的就是连接栅极的引脚,GH1,GH2.GL1,GL2,四个引脚,作为该芯片为数不多的输出脚,其实就是通过控制这四个脚来控制电机变化。
5.芯片使能电路
图中为稳压二极管的稳压特性,芯片使能电路利用的就是该稳压特性,电源电压直接通过稳压二极管,可以直接降到3.3V给芯片的nsleep角进行芯片使能,不过注意电阻的选取要按照稳压二极管的函数特性进行一个大概的选取,大点没关系,还可以重新焊接修改,电阻太小的话会出现二极管击穿现象,led2用来指示有电源输入,但也不一定是3.3V,不过在电阻选取正确的情况下一般也没有问题,唯一的缺点就是,由于电流比较大,会有大部分功率耗散在电阻R6上,比较消耗电池电量。
二.H桥驱动详解
1.直流有刷电机基本概念
直流有刷电机从名字来理解一个是有刷,里面的刷是碳刷,图中黄框内部即是碳刷,第二个是直流,意思是当电机的两端通入正向直流电时,电流会通过碳刷进入电枢,产生电枢磁场,电枢磁场与电机内部的自有的永磁体产生的磁场相互作用,使电机旋转,从应用角度来说,通正电压正转,负电压反转,电压越大转的越快,但由于本身电枢磁场的相互作用,有刷电机最低旋转角度就是半圈
因为对直流有刷电机的理解,输入为直流电压是电机旋转,给我一种输出口是直流电压的错觉,有一次我拿示波器去测试输出电压的端口时,如果是直流电压的话,示波器上应该是一条直线,但是上面一个方波,我打开示波器的FFT功能,对输出信号进行频率分量观察,发现除了直流分量以外还有着丰富的频率分量,后来我找到了原因,可见下文
2.H桥基本概念
H桥主要由四个mos管构成中间有1个电机连接。
它在方向上存在三个状态,正转,反转和刹车,当1号mos和4号mos导通的时候,电流由1号mos连向4号mos,电机正转,同理1号mos和2号mos导通时刹车,2号mos和3号mos导通时,电机反转。
那它如何控制电机旋转的速率呢?没错,就是通过mos管的开关速率,与单片机中定时器里ARR与CCR的比较类似,产生一个类似pwm信号,改变输出电压的有效值从而控制电机速率,简单来说,mos栅极信号占空比越大,输出给电机的有效值电压越大。,这也就解释了为什么输出电压是一个方波信号而不是直流信号。
3.芯片对于H桥的控制
结合上图和上文对于有刷电机和H桥的叙述,其实芯片控制电机旋转的方式也很明显了。
详细内部驱动方式可从drv8701e芯片手册查看,本文只从原理上分析,不探讨具体驱动方式
主板输送PWM信号和DIR方向信号给芯片,芯片通过内部运算,将DIR的正负电平转换为mos管的通断状态,从而控制电机正反转,将pwm信号的占空比转换为mos管的通断速率,以一个pwm信号的形式控制电机的旋转速率。
三.驱动焊接检测流程
所需工具以及技能,电表的蜂鸣档,二极管档,电压档,示波器的measure功能与FFT功能
1.电源输入检测
当led1亮时其实已经表明有输入电压的存在,其实一般不会出什么问题,若灯不亮,要么是led灯损坏,要么是输入电压未接入
2.信号输入检测
输入信号的检测,也是我们检查板子的第一步,若板子的输入信号都不正确,也无法产生正确的驱动电压,三个信号线,dir可以通过电表的电压档来判断高低电平,而pwm信号需要将GND引脚引出,将示波器的接地线连接板子的GND引脚,信号线连接pwm信号,然后点击measure键,即可确实pwm信号和dir信号的正确性。
3.隔离电路检测
第二步就是要进行隔离电路检测,与上述信号线检测同理,若运放的输入端和输出端结果相同,则隔离芯片没有问题,若不同,则隔离芯片损坏
4.drv8701e驱动芯片检测
第三步就是检查芯片
驱动芯片是最容易坏的,检测驱动芯片的第一步要先看使能电路是否稳出3.3V电压,让芯片解除休眠状态,若led2不亮,则使能电路存在问题,若亮,应进一步检测电压是否为3.3V。
若使能电路没有问题,可进一步检测drv8701e的GH1,GH2.GL1,GL2,其实没必要用示波器监测,这个用电表就可以了,测MOS管的栅极电压,应看是否是一个差不多大的数,应该近似于V*占空比的大小,若四个输出端电压都没有问题,符合H桥的转动原理,那么芯片没有问题。
5.mos管检测
最后进行mos的检测
参考b站:【数字万用表测量MOS管好坏,只需要3个步骤1分钟,请看详细视频】 https://www.bilibili.com/video/BV1Lr4y1K79T? vd_source=48e031772a10e1c6ed27e6883b0a030e
mos管也经常损坏,常见的就是击穿问题,像平常购买的大mos其实击穿概率比较低,若是比较廉价的直插式mos,很容易发生击穿现象,解决方法可以将三个引脚用锡丝连接在一起,使三者短路,将无法出现击穿。
若是电机不转,芯片焊接问题或者已经损坏,也可能是四个mos全坏但概率不高。
若电机只有一个方向转动,多半是mos管发生损坏,当然也可能是芯片内部运算出错。
若是同样的pwm,电机正反旋转速率不同,一般就是芯片焊接问题或者已经损坏。
尾言
若只是单纯从软件上应用他,大概知道最后的输出电压=V_input * pwm占空比,方向信号为1正转,为0反转就可以了。
本文无任何ai成分,全部手敲,为这半年经验的总结,希望能够帮助大家,由衷感谢帮助过我的学长。