In an effort to increase maximum ease and relaxation at our cottage in Michigan, I designed and built a robot capable of delivering drinks and dinner to our remote treehouse. We love to have dinner and drinks out there, but it’s a challenge for us to bring all the stuff out and back. Mostly I just wanted to build a robot. I had previously installed zipline for my Grandson and I to have some fun on in the summer. It went from the treehouse to the house, very carefully and safely rigged. Although, I was fairly nervous one of us was going to break our necks on it if we fell off, so I took down the seat and repurposed the zip line.
I began the process with research. I needed the robot to pull itself along the wire, while maintaining a heavy load and staying balanced. I first designed the structure using Actobotics parts, a dual U-Channel system with arms at each end to hold the basket. That was the easy part.
For the motor and mount, I experimented with many types of motors. I tested with a continuous servo, which I thought may be the easiest to implement, but overall proved to be too weak. Then, I tried to use heavy duty stepper motor and driver, but this proved not to work well. It probably would have worked if I had a geared down stepper, but I was using what I had lying around.
What I needed was a geared down heavy duty DC motor, so I found one on servocity.com, a 30:1 ratio. I used a cheap PWM controlled DC motor controller based on an L298 H-Bridge. This allowed bi-directional control and speed using an Arduino. I mounted the motor controller and Arduino inside of a watertight project box and wired it up.
I carefully bolted pulley wheels at each end to keep the system locked to the wire. I used some old garage door pulleys I found in my junk pile. After mounting the motor a few different ways, I found a method to keep it locked on. The motor has such high torque that if it got stuck, it would try to rip itself right off the mount. This happened a couple times during testing. I had to rebuild and support the motor evenly. If the motor pulled right or left too far, it would bend the aluminum trying to break free.
My testing involved hooking the robot to the wire by wrapping it around the top of the gear. The eye hooks at the end were there to make it easy to connect the basket. The 12V battery was pulled from an old RC airplane. This one ended up dying too quickly so I eventually purchased a much more powerful battery that was also waterproof and easy to charge.
After much testing, I had to re-rig the zip line to our screened-in porch. I cut down a couple trees and removed many branches to give it a clear shot. The toughest part was that I had to create a hatch, or door in the screened in porch, so I could access the robot and load/unload it. After doing that, I could access it for charging and loading beers and food into the basket.
Programming the Arduino for motor control was pretty simple. I added 2 microswitches, one on each end of the robot to hit the end caps. The Arduino reads these and when hit, simply stops the motor and changes direction. A button on the project box is used to start the motor again to go back in the other direction. The only thing the robot has to do is go from point A to B and reverse, all day long until the battery dies.
At one point last summer I had overloaded the crate with too much weight, probably about 20 pounds, which caused too much pressure on the motor and driver. In the middle of the run, it overheated and started smoking and burned out. I thought it was the motor, but it turned out the be the L298 driver. So I found a much better, more industrial motor controller, which I highly recommend. It’s the Cytron MD-10C. Works like a charm and much smoother operation overall. No overheating and no risk of fire.