I’ve always wanted to try creating my circuit, so I figured I’d give it a shot. I want to create something to drive a BLDC at low speeds with high accuracy, so I’ve designed something centered around an IC TI provides: MCF8316A.
Features of the MCF8316A:
- Sensorless field-oriented-control (FOC) of BLDC
- Integrated FET and charge pump
- Integrated current sense
- FOC is implemented in hardware
- “Offline” motor parameter discovery (measures inductance, resistance, etc.)
- I2C (among other control schemes)
- Other nice things I might use in the future
So to keep things simple, I’m designing something that connects to power, a 10-15W BLDC, and an Adafruit Feather or similar over I2C, and allows me to control the motor using CircuitPython or similar.
TI has a good app note, so I’ve mostly just been following that. Since this is my first time using KiCAD, I’m not sure I’ve entered things correctly. I haven’t even started placing traces, but I figured maybe it’s a good time for feedback. I’m looking for any/all feedback, but some specific things:
- Is there anything that might prevent a PCB house like OSH Park, PCB Unlimited, PCBWay from manufacturing?
- Would it be safe to plug this into a benchtop power supply and an Adafruit Feather’s I2C port?
- … would I be able to communicate over I2C?
- … assuming I issue the right I2C commands, could it at least make a BLDC turn?
- Are there any additional protections I should add? The IC has many of these built-in, but maybe I need something else?
- Besides the test points I’ve already added, are there any other diagnostic features I should add?
- It seems like a hybrid grounding topology is best: separate star grounding for analog and digital tied together with a single via. Any pointers on how to route the traces / pours for this? It sounds complicated.
- Did I chose the right bulk and bypass capacitors for VM (motor)?
Here’s the schematic:
And the PCB layout I’ve started - with no traces:
Things I know need to change:
- XTAL needs bypass capacitors - I wanted one with this functionality integrated, but the only ones I could find came in super duper tiny packages.
KiCAD files are here: BLDC controller.zip (51.4 KB)