Other Parts Discussed in Thread: USB2ANY, DRV10987EVM, , , DRV10975EVM
Having a devil of a time getting my motor to go into Closed-Loop mode and I need some help! The motor is a small turbine fan as used in a robot floor vacuum. It runs at 24VDC and at about 3500 RPM. Very light plastic fan rotor with little inertia. In my client's application, he is using this turbine to draw air through an airborne particle sensor at a nominal 16.67 litres per minute.
I've been using a cheap generic Chinese BLDC driver to make flow measurements, and I can generate airflow of 16.67 LPM at around 3500 RPM, this results in current draw of around 800 mA at 24VDC.
I am using a MIKROE "Brushless 3 Click" development board (DigiKey and Mouser carry them) connected to an Arduino Uno for I2C communication, and I can easily read and write to all registers.
This board is just a breakout board for the DRV10983 chip.
I started with the default register values loaded per Table 8 in the DRV10983 data sheet. After some experimenting I have found good values for registers 0x20 and 0x21, coil resistance and velocity constant, respectively, and if I turn off Closed Loop, the motor starts reliably and runs slowly (100 RPM?) in Open-Loop mode. But when I turn on Closed Loop Mode, the motor spins up open-loop for about a second, then just stops. Status Byte reports 0x7F, which translates to "Motor Locked".
I have tried both Pot speed adjustment and forcing I2S control. Both act the same.
I've tried value changes for many of the registers trying to get the thing to run. No Joy.
Can you provide me with some suggestions of where to go next with this? The DRV10983 is the perfect size to drive my little turbo fan if I can only get over this hump. What am I missing?