Recommendation for Closed Loop BLDC-Driver - Page 1
Forum section: electronics / projects

author: johofz
author_rank: Contributor
timestamp: August 07, 2021, 04:09:25 pm
content: Hello dear EEVBlog-Community,I'm currently working on a project involving a BLDC-Motor. I'm not that experienced when it comes to these types of motors. I woked quite a bit with Steppers befor so I know my way around thier drivers and how to get them to move the way I intend.I bought a relativly pricy BLDC-Driver for my Motor and read in the description of the product, that It can be used much like a stepper-driver with a pwm input for speed and a digital pin for direction (Here it is:https://de.nanotec.com/produkte/1768-c5-e-2-09-motor-controller-drive-fuer-canopen-oder-usb).Turns out I have to program the thing first to enable that feature. It's supposed to be used with CAN-Bus, but I want a simple solution like applying a analog voltage or a PWM with duty or even a pulse-based operation like steppers. Again, the description promises that, but you have to use a buggy IDE they provide and write custom code to enable the digital Inputs. I already spend a few days trying thier example projects with no success sofar.I don't have time to figure out the controller, so I thougt I might ask you guys for a reccomendation. I'm looking for a simple 48V BLDC Driver with about 20A output-current capability. I would prefer one with a simple PWM input with duty-cyle or an analog voltage (I have a DAC on my MCU).Help is greatly appreciated!Greetingsjohofz

author: amosborne
author_rank: Contributor
timestamp: August 07, 2021, 04:50:54 pm
content: For 50$ maybe this is worth a shot:https://makermotor.com/pn00218-cyt13-25amp-7v-58v-high-voltage-dc-motor-driver-speed-controller-md25hv/

author: amosborne
author_rank: Contributor
timestamp: August 07, 2021, 04:54:14 pm
content: Ah never mind, you need three-phase for brushless. I was having trouble finding something for 48V. Pololu has some offerings up to 40V.

author: TurboTom
author_rank: Super Contributor
timestamp: August 07, 2021, 05:21:19 pm
content: If buying directly from China is an option, you may want to look at theJY02A BLDC motor controller chip. Analog control, no programming, easy to use. They seem to implement a very clever back EMF gain control circuitry to be able to have stable feedback over a considerably wider motor RPM range. Yet, only block commutation is available, there's no field control approach implemented - unfortunately.The manufacturer offers several evaluation boards with this controller, one of which I had the chance to experiment with. And I've got to say, I'm pretty impressed by its performance. Especially starting up set-ups with very high inertia works way better than expected (gas turbine engine rotor through the reduction gearbox in reverse). I actually decided to give this chip a try in a starter generator controller prototype (work in progress, not finished yet). It definitely simplifies operating sensorless brushless motors a lot. I previously designed, built an programmed several brushless controllers the "converntional" way with microcontrollers and also a dedicated controller by Toshiba, but this experience with the JY02A was by far the least troublesome.

author: Benta
author_rank: Super Contributor
timestamp: August 07, 2021, 05:26:24 pm
content: First, which motor are you planning to use? Does it have Hall sensors?Do you need forward/reverse?Do you need position control or just speed control?This needs to be defined first. But I don't think the controller you've selected is really suitable.

author: johofz
author_rank: Contributor
timestamp: August 08, 2021, 12:33:19 pm
content: Quote from: Benta on August 07, 2021, 05:26:24 pmI use a motor from the same vendor. It has an incremental encoder and I need to operate in speed control mode. I have a lot of inertia in my system for dampening purposes. I got the controller to work today but I'm still not happy with the fact, that I got extra code running on the driver that needs to be maintained aswell and increases complexity for no reason. (Here's the motor:https://de.nanotec.com/produkte/2391-db80s048030-enm05j)

author: TurboTom
author_rank: Super Contributor
timestamp: August 08, 2021, 01:46:18 pm
content: So it's basically athree-phase synchronous brushless motorwith a four-pole inrunner rotor and hall sensors for position feedback. An optional incremental encoder is available for servo applications.Since the commutation positions are (more or less accurately) indicated by the hall outputs, driving this motor shouldn't be that much of a problem. It will still work with the controller I mentioned, but starting performance will be improved with a controller utilizing the hall sensors.What's the problem with the Nanotec controller?

author: johofz
author_rank: Contributor
timestamp: August 12, 2021, 03:16:34 pm
content: Quote from: TurboTom on August 08, 2021, 01:46:18 pmThe problem was that I had to go through a bunch of nonesense and a horrible documentation. I found conflicting information about how to programm the driver and so on. But after a few days of fiddling I got it to work (At least to an extend that I can work with).The main Problem is, that I have to not only provide a programm once that runs on the driver for eternity. I see myself going back to this thing in a year from now and going through a painful process again to maintain the progarmm.I'm the only real EE in my company, but I also have the goal to be able to leave one day and still have someone there that can at least make minor changes to my stuff without haveing to consult me or trash everything I have done up until then.I'm not saying that the controller is bad, since it's performance is quite nice. It's capable of doing what I need, but comes with extra complexity that is not necessary.

author: thm_w
author_rank: Super Contributor
timestamp: August 14, 2021, 12:08:03 am
content: Quote from: johofz on August 12, 2021, 03:16:34 pmDamn I hope they are treating you well to care that much.Document the code, explain what it does, make adjustments easy (defines or constants if used it multiple places), it shouldn't really be an issue.