主题中讨论的其他器件:TCA9517、 DRV2605
您好!
我使用 Arduino mega2560发送 I2C、使用 TCA9517将 I2C 从5V 转换为3V。 VCC 为3.3V (通过测量确认)。
我的代码如下:(注意:目的是控制 PWM 输出、不是开环的、而是设置 RTP 寄存器占空比并让 drv2605L 处理 PWM)
void setup(){
Serial.begin(9600);
延迟(250);//等待 Arduino
Wire.begin();//设置 I2C
DRV.ratevolt (0x8E);//工作电压为3V
DRV.CLAMP (0x99);//钳位电压3.3V
DRV.Mode (0x07);//设置自动校准模式
DRV.GO ();//开始校准
while (bitRead (drv.readDRV2605L (GO_REG)、0));//等待 GO 位清零
bool calibOK = bitRead (drv.readDRV2605L (STATUS_REG)、3);
if (!calibOK){
serial.println ("校准成功。");
}否则{
serial.println ("校准失败");//这是我获得的输出
}
DRV.cntrl2 (0x75);//设置单向模式
DRV.cntrl3 (0x88);//设置闭环模式
DRV.Mode (0x05);//mode RTP
DRV.RTP (127);
}
两个主要问题:
1 -自动校准始终失败
2 - PWM 输出为50%、但似乎有另一个信号重叠。 (请参阅图片 PWM_示 波器)
感谢你的帮助