Tool/software:
Hi,
We are running into an issue with the DRV8462 driver where the motor appears to get shorted when we enable the motor driver as indicated in the title. I will describe the context and situation, and what we have tested so far.
Project:
-We are building a custom PCB for a cutting machine that is driven by 2 bipolar steppers motors (one in the x-axis the other in the y-axis, datasheets attached at the end of this message).
-We are using the DRV8462 motor drivers in SPI mode to take advantage of some of the features available in SPI mode.
-The microcontroller is an Arduino clone, and the firmware is a modified GRBL code (the main modification is adding SPI communication)
-Before making and designing the custom PCB, we tested with the evaluation board hooked up to an Arduino board. The evaluation board was configured using the web based GUI, and the firmware was just the normal GRBL code. It worked fine.
-The cutting machine is using a 48V power supply.
Current Situation:
-We have designed and made the custom board. We tested the different parts of the circuit, and the only part that doesn't work so far is the stepper driver circuits.
-When enabling the stepper driver, we see the voltage reading on our variable power supply drastically reduce in voltage and pull excessive current - hence the motor shorting as indicated in the title. What is also strange is that when I try to move the motor by sending it a command, the motor appears to lose power because the current draw goes to near zero and the voltage shoots back up to the set supply voltage - and the motor does not move. I know the motor is not broken because I measured winding resistance and tested the motors on a separate machine and they work fine. Also, I do not think the driver chip is broken because I tested with known driver chips that worked and I tested on multiple drivers/boards and was able to replicate the problem.
-Also, when enabling the stepper driver, I hear a high pitched sound coming from the driver.
-Our code appears to be able to write to the registers via SPI because we can see the motor receive power when we enable the driver.
-Additionally, our code appears to not read the registers via SPI because the returned data is not what we wrote to that register.
-Attached is the schematic for the motor drivers. As you can see, the nSLEEP pin is pulled high while the nHOME, nFAULT, DVDD, and MODE pins are tied together.
-I hooked up the evaluation board to a separate Arduino board in the same way to our circuit to see if I run into the same issue, and I was able to replicate the issue with the evaluation board.
-I tried sequencing the start up of the motor driver where the motor driver would start in the SLEEP state and I would in sequence wake it up, then enable the motor driver. However, the problem still persisted.
We are unsure of the next steps, so some guidance would be great. Let me know if you have any additional questions. Thanks in advanced!