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.

[参考译文] DRV8434S:关于扭矩检测寄存器的返回值

Guru**** 2457760 points
Other Parts Discussed in Thread: DRV8434S

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1326133/drv8434s-about-the-return-value-of-the-torque-detection-register

器件型号:DRV8434S

我目前正在读取扭矩计数值、但我使用了多个双极步进电机。

计数值因电机而异。 我知道这是数据表上绕组导线的电阻值所致。

但是、根据电机的不同、扭矩计数值可能不会从0变化、也可能仅通过改变 Vref 引脚上的体积而变化。

扭矩计数当前保持在100以下。

扭矩计数是否像这样不稳定? 或者我是否使用不当?

我们期待收到任何有经验的人的来信。

【原文】
現在トルクカウントの値を読みだしていますが、バイポーラステッピングモーターを複数使用しましたが

モーターによってカウント値が変わってきます。これはデータシート上の巻き線の抵抗値などによるものと認識しています。

しかしモーターによってはトルクカウント値が0から変動しなかったり、またはvrefピンにあるボリュームを変えるだけでもトルクカウント値が変動します。

トルクカウントは今のところ100未満の値で推移しています。

トルクカウントはこのように安定しないものなのでしょうか。それとも私の使い方が間違っているのか

経験のある方ご連絡お待ちしております。

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

    由于已经很晚了、我将在明天上传 CTRL 寄存器的设置和电路配置。

    【原文】

    時間が遅いため明日、CTRLレジスタなどの設定値と回路構成などをアップロードします。

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

    您好!

    谢谢您的问题。 周一2月19日是美国的国家假日。 请预计会有一些延迟。

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

    使用 Pololu drv8434s 模块、旋转操作使用方向引脚和步进引脚、并且使用 SPI 读取内部信息。

    该电路简单、只是一个用于驱动器8434至 esp32的步进电机。 没有其他外设电路。

    【原文】
    Pololu drv8434sモジュールを使用して回転動作はdir、stepピンを使い、内部情報はspiを使い読みだしています。ć
    回路としては、ステッピングモーター 至 drv8434s 至 esp32 のだけのシンプルなものです。他の周辺回路はありません。

    ソースコード

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #包含
    #包含

    const uint8_t CSPin = 5
    const uint8_t DirPin = 17
    const uint8_t StepPin = 16
    const uint16_t StepPeriodu = 2000

    DRV8434S SD;

    void one_step (bool dir)
    {
     delayMicroseconds(1)
     digitalWrite (DirPin、dir)
     delayMicroseconds(1)
     digitalWrite (StepPin、HIGH)
     delayMicroseconds(2)
     digitalWrite (StepPin、LOW)
     delayMicroseconds(2)

    setup()
    {
     Serial.begin(115200);
     SPI.begin();
     sd.setChipSelectPin(CSPin);

     延迟(1)
     pinMode (StepPin、输出)
     digitalWrite (StepPin、LOW)
     pinMode (DirPin、输出)
     digitalWrite (DirPin、LOW)

     sd.initSettings();
     sd.clearFaults()
     sd.setCurrentPercent(100); //%
     sd.setStepMode(DRV8434SStepMode::MicroStep1_100);//full 步骤
     sd.enableDriver()

    void loop () //
    {
     OE_STEP (0)
     serial.print (5000);
     serial.print ("、")
     serial.print(SD.readCTRL8());
     serial.print ("、")
     serial.print(SD.readFault())
     serial.print ("、")
     serial.println (0)

     延迟(10)

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    sd.initSettings();在每个寄存器中设置以下值
    【原文】
     sd.initSettings();では各レジスタに以下の値をセットしています。
      ctrl1 = 0x00
      Ctrl2 = 0x0F
      ctrl3 = 0x00
      Ctrl4 = 0x30
      Ctrl5 = 0x18
      Ctrl6 = 0x03
      Ctrl7 = 0x30
    uint16_t  readCTRL8 ()
    {
      uint16_t data1 = driver.readReg (DRV8434SRegAddr::CTRL8)
      uint16_t data2 = driver.readReg (DRV8434SRegAddr::CTRL9)
      
      Data2 = data2 &=~0xf0;

      return (data1 |(data2 <<8))
    使用了以下组件。
    【原文】
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kamijyou-san:

    扭矩计数将根据电机生成的反电动势而变化。 BEMF 随着 R 和 L 以及电机的结构而减小。 遇到的扭矩变化是正常行为。 当电机失速时、如果扭矩计数 持续减少到阈值寄存器设置的阈值以下、将检测到失速。 如果扭矩计数非常低、比如小于20或那样、它可能无法检测到失速。 我们假设您能够检测到电机失速。 谢谢。

    此致、Murugavel

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

    ご回答ありがとうございます。またお返事が遅くなり申し訳ございません。トルクカウントとストール検出を併用して監視すると良いと思います。