Great project @Owen_Williams and wonderful community of SimpleFOC
I’m an electronic hobbyist from Poland and looking for the best solution to control bldc motors for my projects. I would be grateful if you help me because I’m looking for the best solutions for few weeks now and my brain is starting to swell
I’ve bought B-G431B-ESC1 and Infineon IFX007T boards and AS5600 magnetic position sensors to test SimpleFOC library because I think it would be the best solution.
My main project is to create massaging device. The goal is to run two bldc motors simultaneously in closed loop in velocity mode (constant speed no matter the load) and be able to change speed by external device (probably raspberry pi or similar so driver should have spi or i2c communication. There will be few pairs of this configuration (but only pairs will be tangled) so uart is unsuitable because raspberry for instance has only 4 of it). Motors should also maintain the same position during work. Motors will change speed constantly and often stop and start so they have to have sufficient power when starting up. Operational speed range will be between 360 and about 4000 RPM (motors will rotate the crankshaft). It will be powered via cable so I think about 24V power supply. I don’t know now how much amps it should has but I think 300W would be enough. I want to test few solutions and find out desired power but I think no more than 500-600W.
Now I know B-G431B-ESC1 is to weak for my project and would probably explode running stationary in closed case. I am considering ordering SimpleFOC Power Shield and running 2 of them in stack on Arduino and connect about 5 stacked Arduinos with Raspberry via SPI.
And here are my questions
- Do you think SimpleFOC Power Shield would be sufficient for my project?
- If yes does somebody has few of them laying around to sell me? Shipping time from aliexpress to Poland is now about 30 working days. I haven’t ordered PCBs yet and don’t want to waste money if sth goes wrong. I checked offers to fabricate them but nobody has every component needed and I don’t now which to choose. But prices are high and times needed to fabricate them are similar to shipping from China. Only about one week faster.
- What position sensors would be the best for my project? I’ve read that @Owen_Williams said that AS5600 has some problems between revolutions
- Do you guys know some existing solution to run bldc motors by FOC? Like B-G431B-ESC1 with built in programable microcontroller or independent solution just taking orders via spi or i2c? Maybe Infineon BLDCSHIELDTLE9879TOBO1?
- Can you recommend bldc motors suitable for my project? For now I ordered T-motor MN4014 330kV. Do you know some affordable motors with built in sensors? The only ones I could find are for electric scooters, but they have more than 1.5kW.
- What about BEMF? Would it be good solution? I’ve read that there could be problems when stoping/starting. But maybe BEMF + sensor for starting up?
- I have 3 B-G431B-ESC1 and think to use them for another project as they are not suitable for massaging one. In another I need few motors to operate separately in position mode. Also controlled by raspberry by i2c for instance. Do you think B-G431B-ESC1 + AS5600 connected by PWM and i2c connected to raspberry would be good?
Hi, and welcome @rafalspolski!
I’ll try to answer your questions as best I can:
- The SimpleFOC power shield is “in development”. The FETs currently used are not ideal for BLDC motor control, and we would advise you not to use the design as is, but rather wait for the next iteration.
- I don’t have any, but I also wouldn’t recommend it. The Infineon IFX007 is similar, with similar problems. If available, for prototyping you could get TI BoostXL motor driver evaluation boards, these will work much better…
- AS5600 is cheap, but its not a good sensor for motor control. An SPI-based sensor like the AS5047 or AS5048A would be much better. I know they cost more, but there’s a reason for that
- There are many! Trinamics has several motor controllers which do FOC internally, as does Texas Instruments. Also see motors by Gyems, and similar companies, for examples of complete units which include the motor, driver and communications protocols for control. SimpleFOC isn’t interested in these solutions, as we do the FOC in software to be able to understand and modify the algorithm ourselves. But for a product not concerned with the details of the motor control, this could be a better choice. It might save you a lot of development time on the motor side, allowing you to concentrate on your actual product.
- There are many, many, many motors. Would your solution work better with an in-runner or an out-runner? 600W is a fair amount - at 24V that’s 25A - I’m not a product designer, but is that safe? Certainly at 25A fire-safety will be a major concern. Sites like AliExpress and BangGood have literally endless lists of motors. T-Motor has some very nice ones.
- If you have a sensor, don’t bother with BEMF. It’s a more primitive commutation technique, and appropriate to situations where you can start in open-loop mode and switch to BEMF driven-commutation at speed - quadcopters for example. When you need torque at low speeds, and may have high load on starting, then FOC is far superior.
- Sounds ok, within the limitations of that sensor…
Good luck with your project, and keep us posted with the results!! And feel free to ask further questions!
Welcome to the forum.
As you see @runger has answered the questions. These days it is extremely hard to find components. I could add, since you need powerful motors to operate in synchronized pairs, you may want to explore the option of running the motors paired up with e-scooter speed controllers (ESC). This is just a hypothetical as I’ve never done this. In any event, the e-scooter ESCs may be a viable option for you.
I have ran two motors simultaneously off the same SimpleFOC board (my own custom developed), but they were physically coupled on the same axis, and the sensor was attached to the axis, so I guess this is not an option for you.
Other than that you may need a custom controller running SimpleFOC for each pair but that’s a whole different topic. Developing a custom board is very expensive, especially for a consumer-oriented product, where the boards and the entire system must pass rigorous tests and prove it’s not going to harm the life or property of the people you are selling to. Especially in the EU, where crooked cucumbers are considered defective and bananas must be straight.
Unfortunately we are suffering the same problems with components as everyone else so it is unfortunately impossible to give a reliable date for a new PowerShield, all I can say is that we are working on it… many people are interested, so it is a priority for us. I’m really sorry I can’t give more information than this.
yeah - I think you should consider the mechanical system (I assume you have thought about it), because with appropriate gear-down you might get by with a smaller motor?
I think the right approach can be to order some different models and try them out. Or do a complete mechanical design, estimate forces required and calculate the motor power needed for this…
From the SimpleFOC side, you can assume that any 3-phase BLDC motor can work. Roughly speaking motors can be divided into higher-ohm (“gimbal type”) motors which are a bit easier to control and can probably be run without current sensing, and low-ohm motors, which can be more fussy to tune, and probably need current sensing for safe operation.
Drivers have to be selected based mainly on the Volts/Amps needed, and beyond a few amps (>5A) cooling is always a consideration. SimpleFOC can do FOC control with any driver that supports independent control of the half-bridges, in either 3-PWM or 6-PWM mode.
At this point it sounds to me like you should focus mainly on the prototype solution, and once you have a working prototype it will be much clearer what shape a production solution should take.
I’m certainly no expert on product certifications, but it seems to me your whole device would be subject to the same procedures as just a motor driver PCB anyway – RoHS, CE – since it is an electronic device in the end. So I wouldn’t necessarily preclude making your own PCBs. As long as you don’t have an antenna on there anywhere, I don’t think it would add anything additional to your obligations.
LOL - it certainly feels that way sometimes