原创 运用于镜头驱动机器人等MS41969参数

2022-6-17 23:16 919 3 3 分类: 机器人/ AI

描述

MS41969 是一款双通道 12V 步进电机驱动芯片,通过具有电流细分的电压驱动方式以及扭矩纹波修正技术,实现了超低噪声微步进驱动。芯片另外内置一个直流电机驱动器。

MS41969 内置了晶振放大模块,可以使用无源晶振。

主要特点

电压驱动方式,256 细分微步进驱动电路(两通道)

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

四线串行总线通信控制马达

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

无源晶振

QFN36 封装(带散热片)

应用

机器人,精密工业设备

摄像机

监控摄像机

封装图

内部框图

管脚图

管脚说明图

模块框图

这个模块是一个用于聚焦和放大的步进电机驱动。下面的一些设置可以用来执行一系列的控制(下面是对α电机:驱动器 A/B 的描述。驱动器 C/D 和α电机执行一样的算法)

主要的设置参数:

1) 相位矫正:驱动器 A 和驱动器 B 的相位差目标在 90°;可以做-22.5°~ +21.8°的相位修正···PHMODAB[5:0]

2) 幅度设置:能独立设置驱动器 A/B 的负载驱动电流···PPWA[7:0],PPWB[7:0]

3) PWM 频率:驱动器输出的 PWM 波频率设置···PWMMODE[4:0],PWMRES[1:0]

4) 微步进分频数:微步数能设置成 64,128 和 256 微步进模式。···MICROAB[1:0]

5) 步进周期:电机旋转速度设置。电机旋转速度与正弦波的的微步进模式无关。···INTCTAB[15:0]

寄存器列表:

相关设置的建立时刻

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

地址 27h 到 2Ah 的设置同 22h 到 25h 的设置相同,所以 27h 到 2Ah 的描述就省略了。如果相关寄存器被刷新,则每一个 VFx 周期来到时会实现一次设置的加载刷新。当同样的设置被执行时超过2 个 VFx 脉冲时,没有必要在每个 VFx 脉冲都写入寄存器数据。

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

更新数据时间设置。在系统硬件复位后(引脚 RSTB:低→高),开始激励和驱动电机前(DT1 结束)这段时间内,必须设置此项.由于这个设置在每次 VFx 脉冲来到时更新,没有必要一定在起始点延迟时内写入。

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

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

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

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

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

通过矫正线圈 A 和 B 的相位差,驱动器产生的噪声会减少。合适的相位矫正必须依据于电机的旋转方向和速度,此设置需要随着旋转方向(CCWCWAB)或者旋转速度(INTCTABA)的变化而改变。

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

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

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

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

每次 VFx 脉冲输入时,电机转动所设置的次数。因此,设置次数为“0”是可以停止电机的转动。当设置的转动次数总额超过了 1 个 VFx 脉冲的时间,超出部分会被取消。

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

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

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

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

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

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

disable

LEDA(LES 设置,地址 24h)

LED 开/关设置。在 CS 的下降沿被设置。

(可以认为和电机驱动无关,能实现开/关的独立设置)。

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

设置正弦波的分频数。这个设置不改变转动次数和转动速度。

只有当转速达不到要求时才需要设置此项。复位后(引脚 RSTB:低→高),设置有效.

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

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

步进电机微步进驱动时,如何调整寄存器值

为了控制镜头,需要在每个 VFx 都要求设置电机转动次数和转动速度。相关设置的转动次数和速度的寄存器为:

INTCTxx[15:0]:设置每一步的时间(相应的,即转动速度)

PSUMxx[7:0]:每个 VFx 时段内转动总步数

当在连续的 VFx 时段内持续驱动电机,需要设置持续转动时间以适应 VFx 周期.

以下是电机转动时计算 INTCTxx[15:0]和 PSUMxx[7:0]的方法

1) 计算 INTCTxx[15:0](决定电机转动速度)

INTCTxx[15:0] × 768 = OSCIN 频率 / 转动频率

2) 由 INCTxx[15:0]计算 PSUMxx[7:0]。不能只看 PSUMxx[7:0]的值。

下面的等式成立时,持续转动时间和 VFx 时间相同,电机实现均匀转动

INTCTxx[15:0] × PSUMxx[7:0] × 24 = OSCIN 频率 / VFx 频率

3) 3) PSUMxx[7:0]设置完成后,由上式重新计算 INTCTxx[15:0]

举例说明

OSCIN 频率 = 27 MHz,VFx 频率 = 60Hz

计算 PSUMxx[7:0]和 INTCTxx[15:0]使电机在 800pps(1-2 相位)转动,1-2 相位,每步两拍,转化为相电流正旋波频率 800pps = 100Hz,所以

INTCTxx[15:0] = 27MHz / (100Hz × 768) =352

相应的

PSUMxx[7:0] = 1/(60Hz)×27MHz/ (352 ×24) = 53

重新计算 INTCTxx[15:0]得:

INTCTxx[15:0] = 1/(60Hz)×27MHz/ (53 ×24) = 354

如果上述 2)中等式左边比右侧小,转动时间比 VFx 时段小会引起不连续的转动。反之,超过 VFx 时段的转动会被取消。

直流电机E驱动电路

直流电机(摄像机中用于 IR-CUT)驱动采用SPI输入控制方式,通过写寄存器2Ch来控制H桥的

输出:

SWICH 寄存器:寄存器 REG_2CH<2> bit2,上电默认为‘0’’

IN1 寄存器:寄存器 REG_2CH<1>

bit1,上电默认为‘0’

IN2 寄存器:寄存器 REG_2CH<0>

bit0 上电默认为‘0’

输入输出真值表如下:

直流电机 SPI 模式下的延迟时间:

由于 SPI 串行输入写寄存器,每次写 22 个数据,还有 3 个控制位,所以从写寄存器 2CH,到控制时间真正起作用的传输延迟约为 Tsclk*25,如写数据串行时钟采用 0.5MHz,则数字延迟时间为 25*1/0.5M=50us ,此时 H 桥最大输出频率 10KHz

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

2.OSCIN 管脚(PIN9)与 OSCOUT(PIN10)之间内置放大电路与 SMIT 电路,所以 OSCIN 与OSCOUT 之间可以使用低成本的无源晶振;也可以在 OSCIN 管脚接有源晶振的输出(OSCOUT 悬空),或则其他 MCU 的 CLK 输出,系统开发者都可以自由选择,直流输入与交流输入幅度要求有差异

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条