I have started the build of the first Drone prototype for my little ant farm project. I plan on building around 4 Drones and a Builder.
1. The Drones:
Chassis:
The Drones will be as simple as possible, using TH components, as is hard to prototype with SMD. A double sided, plated holes prototyping board will be used as the chassis. The board is 38mm x 38mm and it can get smaller only if I use a smaller battery.
Power:
Currently I am using a 250mAh LiPo battery with built in protection circuit. The only SMD part is a MAX1555 LiPo charger, and I managed to solder it in the middle of 4 pads on the proto board. The middle pin that has to be connected to the ground, I have bended it upwards and soldered a wire to a neighboring ground pad. The charger and the battery are connected to a main switch so the battery can be charged even if the robot is not powered. The Drones will automatically go to a charging bay and some feelers will touch 2 plates, one on the ground and one situated a little higher than the robot, something like the bumping cars at the fairgrounds. The MAX1555 charger has a pin that goes Low if the battery is charging and goes to high impedance when the battery is fully charged. This way the microcontroller can detect when the charging is done and resume activity. The battery voltage will be fed through a voltage divider to an analog pin so the microcontroller can direct the Drone to the charging bay before the battery is completely depleted (before the protection circuit cuts off the power).
Brain:
I was thinking of using a Tiny as the Drone's brain, but after a while I decided to add some lights for debugging purposes and one led to another and I thought it would be nice if i can use a few more LEDs to make some animations so the Drones can be more entertaining. That led to choosing at least a Mega8 as the brain of the Drones. If the code will not fit, I will upgrade to a Mega168. This allows me to program the Drones in Arduino and use a FTDI board to download the code. Powered at 3.3V, the microcontroller will use the internal 8MHz clock source and free up 2 digital pins.
Locomotion:
Two pager motors will be used for driving, and a low voltage FAN8200 H-bridge will allow control with only 2 pins per motor, a Direction pin and a PWM pin. A couple of solid copper wires will be used for skids and for ground connection at the charger.
Communication:
Three 56kHz IR receivers will be installed in a triangle shape on the robot, and right in the middle of them 3 IR LEDs will be used to broadcast the messages in (mostly) all directions. The front side of the Drone will have 2 sensors to be able to detect the direction where the Home Beacon is. I will probably use Pin Change interrupts to detect which sensor triggered first, then read the message (Home Beacon ID, other messages).
Sensors:
The robot will use a simple 38kHz IR receiver and 2 IR LEDs to detect Left-Right-Center. If needed, the communications sensors may be used for the same purpose. A small trim pot will be used to adjust the sensor sensitivity. Perhaps a small IR reflective sensor will be used to detect the line delimiting the home zone and the charging bay.
User interface:
A small 7 segment display will be used to make a nice light show and to make a marquee for text messages and sensor values for debugging and show. The Digital Point of the display will be connected to the pin Digital 13 as the LED any Arduino board has.
Drone's Purpose:
The Drones will roam the play field looking for foam cubes and bring them (pushing) home so the Builder can use them to build a protective wall. Later, more functionality can be added.
2. The Builder:
Chassis:
I have a surprise for the builder's chassis, so i can't talk too much about it yet. Double sided copper clad will be used to make a box that will house all motors and electronics.
Power:
Power will be similar to the Drones, same battery, same charger. However, this time I will use a 5V buck up switching regulator for the electronics.
Brain:
The Builder's brain will be a Megabitty board (that I have in my toolbox and never used), but I will erase the original bootloader and install Optiboot (512 bytes) for Arduino.
Actuation:
Two GM10 motors will be used for driving, since the Megabitty board has built in H-bridges. Somehow I will use treads on this robot, perhaps from a small tank toy. A small servo will be used for a gripper with a special setup so the gripper can raise and grip at the same time and use only one servo. I have a few designs in mind, let's see which one is easier to make.
Communications:
Same as the Drones.
Sensors:
Same sensors as the Drones, mounted low to the ground.
User interface:
Not sure I can use the same 7 segment display, so I guess a couple of bipolar LEDs will do.
The Builder's Purpose:
The Builder stays in the Home base and uses the foam cubes the Drones bring to build a protection wall, at least 2 levels high. Perhaps I'll make some platforms that raise from the ground to build more levels. We'll see.
3. Build progress:
I have started building a Drone first. I am waiting for some parts, then I'll start working on the Builder too. At present, I have most of the parts soldered on the protoboard and I am working on making the connections using wrapping wire. Here are some pictures of the first Drone prototype: