I just wanted to point out one interesting fact that I’ve found recently.
I bought the L298n breakout board from Amazon for under 3$ and have been using it to run stepper motors, namely nema17.
But I just realized that I can run a gimbal BLDC motors as well!
It has more or the less the same power ratting as the L6234 up to 4amps. I have not seen it being used or advertised in this context but it definitely should
L298N is a classic! My very first self-made robot in 1998 used this driver, and lego DC motors.
It is super-cheap, as you point out, and it can be used to drive BLDC motors.
However, I think it will run pretty hot. I’m not knowledgable enough to know why, but I think the darlington transistors are less efficient switches than the MOSFETs used in other drivers.
And you also have a problem with blow-through, I think, because the simple driver board doesn’t do any dead-time insertion.
And the switching time is pretty long compared to MOSFETs, so I think you’ll be inefficient, and maybe have a problem with audible noise if your PWM is too low.
But yes, it does work for low power motors, I can confirm that.
Please let me know how it goes for you, and whether any of the above is a problem? For me, when I found it was running pretty hot with no load I decided to look for a better solution (and found SimpleFOC!).
my test had almost no load on the motor so… it draws about 2 watts idle and never got untouchable hot with voltage_limit 12 and a 28mm gimbal motor. It was moving quite fast and decently smooth. I had one lying around so it is great I now have something else I can use with simpleFOC.
Hey @Marc_O, this is great to see. This means that other people are using it too!
@runger, I had no problems what so ever with it really. I used it for the stepper and the bldc and it only gets hot if I use it in open-loop.
I really think this setup is the best starting point for controlling the gimbal motors and I wish I had known earlier
@schoch I noticed that you use eps32, and in v2.0 of the library the PWM resolution of the esp32 was seriously impaired. I’ve released the a bugfix with the version v2.0.1 which removes this problem completely. The results should be much smoother
Ok, I have a bunch of those things kicking about. They’re also even cheaper than $3 from China…
It was my starting point for my “motor control journey”, but at the time (before I found SimpleFOC) it seemed a suboptimal solution.
I just hooked it up again, controlling from an ESP32 and using SimpleFOC, and it is indeed working well.
However, I still think it is maybe not ideal for BLDC driving. When I drive a Emax 4114 it is working well, but if I stall the motor it immediately gets warm at only 0.6A, despite its giant heat-sink.
So I doubt very much you’ll be able to get its 2A continuous rating without it getting very hot. if you read up on it, I think the reasons are the inefficiency (due I guess to slow switching times of the transistors) - a L298N is only maybe 70% efficient, the rest is heat.
That said, I guess for most of the motors people seem to be using this won’t be an issue… so I guess from price/performance point of view it is an excellent solution after all.
But for my purposes it is very big… and since there are a bunch of other dual-H-bridge drivers like the L298N, but much smaller, and using FETs, I got very excited and hooked all the ones I have lying around up to test them with SimpleFOC. Unfortunately, the results were quite disappointing. I’ll post them, with some pictures, below, maybe it will save someone some time, or maybe someone has a smart idea why it isn’t working.
Good discussion about using low cost brush motors drivers for BLDC. How about using 3 DRV8871 on same board to drive a brushless motor. Datasheet says it can take upto 45 volts and each driver can provide upto 3.5A.Current is adjustable via single resistor.
Is it theoretically possible to drive a brushless motor with up to 45 volts at 10.5 amps?
This looks great actually!
I would be in to write support for these chips.
For example if you put 6 of them on one board you could run two bldcs in half bridges mode or one BLDC in full bridge mode.
That would be interesting to test
Regarfing the current, usually the board are rated for their phase current and not the cumulative current. So at the end these boards (with drv8871) would be rated for 3.5A.
But the benefit would definitely be the simplicity and size!
Looking over the data-sheet, I think it will work fine, but there will be the following problem: the device implements various protections, including over-current and over-temperature. If using more than 1 device to power the same motor, then the protection features will not be applied to all the phases at the same time, leading to problems, where either 1 phase or 2 phases of the motor get disabled, and the other remains on.
When using the same chip to drive the phases of 2 different motors, the problem becomes worse in that an overloading condition caused by one motor can affect the performance of the other motor via the shared driver.
So basically, I think it will work fine as long as you don’t come too close to the power limits, after which you might have unsolvable problems (compared to a 3-phase chip, which handles all its phases together).
DRV8874 is intended more for brushed motors. The chip only controls 2 phases. It would only work if it is put in “Independent Half-Bridge Control Mode” (PMODE = Hi-Z) - so whether you could use it with a brushless motor would depend how this pin was connected on the board you are using. And you would still need 2 chips for 1 motor.
The board you are showing is most likely designed for brushed motors, and will probably have the PMODE pin set incorrectly, but I cannot tell because there is no documentation for it.
Why not take a look at the STSPIN-830 or the DRV8316? Those are nice integrated driver chips. Or for really small motors, the STSPIN-233…