Low resistance BLDC control fails

Hello everyone!
Im using SimpleFOCShield v3.2 with big low-resistance motor. I’ve found out that its not very suitable driver a little bit late so now Im trying to make it work in any sort of way.
I use T-Motor U8 Lite 0.225Ohm, 85KV, I limit voltage with 1V, I limit current with 0.3A, power supply is 24V.

What I have is:

  1. Open-loop velocity control:
    Motor starts, runs for a bit of time and then driver faults. Max current detected on multimeter is 0.4A on phase. Temp. of DRV chip is alright, maybe like 50C.
  2. Position control:
    Motor starts, goes to 0. I give it new target, it might
    1. Fault immediately
    2. Stop in the middle of going to target (WITHOUT Fault led), motor just lets loose
    3. Stop after 1 or 2 succesful commands as in p.2

What is killing me is that it might fail with AND without fault state of driver initiated, while there is no visible reasons (chip isnt hot, phase current isnt too high)

UPD. I just tried the MKS-ESP32FOC-V1 driver, it worked better in terms of holding current and not failing, but now motor is “knocking” when its moving

UPD2. I’ve been able to smooth movement on MKS board by removing “driver.voltage_limit”, but now I cant make AS5600 work with that board, Im just getting constant 6.28 reading as if there is no data obtained on I2C. Overall, if I go to more promising board (which is MKS, since it’s been able to actually spin the motor) I need to solve that problem with the AS5600 readings

Sorry if that is dumb or shallow question, Im just trying to do some experiments for my thesis to research mechanical characteristics of reduction gear I’ve made and I just stumbled upon issues with motor start-up which I havent anticipated

4 Answers

4

Do you have pullup resistors for the I2C lines on the MKS board?

I believe that AS5600 white board has this resistors. When I was using SimpleFOCShield I've unsoldered pads for pullups on the shield and I still got the proper readings

That’s a pretty big motor, so it may be creating too big of voltage spikes and causing things to go wonky. If you have any decent sized capacitors on hand, try connecting 470uF or more together with the main power input wires and see if that helps.

Thanks! I've decided to shift to mks board since it has slightly higher current limit, just have to figure now why AS5600 isnt working with it

I’ve made a little bit of progress with AS5600, I’ve ran I2C scan and found out that ESP isnt even see anything on the bus.
I’ve soldered SDA and SCL directly to the ESP chip and scan found the sensor, but it still isnt responding to the reading code from both simplefoc and as5600 libraries :frowning:

I’ve manage to solve my problem with the MKS board and AS5600
I’ve seen some guy saying that AS5600 white board has pull-up resistors but apparently its false information. I did use AS5600 with SimpleFOCShield without soldered pads for I2C pull-ups but I guess it still was pulled up on my arduino uno.

And apparently this ESP32 and the MKS board doesnt have inner/outer pull-ups, so that was the reason I was seeing device on I2C bus but couldnt read it.

I’ve added pull-ups to SCL and SDA lines and it worked, so yep, if anybody is going to use MKS-ESP32FOC you have to add pull-ups to your I2C line since this board (at least v1) doesnt have it

I wouldn't say it was false information. My white pcb AS5600 came with 10k pullups for I2C. ChatGPT said, there are at least 2 version available and the pcb color is no indication.