我正在尝试通过 使用 SPI 通信协议在 Arduino 和 DRV8718S-Q1之间建立通信来控制 ORVM (外后视镜) Re
但电机不在旋转,有时 output1和 output2得到相同的电压高低,引脚 in1和 in2是相反的根据代码变化,串行监视器显示通信已建立(电机正在旋转),恳请给出解决方案来旋转电机
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.
我正在尝试通过 使用 SPI 通信协议在 Arduino 和 DRV8718S-Q1之间建立通信来控制 ORVM (外后视镜) Re
但电机不在旋转,有时 output1和 output2得到相同的电压高低,引脚 in1和 in2是相反的根据代码变化,串行监视器显示通信已建立(电机正在旋转),恳请给出解决方案来旋转电机
大家好、Shahajahan、
您是否通过将 IC_CTRL1寄存器中的 EN_DRV 位设置为1来启用该驱动器? 除此之外、如果以默认值选择寄存器位-引脚为 DRVOFF、则应使 DRVOFF_nFLT 引脚为逻辑低电平。

您还可以通过更改寄存器位将 DRVOFF_nFLT 引脚功能更改为 nFLT、如下所示。 当在 nFLT 中、它将是一个开漏输出、在这个模式下、必须将一个外部上拉电阻器与这个引脚一起使用。

如果未正确配置这些输出、电桥输出将不会处于活动状态。
此致、Murugavel
尊敬的专家:
我正在初始化一个 CS 引脚 ,它最初是低电平 ,IC_stat1,IC_cntrl1,IC_cntrl2,BRG_cntrl1,IDRV_cntrl1,IDRV_cntrl2,IDRV_cntrl2后, CS 引脚将在功能上升高,并在循环中被调用, 所有输出端口都变高、我连接了电机的 OUT1和 OUT2、并按照控制寄存器的数据表分配数据
我通过示波器 CS 引脚长时间变为 低电平、在应用低电平时变为高电平、 电机仍不在旋转、而且我没有将任何一个 OUT1/OUT2设为低电平来旋转电机、因此请解决问题 ASP
尊敬的专家:
我使用 Arduino Mega 2560作为主器件、并在 J6连接器附近移除0欧姆、以控制 Arduino 的 SPI、我将连接 DVDD、NCS、CLK、SDI、SDO、 nSleep、nFLT、用于 J2中的电源、连接电源
是否需要进行任何其他连接来旋转电机?
此处为代码
空 setup()
{
SPI.begin();
引脚模式(CS_PIN、输出);
PinMode (nSleep、OUTPUT);
digitalWrite (nSleep、HIGH);
引脚模式(CLK_PIN、输出);
pinMode (DVDD、输出);
digitalWrite (DVDD、HIGH);
SPI.beginTransaction(SPISettings(1000,MSBFIRST,SPI_MODE0));
DRVincialization();
}
void loop()
{
digitalWrite (CS_PIN、LOW);
SPI.transfer (0x09);
spi.transfer (0x90);// BRG_cntr_1
spi.transfer (0x0F);
SPI.transfer (0x0E);//IDRV_Cntrl_1
spi.transfer (0x10);
SPI.transfer (0xDD);//IDRV_Cntrl_2
digitalWrite (CS_PIN、HIGH);
}
空 DRVincialization()
{
digitalWrite (CS_PIN、LOW);
//启用驱动程序
SPI.TRANSMIT (0x00);//STATUS 使能位
spi.transfer (0x80);
//解锁驱动程序
SPI.TRANSMIT (0x07);// IC_Cntrl_1寄存器地址
SPI.Transfer (0x86);//解锁命令
//设置电流控制
SPI.TRANSMIT (0x0F);// IDRV_Cntrl_1寄存器地址
spi.transfer (0x0D);//电流控制值
digitalWrite (CS_PIN、HIGH);
}
大家好、 Shahajahan、
如果您使 nSCS 为低电平并执行多次 SPI 寄存器写入(或读取)、然后使 nSCS 为高电平、则它将不起作用。 不会写入任何寄存器、从而导致 SPI 错误。 请参阅数据表中的以下编程信息。 每次寄存器写入或读取时、nSCS 必须为低电平、然后在执行另一个寄存器写入或读取之前为高电平。
可从 EVM 网页下载该 EVM 的源代码。 https://dr-download.ti.com/software-development/support-software/MD-GoDz5QXvm0/01.00.00.0B/slvc809b.zip。

此致、Murugavel