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. I've learned about some useful information about MOSFET here:http://www.apogeeweb.net/
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.