This isn’t going to be a full post, but I wanted to mention that my PCBs for my power supply came. I’ve got the OLED display working, and will get the other peripherals working shortly. There will be a full post in a couple day’s time.
I finally got the revision C control boards in the mail, along with a Ponoko order for some lasercut acrylic. I won’t go into detail over the new boards, because I did that in a previous post, but the new ones have USB for debugging and uploading new programs from Xmegaduino.That was the goal, at least. I figured that the RTS line on the FT232 would be used as reset, like normal. This is not the case, however. The DTR line is. Oh well. Luckily, I can use my AVRISPmkII clone to upload programs just as easily. There is also one other issue, and that is that I used some 0402 resistors accidentally. You can see in the first picture by the headers that I had to improvise with some 0603’s.
The acrylic plates that I got from Ponoko are great. They don’t serve any real purpose, but I figured that it would look cool and protect the control board from flying debris in the event of a crash. To get the shape exactly the same as the PCB, I exported only the dimension layer in EAGLE, brought it into SolidWorks to clean it up and create a .dxf file that Inkscape would like, and imported into it the template from Ponoko.
I’m also (finally) starting to work on modifying the AeroQuad code for use on my Xmega. For someone new to actual AVR programming (setting up registers and bit-level operations), work is going slowly, but I’m getting there. I hope to be flying in a week or two.
I was also on Adafruit’s weekly show-and-tell. You can watch the video here.
Along with any revision comes along changes, and this one is no different. First off, let me start off by saying that I am not abandoning the MPU-6050. It is a excellent chip, but it is not all-powerful. I am moving to a more traditional setup with this revision, with a separate accelerometer, gyroscope, and magnetometer. The accelerometer will be an ADXL345 from Analog Devices, the gyroscope will be the venerable ITG-3200 from InvenSense, and the magnetometer will be the HMC5883 from Honeywell. The reason for the switch to this setup is because of the lack of examples for the MPU-6050, and because I found out about the AeroQuad project.
The Xmega is also getting downsized. I finally came to the conclusion that I don’t need ALL of the pins on an A3, so an A4 will be replacing it. This is both to help reduce the size of the board, and to become compatible with the Akafuino X, an Arduino compatible powered by an Xmega A4. Also, just for kicks, I am going to overclock it. I’ve heard of people going as high as 80MHz with the Xmega, so I might as well give it a try. The specific one that I plan on using is the version with USB capability, but I will just use a FT232 for communication.
There will also be multiple ways to power the board. All options go through an AP1117 3.3V regulator, but now there is more than one way to get there. The main input is through a standard JST connector. The secondary input comes from the BEC circuit on one of the motor ESC’s. The third option isn’t useful during flight, but is there anyway, and that is through USB.
So, quite a big turn in the project at this point, but I think these changes will be for the best. I (and many of my friends) want to see this thing fly, and fly well. Development will continue on Rev B, as I want to get that MPU-6050 up in the air.
I’ve started to work on revision C of the tinyCopter control board. There are a couple changes that I’m making, so I’ll go over those.
First, I moved the GPS module out from under the xmega. This way I shouldn’t have to deal with interference issues. Since I had trouble with my on-board power supply, I replaced the TPS61200 boost converter with an AP1117 3.3V linear regulator. I also added two LED’s to be used for status indicators. I’m also shrinking the main part of the board to reduce weight a little.