Tricopter: Electronics
(Disclaimer: the photos are blurry because my cell phone camera can’t focus on anything closer than 3 feet.)
This is the underside of my Seeeduino Mega protoshield that will hold most of my tricopter’s electronics together.
I wired up my accelerometer (BMA180) and gyro (ITG-3200) a few days ago without too much trouble using their respective datasheets. I also put together a basic integrator for the gyro outputs to calculate angles, although I discovered that since the gyro drifts at a variable rate depending on the chip’s temperature, I can’t use a constant calibration value. I’ll have to look at that later. For now, you can see my code on github.
My little victory today was having successfully soldered surface-mount LEDs (1206) to the protoboard, resistors and all (they’re the four yellow smudges!). The lights will indicate power, RSSI, and data I/O. That was the easy half-hour.
I spent three hours figuring out the schematics of my XBee Explorer board from SparkFun so I could plug the XBee directly into my protoboard. I don’t want to wire the explorer board to the protoboard because 1) that would mean two boards to mount to the tricopter chassis and 2) I get higher current capacity on the protoboard that I will need when I eventually upgrade the 1mW XBees to the 100mW version.
This is my rough draft of the circuitry before I started soldering. It’s evident I got confused. I also realize now that those schematics are full of errors, but it’s not like you can read the scribbles, anyway. BAH. I’ll post more helpful CADded schematics when I have everything finalized.
The XBee datasheet was of substantial help. The schematics and CAD files on SparkFun’s product page for the explorer board also helped.
At this point, I should make it clear that wireless communication through the protoboard is not yet working. Pretty good progress for three hours, though.
Fortunately, I didn’t fry any components, not even any of the rather delicate LEDs. I scavenged a diode off a scrap motherboard, though I realize I must have wired it in backwards, perhaps causing my data transmission (the lack thereof) woes. The RSSI lights turn on if I try to transmit data (using a USB Explorer board), so I think the XBees are fine. I must have messed something up between the XBee and Seeeduino, like the diode. It’s also possible that the LEDs are drawing too much current, though I don’t see how that could even be true since the data LEDs aren’t lighting up much anyway.
I probably shouldn’t have skipped the breadboarding stage.