Other Parts Discussed in Thread: DRV8462EVM
Tool/software:
Hi..
I have a new board with 3 DRV8452 connected via SPI. "Smaller motors" are working fine but we have a NEMA24 which should run with 300rpm. But it is getting noisy at around 120 rpm and stalls a little bit later. Can someone with experience have a short look on my init code? I run it at the moment with full steps (1/4 steps has the same result) I don’t have really experience with stepper motors so the control can be completely wrong as I set the maximum current and enable the PWM for stepping.
The code snippet is for the basic init via SPI. For the three steppers different current settings, the issue is case '2',. I Have tried various CTRL1 settings.
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
}
Motor is similar



