[技术问答]

用新唐N76E003做BLCD之二———一步一步跟我做无刷电机驱动板

[复制链接]
18701|405
手机看帖
扫描二维码
随时随地手机跟帖
tianxj01|  楼主 | 2020-6-19 11:28 | 显示全部楼层 |阅读模式
本帖最后由 tianxj01 于 2020-6-21 09:22 编辑

前段时间,我发了一个纯原理性的用N76E003做BLCD的帖子,大家反应比较大,纷纷表示最好有实例。
最近比较空,就送PCB厂打了一个样,然后一步一步的把过程发上来。
先上线路图,这是可以实物应用的板子,采用了LM317对输入降压供应驱动级,末级MOS管选择的是40V耐压,因此,板子最高工作电压为36V。推荐工作电压24V,最低工作电压12V。

裁剪.png

下图是PCB视图:

PCB.png
实物大小59.7mm*39.4mm

等了2天,板子打样回来了:

做回来的板子.jpg

辛辛苦苦,手帖的smd,手工焊接的直插件,板子完成了:
装好的板子.jpg
纯手工的,没贴片厂出来的漂亮,可别拍板砖哈..........

板子连接上电位器,电机ABC线和霍尔ABC插头,整套东西就算完成了。
全套装备.jpg

这次驱动,选择了单极性调制,也就是上臂PWM调速,下臂只纯净换相方波,这样的输出,能稍微提高点效率。
AH-AL波形.jpg
照片中,黄色的是AH驱动波形,而蓝色的则是AL波形。

调制速度电位器,到仅仅刚刚开始转动的A相输出波形和霍尔A波形。
仅仅能转动波形.jpg
这时候的功耗:
仅仅转动功耗.jpg

最低转速时候,拍照片电机轴看起来是静止的:
最低转速拍照像静止.jpg

调整电位器到上臂PWM约1/2时候,A相输出波形和霍尔波形。
二分之一占空比波形.jpg

50%占空比时候的功耗:
50%占空比功耗.jpg

最高转速时候的电机照片,转速高了,电机轴的螺纹就模糊喽:
最高转速电机轴模糊了.jpg

最高转速时候,A相波形和霍尔波形:
最高占空比波形.jpg

到这里,所有过程就全部完成,注意(线路图过零检测部分画线路图时候,参数是临时的,实际工作参数和第一次发表有调整,请注意)



使用特权

评论回复
评论
xiaoyuanguo 2021-1-11 14:17 回复TA
T老师,首楼贴的图片是不是描述有误呀;就是第7,10,13图片,应该是A相输出波形和B相的霍尔波形吧。如果是A相霍尔的话,应该不是这个相位吧 
tianxj01|  楼主 | 2020-6-19 11:29 | 显示全部楼层
本帖最后由 tianxj01 于 2020-6-21 11:49 编辑

关于线路图部分的分析,将在这个帖子展开..............
首先描述一下各相驱动,该部分线路见下图:
驱动.png
CH、CL分别是C相单片机驱动输出,CH、CL分别为上下臂独立驱动信号,这一次,采用的驱动信号是单极性的,即上臂驱动是PWM调速波形,而下臂则只是简单的换相方波。
具体见下面的驱动波形图:
驱动相序.png
这样的驱动,和上下臂都是PWM比起来,下管少了PWM开关损耗,可以些许提高MOS管的效率,至于驱动时序,如果看过前面一贴的,想必大家都已经熟悉了。
这里,送到CH、CL的就是这样的时序和波形。
其中,IC3是专用浮栅驱动芯片,上臂驱动耐压为300V,VCC最高20V,驱动输出端口电流为+1A、-1.5A,而且据官方说法,解决了浮栅驱动芯片常见的线路设计不良容易造成芯片闩锁导致驱动损坏问题,批量售价0.5以下,在中压驱动范围性价比基本无敌了。3个通道总共用了3片。
2、3脚分别是上下驱动输入,同时内置100K左右的下拉电阻,这个在和单片机接口时候特别好用,在单片机芯片复位期间,可以保证当芯片IO为高阻时候,不需要另外加下拉电阻来确定输入端的电平,D3为上臂驱动供电的自举二极管,在一般的低压中小功率使用1N4148绰绰有余,当功率增加到像12管600W驱动时候,则可以考虑用功率更大的快恢复管了。
C7为自举电容,中小功率,0.47uf就已经非常足够了,这里不给出复杂的计算,只给出一个大概的参考。像600W控制器用1uf即可。这里考虑到性能和体积,直接用了一个0805 25V耐压的陶瓷贴片,容量为0.47uf。
R8\R5分别是上下MOS管的栅极驱动限制电阻,适当的串联电阻,可以限制一下MOS驱动的边沿速度,取值范围只需要能有效限制超高速边沿导致极其短时间的恢复尖峰即可。
末级MOS管采用AO4884,SO8封装内部包含双N型MOS管。VDS=40V,导通电阻10V栅极电压时候典型值=13mΩ,电流8A(70℃),Qg=27nC,在做100W以内的驱动完全够了。
R10\R11并联后,用来检测电机过流,实际值为0.15欧姆,3A时候电压=0.45V。再通过R9C8简单限流滤波后送比较器正好空余的一个单元用来产生过电流中断。
到这里,驱动单元部分分析完了.............

使用特权

评论回复
tianxj01|  楼主 | 2020-6-19 11:30 | 显示全部楼层
关于程序部分将在这个帖子展开...............

使用特权

评论回复
评论
望穿秋水403 2020-8-21 22:07 回复TA
关注 
zhcaeg| | 2020-6-19 12:38 | 显示全部楼层
占楼,持续关注中.......

使用特权

评论回复
LcwSwust| | 2020-6-19 14:04 | 显示全部楼层
比较器过零检测电路看着有点不一样

使用特权

评论回复
wm20031015| | 2020-6-19 14:11 | 显示全部楼层
记号,持续关注

使用特权

评论回复
rgjinxuan| | 2020-6-19 15:19 | 显示全部楼层

记号,持续关注

使用特权

评论回复
zhuomuniao110| | 2020-6-19 16:42 | 显示全部楼层
这操作,帅呆了。

使用特权

评论回复
qiangtech| | 2020-6-19 17:55 | 显示全部楼层
关注。

使用特权

评论回复
jekey| | 2020-6-19 18:32 | 显示全部楼层
关注

使用特权

评论回复
qiang7260| | 2020-6-19 19:05 | 显示全部楼层
本帖最后由 qiang7260 于 2020-6-19 19:07 编辑

搬个小板凳,且听版主下回分解。

使用特权

评论回复
YDCMAN| | 2020-6-21 00:06 | 显示全部楼层
支持,其实相对于性能,我更关心BLDC可靠性和鲁棒性,因为我看到老外的一个视频,就是用几个BLDC电机驱动螺旋桨的载人飞机,单个电机可靠性也要高,不然可能出现最坏的结果,主电机烧了之后,备份电机也接着损坏

使用特权

评论回复
tianxj01|  楼主 | 2020-6-21 14:38 | 显示全部楼层
本帖最后由 tianxj01 于 2020-6-21 14:40 编辑

下面简单解释一下单片机及其IO分配: 裁剪.png
IO分配比较常规,PWM0-5端口分别对应P12-P10&P00-P03,只需要注意他们和P口排列顺序不是一样的,初始化时候新唐只需要执行对应的PWM端口命令,就可以激活对应的PWM端口。
这里霍尔&无刷换相信号通过P12-P15输入,采用连续地址,方便程序简单化处理,同时后备的还可以激活003的端口中断,采用中断模式来进行换相操作,同样的考虑到端口中断,所以,STOP按钮也加入到P16端口而不是别的端口。而P17则很直接的留给了过流比较器输入,同样的也可以打开P1端口中断来进行过流保护处理。
TX、RX也引出来,以方便来进行串口通信的远端控制用。这里直接用的就是串口0。
上面端子都分配完了,则留给速度调整电位器用的就只有AIN4和AIN5了,也就是P05、P04端口,这里选择AIN4。至于编程端口则按照常规的接就成了。

稳压部分,直接用了一个TO-252的LM317对输入电压进行预处理,输出在12V左右就成,这里220Ω和2K串联接到ADJ端,可以很容易的算出来 VOUT=12.6V。
12.6V再输入到TO-92封装的78L05,输出5V直接供应N76E003用。

插口部分,其他的应该不需要解释了,这里只解释一下P3口,1-2-3为调速电位器接口,电位器中心接2脚。
GND(3)和4脚接一个按钮开关,用来刹车、停车信号输入。

P5是电动机相线输出,分别接电动机ABC(有的叫UVW)线。
同样的,P6是电机霍尔输入插座,1号脚为GND,5脚5V,2-4分别是ABC3个霍尔信号(无霍尔用时候,不插霍尔排线,这里可以作为换相信号检测口)。

使用特权

评论回复
tianxj01|  楼主 | 2020-6-21 15:27 | 显示全部楼层
下面专门给大家分析一下无霍尔应用时候的相电流过零检测部分:
裁剪.png
这里,相电流过零检测采用了一个4比较器LM339,每个单元比较器构成一个相电流过零检测,共3个比较器,多余一个比较器正好用在过电流检测上面,分配的妥妥的。
这里MA-MC分别接输出的ABC相线驱动输出端,开板子时候,我居然漏画了C14,好在这电容和R18是并联的,直接在R18贴片上面背上去就好了。

下面分析一下该线路工作原理:

三个相线信号经过R12、R13、R14,Y型接入到R18电阻上面,组成一个三相共同作用的参考电压,这里标记为Vref,然后接入到3个比较器的反相输入端。C14是R12-R14输入的PWM信号的公共积分电容,用来平滑R18上面的电压波形。

三相信号,同时通过R15/R19、R16/R20、R17/R21组成的2个电阻衰减网络,分别输入到3个比较器的同相端,而每个比较器的同相输入、反相输入端,再并联一个104电容,以用来保持高频条件时候,同相反相输入端电压相等,减少转换边沿的毛刺数量,同时,C11电容又和C14串联组成R12的积分电容,对R12输入的相线PWM信号进行积分后接到比较器的同相输入端5号脚,至此,3个完全一样的网络就完整的组成了3个电机绕组的过零检测信号处理。

这里R12-R14和R18以及R15-R17和R19-R21的取值遵循唯一一个原则就是:如果R12和R15取值一样,则R18必须=R19的1/3,这里R19取值10K,则R18就取值3.3K。

该线路经过实测,在相线周期为8mS(如果是3极电机,转速=7500转/分钟)换相信号相位还非常准确,具体无刷信号和相线波形见下图(周期8mS):
无刷换相信号和相线信号比较.jpg

由于339供电是12V而输出是OC开路输出,所以经过2K电阻后,可以直接接入N79E003输入端,003输入端打开上拉就直接完成了12V工作和5V输出电平变换。
需要注意的是,为了简化线路,这里R24-R26三个电阻,是作为实际板子到底是用来有霍尔驱动还是无霍尔驱动的转换用,当有霍尔应用时候,这3个电阻直接不贴就可以了,当无霍尔用的时候,则贴上该3个电阻,而霍尔输入插座就不能插电机的霍尔信号排线,这时候,这个霍尔输入排线插座可以作为3相换相信号的检测端口用。

使用特权

评论回复
1399866558| | 2020-6-21 17:38 | 显示全部楼层
RD6006这个电源好用吗?给点击驱动板供电,会不会容易坏呀??

使用特权

评论回复
zlf1208| | 2020-6-21 20:01 | 显示全部楼层
MARK,谢谢楼主的慷慨奉献

使用特权

评论回复
叶春勇| | 2020-6-21 20:22 | 显示全部楼层
tianxj01 发表于 2020-6-21 15:27
下面专门给大家分析一下无霍尔应用时候的相电流过零检测部分:

这里,相电流过零检测采用了一个4比较器LM3 ...

首先,好帖,顶起。
前段时间学习kicad,用kicad把你的电路画了一遍,今天再看你这一块电路有更改
297995eef510c3af65.png
删除三个电容,增加一个电容。
电路原理图已经按我的方式更改了一下。不知理解有没有问题?

使用特权

评论回复
叶春勇| | 2020-6-21 20:25 | 显示全部楼层
tianxj01 发表于 2020-6-19 11:29
关于线路图部分的分析,将在这个帖子展开..............
首先描述一下各相驱动,该部分线路见下图:

这个我换成EG2133,三半桥驱动,不知行不行?
281555eef51c5c2b1b.png

使用特权

评论回复
guojunhope| | 2020-6-21 20:59 | 显示全部楼层
高手!

使用特权

评论回复
tianxj01|  楼主 | 2020-6-22 08:37 | 显示全部楼层
叶春勇 发表于 2020-6-21 20:22
首先,好帖,顶起。
前段时间学习kicad,用kicad把你的电路画了一遍,今天再看你这一块电路有更改

对的,我开始是这样画的,各个回路在10K电阻处单独积分,而Vref端是通过同异名端并联电容串联后积分。来继续进化,主要进化的目的不是为了少用几个件,而是为了这种模拟过零检测的高转速相移特性的优化,倒过来,各相输入,通过同异名端并联的电容,和增加的公共积分回路电容共用积分,效果很理想,不但减小了高速时候的换相脉冲相移,而且很明显电容少用了2个不是?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

3210

帖子

87

粉丝