Chibicopter is at a state where all the hardware is powered and operational, but major tuning and potentially rework of how the IMU is mounted is necessary. The full details are at my build log: http://www.etotheipiplusone.net/?p=1944
There has been relatively little progress in the past 2 weeks because I damaged two of the motor controllers by plugging it into USB5V. They can withstand ~4.5v maximum, as it turns out.
Why did I have to plug it into USB5V? I decided to bypass the XBEE for programming for now, just to get it flying. The issue was resolved by pulling out the 5v power pin on the nominally 3.3v FTDI adapter and programming while under battery power.
Current Problems
While the hardware works and I can communicate/command it and also debug via Serial Monitor, the whole thing needs a fair amount of tuning:
- The propellers are not well-balanced. Even if the propellers were, the motors themselves contribute significant imbalance.
- The arm design ended up being a bad choice – they resonate with the propeller imbalance at higher speeds, coincidentally near takeoff speed. The Kapton tape loop above was an attempt to stabilize them.
- The imbalance may be strongly disturbing my gyroscopes. This was a known failure mode of Tinycopter and was not resolved until I mounted the controller on a block of soft memory foam.
- After these issues are resolved, I will still have to do a fair amount of PD loop tuning and speeding up the refresh rate of the motor controller commands in order to stabilize the system.
Here’s a video of it attempting to hide.
5/17: I removed that video to chop it into a better, newer testing video!
This shows the extent of tuning I have been able to accomplish as of last week. As of this point, I’m going to have to declare Chibicopter done as-is, even if it is still technically unstable. There are a few reasons:
- The PCB is so wire-hacked that I would have had to undo a few layers of jumps to remount the IMU using flexible wire
- The frame and motors are getting really beat up from repeated crashing – the motors themselves are starting to come apart
- Two of the motor controllers’ header pins are fatiguing from vibration and had to be cut off/resoldered
- The Arduino Servo library cannot be ‘overclocked’ further without splitting it into two timers so they can run at refresh rates faster than 8ms per loop (maximum of four 2ms servo pulse outputs). This would require another level of wire hacking.
After the class, I will continue pursuing it as a personal project. It will most likely become a PCB frame with more accessible components.
Here is Chibicopter’s current running code.
BTW, I think the SparkFun 3.3V FTDI breakout board supplies 3.3V on the VCC pin (as opposed to the 3.3V FTDI cables, which just use 3.3V for the signal lines but still supply 5V of power). And the FTDI Friend from Adafruit also allows for 3.3V on the power line.
So I found out the hard way…. D: