发帖数

54

原创数

54

关注者

19

阅读数

22448

点赞数

5

赵云

  • 方波无感控制中为什么说采集悬空相端电压为母线电压一半时有反电动势过零点?

    大家好,我是张飞实战电子的赵云老师,今天给大家讲解方波无感控制中为什么说采集悬空相端电压为母线电压一半时有反电动势过零点?


    一、概述

    在直流无刷电机的无传感器控制中,要想根据转子磁极与定子绕组之间的相对位置来实现电子换相,并对力矩和转速实施控制,就需要知道转子的位置。因为没有位置传感器,所以就需要通过某些算法来估算转子的位置。而估算转子位置的方法也有很多,如高频注入法、电感法、反电动势过零估算法等。

    在以上转子位置估算方法中,比较简单易实现的方法是反电动势过零估算法,该方法的实现原理是当某相反电动势出现过零点时(反电动势为零),必定有转子磁极的N极或S极与该相绕组对齐,然后对于方波控制来说,仅需再等待30度电角度即可对绕组的通电电流方向进行切换,以此方法即可实现对电机进行正常闭环控制。下图一为该方法的检测示意图:

    1.png 

    图一:反电动势过零点检测转子位置示意图

    上图一中,示意了有霍尔传感器控制时,当转子N极对齐U相绕组时,此时U相绕组感应出来的反电动势为0,出现反电动势过零点,假设转子逆时针旋转,则在有霍尔传感器方波六步换相控制时,图示位置再逆时针旋转30度电角度(一对极电机也是30度机械角度)后,HB霍尔将感应到转子磁极由N极到S极的变化,HB的输出电平状态也将发生跳变。

    当检测到三个霍尔中有任何一个霍尔输出电平状态发生变化时,会对绕组的通电电流方向进行切换。根据这个思路,即使把霍尔传感器去掉,只要我们能够检测到反电动势过零点之后,再过30度电角度,我们同样可以对绕组的通电方向进行切换。

     

    二、反电动势过零点检测方法

    通过前面的内容,我们已经知道只要能够检测出反电动势过零点,再延时30度电角度,即可对定子绕组的通电电流方向进行切换。那么,怎样才能够检测出反电动势过零点呢?要弄清楚这个问题,我们需要了解电机的电压平衡方程式,从电压平衡方程式的角度来推导这个问题。下图二示意了无转子位置传感器的功率驱动电路。图三示意了图二对应的等效电路图。

    2.png 

    图二:功率驱动电路

    3.png 

    图三:等效电路图

    当电机正常运行时,对于星型连接的三相电机电枢绕组的电压平衡方程式为:

    4.png 

    以上3个式子中,UunUvnUwn表示三相相电压,IuIvIw表示相电流,R表示绕组内阻,L表示绕组电感量,EunEvnEwn表示三相反电动势。

    对于图三的等效电路来说,此时绕组的通电是U相接电源正,V相接电源负,W相不通电(悬空相),根据这个关系,我们可以得出以下条件:

    5.png 

    为了进一步分析,我们画出绕组的驱动电压跟反电动势波形,如下图四所示:

    6.png 

    图四:绕组施加电压与相反电动势波形

    从上图四,我们可以知道,对于具有梯形波反电动势的电机来说,在悬空相出现过零点时,有以下关系成立:

    7.png 

    所以,在悬空相(W相)反电动势过零点的位置处,结合电压平衡方程式及已知条件(4)(5)(6)(7),可以推出:

    8.png 

    (7)式可以得出:

    9.png 

    (8)式拆分,可以得到:

    10.png 

    (9)式中,UuUvUw表示电机UVW三相线对地的电压(端电压),Un表示三相电机星型连接点n对地的电压。对(9)式进行整理,可以得到:

    11.png 

    此时对悬空相(W)求解端电压,则有:

    12.png 

    当出现悬空相(W)出现反电动势过零点时,可以推导得出以下最终式(12)的结论:

    13.png 

    按照同样的方式,对UV两相中出现悬空相时,也能得出与式(12)相同的结论。

     

    三、最终结论

    使用方波六步换相无感驱动控制策略控制直流无刷电机时,当检测到悬空相的端电压等于Vbus的一半时,则认为有悬空相反电动势过零点。

    实际控制时,因为每个60度电角度内有很多个PWM周期,而采集端电压每个PWM周期都采集,因此只能检测采样悬空相端电压的值跟Vbus/2进行比较,当比较结果匹配,则认为已经有过零点出现。

    本篇文章,主要分析了为什么采集悬空相的端电压跟Vbus/2电压一致时,对应着悬空相的反电动势过零点,从电压平衡方程式入手,结合实际波形进行理论推导,最终得出的结论与我们的描述一致。

    收藏 1 回复 0 浏览 208
  • 归一化在电机控制中究竟有什么用?

    哈喽,大家好,今天我们来了解一下归一化在电机控制中的作用,那么首先我们需要先了解一下归一化的概念,这样才能更好的了解电机控制中为什么会经常用到归一化。

    归一化就是将一个数据变换到(0,1)或者(-1,1)之间的小数,这样的话把数据范围都统一了,在一些算法处理中会更加方便,容易理解。

    下面,我们举两个例子,这样可以更好的理解归一化,假设某个数据的变化范围是[0,1023],那么我们知道这个数据范围的最小值(xmin)是0,最大值(xmax)是1023,若我们得到的一个数据为x,那么归一化的方式就可以表示为:

    1.png 

    如果x=1023,那么此时对1023归一化之后的结果为:

    2.png 

    如果x=500,那么此时对500归一化之后的结果为:

    3.png 

    接着我们再来看如果某个数据的变化范围是[-1023,1023],那么对于大于0的部分的归一化方式跟上面一致,归一化公式还是如下:

    4.png 

    对于小于0的部分[-1023,0],归一化方式就可以表示为:

     5.png 

    假设得到的数据x是-1023,那么可以得到此数据对应的归一化值为:

    6.png 

    假设得到的数据x是-500,那么可以得到此数据对应的归一化值为:

    7.png 

    通过以上实例分析,我们知道了归一化的实际实现方式,当我们有其它数据需要归一化时,就可以很容易的得到对应的归一化值。

    在电机控制中,我们会对电角度进行归一化,我们都知道电角度的变化范围是0至360度,或者-180至180度,那么,同样我们也有两种归一化方式,对于用0-360度范围表示的电角度来说,归一化方式如下:

    8.png 

    如果输入的角度是360度,那么得到的归一化值为1,如果输入的角度是180度,那么归一化值就是0.5,其它角度可以根据上面的角度归一化公式进行计算,这样对于0至360度范围的值就可以变化到0至1范围内了。

    对于-180至180度范围表示的电角度来说,归一化的方式如下:


    9.png

    如果输入的电角度是180度,那么得到的归一化值为1,如果输入的电角度是-60度,那么得到的归一化值为-0.333333333,这样对于-180至180度范围的值就可以变化到-1至1范围内了。

    归一化弄清楚之后,通过归一化,可以得到0至1或者-1至1之间的小数了,但是在电机控制中,大多数的单片机都没有浮点运算单元,而电机控制的算法中会用到大量的乘法运算,如果对于没有浮点运算单元的单片机来说,直接使用进行小数乘法或者小数除法,那么计算一个小数乘法或者计算一个小数乘法需要花费的时间是很长的。

    假设我们整个电机控制算法全部执行完毕需要的时间是30us,那么如果一个小数乘法或者除法运算就花费了几微秒或者几十微秒,整个电机控制算法的就可能无法在30us以内完成了,那么对于一款没有浮点运算单元的单片机来说,又想实现小数乘法或者小数除法应该怎么做呢?

    其实大部分的单片机有整数乘法,如果我们把小数乘法转化为整数形式乘法,那么也是可以实现小数乘法运算的,而且整数乘法运算的速度是比较快的,大部分的单片机都是单指令周期就可以实现,那么怎么实现把小数乘法转换为小数乘法呢?

    接下来我们就要引入定点小数格式了,先给大家介绍一下定点小数格式的表示方法。

    定义为:约定单片机中所有数据的小数点位置是固定不变的。数据的最高位表示符号位,小数点是隐含在符号位之后的。这种格式通常被称为1.15Q15格式,1.15中的1表示数据整数部分的位数,而15表示小数部分的位数。

    下面用一个图示给大家说明下这个定点小数的数据格式啊。

    10.png 

    大家看这幅图啊。Q15格式的话,就是对于一个16位数来说,把最高位作为符号位,然后小数点是隐含在符号位后面的,剩余的15位作为数据位。

    我们不妨根据上面这个数据格式来举例说明一下小数跟定点小数格式的转换方式,假设有一个数为0.5,那么对应的定点小数格式表示就是:

    11.png 

    对应的16位数据格式的16进制表示为0x4000,十进制表示为16384。也就是说,对于-1至1范围的小数来说,16384表示0.5。

    我们再假设有一个数据为-0.3,那么通过定点小数格式表示为:

    12.png 

    计算的方式为:

    微信图片_20211013110810.png 

    上图对应的16位数据格式的16进制表示为0xD99A,十进制表示为-9830。也就是说,对于-1至1范围的小数来说,-9830表示-0.3。

    以上是-1至1之间小数(有符号小数)的定点小数格式表示方式,那么在电机控制中有时还会用到无符号小数(0至1之间的小数),这个时候其实就是将Q15格式表示中的符号位去掉,所有的位都表示数据位,具体表示方式如下图所示:

     13.png

    我们不妨也对这种表示方式举个具体的例子来说明一下,假设小数为0.5,那么对应定点小数格式就表示为:

     14.png

    上图对应的16位数据格式的16进制表示为0x8000,十进制表示为32768。也就是说,对于0至1范围的小数来说,32768表示0.5。

    假设得到的小数为0.7,那么对应定点小数格式就表示为:

    15.png 

    计算的方式为:

    18.png 

    上图对应的16位数据格式的16进制表示为0xB333,十进制表示为45875。也就是说,对于0至1范围的小数来说,45875表示0.7。

    那么通过以上分析,我们知道了如何将一个小数表示为定点小数(整数)格式,经过这样的表示后,在我们程序编写中,就很好实现一个小数乘法了,最后给大家总结一下将小数转换为整数表示及将整数表示的小数转换为实际的小数对应的公式:

    ① 有符号小数负数部分转换为整数形式表示公式:

    16位有符号数定点小数值 = 对应的小数 * 32768

    ② 无符号小数转换为整数形式表示公式:

    16符号数定点小数值 = 对应的小数 * 65536

    ③ 有符号整数形式定点小数转换为实际小数表示公式:

    实际小数值 = 16位有符号数定点小数值 / 32768

    ④ 无符号整数形式定点小数转换为实际小数表示公式:

    实际小数值 = 16位有符号数定点小数值 / 65536

    好了,那么本次文章就给大家分享到这里了,如果大家后期想关注更多的电机驱动方面的知识,可以持续关注我们张飞实战电子,谢谢大家!


    收藏 1 回复 0 浏览 207
  • 直流电机驱动原理图设计一

    一、 项目名称:《直流电机驱动器设计》

    二、 原理图设计第一部分

    大家好,今天我们开始对直流电机驱动器项目进行原理图的设计,我们按照上次给大家分享的项目需求分析来着手,根据功能划分来设计各自对应的电路模块。

    我们先来回顾一下这个控制器要实现的功能:

    1.电压采集。

    2.电压保护。

    3.LED灯状态显示。

    4.实现电机正反转调速控制。

    大家看到上面要实现的4个功能,这些功能的实现都需要提供电源。所以我们需要设计一个电源模块,这个模块可以给单片机进行供电、给电机进行供电。

    那么通过上次的分享,我们已经确定了Vbus电压为5V,所以整个电源模块的输入电压我们就可以定为5V,这样只需要通过一个线性电源就可以得到单片机的供电电压。

    5V的输入,我们可以使用一个3.96mm间距的2pin的接线端子输入,那么为了给后级提供能量,一般我们在电源输入处会加一个大的电容,这个大电容的选型主要考虑容值和耐压,关于容值一般我们可以通过经验法来选择,可以通过示波器观察纹波来进行电容容值的调整,调整的依据为:若纹波大,则加大电容的容值,若纹波小则可以减小电容的容值。具体调整到项目要求的纹波范围内即可。当然电容容值大肯定纹波小,能满足要求,但是可能价格就会偏贵,所以需要合理的选择电容的容值,当然有时候也需要考虑库存、通用品,如果自己公司库存有合适的电容也可以直接拿来用,或者有些电容容值可能偏大,但是属于通用品,这样价格也会便宜些,所以电容的选取不是一成不变的,大家心里要清楚。

    关于耐压的选取,一般可以考虑电源结点处电压的1.5倍-2倍之间,同样耐压的选取也需要结合上面提到的库存和通用品考虑,在这两个条件不满足的前提下,再使用我们讲的选取方法进行选择。

    然后大电容旁边一般都会并联一个容值为104的瓷片电容,用于滤除高频干扰,这样就可以得到对应的电路图了。

    111.png 

    接下来,需要选择一个线性电源,把5V降到3.3V给单片机进行供电,这个线性电源芯片可以选用常用的AMS1117-3.3V,同样输出的3.3V后面带有负载,所以3.3V也需要增加一个大的储能电容和小的瓷片电容。

    然后我们可以加一个电源指示灯,用于电源供电指示。最终的电源模块的电路图如下图所示:

    222.png 

    这样电源模块对应的电路就设计好了。然后需要用单片机来实现相关功能的控制,所以就需要设计单片机最小系统模块了。根据上次我们选用单片机型号STM32030F4P6,则可以设计出如下图所示的最小系统:

    333.png 

    大家看上面的图,对于单片机的供电,我们一般都会采用一个大电容和一个小电容,同样大电容作为储能电容,小电容作为滤波电容,大电容的选型一般容值在10uF即可,当然有的单片机会在手册中给出具体的电容容值参数,我们也可以参考手册进行选取。

    然后,单片机的复位引脚的话,我们外面只接了一个104电容,那么,我们说上电外部复位的话,需要复位引脚为低,这样的接法能否保证单片机上电复位引脚为低呢?那么,为了了解这个问题,我们就要查看单片机的数据手册了。

    444.png 

    大家可以看到上图中有一个Rpu上拉电阻,这样当单片机上电时会从VDD出发经过电路Rpu对外面的0.1uF电容进行充电,那么0.1uF电容充电时,等效

    于短路,所以此时复位引脚就变为低电平了,此时单片机就实现了外部复位,随着电容充电的进行,电容充满之后,复位引脚就是高电平,此时就完成了整个外部复位过程。

    所以,综上分析,我们原理图中的104电容是可以实现外部复位功能的。

    555.png 

    然后,我们再来看图中的BOOT0引脚,这个引脚可以配置单片机初始上电时启动的方式,一般我们都是默认从Flash启动,所以这个引脚我们下拉到低电平即可。

    6666.png 

    关于BOOT的配置方式及启动方式,可以参照上图。

    那么以上就是单片机最小系统模块的设计讲解,接下来我们要实现LED灯的控制,所以需要使用一个单片机的IO口来控制LED灯,对应的电路如下图所示:

    777.png 

    接下来,要实现电机调速的话,我们在讲项目需求分析的时候讲过可以通过电位器的方式调整,电位器的话属于模拟量,所以我们需要将电位器接到单片机的AD引脚,具体电路如下图所示:

    888.png 

    图中的102电容是一个滤波电容,这样可以滤波一些高频干扰。

    然后,我们需要对电压进行采集,用于电压保护,而Vbus电压是5V,我们单片机的供电电压是3.3V,所以我们需要对Vbus电压进行分压,分压的话,可以选用两个电阻来实现。

    那么具体分压的电压选多少合适呢?这里需要给大家强调一下,一般将分压电压设在单片机的供电电压的一半为宜,那么如果电压小了会有什么影响呢?如果电压小了可能会导致分辨率不够。

    如果电压过大呢?是不是当电压波动的时候,分压的电压会超过单片机的供电电压啊?这样是不是可能损坏单片机啊?因此电压选择在中间位置是最佳方式。这样就可以得到下图所示的电压采样电路。

    999.png 

    然后,我们再来说下图中D5二极管的作用,它是用来保护单片机引脚使用的,怎么实现这个保护功能呢?

    我们来看下,图中D5的负极接了3.3V,那么我们说一个二极管的导通是不是当正极大于负极0.7V(假设二极管导通电压为0.7V)时,二极管就导通了,这样二极管两端是不是就是0.7V的压降,这样负极是3.3V的话,那么正极最大就是3.3V+0.7V = 4V,那么4V的话,一般3.3V的单片机是可以承受的,所以这样就实现了单片机引脚的保护功能。

    然后,C11电容的作用也是滤除高频干扰。以上就是电压采样模块的分析。

    接下来,使用单片机的话,我们需要将我们编写好的程序下载到单片机中,所以需要有对应的下载电路。下载和仿真这款单片机使用的是SWD协议,所以我们只需要按照协议将接口引出即可,对应的电路如下图所示:

    1111.png 

    图中增加的电阻是为了破坏振荡条件,让仿真和下载更加稳定。

    那么根据我们罗列的项目功能,还有H桥电机控制模块电路还没有设计,这部分的设计在下次文章中再给大家进行详细分析,最后给大家先贴下本项目的最终原理图,供大家学习参考。

    2222.png 

    本篇文章就给大家分享到这里,我们下次再见,谢谢大家!


    收藏 0 回复 0 浏览 206
  • 磁旋转编码器在永磁同步电机位置测量中的应用

    一、概述

    与直流电机相比,永磁同步电机具有体积小、 效率高、无需维护等优点,在某些应用场景中,由位置传感器精度引起的转矩波动应限制在1%以内,这就要求电机位置传感器具有足够的精度。AS5040磁旋转编码器能够满足高精度、高可靠性、低成本的设计要求。

    那么AS5040磁旋转编码器应用于永磁同步电机位置检测时,需要解决两个问题:一是磁旋转编码器安装位置初始定位,即确定编码器输出的位置信号与电机实际位置角的对应关系;二是获得电机轴开始转动时转子磁极的精确位置。对于永磁同步电机来说,为得到电机轴开始转动时转子磁极的位置,通常采用昂贵的绝对编码器或旋转变压器来达到这样的要求。我们本篇文章探讨 AS5040磁旋转编码器同样能达到这一使用要求。

    1.png 

    图一:AS5040磁编码器芯片的内部框图

     

    二、AS5040工作原理 

    AS5040检测转轴角位置时,需在转轴的端部安装一个纽扣形磁铁。AS5040与磁铁的相对位置如所示,其工作原理是通过芯片内部的线性霍尔阵列检测出磁铁的磁场强度分布,从中分离出角度信息

    该磁旋转编码器具有增量角度输出和绝对角度输出功能。增量角度输出信号分为A,B两路, 磁铁相对AS5040旋转一周,A,B通道各输出 256个周期脉冲,两路信号相位相差1/2个脉冲, 可以根据超前或滞后关系判断转动方向,通过4倍频可以获得10位的分辨率。AS5040将绝对角度定义为磁铁的磁极与霍尔阵列间的角度,磁铁每旋转一周,AS5040将输出512个绝对角度信号,通过SPI通讯可将其读出。在绝对角度为0或1023时,INDEX通道将输出一个零位脉冲, 可以利用此信号重置测量值,消除累积误差。

    很多系列的单片机中都具有SPI及正交编码器脉冲电路(QEP),例如STM32单片机、TI公司的DSP芯片等,它们都能够处理AS5040绝对角度和增量角度信号。

    下图二为使用AS5040系列磁编码器位置检测的工作原理示意图。

    2.png 

    2.png


    :磁传感器位置检测示意图

     

    三、AS5040安装位置初始定位

    磁旋转编码器安装位置初始定位主要目的是获得在电机位置角为0时对应的编码器绝对角度,根据这一信息可以使得电机位置角与编码器 的绝对角度一一对应。

    示出了AS5040磁铁磁极电机转子磁极,以及电机定子A相轴线四者间的关系。在电机控制系统中,常定义转子磁极与定子A相轴线重合时电机位置角为 0,且逆时针方向为正向。

    3.png 

    图三:磁传感器与电机间的位置关系示意

    上图三中,α1AS5040轴线与电机定子A相轴线的交角,AS5040安装到电机端盖上后,α1即被固定;α2为磁铁轴线与电机转子d轴(直轴)的交角,当磁铁安装到电机转子轴上后,α2即被固定;θ为电机定子A相轴线与电机转子d轴的交角,即电机位置角;AxAS5040轴线与磁铁轴线的交角,即AS5040绝对角度,可以通过其SSI接口输出,并由单片机或者DSPSPI读取。

    由上图三可以看到,电机位置角可以表示为θ = Ax - (α1 + α2),由于Ax可以直接从磁编码器芯片中读取,为了能够求出上述公式中的θ,就需要测量出α1+α2的值。从公式中分析可以进一步得出结果,当θ=0时,直接从传感器芯片中读出的Ax就是α1+α2,我们可以记θ=0时的Ax为A0,θθ0,则可以知道A0 = α1+α2。求解处A0之后,再根据Ax的不同,就可以知道转子位置角θ = Ax - A0。

    从上面过程可以看到,一个必需的步骤是要在电机位置角θ=0的时刻,从AS5040读出A0。因为电机位置角θ与电机反电动势相位有关,考虑利用反电动势信号捕捉电机位置角θ=0的时刻。

    下图四所示的电路引出了电机反电动势信号。在图四中,R是外接电阻,LALB,LC是电机定子三相电感,Ra,RbRc是电机定子三相电阻,N是电机三相中心点,N`是模拟中心点。根据上面对电机位置的定义,若R值取得很大,则定子内阻压降以及电感上的感应电压可以被忽略,电机A相反电动势的表达式为

    4.png 

    5.png 

    6.png 

    图四:A相反电动势测量示意图

    上述反电动势公式可以看出,通过检测A相反电动势正向过零点即可表明电机位置角θ是否等于0。下图五是检测A相反电动势正向过零点的示意图。为了获得信噪比较高的反电动势波形,需要利用另外一台电机拖动永磁同步电机以较高的速度作恒速旋转。

    7.png 

    图五:反电动势过零点测试示意图

    A相反电动势正向过零点时,单片机(DSP发生捕获中断。在中断服务子程序中,通过SPI读入AS5040输出的绝对角度信号A0。尽管电机拖动速度很高,由于在反电动势过零点处仍会有毛刺存在,实际捕获过零点时,过零比较器仍会有误触发。在过零比较器的前级串入一个低通滤波器,可解决这一问题。由于电机空载恒速旋转,反电动势是频率正比于转速的正弦波,滤波器引起的延迟可以被精确地补偿。

    转子磁极对数为P时,每机械周期A相反电动势将出现P个正向过零点,A0可取AS5040输出的绝对角度信号中最大者。

    整个初始定位过程无需手工调整传感器与电机的相对位置,同时在安装时对传感器的安装位置角未作任何要求,从而加快了传感器的安装速度。

     

     


    收藏 0 回复 0 浏览 203
  • 直流电机驱动原理图设计二

    一、 项目名称:《直流电机驱动器设计》

    二、 原理图设计第二部分

    大家好,上次的电路设计中还有实现直流电机正反转的电路没有完成,今天我们一起来完善下这部分电路。

    首先,根据我们之前的项目需求分析,从电机的参数情况,我们选择了B772PNP型功率三极管)和D882NPN型功率三极管),基于这两种三极管型号,搭建H桥模块电路。

    H桥模块电路中,上桥使用B772,下桥采用D882,组成的H桥示意图如下图所示:

    1111.png 

    那么,这个H桥的工作原理是什么样呢?我们可以一起来分析一下。首先,我们假设图中的电机绕组中的电流由电机的1脚流向2脚,电流流向如下图所示:

    2222.png 

    那么电机绕组中流过的电流是从哪里来的呢?也就是我们要考虑此时的源是谁?源是不是图中的+5V电压源啊?源有了,需要确定回路,回路是不是要从源的正极出发,回到源的负极啊?然后图中示意的电流回路要形成,图中的Q1Q8两个三极管就需要导通了,这样才能形成完整的电流回路。

    为了更好的描述此时的电流回路,我们+5V源使用一个Vbus电容来表示,此时电流的回路我们可以表示如下:

    3333.png 

    好了,这个电流回路是没问题的,我们说我们的驱动板支持正反转控制,那么在切换方向前,需要将之前开通的三极管给关闭,状态如下图所示:

    4444.png 

    这个时候我们来看啊,上一个状态时对电机绕组进行充电了,如果我们把H桥中的四个管子都关闭,那么电机绕组中的没有地方流动了,也就是说此时能量没有泄放回路了,假设我们把电机绕组看成电感的话,那么此时也就是电感断路了,是不是会对开关三极管造成损伤啊?

    因此在我们的这个电路中就需要增加当所有管子都关闭时的绕组续流回路,增加续流回路的话,我们可以在功率三极管的CE之间并联二极管即可,如下图所示:

    5555.png 

    然后,此时我们再来分析续流回路,绕组续流时,所有管子都关闭了,但是绕组的电流方向不变,此时的源我们需要搞清楚,源应该变成了电机绕组,然后从电机的2脚出发,然后回到电机的1脚,此时的续流回路如下图所示:

    6666.png 

    这样电机绕组的续流回路就建立起来了,接下来就可以开通管子Q2Q7了来让电机往另一个方向进行转动了。那么关于另一个方向的分析,这里就不再赘述了,跟我们上面分析的方法一致,大家可以自行分析。

    上面是给大家讲解了下H桥控制的原理,对于H桥中的三极管要进行导通,我们就需要给四个管子分别设计相应的驱动电路了。

    因为我们是使用单片机控制,控制的方式为上桥电平控制,下桥PWM控制,而对于B772D882三极管,当它们的CE需要比较大的电流时,例如2A的电流,则相应的IB驱动电流也需要增大,具体是多大呢?我们可以查看下B772D882的数据手册:

    7777.png 

    大家可以看到,上图为VCEIC的关系,从图中,我们也可以看出当IB比较小时,IC的电流也相应的小,如果IC要能达到2A,那么则需要的IB驱动电流就需要10mA以上。

    而我们单片机的话,IO引脚的驱动能力是很小的,不能够直接使用单片机引脚来驱动功率三极管,因此我们需要单独的给B772D882设计相应的驱动电路。

    那么我们就想了,要想通过一个小电流得到比较大的电流,我们还是想到了三极管,如果三极管Ic电流小的话,相应的IB电流就可以小,通过上图分析,如果B772D882IC电流要达到2A的话,IB需要10mA。如果我们使用一个普通的三极管(如3904,我们只需要给3904IB1mA的驱动电流,则IC就可以有100mA的电流,因此,我们可以使用3904三极管来驱动B772D882,这样可以设计出如下电路:

    8888.png 

    然后我们来看,当LH为高时,此时Q4导通,那么三极管Q11脚就为低,此时从逻辑上,Q1导通是没问题的,但是,我们说电路设计需要考虑好源 回路 阻抗,那么源是+5V,回路是从+5V出发,回到+5V的地,但是缺少阻抗,这样的话Q1IB电流就会比较大,从而导致三极管Q1损坏了,因此我们可以增加一个电阻来限制IB电流,那么我们说,如果Q1的电流要能达到2A的话,IB电流需要10mA以上,这个时候,我们可以来计算一下,IB阻抗为多少?也就是下图中的R5应该如何取值?

    9999.png 

    从图中我们可以知道,Q4导通,我们按导通之后Q4CE压降为0.3V,则有Q4C极为0.3VQ1BE压降我们可以查看手册来进行选取:

    11111.png 

    大家看上图,当Ic2A的时候,此时VBE大概为1.4V,我们就按照1.4V来进行计算,则Q11脚为5V-1.4V = 3.6V。那么R5两端的压降为3.6V-0.3V = 3.3VR5的电流我们按照10mA,则可以计算R5的阻值为:R5 = 3.3V/0.01A = 330R,这样就可以把R5的阻值确定了。

    22222.png 

    当然,如果要是Q1IB电流再大一些的话,可以把R5阻值再取小些,比如可以取300R。好IB电流的问题解决了,那么我们再来看,如果Q4关闭的话,那么此时是不是要确保Q1能够关闭啊?Q1关闭是不是要确保Q11脚为高电平,也就是要确保Q1VEB<Q1的导通电压,但是我们上图中的电路是没法保证这点的,所以,我们可以在Q1BE之间并联一个上拉电阻,这样即可解决这个问题。

    33333.png 

    这个电阻的取值保证当Q4导通时Q1BE压降能让Q1导通即可,这里取为1K,可以满足要求。这样,Q1的驱动电路就设计完毕了。

    接下来我们来设计下管Q7的驱动电路:

    44444.png 

    下管驱动,我们可以采用一种称为达林顿结构的接法,还是采用另一个三极管来驱动,具体的接法如下图所示:

    55555.png 

    那么,当Q5导通,此时Q5IC电流作为Q7IB驱动电流, 从而确保Q7能够正常导通,当Q5关闭,确保Q7不能够导通,就满足了导通的逻辑关系,因此这个驱动电路是可以满足我们正常使用的。

    Q5Q7的下拉电阻是确保当B极出现不确定状态的时候,能够有确定的状态出现,这样不会导致三极管的误触发,发生灾难性后果。

    这样Q1Q7的驱动电路就设计完成了,相应的Q2Q8可以直接使用对应的驱动电路,最终H桥模块的电路就可以全部实现了,具体如下图所示:

    66666.png 

    那么到目前为止,直流有刷电机驱动项目的原理图设计部分就给大家分享到这里,下篇文章,我们来聊一聊关于该项目的PCB布局布线的相关问题,本次分享就到这里,谢谢大家,我们下次再见!


    收藏 0 回复 0 浏览 202
×
赵云