
MS419XX系列马达驱动原理与教程.ppt
25页MS419XX系列马达驱动原理与使用教程,杭州瑞盟科技有限公司,,MS419XX系列马达驱动,…,,MS419XX系列马达驱动典型应用案例,,,MS41908,,,MS41908单芯片解决方案,,MS41908 / MS41909单芯片解决方案框图,,MS41909单芯片解决方案,,,MS41919 / MS41929单芯片解决方案,,MS41919 / MS41929单芯片解决方案框图,,,MS419XX系列马达驱动原理框图,,1、上图是MS419XX系列马达驱动的步进电机驱动部分的原理框图 2、从图可以看出,步进电机的转动最终是需要VDFZ这个激励信号 来触发的 3、步进电机的转动激励信号经过延时1(DAT1)、延时2(DT2X) 之后开始激励电机运行,也就是说,电机的下一个转动动作需要等待DT1 + DT2X的时间MS419XX系列标准的SPI写时序图,标准的SPI写时序,客户可以使用硬件SPI或者单片机IO口模拟的SPI,,MS419XX系列标准的SPI读时序图,标准的SPI读时序,客户可以使用硬件SPI或者单片机IO口模拟的SPI,,,MS419XX步进电机驱动初始化流程,1、上图是步进电机细分框图 2、初始化时,要先把6大主要参数设置; (1)相位校正参数:驱动器A和驱动器B相位差目标在90°,可修改-22.5°到+21.8°,对 应寄存器为PHMODXX[5:0](XX为AB或者CD) (2)幅度设置:能独立设置A/B驱动器的负载驱动电流,对应寄存器为PPWA[7:0]、PPWB[7:0]。
(3)PWM频率:驱动器输出的PWM波频率设置,对应寄存器PWMMODE[4:0]、PWMRES[1:0] (4)微步细分数设置:能设置为64、128、256细分模式,对应寄存器MICR0AB[1:0] (5)步进周期:设定步进电机转速,电机转速与所选择的细分模式无关,对应寄存器INTCTXX[15:0](XX为AB或者CD) (6)步进步数:设置VDFZ管脚信号每个上升沿步进电机所走的步数,对应寄存器PSUMXX[7:0](XX为AB或者CD) 3、按照以上初始化MS419XX驱动之后,VDFZ每个上升沿到来,步进电机就会转动所设定的步进数,并且等待下一个VDFZ上升沿到来,如果VDFZ不间断,那么步进电机就会连续转动MS419XX步进电机驱动初始化流程,用具体实例来说明初始化流程 1、首先把20H寄存器设置为0x1e03,即把PWMMODE设为0x1e,PWMRES设为0,那么根据PWM计算表达式,此时PWM频率为27MHz/(0x1e X 2^3)= 112.5KHz,DT1延时 = 3 X 303us,延时约1ms2、22H寄存器设置为0x0002,即PHMODAB[5:0]=0,DT2A = 2;就是设置驱动器A与驱动器B相位相差90°,DT2A = 2 X 303us = 606us延时3、23H寄存器设置为0x7878,即PPWA[7:0]、PPWB[7:0]都设置为0x78,调整输出负载电流, 占空比输出 = PPWX / (PWMMODE X 8)= 120 / (30 X 8) = 50%4、24H寄存器配置为0x040f,即MICR0AB[1:0] = 0,设为256细分,ENDISAB = 1,使能AB驱动器输出,PSUMAB = 0x0f,即设置每个VDFZ上升沿到来,步进电机走 0x0f / 8 = 2步距角。
5、25H寄存器设置为0x1AB5,即INTCTAB[15:0] = 0x1AB5,该值是设定步进电机每个步距角的运行时间,按照此值,每个步距角的运行时间为:0x1AB5 X 111ns = 0.759ms6、以上5个步骤是设定AB电机的,CD电机的设置也可以参考此值设置,如果设置CD电机,那么 应该要按照以下设置:27H设为0x0002,28H设为0x7878,29H设为0x040f,2AH设为0x1AB5PWM频率计算表达式,MS419XX步进电机驱动初始化流程,按照前面的初始化之后,只需要连续给VDFZ脉冲,步进电机就可以连续转动了,但是要注意两个VDFZ上升沿之间的间隔一定要稍微大于电机运行的总时间,否则电机会有丟步具体如上图所示,1、上图是数字直观表现出VDFZ上升沿到来之后到电机运行开始到结束的过程 2、从上图可以看出,VDFZ上升沿经过DT1 + DT2时间延迟之后 电机开始运行,电机运行时间是PSUMXX的值与INTCTXX的值相乘,因为PSUMXX是表示电机运行的步数,INTCTXX是表示电机每步距角运行的时间,所以两个寄存器的值共同决定电机每个VDFZ上升沿所运行的时间。
MS419XX系列电机驱动调速流程与原理说明,1、首先设定每个STEP(每步)的时间,通过寄存器INTCTXX[15:0],XX表示AB或者CD,为AB的时候表示调整的是α电机的STEP时间,CD表示调整β电机的STEP时间一个STEP时间与INTCTXX[15:0]的关系:STEP_time = (INTCTXX[15:0] × 192)/ 27M,单位秒,分母为MS419XX的输入频率,典型输入频率为27M2、其次设定每个VD上升沿运行的STEP数,STEP与PSUMXX[7:0]的关系如下式 STEP = PSUMXX[7:0] /83、那么每一个VD的上升沿运行的总时间为: VD_time = STEP_time x STEP = (INTCTXX[15:0] × 192)/ 27M x PSUMXX[7:0] /8 = INTCTXX[15:0] ×PSUMXX[7:0] × 24 / 27M 即VD_time = INTCTXX[15:0] ×PSUMXX[7:0] × 24 / 27M(单位:秒) 例如:VD_time = 1ms,即10^-3s,代入上式得出INTCTXX[15:0] ×PSUMXX[7:0] = 1125, 所以如果只要INTCTXX[15:0] ×PSUMXX[7:0]乘积不变,那么VD_time时间也是不变的。
4、设定起始点等待时间DT1与DT2X,就是设定VD上升沿之后多长时间之后步进电机开始运行,建议一般设置为3ms以内,由于时间短,实际运行起来是没有停顿感的,也不会有丟步因为在DT1时间结束后,再经过DT2X时间,步进电机会从停止的地方开始运行,所以不会有丟步在DT1时间内更新INTCTXX[15:0]或者PSUMXX[7:0]的值,等待下一个VD上升沿后执行,所以寄存器值的更新也不一定要在DT1里面就更改,只要保证在下一个VD上升沿到来之前更改即可加、减速的就是通过合理调整这两个寄存器来实现的5、根据1、2、3、4步就可以确定VD的频率了,两个VD的上升沿之间的时间应该要比运行的总时间加上DT1的时间相等或者稍长,这样才是最合理的,也能通过VD的脉冲数来确定步进电机转动的步数6、通过以上5个步奏就能实现对步进电机进行加、减速的控制MS419XX系列步进电机驱动,还可以针对低压的小电机做一些小云台,特别是对噪声抑制有要求场合,比如一些摄像机云台,有麦克风采集声音,所以云台一定要超静音此时选择MS419XX系列步进电机驱动是最好的选择MS419XX系列步进电机驱动除了机芯驱动的其它应用领域,MS41908 光圈驱动原理,闭环状态下,根据PID公式,闭环工作时,理想状态下,u(k)趋于0,即10位ADC的输出与IRS_TGT值相同。
光圈自动调整PID环路工作原理框图,光圈模块的种类,A类,B类,C类,主要有三种一体化光圈,A类是无霍尔反馈,只带阻尼输出的;B类是带霍尔反馈的;C类是既带霍尔也带阻尼反馈的MS41908只支持B类和C类一体化光圈,PID自动光圈要设置的主要参数,1、低通滤波器截止频率选择 2、前置滤波器截止频率选择 3、PID参数设置 4、后置滤波器截止频率选择 5、PWM频率选择 6、增益放大器增益设置 7、霍尔DAC偏置电流设置 8、霍尔增益放大器截止频率选择与DAC补偿 9、光圈需求值设置,PID自动光圈要设置的主要参数,1、00H寄存器设置为0,即光圈目标值IRSTGT[9:0]设为0(光圈全闭状态)2、01H寄存器设置为0,即使几个滤波器的截止频率都为默认的最低值,PID增益即DGAIN[6:0]初步设为零,但是该值的确定应该是在35Hz的AD输入和是PID零点 = 35Hz,极点 = 900Hz,PWM频率 = 31.25KHz的条件下马达输入的增益3、02H寄存器设置为0x3500,即设置PID零点 = 35Hz,极点 = 950Hz4、03H寄存器设置为0x0230,即设置PID的PWM频率 = 31.25KHz5、04H寄存器设置为0x8040,即设置霍尔的偏置电流与偏置电压。
偏置电流和偏压调整的方法如下: 1)霍尔信号偏置电流设置 2)一旦失调电压被设置为 0(设置值为:80h),输出 OP3OUT 被调整(反馈到 10bit ADC)a)霍尔增益(HALL_GAIN[3:0])的调整使 OP3OUT 的输出在光圈完全打开和完全关断的范围 内,接近于目标值范围 举例说明:当目标值 DVDD = 3.0V,完全打开 = 0.2V,完全关闭 = 2.8V; 霍尔增益(HALL _GAIN[3:0])调整为使 OP3OUT 端口输出范围接近于 2.8V - 0.2V = 2.6V b)偏置电流被调整使得输出范围接近于目标值范围 c)失调电压被调整使得 OP3OUT 的输出接近于目标值范围 b 和 c 能分别执行6、05H寄存器设置为0x0004,即设置光圈目标值低通滤波器的截止频率为40Hz,一般情况该值应该要比VDIS低7、06H寄存器设置为0x000A,即START1[9:0] 设置Pulse1的开始时间从VD_IS的上升沿开始计算,直到达到了设置时间结束8、07H寄存器设置为0x0064,即WIDTH1[11:0]设置为Pulse1的脉宽从开始时间结束时同步开始计数,直到达到了设置的时间结束。
START1与WIDTH1时序关系,如右上图所示PID自动光圈要设置的主要参数,9、08H寄存器设置为0x000A,即START2[9:0] 设置Pulse2的开始时间10、09H寄存器是设置为0x8064,即WIDTH2[5:0]设置为Pulse2的脉宽从开始时间结束时同步开始计数,直到达到了设置的时间结束START2与WIDTH2时序关系,如下图所示11、0AH寄存器设置为0x075f,即DUTYTEST = 1, 驱动信号占空比与 PWM_IRIS[2:0] 的设置值有关 a 的计算方法是 a = {TGT_ IN_TEST[8:1],2’b00,TGT_IN _TEST[0]}(10位2进制数) b 如上面的表格所示和PWM_IRIS[2:0]有关 占空比由计算a/b得到如果a/b>1,占空比是100% 举例说明:当TGT_IN_TEST[8:0] = 80h,PWM_IRIS[2:0] = 2, a = {40h,2’b00’1’b0} = 200h a/b = 200h / 862 =0.59 12、0BH寄存器设置为0x0410,PID自动光圈要设置的主要参数,13、0EH寄存器设置为0x0E50,即设置光圈目标值平移每一步的时间,AVE_SPEED[4:0] = 0x0E, 举例说明: 设置AVE_SPEED[4:0]使得数据更新的速度和VD信号的周期基本相同。
如果VD = 60Hz,那么在8步调节的情况下,每一步的时间即 1 / (60Hz) / 8 = 2.08ms 参考表格,每一步的时间根据AVE_SPEED[4:0]的值可设置为2.12ms,所以光圈每隔17.0ms改变一次,。












