Design and build a 50V 300A BLDC motor control - Page 1
Forum section: electronics / projects

author: canicoll
author_rank: Newbie
timestamp: May 27, 2018, 07:59:09 am
content: Hello all,I am new here and to electronics so I probably wont easily understand your advice but I am willing to learn and research each step of my BLDC esc journey.My project is to design and build a sensorless BLDC motor controller which is capable of running 1 (and later possibly 2) 50V 300A motor using an analogue input such as a 2 position micro switch or a potentiometer.I have nothing resembling the required knowledge to complete this project which is why I am joining your forum in the hope that some of you might be willing to help me complete my task but I have just bought an Arduino kit to learn some programming.I'll begin by searching old posts and learning as much as I can from previous discussions.I hope I've posted this in the correct category and thanks for reading. I look forward to any advice you have on where I should start.Cheers,Cameron

author: abraxa
author_rank: Frequent Contributor
timestamp: May 27, 2018, 09:16:24 am
content: For somone who possesses "nothing resembling the required knowledge to complete this project ", this is a *huge* undertaking with a lot of brain wrecking involved. Do you have a time frame for this project? While I don't mean to sound discouraging, I strongly suggest you tell us why you want to take on this project in the first place because it could be very frustrating to you and outright dangerous as well.

author: max_torque
author_rank: Super Contributor
timestamp: May 27, 2018, 10:53:29 am
content: Get yourself over to endless-sphere.com, and check out the "Motor Technology" forum. A mine of useful info, and a record of just how hard it is to do what you want to do with zero experience!

author: canicoll
author_rank: Newbie
timestamp: May 27, 2018, 10:55:48 am
content: Hi abraxa, thank you for the reply.I don't have a time frame and I understand the complexity of this project which is why I am asking for guidance in this forum.I bought a BLDC motor with the idea of learning electronics through practical application and at this stage I don't have an application for it but i'm sure I will think of something to put it in.Another reason is that I think this thread could possibly turn into resource for many other people who wish to design a basic circuit to control a BLDC motor. By basic, I mean without a reverse feature, soft start or regen braking. There are so many applications for BLDC motors these days and off the shelf controllers are very expensive. I believe many will benefit from this.I do like to bite off more than I can chew but anything is possible if you take small bites and are willing to chew. I am familiar with electrical danger as I install high voltage solar systems on commercial buildings.Thank you again for your input and hopefully we can build an informative and popular thread.Regards,Cameron

author: canicoll
author_rank: Newbie
timestamp: May 27, 2018, 10:57:06 am
content: Thank you for the link Max, I'll go and have a read.

author: Siwastaja
author_rank: Super Contributor
timestamp: May 27, 2018, 05:20:55 pm
content: Start with a 30A, or even just a 10A motor first. The 50V,300A inverter is difficult even for many seasoned experts.

author: Simon
author_rank: Unknown
timestamp: May 27, 2018, 06:41:11 pm
content: Quote from: canicoll on May 27, 2018, 10:57:06 amNot sure what you want to be doing with an arduino. you want something more powerful with more efficient libraries than that muck. I know every man and his dog use them and channels like great scott use them to death but a 300A BLDC is no mean feat. 15KW is a mere 1/3 of what you need for an electric car. My only use of arduino's is for one off test jig's at work where it just needs making fast and there will only be one and the code does not need to be fast.

author: canicoll
author_rank: Newbie
timestamp: May 27, 2018, 07:40:17 pm
content: Thanks for your input Siwastaja.Simon, thank you. Yes I did get the Arduino because there are many resources online to learn from and I figured I have to start somewhere.The way I see it, this project can be split into two parts. One being circuit design and 2, coding. Would that be a correct assumption?Would the circuit design remain the same regardless of microcontroller? What MC would you recommend? I found the ST7 but it's prohibitively expensive.

author: Simon
author_rank: Unknown
timestamp: May 27, 2018, 07:51:49 pm
content: Quote from: canicoll on May 27, 2018, 07:40:17 pmNO! before circuit design comes the fundamental understanding of the physics and the technology. I would never pretend to know about this. Max Torque is your man for that if you had more time than I know he has to put you through the equivalent of a crash uni course.I don't know which is the best µC, last I heard ST do a µC that has libraries written to control motors. I work with motor drivers that go up to 2KW using 8 bit PIC's but I have no idea what else is inside of them.This is a whole field and minefield of it's own, electronics is but the start.

author: BravoV
author_rank: Super Contributor
timestamp: May 27, 2018, 07:58:25 pm
content: Quote from: canicoll on May 27, 2018, 07:40:17 pmIf ST7 microcontroller is "prohibitively" expensive for you, assuming you don't make mistake on the 1st power up on this motrol control and just work flawlessly for the 1st time, all the needed parts excluding the MCU for building that 50V 300A thingies probably way over your budget.Did I miss it ? You still don't provide your budget. $50 ? $100? $500? ... etc

author: Simon
author_rank: Unknown
timestamp: May 27, 2018, 08:03:23 pm
content: Yes, your processor cost is the least of your concern just wait until you do the power electronics and then need some weird and expensive chips or something. This is a 15KW device, stuff costs what it costs.

author: TopLoser
author_rank: Unknown
timestamp: May 27, 2018, 08:17:50 pm
content: I’ve got one of these really cheap, good starting point to get something working maybe?http://uk.farnell.com/stmicroelectronics/stm8-128-mckit/starter-kit-motor-control/dp/2318884

author: Simon
author_rank: Unknown
timestamp: May 27, 2018, 08:21:12 pm
content: One word of warning with ST..... They are well behind schedules with lead times in the 6 months and rising

author: Simon
author_rank: Unknown
timestamp: May 27, 2018, 08:23:01 pm
content: I think PSOC is the easiest to set up as their IDE has a graphical programming interface but nothing comes free and they may be expensive chip's. I have a dev board for a low end ARM but have not got round to doing anything yet.

author: NiHaoMike
author_rank: Super Contributor
timestamp: May 27, 2018, 08:45:15 pm
content: That voltage sounds like some requirement to stay under the low voltage safety limit.

author: Mechatrommer
author_rank: Super Contributor
timestamp: May 27, 2018, 08:58:09 pm
content: Quote from: canicoll on May 27, 2018, 07:59:09 amif you cant afford this...https://www.ebay.com.my/itm/300A-ESC-For-Brushless-Motor-3-16S-LiPo-Airplane-Plane-Helicopter-300-AMP-OPTO/222094792152?hash=item33b5e195d8:g:l1AAAOSw-QBXPfn9then maybe you may start here...https://simple-circuit.com/arduino-sensorless-bldc-motor-controller-esc/but at 300A? you may need 3 or more fet pair for each winding... as a beginning may i suggest start with designing low amp ESC first? in the range of 10-30A? and then later moving up to your required current... fwiw..

author: BravoV
author_rank: Super Contributor
timestamp: May 27, 2018, 08:58:33 pm
content: Quote from: canicoll on May 27, 2018, 07:59:09 amOne of my favorite at other thread on the OP's persistence and effort in building his motor controller, not a popular thread though, but its in my bookmark as I follow it closely.Try read ->BLDC Motor Controller, Design, Waveforms, Thermal TestsAt least this will give you the clue on the work involved, also the tools and finally the knowledge & skill needed. And watch and take note on his journey , and question yourself if you're ready for this kind of work ahead ?Hope this helps.

author: canicoll
author_rank: Newbie
timestamp: May 28, 2018, 09:50:42 am
content: So I've finished work and ready to read your advice and OH MY GODI certainly didn't expect this level of difficulty. While I have the ambition and drive to undertake this, I honestly could not expect any of you to try and teach me this. I think that would be quite selfish of me and there seem to be cheaper and faster ways to get me to where I need to be.I'm thinking a $300 R/C esc is looking quite attractive now.Would it be possible to build an analog to digital converter to replicate the signal from a radio control receiver and if so, would that be something a noob like me could undertake?Thank you all so much for your replies and words of wisdom. It's nice to come to a forum where people are as generous with their will to help as you all are.Cheers,Cameron

author: Mechatrommer
author_rank: Super Contributor
timestamp: May 28, 2018, 11:02:55 am
content: Quote from: canicoll on May 28, 2018, 09:50:42 amR/C ESC usually takes 20Hz 5V PWM signal iirc. there are few ways to emulate this. one way is using pic or avr tiny to read analog pot voltage in one input pin and output corresponding PWM on another pin, another way is using 555, whichever suits you...http://www.instructables.com/id/Yet-Another-Simple-Pot-controlled-555-PWM-generato/

author: max_torque
author_rank: Super Contributor
timestamp: May 28, 2018, 11:07:07 am
content: Generally speaking, off-the-shelf inverters are expensive for two reasons:1) Power silicon, film capacitors, current sensors etc, costs money, quite a bit of money. the BOM for a kW level inverter can easily be in the $100's, especially in low volumes2) Developing the hard and software for such an inverter takes time and effort. At low sales volumes, re-couping that investment is not easy!Whilst there are several off-the-shelf BLDC software control packages from various manufacturers (ST, NXP etc) the problem with starting with one of these is you have no idea about the theories or basics, so when something (inevitably) goes wrong, you are often left with a smouldering pile of silicon and absolutely no idea what went wrong.And whilst a $300 inverter might seem expensive, that's less than the cost of the oscilliscope you will need to buy to get your own version to work! (and let alone the soldering tools, power supplies, S/W toolchains etc etc)If you want to learn about controlling motors, from a theory perspective, then an arduino and a basic H bridge (plenty to choose from on ebay) is actually a really good way of getting a small motor to spin on the bench. You'll learn a lot, and your 'failures' won't be too costly.

author: canicoll
author_rank: Newbie
timestamp: May 28, 2018, 11:22:59 am
content: Tks guys, Max you make great points here. I have the Arduino and I'm sure I have some IRF3205s laying about that I use to repair solar charge controllers so I will definitely start on that so I can get a better understanding of what's going on. That is after all why I'm doing this.I find it amazing how cheap these RC ESCs are now considering the facts you've put forward. Nothing like volume to bring costs down I guess.Mechatrommer, Thank you for that link. I didn't know a 555 could be used that way, I honestly thought it was just a digital counter.

author: Simon
author_rank: Unknown
timestamp: May 28, 2018, 11:28:50 am
content: I've had the motor in a radio control helicopter go up in flames and smoke (literally) for no reason and that was just an out of the box commercial item.If you are looking at arduino and have never programmed before then it's a start but hopefully you outgrow it and then you have a whole range of controllers to choose from. I am sure there is an AVR with 3 timers and an app note on how to generate the 3 phases of a motor controller.

author: Simon
author_rank: Unknown
timestamp: May 28, 2018, 11:33:29 am
content: You can easily program a µC to read an analogue signal and generate PCM at 50Hz (not 20Hz but 20ms period) you will want a 16 bit counter as with RC PCM you run a minimum of 1ms and the go up to 2ms so really only use 10% of the PWM range. (not so arduino friendly)

author: canicoll
author_rank: Newbie
timestamp: May 28, 2018, 11:44:39 am
content: Yes Simon, there is an AVR with 3 timers and I also found the AN for sensorless BLDC control.It is here if anyone is lookinghttp://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en591508Thanks for tip.

author: Simon
author_rank: Unknown
timestamp: May 28, 2018, 01:03:29 pm
content: Yea, i never read it but you probably have to preload them 120 degrees out of phase and at the very least turn them all on and off together, I think that was the peculiarity that allows easier 3 phase generation as normally each counter is separately controlled.

author: rstofer
author_rank: Super Contributor
timestamp: May 29, 2018, 07:42:35 pm
content: It is unlikely that a unit can be built one-off cheaper than buying a commercial unit that is likely to work:https://www.miromax.lt/en/m-6/c-39/c-44-bldc_motor_controllers/product-43-controller_bldc_150300a_-_hpc300h-72v#product15 kW is a pretty big drive

author: Mechatrommer
author_rank: Super Contributor
timestamp: May 29, 2018, 08:30:53 pm
content: Quote from: rstofer on May 29, 2018, 07:42:35 pmimho it can. the major cost will be the power fets. just by a quick random searchhttps://www.digikey.my/product-detail/en/on-semiconductor/FDB0170N607L/FDB0170N607LCT-ND/60096976 of this cost $50 (other cheaper solutions maybe used such as paralleing smaller cheaper fets, if any), the drivers and mcu + passives may cost another small fractions from that. i guesstimate a total cost inc pcb of $100 at most as a one-off is feasible. but given enough experience and excluding the cost of smoked mosfets (qty based on stupidity and laziness) before get to the point. thats why suggestion of learning/diying from smaller (cheaper) circuit is recommended. once the coding, timing and sychroniation is correct, then power drive can be beefed up. my 2cnts.

author: iwtommo
author_rank: Contributor
timestamp: May 30, 2018, 07:19:35 pm
content: Looking ahead a bit, if you need a hand with the software side of things ive found the following to be invaluableTeaching old motors new trickshttps://www.youtube.com/playlist?list=PLIk4vINgJPNPOwLk7mxJoJHicLcjcrti7

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 30, 2018, 08:32:24 pm
content: Quote from: Mechatrommer on May 29, 2018, 08:30:53 pmThe semiconductors are one of the least expensive parts of a product.Semis are cheap as sand. Well, good quality sand. Not that shitty beach stuff.The most expensive part of such a project is the months long development cycle, equivalent to thousands of dollars of labor you could've earned at McDonalds* in the same time. Tens of thousands, if you wind up needing multiple cycles of refinement, versus, say, the same time at a technician-level job in most fields.*Not counting the labor cost equivalent of voluntarily crushing one's soul, mind.That's a lot of beer!For example, you'll easily spend $50 on the heatsink, let alone on machining it, and the labor of mounting components to it. The capacitors alone will probably be more; this is certainly true at higher voltages, but I'm not sure offhand if it's quite as true at low voltage. 300A worth of 1210 ceramic chips is quite a lot of ceramic, though, and those babies don't come cheap, nearing a buck each. It racks up fast.And that's to say nothing of everything else; the control circuit will soak up $50 of chips, and assorted resistors capacitors, LEDs and so on, easily. Maybe you'll choose to begin development on a $20 to $200 dev kit first, using anything from a cheap MCU to a fancy FPGA.Sheesh, I already spent two or three transistors's worth just writing this post. I need to make this a business, telling people how they're wrong.This is really all just to say: the economics of one-offs is vastly different from production.On a project like this, you're mostly paying, in labor, for the experience of having designed and/or completed the thing. In that case, you're making an investment. You might as well put that knowledge to good use by obtaining a more lucrative job.Tim

author: rstofer
author_rank: Super Contributor
timestamp: May 30, 2018, 08:43:49 pm
content: Quote from: T3sl4co1l on May 30, 2018, 08:32:24 pmThat was going to be my point yesterday but I didn't post it. Something like this, starting from scratch, is going to take thousands of hours and perhaps produce a reward of about a nickle an hour - at most.I did see some cheaper controllers on eBay and it is possible to get a nominally rated unit for about $200 as linked above. I certainly wonder whether the controller can actually deliver 300A continuously but I'll leave that as an exercise. The apparent cooling system (that is to say, none) certainly doesn't instill confidence.Maybe 300A in the hobby aircraft business isn't the same as 300A in the industrial automation business.

author: parasole
author_rank: Contributor
timestamp: May 31, 2018, 05:18:25 am
content: Quote from: canicoll on May 27, 2018, 07:59:09 amWhat is your actual target for this project, do you want to learn about BLDC controllers or you just need one?If you just need one than cheapest route is to buy one suitable for your task.If you want to learn than again better you start with a project you may copy and study in details... nothing is impossible, it is just time cost, and from your starting point both are going to be substantial.There are good controllers out there which fit your requirements and yet you may build one by yourself, and one great example is VESC, just do a search on endless-sphere as advised, beside stock one there are few projects which aim high power versions by redesigning the power stage and using same brain which is a pice of art on itself...http://vedder.se/2015/01/vesc-open-source-esc/https://vesc-project.com/

author: viperidae
author_rank: Frequent Contributor
timestamp: May 31, 2018, 06:14:58 am
content: Quote from: Mechatrommer on May 29, 2018, 08:30:53 pm6 of those are probably good for a 50A ESC.Their 300A rating is theoretical based on mounting to a perfect heatsink that can keep the case at 25C. 210A for 100C case temp. There are also package limitations.

author: canicoll
author_rank: Newbie
timestamp: May 31, 2018, 08:00:25 am
content: Thank you again for all your replies. I'm happy I found this forum.Work is 16-18 hours/day busy right now so I'm pretty much just working and sleeping so, I bought an 80A BLDC motor and a 100A ESC to give me something to play with right now. Over the weekend I plan to have a look at the Arduino's digital outputs and see if I can get them to mimick an R/C receiver. I know it can be done because you guys have mentioned it previously in this thread.I also hope to have time to properly go through each reply and give them the time they deserve.Thanks again guys,Cameron

author: rstofer
author_rank: Super Contributor
timestamp: May 31, 2018, 02:09:14 pm
content: Quote from: canicoll on May 31, 2018, 08:00:25 amThe Arduino Servo Library is probably what you want and an example comes with the IDE:File->Examples:Examples From Libraries->Servo->Sweephttps://www.arduino.cc/en/Reference/Servo

author: Mechatrommer
author_rank: Super Contributor
timestamp: May 31, 2018, 02:25:09 pm
content: Quote from: T3sl4co1l on May 30, 2018, 08:32:24 pmif we go by this notion, then nothing on this earth worth a one-off project, not even the micro current or programmable current load or other projects etc thats vastly discussed in this forum. well, some hobbiests would like to steal some of their rest time and consider it as free, and accumulated knowledge as a bonus in the process, but... ymmv.Quote from: viperidae on May 31, 2018, 06:14:58 amfair enough, i can think of few options to that. fet will run at 50% (or less) duty cycle, either mounting it on real good active cooled heatsink (as you suggested), or paralleling them, or even use some heatsink mount fets abomination, and i think 300A rating is not per fet spec, its effective current drawn from power source, and driver will run at 120deg out of phase for each winding, so there must be current overlap between phases (winding) but i dont want to get too much deep into this homework, you maybe right, ymmv.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 31, 2018, 02:39:06 pm
content: Quote from: Mechatrommer on May 31, 2018, 02:25:09 pmI appreciate that you read my post in its entirety;Quote from: T3sl4co1l on May 30, 2018, 08:32:24 pmOr replace "job" with "selling an actual product", that's a fine investment too.Tim