The controller for the quadcopter is the brains of the operation. The first part of the design is to choose a microcontroller. Since I am most familiar with the Microchip IDE and I already own the microchip Tools.
I chose two candidates from Microchip:
|Device||Flash Memory||RAM||Timers||Output Compare||ADC||UART||I2C|
|PIC32MX795F512L||512KB Program + 12KB Bootloader||128KB||5||5||10 bit||6||4|
Comparing the two:
- Flash Memory: The PIC32 wins here 512KB vs 256KB, I may or maynot need the extra memory but since I am more of a hardware guy than a software guy it wont hurt to have extra memory.
- RAM: The PIC32 here wins again 128KB vs 30KB, this could be important because I could use the RAM to log data on the PIC32 on the DsPIC I would probably have to use external serial memory such as FRAM which is expensive and the transfer rate would be much slower than the on-board RAM.
- Timers: This is bascally a tie although the DsPIC has more Timers I probably only need 2: 1 for the PID loop and 1 for the PWM.
- Output Compare: This is bascally a tie although the DsPIC has more Output Compare Channels, I only need 4: 1 for each motor.
- ADC: The DsPIC wins here hands down a 12bit ADC gives you 4 times the resolution
- UART: This is bascally a tie although the PIC32 has more UART Channels, I only need 1
- I2C: This is bascally a tie although the PIC32 has more I2C Channels, I only need 1 or 2
Continued on next post.