Electronic – Design considerations for micro dc to three phase ac AVR based (ESC) for miniature UAV applications

microcontrollermosfetpcbpower

This is a huge question, I plan to present the problem in detail and my current plan of action for solving it. I'm hoping to get pointers on what to and not to do.

I was involved with a recent publication about HIL characterization of miniature uav actuators consisting of commercially available RC parts. Many conclusions were formed, but in short the weakest link in our actuator systems for our uavs are the motor controllers. They are all different and rather unpredictable. Some are sent ppm signals others like the ones on our rotary wing craft use i2c communication.

The ideal is to design a superior power system with n channel mosfets only.
The reason for this is a symmetrical phase control. However in order to do this it would require a slightly higher power source than the voltage being modulated to the motors.

To accomplish this I plan to use an external regulator for the MCU operating voltage and the higher mosfet driving voltage.

The next consideration is the mosfets them selves I plan to use multiple mosfets in parallel to reduce gate resistance and increase power capability.

I would like all the PCBs involved to be 2 layer PCBs to reduce production costs.
To do this and maintain a size small enough for miniature UAVs I plan to place the AVR based MCU on one board with molex wire to board connectors and programming connectors as well as status LEDs and support components.

Then all the power mosfets and optical isolation devices on another 2 layer PCB that connect to the MCU PCB with molex board to board interlock connectors.

The last consideration is the MCU its self.
I have no experience with programming embedded devices other than arduinos.
I also have less than nine weeks to produce this product.
Because of this I am considering using an atmega 328 and using the arduino boot loader and making all the pins compatible on the motor controller for initial ICP.

I like the xmega 16A but i do not want to rewrite the bootloader.

All this in mind there are considerations yet.
I will need to store externally and dynamically characterized parameters on the MCU for onboard control algorithms.

Thank you for your thoughts.

P.S. i2c will be the communication protocol to the motor controller because it is robust, bi directional and can support multiple devices on a single buss.

Best Answer

When using high-side N-channel MOSFETs, a MOSFET driver chip is generally used (e.g., an IR2130). These chips require a boost capacitor which allows the gates of the high-side MOSFETs to be driven with the required voltage. The downside of this is that the MOSFET driver has a restricted operating range (typically 10V-20V). The second down-side is that you can't drive the MOSFETS to 100% pulse-width; this is usually not a problem. Alternatively you could use P-channel high-side MOSFETs and N-channel for the low-side. With this configuration, you can PWM the low-side switches only and save some power. (You can do this with all N-channels as well, it's just trickier since you have to keep the boost capacitors charged). Go to Digikey and search for "mosfet driver", you'll want the 3-phase bridge drivers specified for external switches.

As for the MOSFETs themselves, I don't recommend you use them in parallel. This would increase your footprint as well as your gate charge. Instead, look for high-current mosfets on Digikey. My favorite packages for these are D-Pak, 8-PowerVDFN, and PowerPAK 1212-8.

Atmel has an app note for sensor-based and sensor-less motor control. Unfortunately AVRs don't have much processing power and your control algorithm will likely be restricted to fixed-point math because of this. Because of the processing power limitations, you may want to consider not using the Arduino environment and instead use straight C or assembly.

You may have some trouble isolating the I2C bus optically since it's a bi-directional bus. If you were to use a communication system with single direction lines, you may want to look at TI's line of isolator chips (e.g., the ISO7221).