This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DRV8308:DRV8308内部寄存器模式

Guru**** 2354540 points
Other Parts Discussed in Thread: DRV8308
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/637108/drv8308-drv8308-internal-register-mode

部件号:DRV8308

你好我的朋友。

本公司生产黑白激光打印机。 DRV8038在我们其中一台40PPM的打印机中设计,用于驱动BLCD电机。 DRV8038在内部寄存器模式下工作,从120个三霍尔换向自动转换为180个正弦换向。 DRV8038的BLCD电动机通常沿相反方向和反方向驱动。

问题是:当DRV8038只驱动一些力矩较小的车轮齿轮时,BLCD电机运行速度更快。 当DRV8038驱动轮齿轮和热凝器+滚筒作用力较大时,BLCD电机运行速度较慢。 当DRV8038驱动轮齿轮和热凝器+滚筒和碳粉盒施加最大力时,BLCD电机运行最慢。 但SPI寄存器值不会更改。

本公司还在本公司的打印机产品(如NEDIC)中应用了其它一些电机模块(BLCD电机及其匹配驱动器),但从未发生过这种情况。 电机模块始终以相同的速度运行,并具有不同的力矩。如果力矩对电机模块来说过大,电机模块将停止运行,但不会变慢。

我们希望DRV8038能够将其BLCD电机的速度提高到40PPM,但不会变慢和变慢。 或者DRV8308可能不适合,请推荐匹配型号。

这是我们公司首次与TI进行自设计电机驱动器,但我们的经验不足。 请帮助我们。 内部寄存器的配置如下所示。此配置是否有一些错误?

// CTRL1寄存器
G_CTRL1_REG.Address = 0x00;
G_CTRL1_REG.AG_SETPT = 9;//=1.5KHz (AutoGain = LOOPGAIN * fCLKIN / AG_SETPT)
G_CTRL1_REG.ENPOL = 0x0;//启用为高时设备处于活动状态
G_CTRL1_REG.DIRECPOL = 0x0;// DIR高时的正常方向
G_CTRL1_REG.BRKPOL = 0x0;//制动器处于高位时制动
G_CTRL1_REG.SYNRECT = 0x1;//同步整流可实现更好的速度控制和更高的效率
//G_CTRL1_REG.PWMF = 0x0;//speed= 1500高速 Ω+PWMF=025KHz,40US:U-Duty (24V)= 14.4us,U-120°=快4.51ms
G_CTRL1_REG.PWMF = 0x1;//speed= 1500高速+PWMF=050KHz / 20us:U-Duty (24V)= 7.00us,U-120°= 4.77ms快速
//G_CTRL1_REG.PWMF = 0x2;//speed= 1500高速+PWMF=100KHz / 20us:U-Duty (24V)= 3.26us,U-120°= 5.33ms慢
//G_CTRL1_REG.PWMF = 0x3;//speed= 1500高速 Ω+PWMF=200kHz/05us:U-Duty (24V)= 1.20us,U-120°=慢7.76ms
//G_CTRL1_REG.SPDMODE = 0x0;//时钟频率模式
//G_CTRL1_REG.SPDMODE = 0x1;//时钟PWM模式(PWMF有效MOD120=有效CLKIN无效)
G_CTRL1_REG.SPDMODE = 0x2;//内部寄存器PWM模式(PWMF有效MOD120=有效CLKIN无效)
G_CTRL1_REG.FGSEL = 0x0;//0:使用HALL_U生成FG 1:使用所有3个霍尔传感器的XOR 2:使用FG放大器输入3:使用TACH输入
//G_CTRL1_REG.BRKMOD = 0x0;//启用未激活时关闭(输出3态)
G_CTRL1_REG.BRKMOD = 0x1;//启用未激活时制动(输出3态)
G_CTRL1_REG.retry = 0x1;//发生故障时自动重试

//高级寄存器
G_Advance REG.Address = 0x01;
G_Advance REG.Advance = 33;//后移计时与霍尔信号(33/960*Hall_U周期)

// COMCTRL1寄存器
G_COMCTRL1_REG.Address = 0x02;
//G_COMCTRL1_REG.SPDREVS = 3;//003*2.56ms=7.68ms锁定前从到达的最小Hall_U时间
G_COMCTRL1_REG.SPDREVS = 4;//004*2.56ms=10.24毫秒锁定前到达的最小Hall_U周期
//G_COMCTRL1_REG.MINSPD = 50;//195*2.56ms=499.2毫秒可设置锁止前制动器的最小霍尔_U时间
//G_COMCTRL1_REG.MINSPD = 180;//180*2.56ms=460.8ms制动器在锁定前的最小霍尔_U时间
G_COMCTRL1_REG.MINSPD = 195;//195*2.56ms=499.2毫秒可设置锁止前制动的最小Hall_U周期

// MOD120寄存器
G_MOD120_REG.Address = 0x03;
G_MOD120_REG.BASIC = 0x0;//允许120°单呼/1-霍尔或180°正弦换向
//G_MOD120_REG.basic = 0x1;//force 120°standard/3-霍尔换向并禁用高级功能
//G_MOD120_REG.SPEEDTH = 0x5;//在锁定保持设置= 6.25 % 时,允许在Hall_U期间内出现速度变化
G_MOD120_REG.SPEEDTH = 0x6;//在锁定保持设置= 12.5 % 时,允许在Hall_U期间出现速度变化
G_MOD120_REG.MOD120 = 3970;//从120°操作平稳过渡到180°操作
//G_MOD120_REG.MOD120 = 4095;//速度= 1500高速 Ω+PWMF=100kHz/10us:U-Duty (24V)= 6.9us,U-120°= 3.32ms
//G_MOD120_REG.MOD120 = 1500高速;//speed=Pf ü r+PMMF=100kHz/10us:U-Duty (24V)=5.1us,U-120°= 3.32ms
//G_MOD120_REG.MOD120 = 2048;//speed=1500高速+PWMF=100kHz/10us:U-Duty (24V)=3.3us,U-120°=5.3ms
//G_MOD120_REG.MOD120 = 1048;//speed=+PWMF=100kHz/10us:U-Duty (24V)=1.4us,U-12.015万0高速°=15ms

//驱动器寄存器
G_DRIVE_REG.Address = 0x04;
G_DRIVE_REG.LRTIME = 0x0;
G_DRIVE_REG.HALLRST = 0x0;//设置每个换向计数器重置通过的hall_U循环数。 换言之,
//换向计数器每N hall_U边缘重置一次。 可用选项包括1,2,4和8。
G_DRIVE_REG.DELAY = 0x0;//配置霍尔信号后面的前进
//G_DRIVE_REG.DELAY = 0x1;//配置霍尔信号前的前进
G_DRIVE_REG.AUTOADV = 0x0;//禁用自动提前补偿
//G_DRIVE_REG.AUTOADV = 0x1;//启用自动提前补偿转得快多了
G_DRIVE_REG.AUTOGAIN = 0x1;//启用自动增益补偿
//G_DRIVE_REG.ENSINE = 0x0;//选择120°单霍尔换向(基本=0)
G_DRIVE_REG.ENSINE = 0x1;//选择180°正弦换向(基本=0)
G_DRIVE_REG.TDRIVE = 0x1;//=5us前置驱动器高电流驱动时间
G_DRIVE_REG.DTIME = 0x0;
G_DRIVE_REG.IDRIVE = 0x0;//=10mA预驱动器输出峰值电流
//G_DRIVE_REG.IDRIVE = 0x2;//=30mA反转有时不对
G_DRIVE_REG.IDRIVE = 0x3;//=50mA前置驱动器输出峰值电流
//G_DRIVE_REG.IDRIVE = 0x4;//=90mA所有120°换向,错误???

// SPDGAIN寄存器
G_SPDGAIN_REG.Address = 0x05;
G_SPDGAIN_REG.INTCLK = 0x3;//50MHz/2^3=6.25MHz
//G_SPDGAIN_REG.INTCLK = 0x5;//50MHz/2^5=1.5625MHz
G_SPDGAIN_REG.SPDGAIN = 0x007;//无效

// FILK1寄存器
G_FILK1_REG.Address = 0x06;
G_FILK1_REG.HALLPOL = 0x0;//霍尔信号逻辑电平是直接必须=0
G_FILK1_REG.BYPFILT = 0x0;//启用FILK1和FILK2配置的过滤器
G_FILK1_REG.FILK1 = 1200;//极频率滤波系数[100Hz~1600Hz] 1200=573.521Hz

// FILK2寄存器
G_FILK2_REG.Address = 0x07;
G_FILK2_REG.FILK2 = 950;//零频率的滤波系数[2Hz~100Hz] 950=56.286Hz

// COMPK1寄存器
G_COMPK1_REG.Address = 0x08;
G_COMPK1_REG.BYPCOMP = 0x0;//整套COMPK1和COMPK2配置的补偿器
G_COMPK1_REG.COMPK1 = 300;//极频率补偿系数300=142.3935Hz

// COMPK2寄存器
G_COMPK2_REG.Address = 0x09;
G_COMPK2_REG.AA_SETPT = 0x0;//=3Hz (自动高级=高级* fHall_U / AA_SETPT)
G_COMPK2_REG.COMPK2 = 600;//零频率补偿系数600=35.537Hz

// LOPGN寄存器
G_LOOPGN_REG.Address = 0x0A;
G_LOOPGN_REG.OCPDEG = 0x3;// VFETOCP触发器的脱模时间=5us / OCP忽略电压峰值的脱毛时间=5us
G_LOOPGN_REG.OCPTH = 0x3;// VFETOCP的保护阈值(FET的漏极至电源过压=1V,用于过电流保护)
G_LOOPGN_REG.OVTH = 0x0;// VOVLO保护阈值(VM过压=29V)<?? 0=29V 1=34V ?>
//G_LOOPGN_REG.OVTH = 0x1;// VOVLO保护阈值(VM过压=34V)<?? 0=29V 1=34V ?>
G_LOOPGN_REG.VREF_EN = 0x0;//VREG仅在启用时启用
G_LOOPPGN_REG.LOOPGAIN = 100;//设置速度控制回路的整体增益
G_LOOPPGN_REG.LOOPGAIN = 40;//设置速度控制回路的整体增益

Thks & Rgds

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    部件号:DRV8308

    你好我的朋友。  

    本公司 生产 黑白激光打印机。 DRV8038在我们其中 一台 40PPM的打印机中设计,用于驱动BLCD电机。 DRV8038在内部寄存器模式下工作,从120个三霍尔换向 自动转换为180个正弦换向。  DRV8038 的  BLCD电动机通常沿相反方向和反方向驱动。  

    问题是 :当DRV8038只驱动一些 力 矩较小的车轮齿轮时, BLCD电机运行速度更快。   当DRV8038驱动轮齿轮和热凝器+ 滚筒 作用力较大时, BLCD电机运行速度较慢。   当DRV8038驱动轮齿轮和 热凝器+ 滚筒和碳粉盒 施加最大力时, BLCD电机运行最慢。  但SPI 寄存器值 不会更改。  

    本公司还 在本公司的打印机产品(如NEDIC)中应用了其它一些电机模块(BLCD电机及其匹配驱动器),但从未发生过这种情况。  电机模块始终以相同的速度运行,并具有不同 的力矩。如果 力矩对 电机模块来说过大,电机模块将停止运行,但不会变慢。

    我们希望 DRV8038能够将 其BLCD电机的速度提高到40PPM,但不会变慢和变慢。 或者DRV8308 可能不适合,请 推荐匹 配型号。

    这是我们公司首次与TI进行自设计电机驱动器,但 我们的经验不足。 请帮助我们。   内部寄存器的配置如下所示。此配置是否有一些错误?

    // CTRL1寄存器
    G_CTRL1_REG.Address = 0x00;
    G_CTRL1_REG.AG_SETPT = 9;//=1.5KHz (AutoGain = LOOPGAIN * fCLKIN / AG_SETPT)
    G_CTRL1_REG.ENPOL = 0x0;//启用为高时设备处于活动状态
    G_CTRL1_REG.DIRECPOL = 0x0;// DIR高时的正常方向
    G_CTRL1_REG.BRKPOL = 0x0;//制动器处于高位时制动
    G_CTRL1_REG.SYNRECT = 0x1;//同步整流可实现更好的速度控制和更高的效率
    //G_CTRL1_REG.PWMF = 0x0;//speed= 1500高速 Ω+PWMF=025KHz,40US:U-Duty (24V)= 14.4us,U-120°=快4.51ms
    G_CTRL1_REG.PWMF = 0x1;//speed= 1500高速+PWMF=050KHz / 20us:U-Duty (24V)= 7.00us,U-120°= 4.77ms快速
    //G_CTRL1_REG.PWMF = 0x2;//speed= 1500高速+PWMF=100KHz / 20us:U-Duty (24V)= 3.26us,U-120°= 5.33ms慢
    //G_CTRL1_REG.PWMF = 0x3;//speed= 1500高速 Ω+PWMF=200kHz/05us:U-Duty (24V)= 1.20us,U-120°=慢7.76ms
    //G_CTRL1_REG.SPDMODE = 0x0;//时钟频率模式
    //G_CTRL1_REG.SPDMODE = 0x1;//时钟PWM模式(PWMF有效MOD120=有效CLKIN无效)
    G_CTRL1_REG.SPDMODE = 0x2;//内部寄存器PWM模式(PWMF有效MOD120=有效CLKIN无效)
    G_CTRL1_REG.FGSEL = 0x0;//0:使用HALL_U生成FG 1:使用所有3个霍尔传感器的XOR 2:使用FG放大器输入3:使用TACH输入
    //G_CTRL1_REG.BRKMOD = 0x0;//启用未激活时关闭(输出3态)
    G_CTRL1_REG.BRKMOD = 0x1;//启用未激活时制动(输出3态)
    G_CTRL1_REG.retry = 0x1;//发生故障时自动重试

    //高级寄存器
    G_Advance REG.Address = 0x01;
    G_Advance REG.Advance = 33;//后移计时与霍尔信号(33/960*Hall_U周期)

    // COMCTRL1寄存器
    G_COMCTRL1_REG.Address = 0x02;
    //G_COMCTRL1_REG.SPDREVS = 3;//003*2.56ms=7.68ms锁定前从到达的最小Hall_U时间
    G_COMCTRL1_REG.SPDREVS = 4;//004*2.56ms=10.24毫秒锁定前到达的最小Hall_U周期
    //G_COMCTRL1_REG.MINSPD = 50;//195*2.56ms=499.2毫秒可设置锁止前制动器的最小霍尔_U时间
    //G_COMCTRL1_REG.MINSPD = 180;//180*2.56ms=460.8ms制动器在锁定前的最小霍尔_U时间
    G_COMCTRL1_REG.MINSPD = 195;//195*2.56ms=499.2毫秒可设置锁止前制动的最小Hall_U周期

    // MOD120寄存器
    G_MOD120_REG.Address = 0x03;
    G_MOD120_REG.BASIC = 0x0;//允许120°单呼/1-霍尔或180°正弦换向
    //G_MOD120_REG.basic = 0x1;//force 120°standard/3-霍尔换向并禁用高级功能
    //G_MOD120_REG.SPEEDTH = 0x5;//在锁定保持设置= 6.25 % 时,允许在Hall_U期间内出现速度变化
    G_MOD120_REG.SPEEDTH = 0x6;//在锁定保持设置= 12.5 % 时,允许在Hall_U期间出现速度变化
    G_MOD120_REG.MOD120 = 3970;//从120°操作平稳过渡到180°操作
    //G_MOD120_REG.MOD120 = 4095;//速度= 1500高速 Ω+PWMF=100kHz/10us:U-Duty (24V)= 6.9us,U-120°= 3.32ms
    //G_MOD120_REG.MOD120 = 1500高速;//speed=Pf ü r+PMMF=100kHz/10us:U-Duty (24V)=5.1us,U-120°= 3.32ms
    //G_MOD120_REG.MOD120 = 2048;//speed=1500高速+PWMF=100kHz/10us:U-Duty (24V)=3.3us,U-120°=5.3ms
    //G_MOD120_REG.MOD120 = 1048;//speed=+PWMF=100kHz/10us:U-Duty (24V)=1.4us,U-12.015万0高速°=15ms

    //驱动器寄存器
    G_DRIVE_REG.Address = 0x04;
    G_DRIVE_REG.LRTIME = 0x0;
    G_DRIVE_REG.HALLRST = 0x0;//设置每个换向计数器重置通过的hall_U循环数。 换言之,
    //换向计数器每N hall_U边缘重置一次。 可用选项包括1,2,4和8。
    G_DRIVE_REG.DELAY = 0x0;//配置霍尔信号后面的前进
    //G_DRIVE_REG.DELAY = 0x1;//配置霍尔信号前的前进
    G_DRIVE_REG.AUTOADV = 0x0;//禁用自动提前补偿
    //G_DRIVE_REG.AUTOADV = 0x1;//启用自动提前补偿转得快多了
    G_DRIVE_REG.AUTOGAIN = 0x1;//启用自动增益补偿
    //G_DRIVE_REG.ENSINE = 0x0;//选择120°单霍尔换向(基本=0)
    G_DRIVE_REG.ENSINE = 0x1;//选择180°正弦换向(基本=0)
    G_DRIVE_REG.TDRIVE = 0x1;//=5us前置驱动器高电流驱动时间
    G_DRIVE_REG.DTIME = 0x0;
    G_DRIVE_REG.IDRIVE = 0x0;//=10mA预驱动器输出峰值电流
    //G_DRIVE_REG.IDRIVE = 0x2;//=30mA反转有时不对
    G_DRIVE_REG.IDRIVE = 0x3;//=50mA前置驱动器输出峰值电流
    //G_DRIVE_REG.IDRIVE = 0x4;//=90mA所有120°换向,错误???

    // SPDGAIN寄存器
    G_SPDGAIN_REG.Address = 0x05;
    G_SPDGAIN_REG.INTCLK = 0x3;//50MHz/2^3=6.25MHz
    //G_SPDGAIN_REG.INTCLK = 0x5;//50MHz/2^5=1.5625MHz
    G_SPDGAIN_REG.SPDGAIN = 0x007;//无效

    // FILK1寄存器
    G_FILK1_REG.Address = 0x06;
    G_FILK1_REG.HALLPOL = 0x0;//霍尔信号逻辑电平是直接必须=0
    G_FILK1_REG.BYPFILT = 0x0;//启用FILK1和FILK2配置的过滤器
    G_FILK1_REG.FILK1 = 1200;//极频率滤波系数[100Hz~1600Hz] 1200=573.521Hz

    // FILK2寄存器
    G_FILK2_REG.Address = 0x07;
    G_FILK2_REG.FILK2 = 950;//零频率的滤波系数[2Hz~100Hz] 950=56.286Hz

    // COMPK1寄存器
    G_COMPK1_REG.Address = 0x08;
    G_COMPK1_REG.BYPCOMP = 0x0;//整套COMPK1和COMPK2配置的补偿器
    G_COMPK1_REG.COMPK1 = 300;//极频率补偿系数300=142.3935Hz

    // COMPK2寄存器
    G_COMPK2_REG.Address = 0x09;
    G_COMPK2_REG.AA_SETPT = 0x0;//=3Hz (自动高级=高级* fHall_U / AA_SETPT)
    G_COMPK2_REG.COMPK2 = 600;//零频率补偿系数600=35.537Hz

    // LOPGN寄存器
    G_LOOPGN_REG.Address = 0x0A;
    G_LOOPGN_REG.OCPDEG = 0x3;// VFETOCP触发器的脱模时间=5us / OCP忽略电压峰值的脱毛时间=5us
    G_LOOPGN_REG.OCPTH = 0x3;// VFETOCP的保护阈值(FET的漏极至电源过压=1V,用于过电流保护)
    G_LOOPGN_REG.OVTH = 0x0;// VOVLO保护阈值(VM过压=29V)<?? 0=29V 1=34V ?>
    //G_LOOPGN_REG.OVTH = 0x1;// VOVLO保护阈值(VM过压=34V)<?? 0=29V 1=34V ?>
    G_LOOPGN_REG.VREF_EN = 0x0;//VREG仅在启用时启用
    G_LOOPPGN_REG.LOOPGAIN = 100;//设置速度控制回路的整体增益
    G_LOOPPGN_REG.LOOPGAIN = 40;//设置速度控制回路的整体增益

    Thks & Rgds  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,用户516.1585万,

    您的帖子已合并。 您能否提供更多详细信息?

    小力时刻的电机转速是多少?
    在较大的力矩下,电机转速是多少?

    您是否尝试在不同负载下保持相同的速度?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。
    "力矩"是指载荷,我认为是正确的词。
    我已经尝试过很多次在我们的打印机中保持相同的寄存器配置,但当打印机的负载变大时,BLCD电机的旋转速度总是变慢。 同时,BLCD电机的噪音也会变大。
    我相信BLCD电动机有什么问题,因为原来的驱动器IC是东芝的。 这款驱动器IC和这款BLCD电机可达到40PPM。 DRV8308用于而不是用于停止生产的Toshiba。 DRV8308在寄存器配置中更复杂,我不熟悉某些寄存器。 所以我想知道它是否有任何问题。
    更多详细信息意味着什么? 我需要提供电路图吗? 电路图参考数据表。
    Thks & Rgds