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.

[参考译文] DRV2667:DRV2667模拟回放模式自动转换为待机模式。

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1197956/drv2667-drv2667-analog-playback-mode-automatically-transits-to-standby-mode

器件型号:DRV2667

大家好、我尝试输出方波(50Hz)、同时使用 raspberrypi4+更改 DRV2667的最大-50~50V 范围内的振幅。 我已经使用以下程序将 drv2667设置为模拟回放模式、但我发现它在执行设置1秒后检查待机位时进入待机模式。 什么可能导致它进入待机模式?

下面是设置程序:

import smbus
import time

drv2667_adrrs = [0x59]

# I2C write
def i2c_write(slave_adress :int, reg_adress :int, data :int):
    i2c.write_byte_data(slave_adress, reg_adress, data)
    check = i2c.read_byte_data(slave_adress, reg_adress)
    print("written to "+ str(slave_adress) +", register"+str(reg_adress)+ "="  + str(check))
    return
    
# I2C read
def i2c_read(slave_adress :int, reg_adress):
    data = i2c.read_byte_data(slave_adress, reg_adress)
    print("Device: "+ str(slave_adress) +", register"+str(reg_adress)+ "="  + str(data))
    return
    
def drv2667_setup(slave_adress):
    # Control
    i2c_write(slave_adress, 0x02, 0x00) # Exit STNBY mode
    i2c_write(slave_adress, 0x01, 0x3D) # DRV2667, Analog Mode, Gain: Vpp=100V
    i2c_write(slave_adress, 0x02, 0x02) # EN_OVERRIDE=1
    
    print("DRV2667 @" + str(slave_adress) + "is ready on Analog Amplifier Mode, Vout=50V when Vdd=3.6V")
    return
    
if __name__ == "__main__":
    # I2C Setting
    i2c = smbus.SMBus(1)

    # DRV2667のAnalog Mode Setup
    for addr in drv2667_adrrs:
        drv2667_setup(addr)
    time.sleep(1)
    
    # Check STANDBY bit
    i2c_read(drv2667_adrrs[0], 0x02)

在模拟模式测试期间、GND 被输入到 IN-、而5V 被输入到 IN+。 最终、要将方波基准设置为0V、来自 Raspberry Pi 的 PWM 波输出通过低通滤波器输入 IN+。 通过分压获得的2.5V 电压被输入至 IN-。

请提供任何帮助。

Naoki

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

    负载是一个具有6.5电容和100kΩ Ω 电阻器的器件、并联。

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

    通过在函数"i2c_write"中的写入和读取之间添加 time.sleep (0.01)、可以解决该问题!

    然而、即使 IN+和 IN-之间的电压为0V、输出也为15V。 为什么是这样?

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

    您好、Naoki、

    很高兴听到您找到了解决方案。  

    今天是 TI 假日。 我们的团队明天会看到您的问题、您应该在48小时内得到回复。

    请稍候回复、除非我们未能及时回复您。

    感谢您的耐心等待、

    Jeff McPherson

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

    您好、Naoki、  

    两个输出引脚上没有输入(IN+- IN-= 0V)时的预期输出电压应为 PVDD/2 (相差0V)

    此致、
    Arthur