
【智能车竞赛】CYT2BL3双路有感FOC驱动(完全兼容逐飞库)
简介
基于CYT2BL3单片机与逐飞开源库,适用于大部分有编码器无刷电机,可用于20届轮腿组比赛的无刷驱动板。关键词:有感FOC、完全兼容逐飞库、小体积、高可靠性、低成本、易于焊接
简介:基于CYT2BL3单片机与逐飞开源库,适用于大部分有编码器无刷电机,可用于20届轮腿组比赛的无刷驱动板。关键词:有感FOC、完全兼容逐飞库、小体积、高可靠性、低成本、易于焊接开源协议
:GPL 3.0
描述
一、项目起因
本项目是我在被实验室后辈画的奇葩FOC驱动笑到,写下一千多字的审板意见并将其打回后有感而发。为了审板,我稍微翻看了一下逐飞在其基于CYT2BL3的双电机无刷驱动开源项目中提供的原理图,发现其中有大量可以进行简化或优化的地方,因此决定自己绘制一版开源驱动造福智能车后辈,顺便满足一下我无聊的虚荣心和炫耀欲。
二、项目特点
- 完全基于《逐飞科技基于CYT2BL3的双电机无刷驱动开源项目》中提供的原理图进行优化,单片机引脚分配与功能未做任何变更,因此软件上完全兼容《逐飞科技基于CYT2BL3的双电机无刷驱动开源项目》,其开源地址为https://gitee.com/seekfree/CYT2BL3_Brushless_Driver_Project (点击超链接即可访问);
- 在逐飞原理图的基础上更换了大量器件,在确保器件指标可以满足智能车竞赛的前提下,保证了PCB使用的所有器件均有可靠购买途径(立创商城/逐飞淘宝店/优信电子淘宝店);
- 独创(大概?)大功率板MOS排布与板层分割方案,并使用大功率测流电阻桥接,理论上使用两层板即可获得足够宽度的电流路径,且在此基础上每增加一层PCB,所有大功率网络均可获得一层内层用于分摊电流,在使用四层板时,BAT与GND有三层铜层用于分摊电流,除此之外的大功率网络则全部拥有四层铜层用于分摊电流,理论过电流能力甚至强于部分六层板,而且可以通过在PCB背面开窗区焊接铜条的方式进一步提升过电流能力;
- 精心设计的电流路径,并通过禁止区域进行约束,确保不会出现隐藏的大电流回流路径导致PCB烧毁,同时实现了功率地与信号地的分隔,保证信号地干扰相对较小;
- PCB尺寸仅为3.5cm×6.6cm;
- 所有电阻电容均不小于0603封装,除预驱芯片与MOS外的芯片均为有引脚封装,预驱芯片与MOS位于PCB同一侧,使用风枪与烙铁即可轻松实现焊接,焊接难度远远低于逐飞方案。
- 无特殊PCB参数,可以使用嘉立创免费四层板,且无高价格元器件(除了单片机),复刻成本低廉;
三、项目细节
1.修改与简化
(1)电源输入
逐飞库的电源输入滤波使用的是56个22uF的MLCC电容,我将其更换为了一个470uF的贴片铝电解电容,同时在PCB背面开窗,各位如果有需要的话可以在PCB背面的开窗区额外焊接0805或者1206封装的MLCC电容,进一步增强滤波效果,位置如下图所示:
(2)预驱&MOS
逐飞的预驱芯片使用的是FD6288Q,这是目前无刷驱动领域使用相当广泛的一款预驱芯片,但是市场上FD6288的假货泛滥,且嘉立创与逐飞淘宝店中的FD6288价格较高,不利于降低成本。考虑到逐飞库中用于FOC控制的PWM频率仅有20KHz,对预驱芯片的性能要求不高,我选择将其更换为性能略低的DRV8300DREGR,相比于FD6288Q,其假货相对较少,且价格相较于FD6288Q降低了约35%(5.32¥→3.45¥,数据来源:立创商城),更重要的是,DRV8300D内部集成了自举二极管,相较于FD6288Q可以进一步简化PCB布局,降低系统体积。
逐飞的MOS使用的则是东芝的TPN2R703NL,其虽然性能优越,但是价格高昂,因此为了降低成本,我将其更换为了微硕的WSD4070DN,该MOS拥有最大40V的漏源电压、最大68A的连续漏极电流与大约4.5mΩ的导通电阻,同时单价相较于逐飞方案下降了约75%(6.22¥→1.67¥,数据来源:立创商城),除此之外,还可以考虑使用NCE3025Q或CSD17577Q3A等MOS进一步降低成本。
MOS栅极保护电路方面,逐飞仅使用栅极电阻来防止栅极产生电压震荡损坏MOS,为了进一步保护MOS,我选择在逐飞的保护电路基础上,在MOS的栅极和源极之间并联一个10KΩ的电阻,用于在断电时放出MOS栅极寄生电容的电荷,防止上电时的高低侧MOS意外导通烧毁。
最后,为了保证MOS在PCB布局时BAT和GND网络的铺铜不会互相冲突,我选择使用1mΩ@3W的大功率测流电阻(最大电流大于50A)在低侧MOS源极与GND网络之间进行桥接,相当于额外焊接了一层PCB供电流通过。
(3)供电网络
逐飞的原方案使用的供电方案为双路RY9121E开关稳压器,理论上来说这可以为PCB上的外设提供相当大的电流,但是纵观整块PCB,需要使用5V与3.3V供电的外设仅有一块单片机与两个编码器,三者的最大电流之和甚至远远小于500mA,此时使用双路开关稳压器就显得杀鸡用牛刀了,而且开关稳压芯片的周围电路会占据大量的PCB空间,不利于PCB小型化,同时RT9121缺少可靠购买途径,因此我选择将其更换为一路TPS54202DDCR串联一路RT9013-33GB的稳压方案,同时保证了低成本、小体积与可靠的购买途径。
(4)单片机与调试口
逐飞为单片机的模拟外设及参考电压源做了细致的地平面隔离与滤波,但是纵观整块PCB,我们可以发现需要使用模拟外设的仅有电池电压检测电路,但是该电路对模拟外设的要求非常低,显然不值得为此专门划出一块模拟地来,因此我选择取消了不同地平面之间的分隔,将模拟地、数字地与功率地直连,同时在PCB设计中对电流路径进行特殊规划,确保流经电机的大电流路径与流经外设的小电流路径彼此之间尽可能错开,降低地平面干扰。
2.关于DRC报错
本项目PCB进行DRC检查后会报四个错误,直接忽略即可,如下所示:
前两个报错是因为我使用了测流电阻R39桥接左右两个电机的BAT网络,但是并没有给左右两边的网络分别命名,导致软件认为左右两边的BAT网络是断开的(在软件眼里通过器件桥接不算连接,因为它不知道这个器件是等效导通还是截止),因此产生了连接性错误。
后两个报错是因为我将UART端子放置在过于靠近板框的位置,导致有一小部分焊盘超出了PCB范围,不影响实际焊接及使用。
3.采购注意事项
(1)TPS54202稳压芯片后缀有DDCR和HDDCR两种,二者使能端设计有所区别,需要使用DDCR后缀的,使用TPS54202HDDCR会导致5V稳压不工作;
(2)DRV8300预驱芯片后缀有D和N两种,其中D后缀内部集成二极管,N后缀需要使用外部二极管,复刻本项目需要购买D后缀的,使用N后缀的会导致高侧MOS驱动异常;
(3)2512封装的电阻一定要选用1mΩ高精度测流电阻,不允许使用普通的0Ω电阻,因为0Ω电阻其阻值实际上一般为十毫欧级,过流能力是不如1mΩ测流电阻的,使用0Ω电阻在大电流时有概率烧毁;
(4)为了保证滤波效果,贴片电解电容的容值不能小于470uF。
(5)因为WSD4070和TPN2R703NL的开关特性不大一样,栅极电阻我建议稍微取大一点,反正我用simulink仿真出来的结果是使用4.7Ω电阻会有比较大的震荡(震荡波形如下图所示),推荐使用10-51Ω,如果使用其它MOS的话建议也自己先跑一遍仿真,对波形做个预估。
4.主要元器件价格与采购途径一览表
器件名称 | 采购途径 | 最低单价/元 |
---|---|---|
CYT2BL3 | 立创商城/逐飞店 | 70(逐飞店) |
WSD4070DN | 立创商城 | 1.67(立创商城) |
DRV8300D | 立创商城/优信电子 | 2.35(优信电子) |
TPS54202 | 立创商城/优信电子 | 0.69(优信电子) |
四、问题与缺陷
- 项目没有任何测流反馈电路,因此只能实现转速/位置闭环,从硬件上就不支持电流环,当然严格来说这是逐飞的问题,他们压根没写电流环的代码;
- 对于合计电流不到500mA的三个外设来说,使用TPS54202供电还是太奢侈了点,但是我一时间找不到更小体积的方案,而LDO在高压差下的发热又让我不想考虑它,因此暂时只能使用这套方案将就一下了;
- 没有螺丝孔,不方便固定PCB。
设计图

BOM


评论