This is the controller I designed for my school club Rensselaer Electric Vehicle. (REV) Despite my year-long instest in RC stuff, this is actually the first time I decided to really build some RC stuff. Anyway, this is the first brushless motor controller I designed and built (not yet), the first PCB design experience, the first do-some-embedded-programming since my embedded course, the first... Ok I'm a CS student (am I?) and it's been a while since my last soldering/building session.
Spec first, our car weighs about 300lbs (driver included), and it requires something like a 500w ebike hub motor to push it, so this would be the design spec:
Voltage: 36v
Continuous Current: 20A
Peak Current (10s): 50A
During the component selection phase, I came accross duke electric vehichles (DEV) website and found their design really useful. Patrick G Grady, The guy who designed their motor controller, is really helpful and gave me some really good advice to start. So here is the major components:
MCU: Teensy 3.2
Driver: DRV8301
MOSFET: IPT007N06N (60V/0.75mOhm)
Yeah I know the components can do much more than 20~50A, but why not? I would really like to see this thing doing something 100A or even 200A (then explode) in the future.
Then there is software. Since it's the first design, I decided to use the basic sensored 6-step commutation algorithm. Here are two good videos about it:
Brushless DC Motors & Control - How it Works (Part 1 of 2)
Brushless DC Motors & Control - How it Works (Part 2 of 2)
Since this is for the club I will call it "REV BLDC MC", and this is V1.0. The next part would be PCB schematic and layout. More motor controller stuff comming up in the future.