Well the semi good news is we're allowed to take the project home, so I have something to work on over the holidays, I have 3 microcontrollers in a box, 2 ATMega640s and a ATMega32 which is planned to be turned into a USB programmer.
Well, this project isn't quite on hold, just split up, so what's happening currently?
Well, I'm playing around with an Arduino (finally able to test out the sensors and find out what is going on) currently and recently found out that I can hook this arduino in a certain way and use part of it as a programmer. I'm going to be also seriously thinking about redesigning the board and sending it to an etching company.
As for the mechanical side, currently that is being handled by the other main team member who is trying to find a R/C controller that can handle everything we need, the other problem is trying to control the speed controllers, but we need to organise a meeting for that, which is going to be difficult since the other team member is currently in an Industry Based Learning position for 6 months. We'll have to find some time eventually.
We'll today we managed to finally get the speed controllers working with an arduino after a little hassle. It turns out the normal servo library does a pulse every 20ms, which is great for a servo as it means the servo tries to hold it's position, but for a speed controller, it gives a pulse too often, so after a lot of trail and error plus a little research, we found we needed to give a pulse every 50 ms which means the servos are allowing a little drift, but it will correct every 50ms or so. To achieve this, we modified the Servo library included with the Arduino IDE to use 50ms instead of 20ms and we then found that when the speed controller's position was set to 0 degrees, it wouldn't respond, but it responded when it was set to 20 degrees, I've worked out how to fix this problem quite easily and it should also give me finer control over the motor speed.
This project has been taken onto my 'final' year project. While it's not my final year at the uni, the subject is usually referred as the final year project. We're hoping to get this thing to fly in a couple of weeks (this means serious time being put into the project, I did 9-6PM with a 30-45 lunch break today) and then adding more components and software modules until we have a full UAV.
It houses an XBee Wireless Communication Module, a dual axis IDG500 gyro and a triple axis ADXL345 accelerometer. The switches are used to switch the ADXL345 between SPI and I2C (my project partner wanted that ability). It's designed only to sit on my maple, but that's not an issue as we have another board that works with the Arduino, but doesn't work as a shield though.
Also to highlight the difference in processing power between the Arduino and Maple. Same function running on both, Maple took 56uS to do it, the Arduino took 1012uS to do the same function. Measured by making a pin high before the function, and low afterwards, measuring with an oscilloscope.