MS41959——低噪声、256 细分、微步进电机驱动

电子说

1.3w人已加入

描述

 产品简述

MS41959 是一款四通道步进电机驱动芯片,其中两个通

步进驱动

道为 12V 电压驱动,另两个通道为 5V 电压驱动,总共可以同

时驱动四个通道的步进电机。通过具有电流细分的电压驱动方

式以及扭矩纹波修正技术,实现超低噪声微步进电机驱动。

芯片另外内置一个 5V 直流电机驱动器。

主要特点

◼电压驱动方式,256 细分微步进驱动电路(四通道八个 H

桥):12V 驱动的每个 H 桥最大驱动电流±1.0A,5V 驱动

每个 H 桥最大驱动电流±0.8A

◼四线串行总线通信控制电机

◼负载电压范围:

12V 通道:2.7V~15V

5V 通道:4.5V~5.5V

◼内置直流电机驱动,最大驱动电流±0.5A

◼QFN48 封装(背部散热片)

应用

◼机器人,精密工业设备

◼摄像机

◼监控摄像机

◼云台

产品规格分类

步进驱动

管脚图

步进驱动

管脚说明

步进驱动

如有需求请联系——三亚微科技 王子文(16620966594)

步进驱动

内部框图

步进驱动

极限参数

绝对最大额定值

  芯片使用中,任何超过极限参数的应用方式会对器件造成永久的损坏,芯片长时间处于极限工作

状态可能会影响器件的可靠性。极限参数只是由一系列极端测试得出,并不代表芯片可以正常工作在

此极限条件下。

步进驱动

注: 1. 绝对最大额定值,是指在容损范围内使用的场合。

2. 容损值,是指在Ta = 85°C时封装单体的值。实际使用时,希望在参考技术资料和PD – Ta特性图的基

础上,依据电源电压、负荷、环境温度条件,进行不超过容损值的散热设计。

3. 容损值,工作环境温度,以及存储温度的项目以外,所有温度为 Ta = 25°C。

4. 输入电压(DVDD+0.3)电压不可超过6.0V。

5. 测试条件:A通道正弦波峰值880mA,B通道正弦波峰值840mA,C通道正弦波峰值180mA,D通道正弦

波峰值220mA。

6. C,D通道内阻较大,C通道单独工作最大正弦波峰值电流不超过900mA,C,D通道同时工作时每个

通道电流不超过600mA。

工作电源电压范围

步进驱动

注:使用中每个电源需要供电,否则会触发欠压保护,芯片停止工作。DVDD 一般情况下为 5V 供电,

如果使用 3.3V 供电,OSC 系统时钟最高频率 20MHz,推荐使用 16MHz。

端子容许电流电压范围

注意:—容许端子电流电压范围,是指不任何情况下不允许超过这个电气参数范围。

—额定电压值,是指对 GND 的各端子的电压。GND 是指 AGND、DGND、MGNDx 的电压。

—5V 电源,是指 DVDD,AVDD 的电压。

—在下面没有记述的端子以外,严禁从外界输入电压和电流。

—关于电流,“+”表示流向 IC 的电流,“-”表示从 IC 流出的电流。

步进驱动

注:(DVDD + 0.3) 电压不可超过5.5V。

电气参数

MVCCA=MVCCB=12V, MVCCC=MCVCCD=MVCCE=5V, AVDD=3.3V, DVDD=5V

注意:没有特别规定,环境温度为 Ta = 25°C ±2°C。

步进驱动

如有需求请联系——三亚微科技 王子文(16620966594)

步进驱动步进驱动

功能描述

1. 串行接口

步进驱动

注:1. 读写模式中,每个周期 CS 默认都是从 0 开始的。

2. 写模式时,必须从 OSCIN 端输入系统时钟。

电气参数(设计参考值)

MVCCx = 5V, DVDD = 5V, AVDD = 3.3V

注意:没有特别规定,环境温度为 Ta = 25°C ±2°C。本特性为设计参考值,仅供参考。

1.1 串行口输入

步进驱动

1. 数据转换在 CS 的上升沿开始,在 CS 的下降沿停止。

2. 一次转换的数据流单位是 24 位。

3. 从 SIN 引脚输入地址和数据时,在 CS = 1 的条件下,时钟信号 SCK 保持一致。

4. 在 SCK 信号的上升沿,数据被打入 IC。同时,数据输出时,在 SOUT 引脚读出(数据在 SCK 的上升

沿输出)。

5. 当 CS=0 时,SOUT 输出高阻态。并且当 CS=1 时,输出“0”除非有数据读出。

6. 当 CS=0 时,复位整个串行接口控制。

1.2 数据格式

步进驱动

C0:寄存器读写选择: 0:写模式;1:读模式

C1:不使用

A5~A0:寄存器地址

D15~D0:写入寄存器的数据

1.3 寄存器分布图

步进驱动

1.4 寄存器列表

步进驱动

步进驱动步进驱动

1.5 寄存器建立时刻

步进驱动

步进驱动

  * 0→1:起作用于DT1x ;1→0:起作用于DT2x

  原则上来说,用于细分步进的寄存器的建立,应该在起始点延时的这段时间段执行完(参考17页

图)。在起始点延时这段时间外,写入的数据也能被存入寄存器。然而,如果写操作在刷新时间后继

续执行的话,好比在起始点激励延时的最后,建立刷新时刻不会在计划的时刻有效。举例说明:如果

在起始点激励延时后更新的数据1 4如下图一样被写入,数据1和2在a时刻立即被更新,数据3和4在b

时刻被更新。即使数据是连续写入的,更新的时间间隔了1个VFx的周期。

  由于上述原因,为了数据及时更新,寄存器数据的建立需要在起始点延时的这段时间段执行完。

步进驱动

2. VFx信号内部处理

  这个系统中,步进电机的反应时间和旋转时间分别基于VFx的上升沿。VFx的极性能通过下面的寄

存器设置。

寄存器细节描述

MODESEL_FZ (VFx 极性选择)

步进驱动

MODESEL_FZ设置输入IC内部的VFx的极性。

当设置为“0”,极性基于VFx的上升沿。当设置为“1”,极性基于VFx的下降沿。

MODESEL_FZ选择输入VFx的极性。当MODESEL_FZ的翻转时刻,如下图所示,内部会产生一个VFx信

号,此时刻与VFx的边沿无关。

步进驱动

3. 步进电机细分步进驱动

3.1 模块框图

步进驱动

  上图中模块是一个步进电机驱动内部示意图。下面的一些设置可以用来执行一系列的控制。

(下面是对 A 通道步进电机:H 桥驱动器 α/β 的描述。通道 B,C,D 与通道 A 电机执行一样的算法)

主要的设置参数:

相位矫正:驱动器 α 和驱动器 β 的相位差目标在 90°;

可以实现-22.5° +21.8°的相位修正 。                                      ——>PHMODx[5:0]

幅度设置:能独立设置驱动器 α/β 的负载驱动电流                        ——>PPWAα[7:0],PPWAβ[7:0]

PWM 频率:驱动器输出的 PWM 波频率设置                              ——>PWMMODEAB[4:0],PWMRESAB[1:0]

微步进分频数:微步数能设置成 64,128 和 256 微步进模式             ——>MICROAB[1:0]

步进周期:电机旋转速度设置。

电机旋转速度与正弦波的的微步进模式无关                                  ——>INTCTA[15:0]

3.2 相关设置的建立时刻

建立时刻和相关时间如下所示

  地址 07h 到 0Ah 的设置同 02h 到 05h 的设置相同,所以 07h 到 0Ah 的描述就省略了。如果相关寄

存器被刷新,则每一个 VF 周期来到时,会实现一次设置的加载刷新。当同样的设置被执行时超过 2 个

VF 脉冲时,没有必要在每个 VF 脉冲都写入寄存器数据。

DT1AB[7:0](起始点延时,地址 20h)

  更新数据时间设置。在系统硬件复位后(48 引脚 RSTB:低→高),开始激励和驱动电机前

(DT1AB 结束),必须设置此项。

由于这个设置在每次 VF 脉冲来到时更新,没有必要一定在起始点延迟时间段内写入。

PWMMODEAB[4:0],PWMRESAB[1:0](微步进输出 PWM 波频率,地址 20h)

  设置微步进输出 PWM 波频率。需要在开始激励和驱动电机前设置执行(DT1AB 结束)。

DT2A[7:0](起始点激励延时,地址 22h)

  更新数据时间设置。复位后(48 引脚 RSTB:低→高),需要在开始激励和驱动电机前被设置执行

(DT1AB 结束)。

PHMODA[5:0](相位矫正,地址 22h)

  通过矫正线圈 α 和 β 的相位差,驱动器产生的噪声会减少。合适的相位矫正必须依据于电机的旋

转方向和速度,此设置需要随着旋转方向 (CCWCWA)或者旋转速度 (INTCTA)的变化而改变。

PPWAα[7:0],PPWAβ[7:0](峰值脉冲宽度,地址 23h)

  设置 PWM 最大占空比。设置需要在开始激励和驱动电机前被设置执行(DT1AB 结束)。

PSUMA[7:0](步进电机步进数,地址 24h)

  1 个 VFx 的时间间隔内的电机的转动次数设置。

  每次 VFx 脉冲输入时,电机转动所设置的次数。因此,设置次数为“0”是可以停止电机的转动。当

设置的转动次数总额超过了 1 个 VFx 脉冲的时间,超出部分会被取消。

步进驱动

CCWCWA(转动方向,地址 24h)

  电机转动方向设置,只要在选择转动方向前设置即可。

BRAKEA(电机刹车设置,地址 24h)

  刹车时设置电流为 0。由于执行此设置时,很难得到电机的最终位置,所以此设置一般用于立即

停止电机。

ENDISA(电机工作 Enable/Disable,地址 24h)

  设置电机工作使能。当设置为不使能时,电机引脚输出高阻态,电机正在转动时不要设置成

disable。

MICROA[1:0](正弦波分频数,地址 24h)

  设置正弦波的分频数。这个设置不改变转动次数和转动速度。只有当转速达不到要求时,才需要

设置此项。复位后(48 引脚 RSTB:低→高),设置有效。

INTCTA[15:0](脉冲周期,地址 25h)

  脉冲周期设置。转动速度决定于这个设置。

3.4 寄存器细节描述

注:(1) 通道 AB 与 CD 是设置是一样的,只是寄存器的地址分别是 0Xh 与 2Xh 的区别,CD 通道

不做重复描述,如 DT1AB 做了描述,DT1CD 没有描述。

(2)通道 A 与通道 B 为镜像通道,同名寄存器如 PPWAα 与 PPWBα,DT2A 与 DT2B 设置方法也一

致,也不做重复描述。

DT1AB[7:0](A 与 B 通道电机起始点等待时间)

步进驱动

DT1CD[7:0](C 与 D 通道电机起始点等待时间)

步进驱动

DT1AB[7:0]设置数据写入系统的延时时间(起始点等待时间)

  电机可以精确地在起始点等待时间从“1”到“0”翻转后被激活。起始点等待时间从视频同步信号

(VFx)的上升沿开始计算。

  由于起始点延时时间是主要是用来等待串行数据的写入。应该设置寄存器值大于“0”,如果是“0”

的话,相应的数据不能更新。

步进驱动

  DT2A[7:0]和 DT2B[7:0]设置通道 A 电机和通道 B 电机开始转动前的等待延迟时间。

  在起始点激励等待时间从“1”到“0”翻转后,电机开始转动。起始点激励等待时间是在起始点等待

时间结束时刻开始计算。

  这个信号是 A,B 通道的单独延迟。应该设置寄存器值大于“0”,如果是“0”的话,相应的数据不能

更新。

步进驱动

  PWMMODEAB[4:0]通过设置系统时钟 OSCIN 的分频数来设置微步进输出 PWM 的频率。

  PWMMODEAB[4:0]能在 131 的范围内设置,PWM 波的频率在 PWMMODE = 0 和 PWMMODE = 1

时候的取值是一样的。

  PWMRESAB[1:0]与 PWMMODEAB[4:0]一起决定 PWM 频率

PWM 频率由下面的式子进行计算

                                      PWM 频率 = OSCIN 频率 / ((PWMMODE × 23 ) × 2PWMRES)  

步进驱动

PHMODD[5:0](D 通道电机相位矫正)

步进驱动

  通道 A 步进电机的 α 相 H 桥电流和 β 相 H 桥电流的相位差由 PHMODA[5:0]设置。默认为 90°,设

置 1 个单位为 0.7°,同时数据可以取正反偏差。

步进驱动

  步进电机两相线圈之间的相位差一般为 90°。但是,因为电机的不同或者工艺偏差,相位差也会

偏移出 90°。因此,即使驱动波形电流的相位差 90°,但是电机本身不是相差 90°,也会产生转矩纹

波,噪声还是存在的。

  这个设置主要是减少由于电机变化时产生的转矩纹波。

步进驱动

步进驱动

PPWAx[7:0]到 PPWDx[7:0]设置 PWM 波的最大占空比,决定驱动器 A 到 D 两相输出电流峰值的位置。

最大占空比由下式进行计算:

                                    驱动器 X 最大占空比 = PPWxx/ (PWMMODExx × 8)

当 PPWxx = 0,线圈电流为 0。

举例,当 PPWAx[7:0] = 200,PWMMODEAB[4:0] = 28,最大占空比为:

                                                                                                 200 / (28 × 8) = 0.89

根据 PWMMODExx 和 PPWxx 的值,最大占空比可能超过 100%,

实际中,PWM 中占空比当然不可能超过 100% ,正弦波峰值点会被削去如下图所示:

举例说明,当 PWMMODExx = 10,PPWxx = 96,

                                                     最大占空比 = 90/(10 × 8) = 120%

目标电流的波形如下显示:

步进驱动步进驱动

  只要 PWM 波最大占空比设置不为“0”,当 PSUMx[7:0]=0 时,电机都可以保持在释放时状态。

一个实例来看此设定的意义:

  当 PSUMA[7:0]=8 被设定,在 64 细分模式下运行 2x8=16 步,即 16/64=1/4 个 sin 周期。同理,在

128 与 256 细分模式下,同样是 1/4 个正弦波周期。

步进驱动

步进驱动步进驱动

                                         ENDISA 和 ENDISB 分别设置通道 A 电机和通道 B 电机的输出控制。

                                         当 ENDISx = 0 时输出高阻态。然而,内部的激励位置计数器在 ENDISxx = 0 仍然保持计数。因此,

                                     当在正常状态下想要停止电机,设置 PSUMx[7:0] = 0,而不是设置 ENDISx = 0。

步进驱动步进驱动步进驱动

                                 当 INTCTA[15:0]=0,只要 PWM 最大占空比不为 0,电机就保持在释放时状态。

                                     举例说明:当 INTCTA[15:0]=400 时,64 细分下每步周期:

                                                                            12×400/27MHz=0.178ms

                              因此,每个正弦波周期为 0.178x64=11.4ms (87.9Hz);同样计算,128 细分与 256 细分下也为 11.4ms。

步进驱动

典型应用电路图

步进驱动

1. MS41959 具有背部散热 PAD,大功率应用时必须接地。

2. 在 OSCIN 管脚(PIN41) 与 OSCOUT(PIN42) 之间,内置放大电路与 SMIT 电路,所以 OSCIN 与 OSCOUT

之间可以使用低成本的无源晶振;也可以在 OSCIN 管脚接有源晶振的输出(OSCOUT 悬空),或者其

他 MCU 的 CLK 输出。直流输入与交流输入幅度要求有差异。

——爱研究芯片的小王

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分