您好!
我一直在使用 DRV10975Z 尝试驱动 Maxon 351056。我已按照快速入门指南使用 i2c 手动写入和读取寄存器、并使用 Raspberry Pi Pico 提高速度。 似乎我可以正确读取和写入 EEPROM 和其他寄存器、但无论我做什么、我都无法使电机驱动器产生电压。 我不确定导致此问题的原因、但我注意到速度命令缓冲器始终设置为0。
根据 QSG、我的电机参数为:
- 工作电压- 12V
- 极数- 2.
- 最大转速(RPM)- 9380
- 最大电流- 0.294A
- R (相位 CT)- 10欧姆(测量值)
- KT (PHASEPHASE)- 71mV/Hz
- LR 常量-目前未知
- 惯性- 5.1gcm^3.
我已经设置了以下 EEPROM 地址
- 相位电阻(0x20)
- 0x7B
- KT (0x21)
- 0x3D
- 禁用 IPD (0x2A)
- 0x0D
- 禁用 ISD 和反向驱动(0x23)
- 0x0C
- 将对齐时间设置为5.3s、O2C 环路设置为~80Hz (0x26)
- 0xB0
- 设置加速常量(0x25)
- 0xFD
- 设置开环电流和禁用中断(0x24)
- 0x58
- 禁用闭环(0x2B、0x0D)
要运行测试、我编写以下命令:
- ADDR:0x03 -- 0x80 (禁用睡眠)
- ADDR:0x02 -- 0x81 (启用 i2c 速度和 MSB 速度)
- ADDR:0x01 -- 0x2C ([8:0]速度)
实际上、我可以看到速度命令在 0x1B 上发生变化、但0x1C 上的速度命令缓冲器始终为0。
如果我回答正确、速度命令缓冲区是实际命令吗?
我正在使用下图中所示的定制 PCB。 遗憾 的是、它是为 DRV10975而不是 DRV10975Z 而设计的;但是、据我了解、除非您使用睡眠模式、否则不需要使用齐纳二极管、我不会这样做。 因此、我的问题可能与使用电感器而不是电阻器有关(当前按顺序排列)。
疑难解答:
- 我在两个单独的 PCB 上测试了两个电机驱动器 IC (结果相同)
- 尝试使用模拟命令驾驶(相同结果)
- 测试了 IC 和电机端子上的输出引脚之间的导通性
- 电机断开时、已验证所有端子和接地之间的阻抗
- 在两个独立电机且未连接电机的情况下运行命令。
如果有任何帮助、我们将不胜感激!
谢谢、
Joseph Lupton