1 序言
相信对云台有兴趣的小伙伴对STorM32 BGC这块云台控制板并不陌生,虽说这块控制板的软件已经不再开源,但是在GitHub上依旧可以找到两三个版本的代码,而硬件呢我们也可以从Olliw(BGC的作者)的个人网站上找到,我手头上目前由于两个版本的电路图。而这两个电路中的电机驱动电路所使用的控制芯片的型号均为TC4452DF N08,对于我们所购买到的驱动板,其上面所使用的控制芯片为DRV8313。Olliw的电路使用了9块芯片,而使用DRV8313则只需要三片即可。如果想要自己设计主板的话要使用DRV8313就是一件比较麻烦的事情,因为没有参考电路是无从下手的,并且网上也找不到任何相关的资料和教程。我在研究驱动电路期间也是历经一番波折,终于是弄明白了这块电路。
2 DRV8313芯片介绍
在介绍外围电路之前,先说明一下DRV8313这块芯片,这款芯片的生产厂家是TI(Texas Instruments),TI的芯片有一个很突出的特点,那就是网上的资料少。
拿到一块芯片想要知道它怎么使用,最好的办法就是去官网找到它的芯片手册。 -> DRV8313官方手册
在这里我将其翻译成中文,有需要的小伙伴可以去我自己搭建的论坛下载,下载前需要注册一个论坛账号,注册完登陆即可下载。 -> DRV8313中文参考手册
在参考手册里可以获取更详细的信息,在此我就不再抄一遍了。
2.1 DRV8313外围电路设计思路探究
我相信这一小节也是各位小伙伴最关心的一点了,到底外围电路怎么设计才能有效的驱动电机旋转?我们从官方手册中找到推荐电路,如图2.1-1所示。
Fig. 2.1-1 DRV8313参考外围电路
拿到这个电路之后,有些关键的电路该图也已经给出,其内部包含了三个半桥驱动电路,半桥里面有一个OCP,它是什么意思呢?它是指自动输入补偿的过流保护电路(我也是百度的),说白了就是防止过流用的。一个桥臂由两个MOS管组成,上桥臂接VM(VM是12V),下桥臂接地(注意:这里一定要接地),重点是左边这个小白框(上面标记Predriver)里面的电路,可惜,该图并没有将它绘制出来。这块逻辑电路的上边有一个Charge Pump,这个叫做电荷泵,类似于一个微型变压器,用来调压用的(主要是降压),紧接着看左边电路,有一个箭头指向这个方框,上面标记VM,然后一个箭头指出去,上面标记V3P3OUT,这是什么意思呢?其实也可以把这块电路理解成一个降压器,VM(12V)电压输入,输出3.3V电压。没错,芯片自带3.3V电压输出,也就是说这款芯片只需要一个12V的直流电源输出即可,它自身可以输出3.3V电压,无需外界在输入电压。那么这个3.3V电压是做什么用的呢?我们接着往下看,下面有一个很长的长方形,这是低压端(单片机所控制的)的控制逻辑电路,有三个低压信号输入端子,三个信号使能端子(高电平使能输入,即该引脚为高电平时,对应的输入端有效),下面有一个RESET和SLEEP端子,分别是TI设计的重置和休眠引脚端口。低电平进入休眠模式,低电平复位输入,即要使芯片正常工作,必须使这两个引脚处于高电平状态,这样我们就回答了上面那个问题。3.3V电压输出可以接到这些引脚上,从而让芯片能够正常工作。
2.2 DRV8313外围电路设计
弄清楚电路的设计思路之后,我们进入电路设计环节,逼逼这么多,这才是各位小伙伴最最关心的问题。首先,我们要知道的是这款芯片有三种封装,下面我就HTSOP | 28(封装名称 | 引脚数目)封装来说明这个电路设计。芯片端口标号如图2.2-1所示。
Fig. 2.2-1 DRV8313 HTSOP | 28封装端口标号示意图
经过多次测试,我最终得到的电路设计图。
那么这个电路设计的对不对了?邓爷爷说:“实践是检验真理的唯一标准”,做一块板子测一下就知道对不对。于是乎我继续瞎折腾,按照我设计的电路自己绘制了一块板子,如图2.2-2所示。
Fig. 2.2-2 Altium Desiner设计电路图
趁着这几天嘉里创做活动赶紧送去打样,拿到板子后有迫不及待地拿起电烙铁把元器件焊接上去测试。
Fig. 2.2-3 驱动电路实物实物图
拿起我的最小系统,编写了一段小测试程序,烧写入开发板系统。
Fig. 2.2-4 实物连接图
3 测试结果
拿起示波器,监测输入输出端口的电平信号,先监测IN1(信号输入引脚1)和OUT1(信号输出引脚1)的信号如图3.1-1所示。
Fig. 3.1-1 端口输入输出波形图
可以明显看出OUT1信号是跟随IN1信号,有所区别的是OUT2信号(黄色曲线信号)的峰峰值大约为24V,而IN1信号(蓝色曲线信号)大约为4V。这说明输出端信号有效放大了输入端引脚的信号,这样我们在用单片机控制信号输出实际上就是用这个驱动芯片做一个电压的放大。我们操作低压端子就相当于在操作电机。然而实际上,我们将信号频率阈值调小,其实这两种信号是有时延的,我的示波器可以非常方便的做到这一点。
Fig. 3.1-2 输入输出时延数测量
可以大致算出输入输出延时为0.315ms,黄色曲线表示高压输出端口信号,蓝色曲线表示低压输入端口信号。
4 总结
1、基于DRV8313芯片设计的无刷电机控制电路实际上可以理解为一个电压放大电路,很好理解,我们不可能用单片机的引脚直接去驱动电机,电机启动所需要的电流是非常大了,而单片机的引脚是无法提供的。
2、DRV8313的功能非常齐全,它只需要一个12V直流电源即可工作,内部包含电荷泵,能够输出3.3V电源,供给它的其他引脚使用,非常方便,也就是它无需外接3.3V电源供电。
3、内部包含三个半桥电路,上桥臂接VM(12V电源),下桥臂接GND,下桥臂可接下拉电阻(注意:这里一定要接地,我的第一次制板失败原因就是这里没有接地),所以说把芯片手册看懂是多么重要,至少可以说看懂芯片手册能帮你省下好多钱呢!!!
4、无刷电机的控制还有很多很多的内容,这仅仅是万里长征第一步。
最后,如果觉得我的文章对你有帮助,别忘了左下角的推荐点一下哟,谢谢!
2019.12.17 周二 于厦门
原文地址:https://www.cnblogs.com/ningmeng484/p/12056935.html