Tool/software:
Hello All,
I am attempting to drive a motor using the DRV8343-Q1 using a Sensored 1x PWM setup. So far I have been able to get the motor to spin without load at speeds as low as 100 RPM and as high as 3000 RPM, however I didn't really test upper limit because I am not interested in that.
The issue I am facing is that I am unable to achieve the torque potential of the motor I am using. At all speeds I can easily stop the motor by simply pressing on its surface. I am sure that the problem is not the motor, the hall effect sensors or the power supply because I used an off the shelf ESC with the same setup and it generated at least 10 times as much torque at the same speeds.
Additionally, If I add too much load to the motor to point where it stalls for too long, I will trigger a "gate drive fault on the X low-side MOSFET" of a random phase that is most likely related to the stall position. once that fault is triggered, I can't really remedy it by increasing Tdrive or enabling Tdrive_max. I have to replace the MOSFET or just use a new PCB all together. Increasing Tdrive only makes so that the motor can spin, but it clearly is not energizing one of the phases properly because it sounds choppy and requires even less force to stall.
Here is a summary of my setup:
- Power Supply: 22.8V 50A
- BLDC: MN701-S KV280 (specs here)
- Halls: 120 deg spacing positioned between windings.
- MOSFET: BSC117N08NS5ATMA1 (specs here)
- Application: Primary application described in 9.2.1 combined with Figure 11 in section 8.3.1.1.3 for a sensored setup
Here are my register settings:
- IC1: 00100000 --> 1x PWM Synchronous mode
- IC2: Default
- IC3-5: 11111111 --> IDRIVEP Low & High = 1000mA (Default)
- IC6-8: 11111111 --> VDS_LVL Low & High = 1.88V
- IC9: 10100000 --> Deadtime = 500ns, Tdrive_max is disabled, Tdrive = 500ns
- IC10: 01100111 --> Default but OCP_DEG = 20.5us
- IC11: Default
- IC12: Default 20V/V Gain
- IC13: Default
- IC14: Default
Note that the reason IC9 settings are low is because I noticed a slight increase in smoothness and torque by less deadtime and Tdrive. however the torque is still too low to handle any load and it is possible to stop the motor with one finger.
My current theory is that the motor is not supplied enough current to deliver the proper amount of torque. This led me to check if the Rsense value I am using is good so used the equations in example 9.2.1.2.4.1 and everything checks out. technically I could use 40V/V Current Sense Gain, and I am yet to test as I write this. But could it be the reason I am getting 10 times less torque than I should?
What settings could I change to provide the motor with more current? and what could be the limiting factor? Please let me know if I could provide you with more detail or let me know how I could further investigate this issue.