主题中讨论的其他器件: DRV8462EVM
工具与软件:
你(们)好。
我有一个通过 SPI 连接的具有3个 DRV8452的新电路板。 "较小的电机"运转良好、但是我们有一个应运行速度为300rpm 的 NEMA24。 但它在大约120 rpm 时会变得嘈杂、稍后会停止运转。 有经验的人能否对我的初始化代码进行简短介绍? 我目前用全步进运行它(1/4步进具有相同的结果)、我对步进电机没有实际的经验、所以我设置最大电流并启用 PWM 步进、控制可能完全错误。
代码片段是通过 SPI 实现基本初始化。 对于三个步进电机的不同电流设置、问题在于情况"2"。 我尝试了各种 CTRL1设置。
for(int i = 0; i < DRV8452_CHIPS;i++)
{
steppers.registerMap[i][SPI_CTRL1] = 0x80;//(0x80|0x10|3);//EN_OUT, Decay Smart tune Ripple Control , toff = 19 µs
steppers.registerMap[i][SPI_CTRL2] = (0);//MICROSTEP_MODE
steppers.registerMap[i][SPI_CTRL4] = 0x1c;//(0x40|0x10);//EN_STL
steppers.registerMap[i][SPI_CTRL5] = (0);//STALL_TH [7:0]
steppers.registerMap[i][SPI_CTRL6] = (0x20|0x0);//STALL_TH [11:8] | DIS_SSC
steppers.registerMap[i][SPI_CTRL9] = (0xc0|0x8|0);//EN_OL, microstep disable
if(i == 2)
{
steppers.registerMap[i][SPI_CTRL10] = DRV8452_CURRENT_SCALAR(1.0);//ISTSL
steppers.registerMap[i][SPI_CTRL11] = DRV8452_CURRENT_SCALAR(4.2);//TRQ_DAC
}else if(i == 1)
{
steppers.registerMap[i][SPI_CTRL10] = DRV8452_CURRENT_SCALAR(0.3);//ISTSL
steppers.registerMap[i][SPI_CTRL11] = DRV8452_CURRENT_SCALAR(1.4);//TRQ_DAC
}else
{
steppers.registerMap[i][SPI_CTRL10] = DRV8452_CURRENT_SCALAR(1.0);//ISTSL
steppers.registerMap[i][SPI_CTRL11] = DRV8452_CURRENT_SCALAR(3.4);//TRQ_DAC
}
steppers.registerMap[i][SPI_CTRL12] = (0xF8);//Standstill
steppers.registerMap[i][SPI_CTRL13] = (2|0x10);//VREF_INT_EN|64ms TSTSL_DLY
}
霍尔效应传感器



