电子说
产品简述
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]能在 131 的范围内设置,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 输出。直流输入与交流输入幅度要求有差异。
——爱研究芯片的小王
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !