All Posts (14054)
- A Boarduino kit
- Multiplexer and ATTiny chips
- Two 220 Ohm 5v resistors and One 10k 5v resistor
- A surface-mount reset switch
- An extra LED
- A EM406 GPS Module
- A GPS connector
- Three female-to-female RC cables (you'll cut them in half to make the pigtails to the RC receiver)
I'm working on the Autopilot code now, and should have a beta in a few weeks once I've had a chance to test it. I'm starting with a port of the Basic Stamp autopilot, but this board is designed to do much more, so we'll be coding in new functionality like the ability to read a barometric sensor for altitude control and read the FMA Co-Pilot (or custom IR sensors) directly, to integrate stabilization directly into the autopilot.
The surface-mount (SMD) version is functionally identical (except it has two extra analog inputs for sensors, thanks to the SMD version of the ATMega168 chip having more I/O pins), but smaller. We designed this one mostly for ease of automated manufacture--we will be offering a pre-made board with components already mounted in a few months--but if you're not too afraid of hand soldering intzy-wintzy leads, you may prefer this one, which you can buy here.
Here's the overview of the SMD board:
Here's the component list for the SMD board (Digikey parts): Capacitors:- (C1,C3): 2x 22pf PCC220CNCT-ND
- (C2,C6): 2x 0.1uF PCC1828CT-ND
Diodes:
- (D1)1x 1N4001DICT-ND
- (D2,D3,D4):
- 1x LED (red): 67-1359-1-ND
- 1x LED (green): 67-1357-1-ND
- 1x LED (blue): 160-1643-1-ND
Connector:
- (GPS)1 x EM406 (sparkFun)
ICs:
- (IC1)1 x Atmega168, ATMEGA168-20AI-ND
- (IC2)1 x 74LS157D,296-14884-1-ND
- (IC3)1 x ATTiny45, ATTINY45V-10SU-ND
Crystal:
- (Q1) 1x 16MHZ SparkFun
Resistors:
- (R1,R4) 2x 10kOhms P10.0KCCT-ND
- (R2, R3) 2x 1Kohms P1.00KCCT-ND
- (R5, R6) 2x 220 ohms 311-220ARCT-ND
Switch:
- (S1) Switch SMD, sparkfun
You may notice that the image of the board above appears to be missing some chips that the through-hole version has. That's because they're on the bottom of the board.
Top:
Bottom:It has the same Lego gear and axle assembly as the previous vectoring thrusters, although I changed the gear ratio to 2:1. I used Lego rods at the motor mount beams, extending out 50% more than the toy blimp to get better turning leverage.
But the really cool thing is that I added RC control to the Blimpduino's autonomous control. That way I can fly the blimp manually to test different motor and vectoring strategies and otherwise understand the blimp's aerodynamics.
The way it works is that under RC control, I connect the RC receiver's channel 1 (steer right/left) to the ultrasonic sensor port, and the channel two (steer up/down) directly to the vectoring servo. I'm writing some Arduino code to read the channel 1 PWM on the ultrasonic port pin and convert that into signals to the Blimpduino's two motor driver chips. Basically that ultrasonic sensor port now has dual functions, depending on which program I'm running.
When I want to fly autonomously, I just take off the RC receiver and have Blimpduino control both the vectoring servo and the motors itself, connecting the ultrasonic sensor back to its regular port.
The Li-Po battery (the red thing underneath the receiver at the back of the board) powers Blimpduino and also the RC receiver, via the channel 1 port.
Other parts needed:
- Two N20 motors
- Two props
- Blimpduino board
- A 52" envelope
- Either a small 7.4v Li-Po battery, or a 4xAAA battery holder
Here's a close up from the side:
As those who have been following along with our "minimum blimp" project to create the cheapest possible autonomous aerial robot (by adding an open source autopilot to a toy RC blimp), maintaining altitude in the face of air currents and temperature gradients has been a continuing challenge. The main problem with the toy RC blimps we start with is that they have a single tiny vertical motor and prop to control altitude, and unless you've trimmed the blimp exactly right and conditions don't change, that's not enough to reliably keep the blimp off the floor and away from the ceiling.
The best way to increase the vertical "authority" or control power is to get the two differential thrust props on each side to also do some vertical work, by tilting up or down along with their usual job of driving the blimp forward, back and right and left. Such tilting props are called "vectoring thrusters" and they're what the expensive blimps use. But on the cheap toy blimps that we start off with, the shaft that holds the two horizontal thrusters is glued and screwed into place.
No fear. Converting this shaft into one that can rotate is a simple matter of five pieces of Lego and a small RC servo. You can see it work in the video above, but here are some shots to show how to make it.
Before (typical toy blimp gondola, with RC equipment stripped out):
Parts needed (Lego Technic parts and one servo): Cut the blimp motor shaft in half and insert the Lego rod, with the gear and two Lego beams on it. Cut out a bit more room in the gondola and glue the two beams in. The shaft can now rotate: Now drill out the Lego gear to fit the servo shaft, screw it on, and then glue the servo on top of the Lego beams (depending on the size of your servo you might need a little plastic wedge to get the right spacing):That's it! Needless to say in the autonomous version the onboard autopilot will drive that servo, not a RC transmitter. But you get the idea. If the two vectoring thruster do the trick of altitude hold, I may remove the vertical thuster entirely to save weight (and two I/O pins). If I need even more vertical control, I'll keep all three going.
(Boeing)