Hi all, new to the group and looking for some advice for my use case. I’m looking to run a small BLDC at a constant velocity of ~1500RPM with very little load. Low cost and power consumption are important, as is ability to restart autonomously if stalled. Currently prototyping with a ESP32 S2 Mini, SimpleFOC Mini driver, and a cheap 2208 90kv 14n12p motor. I was hoping I could run sensorless (for cost saving) in open loop and I have successfully run the open loop velocity example sketch.
I can achieve ~50rad/s with this setup in open loop velocity control, although a soft start routine is needed to get up to speed. Any faster and the motor jutters. There also appears to be a small hiccup or pulse about once every second when running at any speed that I can’t diagnose. At any rate, I have a couple of questions:
Is SimpleFOC the right tool for this task, or would a simple drone ESC be more appropriate?
Is it reasonable to achieve ~150rad/s on this motor without a position sensor? I have a AS5048 on the way to test, but would love to avoid this cost in production.
Any tips to squeeze a little more out of my existing setup? eg. Using svPWM, motion_downsample, or motor.zero_electric_angle?
Stall detection is going to be tough without additional hardware, but I’ll cross that bridge when I get there. Thanks for any advice!
I think the problem here is that the 90KV motor would have to be run at 17V to even theoretically reach 1500RPM… and that will be beyond the spec of a 2208 12N14P motor, I’m guessing.
This motor is designed to turn quite slowly, perhaps for a gimbal or similar application.
So I think you’ll need a different motor, but then with higher KV, 1500RPM would be possible in open loop. With a sufficiently fast MCU FOC would also be possible.
Note that since you mention low power consumption, you probably won’t be very happy with open loop. Your power consumption will be quite high, and the motor will quickly heat up.
Thanks, runger. I’ll source a new motor and give it a try. Sounds like either way I’ll need to add a magnetic encoder. I’ve used the white AS5600 for other projects, but sounds like it’s a bit of a headache with SimpleFOC. The AS5600 is way cheaper than the AS5048, though probably still not recommended even for my relatively simple use case?
Not really recommended because you’re trying to go fast the AS5048A isn’t ideal either TBH. Something with an ABZ interface (which can be lower latency) might be better. If you have the AS5048A on hand or arriving soon, try with that and your new motor and see how it goes. If it works well you’re done, but if the sensor latency is an issue then you could look at a faster model then.
One possibility is to use the flux observer that @Candas1 has been working on. It needs a board with current sense, but does not need a sensor on the motor. I think qvadrans is the cheapest option we have for a single-motor board right now, but adding two current sensors to [url= https://oshwlab.com/cost.co/20220903_bldc_se3082g]Lepton[/url] would be even cheaper.
AS5048A will be here soon, so I’ll report back with how that works.
I’m having a tough time tracking down an appropriate BLDC motor (at a reasonable cost). Seems there are the higher resistance / low speed gimbal motors, or low resistance / high speed motors. My use case is somewhere in between. Any suggestions?
Seems like a low-rpm version, similar to the 5600 but with improved resolution and an SPI interface.
The specs say sampling rate is about 11khz, which is rather low. This feels more like a digital potentiometer than a motor sensor. Propagation delay is 100uS, that’s also slow.
As a comparison the 5047 sensor sampling rate and propagation are orders of magnitude faster.
For a prototype it would be a good idea to rewind the motor by hand.
It’s not too difficult.
Once you have found the best kV/resistance for your usecase, you can ask for quotes on aliexpress. MOQ would probably be 100+