基于罗姆BD63521EFV芯片,简单好用的步进电机驱动器(开源)设计心路

作者简介

arduino explorer rover
刘铭
一个很快乐的老工程师!
爱好成为了事业令我欣慰且快乐。
机电一体化、自动控制、嵌入式、物联网、先进智造。
爱好:潜水、绳索、户外、美食……
经验:工业产品,多维度方案规划

柴火创客简介

arduino explorer rover

“柴火创客空间”于2011年由深圳矽递科技股份有限公司创始人潘昊成立,寓意“众人拾柴火焰高”,是深圳首家创客空间,自成立以来,一直在推动创客文化的传播和创新创业的促进,成为海内外创客对接深圳产业资源的桥头堡。定位“深度服务产业创新升级的国际化双创平台”,柴火致力聚合国际创新人才,为创新制作者(Maker)提供自由开放的协作环境和成熟的开放技术,鼓励跨界的交流,促进创意的落地。同时,立足传统产业的创新需求,搭建创客与产业协作对接的平台。鼓励全球创客社区的成熟的创新解决方案嫁接到本地产业链,深入行业需求,用开放技术解决产业痛点问题,进而推动产业创新升级。目前,除了深圳本部,柴火已在河北石家庄设立了分部,聚焦“科技生态”主题,引入国际创新方案,垂直服务当地企业对科技创新升级需求。

有幸参加了罗姆半导体与柴火创客空间联合组织的步进电机驱动知识讲座。(由罗姆半导体一行人的刘烁工程师主讲)

讲座反响热烈

arduino explorer rover

讲座后罗姆半导体拿出一些步进电机驱动芯片,赠送给柴火创客空间,为创客运动做出了贡献与支持。

而我了解到:创客主要是用成品模块来创造性的设计一些有创意的东西。

作为一个老工程师,我觉得我也应该出一份力,所以我做了一款开源的基于罗姆半导体BD63521EFV芯片的步进电机驱动。

arduino explorer rover

以下就是我分析及设计的心路历程和设计中用到的一些常用技术与计算

首先是需求

我的设计目标是尽可能的简单好用。并且非常利于大家自己动手制作。所以器件数量是我优先考虑的需求之一。

电路极简是追求的重点!

当然成本也是要考虑的。🙄

因为罗姆半导体赞助了芯片,所以不需要选型环节,属于命题作文。

直接登录罗姆半导体官网,下载BD63521EFV数据手册。

快速翻阅数据手册后决定在应用电路实例上开始切入。

如图。

arduino explorer rover

电路基本上由4部分构成。

控制逻辑输入端子、

首先,数据手册上标明了这些输入端子的极限参数:输入电压不能够大于7伏。应用时CW_CCW端、MODE0端、MODE1端、ENABLE端、PS端的逻辑输入电压大于2V时,就视为高电平,低于0.8V时,视为低电平;而CLK端输入电压大于2.4V时,视为高电平,低于0.6V时,视为低电平。

其中包括:

芯片休眠控制端子:14脚(PS端子);
正转反转控制端子:16脚(CW_CCW端子);
电机控制输入端子:15脚(CLK端子);
细分微步设置端子:18脚(MODE0端子),19脚(MODE1端子);
驱动器输出使能端子:20脚(ENABLE端子);

控制信号输入端子、

其中包括:

相线圈电流,采样电压输入端子:4脚(RNF1S端子)、25脚(RNF2S端子);
内部PWM震荡频率设置端子:10脚(CR端子);
电流衰减模式,设置电压输入端子:12脚(MTH端子);
芯片输出电流设置端子:13脚(VREF端子,输入电压范围0-3V);

电源输入端子、

其中包括:

正电源输入端子:7脚(VCC1端子)、22脚(VCC2端子);
接地端子:1脚(GND端子)、9脚(GND端子)。

功率输出端子、

其中包括:

第1组输出AB端子:5脚(OUT1A端子)、2脚(OUT1B端子);
第1组输出电流检测电阻连接端子:3脚(RNF1端子);
第2组输出AB端子:24脚(OUT2A端子)、27脚(OUT2B端子);
第2组输出电流检测电阻连接端子:26脚(RNF2端子);

当然还有在使用中没啥电气用途的两个测试端子:11脚(TEST0端子)、17脚(TEST1端子),以及芯片底面的散热端子。

所以,根据需求规划了芯片的外围电路。

如图

arduino explorer rover

我们先从采样电阻说起

首先考虑到芯片的极限工作电流为每路2A。
开始为电流采样电阻的阻值进行合理的取值。
这个电阻的阻值应该考虑到几个因素:

第一、阻值过高将会导致采样电阻两端电压过高,相同电流下电压过高导致功率过高,功率过高会导致电阻烧毁或者采用功率和体积更大的采样电阻,

第二、采样电阻的阻值过低,将会导致采样电压范围偏低,不利于抗干扰。并且会对电流采样放大电路提出更高的要求,

第三、要考虑用标准阻值,方便采购以及降低成本,

第四、尽可能的减小采样功率,有利于提升效率和减小温升,温升减小后有利于稳定和寿命,

第五、尽可能的减小封装体积,将会有利于成本控制和缩小体积,

第六、数据手册中指出,电阻阻值应该在0.1~0.3欧姆之间。

经过上述考虑以及手册推荐最终选定为0.2欧姆。

当采样电流为2A时,采样电阻两端电压为[2A * 0.2R=0.4V],采样电阻耗散功率为[2A * 0.4V=0.8W]

查询得知,普通碳膜贴片电阻2512封装或更大封装以及更小封装的金属膜贴片电阻可以满足功率需求。

电路连接如图:

arduino explorer rover

当然,电流采样端子尽可能连接到电阻近端,以及尽量控制电流回路的总电阻。

这样可以令采样电压更准确和减少干扰。

电流采样端子内部电路如图:

arduino explorer rover

输入内阻高达5千欧姆。
注意!此端子上电压不应超过0.7伏。

然后开始选定参考电压。

参考电压的选定应该考虑到电压不能太高,手册中要求0-3V内,太高将会导致超过芯片的工作电流过大,将会引起芯片烧毁。

经过手册中给出的公式开始计算,


输出电流 [A] = {VREF[V] / 5} / RNF[Ω]・・・(微步模式)
输出电流 [A] = {VREF[V] / 5}*0.7071 / RNF[Ω]・・・(整步模式)

在0.2欧姆采样电阻的情况下,整步驱动方式驱动电流不超过2A,参考电压合理的取值不应该大于2.828V。

开始设计参考电压源电路。

查询手册发现参考电压电流不超过几个uA,
考虑到电压相对较低的参考源电压,应该选用降压稳压电路。
降压稳压电路又有多种形式,开关降压电路由于其纹波比较大不适合作为参考电压源。 LDO降压电路虽然效果好,但是耐压往往不高,并且成本高。最终本着电路极简成本较低的原则选用了经典的齐纳管参考源。
并且选择了2.7伏的稳压管。
为了平滑输出电压以及滤除干扰纹波。使用了经典的π型滤波电路。

arduino explorer rover

当然这种电路也有着输出内阻比较大的缺点。

但是这款芯片的输入内阻比较大,所以不会有影响。

如图:

arduino explorer rover

输入内阻高达5千欧姆。

再次进行计算,当参考电压为2.7伏,以及采样电阻为0.2欧姆时:根据下列电流输出公式,计算输出电流:


输出电流 [A] = {VREF[V] / 5} / RNF[Ω]・・・(微步模式)
输出电流 [A] = {VREF[V] / 5}*0.7071 / RNF[Ω]・・・(整步模式)

{2.7V/5}/0.2R=2.7A(微步模式)
{2.7V/5}*0.7071/0.2R=1.91A(整步模式)

计算结果验证了当参考电压最大值为2.7V时,输出电流可以达到芯片最大输出电流。

注意!参考电压(VREF端子)输入电压范围为0~3伏。

当然我们可以调整减小参考电压值,就可以很方便的将输出电流设置在一个合理的值。

实现调整参考电压值最简单最有效的方法,就是直接使用一个可调电位器,上端连接参考电压源,下端接地,调整端连接芯片参考电压输入端即可。

arduino explorer rover

然后设计衰减模式设置电路。

由于手册中已经说明衰减模式的设置,由输入到MTH脚上的电压值决定。


0~0.3 SLOW DECAY 慢速衰减模式。
0.4~1.0 MIX DECAY 混合衰减模式。
1.5~3.5 FAST DECAY快速衰减模式。

由于参考源电压为2.7伏,已经满足设定为快速衰减模式的1.5伏电压的最低电压要求,所以不用再单独提供电压源,可以复用基准源电压。

这样的设计就更加减少了元件的数量。

考虑到体积以及设置的方便性,没有选用拨码开关来设置,而是又选用了一个体积小巧的可调电位器。

电路连接方式为:上端连接参考电压源,下端接地,调整端连接芯片MTH端子即可。

注意!MTH端子的输入电压范围为0~3.5伏。

arduino explorer rover

再然后就是PWM振荡频率设置电路

这部分超级简单,就是一个电容和一个电阻并联后,一端接地,一端连接CR端子。

调整电容容量和电阻阻值就可以设定PWM振荡频率,

注意!虽然提升震荡频率有利于提升驱动效果,但是过高的频率将导致内部MOS管的开关损耗急剧增加。

arduino explorer rover

还有细分模式设置电路

由于逻辑输入引脚都内置了下拉电阻,如图:

arduino explorer rover

输入内阻高达≈10千欧姆。

并且所有逻辑输入端子当电压大于2V的时候,就视为高电平。

我们只要用两位拨码开关,将基准电压源的2.7V开关到细分微步设置端子就可以设置细分模式。

arduino explorer rover

再说说所有电路都有的供电电路

为了防止电源反接设置了一个防反接的大电流(5A)超低压降(0.55V@5A)肖特基二极管,因为导通压降低,所以耗散功率低。最重要的是电路简单!

为了提高抗干扰性和稳定性,设置了多个滤波旁路电容

并且设置了两颗大型电解电容器,可有效降低电源内阻,并且滤除电源总线上的干扰(输入和输出双向)。

arduino explorer rover

然后添加控制信号的连接端口

包括:
GND-接地
EN-驱动器使能控制
CW-正转反转控制
CLK-时钟步进输入
PS-芯片休眠控制
2V7-驱动器基准电压源

arduino explorer rover

其实到这里步进电机驱动器已经可以正常工作了。

但是我们还要优化一下……

加入了输入接口ESD保护芯片,防止ESD损害(四路输入均有)

arduino explorer rover

下面是BOM表和PCB版图

BOM表

arduino explorer rover

PCB版图

arduino explorer rover

arduino explorer rover

相关文章

  1. 【罗姆隔离型反激式转换器IC评估板试用】+输出测试

  2. 【罗姆隔离型反激式转换器IC评估板试用】+ 输出电压测试

  3. 2396-1

    【碳化硅评估板P02SCT3040KR-EVK-001】性能实测分享

  4. 20230802_5_01

    【罗姆BM2PDA(B)1Y-EVK-001】+负载调整测试

  5. 【罗姆SiC评估板试用】P02SCT3040KR-EVK-001初体验

  6. 【罗姆SiC评估板试用】快充测试

  7. arduino explorer rover

    【罗姆SiC评估板试用】基于碲化镉弱光发电玻璃的高效功率变换技术研究-开箱展示

  8. 聪明方格发明者给工程师的秘诀:跳出固有思维模式

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP