I finished the latest cleaner head and mounted it temporarily on Ozzy with double sided tape. This is the 3rd revision of the vacuum head, the 2nd was made of 1.2mm PP sheet and was dumped for being too flimsy. This one`s made of aluminium U channel, hole punched metal strips and plastic. A GM7 baby motor turns the rotating brush through a double set of pulleys, which is made of a pencil with fluffy tape stuff glued to it. On the front is a wire bump sensor with a microswitch on the left. Right side is just hinged. I didn`t bother wiring it up for this test.
The same fluffy tape is around the edges on the back and sides to keep the greatest amount of airflow coming in through the front. I tried all sorts of stuff around the home for this but nothing worked out until I saw this at the dollar stores. It`s for sealing the edges of indoor sliding doors.
The rubbish bottle and fan mounted on the back with tape. I emptied it before the trial run to see how effective the head will be.
Here`s an after shot. I had to hold it up to the window so the crap it collected was actually visible through the bottle. Unfortunately there isn`t any video because the test mainly consisted of me pushing him around and turning him away from obstacles.
I`ll call the vacuum a success but Ozzy simply isn`t suited to it. It sticks out too far mounted on the front, making turning difficult because it tries to bash everything over. It really needs to be mounted in the center of a circular robot base. Something to do in the future maybe.
I quick fitted the head shell I made using my vacuum forming box here. I cut holes in the front for a maxbotix sonar and also a 38khz IR receiver to get it to search for beacons.
I guess it turned out ok, I`m really not sure what to think of it. I didn`t put much thought or effort into the clay mould in the first place and it shows. My wife hates it, she thinks it looks like an alien but I think it looks like some guy who shaves his head before realising how bumpy and ugly his own head is. A paint job might spruce it up a little.
Uploaded the latest main program code.
Some detail shots of the sharp mounts and servo links for the tracking eyes.
I promised the guys I work with I would take it to our next meeting on the 4th of June so I`ve been completely redesigning Ozzys head for more functionality and just better looks overall. I also scrapped the black foam board panels on the side and replaced with aluminium.
It`s not done yet but here`s a little peek at the new head.
added source file for the servo driver.
Quick update to add a short video showing some really basic wall avoiding. Lots of pauses were added while debugging. Only 1 atmega168 is being used until I figure out some robust code for transfering variables and commands over the I2C connection.
Watching the video reminds me how fugly the head is D:
If you look closesly you can see Totoro my assistant techy make a cameo!
A bit of an update. My computer is still fucked so I had to give up on sketchup and just build it.
^reflective IR sensor wheel encoder
RPR220 with resistors soldered on and hot glue to hold it solid. When I first tested these things I tried a transistor amplifier Oddbot used in his IR tracker and also without any amp. Using the arduinos 10 bit ADC even without the amp I could reliably detect an object about 40cm away! I did change the resistors for this final design though. At this configuration they should give an almost digital response but I haven`t actually check if the whiteout reflects well... They are wired as external interrupts and eventually I want to make some kind of PID control.
It will have pretty terrible resolution, about 1 pulse per cm, but thats OK for my purposes.
First attempt at SMD soldering was this max7323 I2C 8 port expander I got as samples. Works great as an LCD controller using only 2 pins on a shared bus. With some research and help from the arduino forums I made a simple to use LCD library.
Directly soldered to the LCD to reduce space. I don`t intend to pull it apart so thats fine. Has a mosfet to control the backlight and a pot for contrast adjustments.
^LCD and buttons
Mounted the LCD and buttons. I`d love to use those cool chrome dome nut thingies all over the bot but they`re pretty expensive. The buttons have red and green LEDs in them which look awesome at night and will be used to change settings like the time and alarm etc. there are 2 more on the other side.
Nearly completed, more headers and wiring needed still, plus I may have to swap out the regulator for a beefier one if I add too many more things.
Going clockwise from top left --- voltage regulator, motor driver, various IO connectors, I2C real time clock and backup battery, 512Kb I2C EEPROM, ISP programming headers, expansion socket, atmega168 sockets, reset button, and finally servo driver.
And thats where its at right now. I`m waiting on some ICs and a programming dongle from sparkfun before I can start some proper coding.
- spring and rubber grip around track tensioning nut
- track unit side covers
- battery brackets
- rear cover
Since first posting this robot I`ve been busy learning sketchup and trying to plan the overall look and position of components. Unfortunately due to an incompatibility between my ram and video card, I can`t use sketchup until the new RAM I ordered arrives. But! Heres what I`ve got up to so far anyway..
The frame is made of 15mmx1mm angle aluminium. It`s strong, light and cheap. I`ve been cutting it with a hand nibbler and using a pin vise to drill holes. Eventually it will be covered with thin foam sheet and have hatches over the front and back for electronics and battery access.
The front holds the main brain board which is 92mmx76mm. The plan was to be able to plug in half size boards on top using 2x5 female headers with extra long pins that stick through the bottom. Because of the height of some components I`m rethinking this design, but I`m still trying for stackable expansion boards.
The 3 servos are for neck and arms. I`m still undecided on the head, neck and arm designs. I`m going to wait until my PC is fully working so I can use sketchup to fill in those details before I start making them.
Motors mounted to the aluminium panel with a couple of screws. There is a little bump on the motor so I used 2 washers as spacers. I`ll cut a hole for the bumps so the motors mount flat.
Servos and tracks mounted to the frame. Need to stick a support through the middle to stop flexing and cut down the bolts holding the tracks on. 2x6AA battery packs will be mounted here at the back. The servos are GWS S03-2BBMG with almost 9kg/cm of torque at 6v which I picked up fairly cheap. The arm servos are only held on with double sided tape here but the top covering plate with hold them on tight.
I`ve given up on the mechanical side of things for now, so on with the brains!
5v 500ma low drop out regulator circuit for logic and sensor voltage. A direct line will be taken from the batteries for motor and servo supply.
On the left are output pins for 8 servos. An attiny2313v will be used as servo driver. Main MCU will be 2 atmega168v with arduino bootloaders. The idea is to have everything communicating over an I2C bus. The plug in boards will all run on I2C as well.
^First test of I2C. The RTC at the top being read by the arduino every second and displaying it on a 4 bit LCD. The RTC I got was only $4 but doesnt come with any battery backup. I tried adding a diode and supercap and it works. After 3 days of no power, the capacitor voltage is down from 4.4v to 2v though. The RTC has a minimum time keeping volage of 1.8v so it won`t last much longer. I want the time to last about 3 months at least so I`ll have to add a resistor to limit the current to about 800nA.
So that`s where it`s at right now. I`m waiting on some goodies from futurlec still. Their prices are good, but they are sooo slow. The order I put in on the 11/25 got shipped out yesterday :|
Yet another Wall-E type. This is my 2nd robot tentatively dubbed "Ozzy", after my wifes favourite dog in Nintendogs.
Some people may remember me complaining in the forums about a solarbotics shipment disappearing in the post somewhere a few months ago. Well after contacting customer support they were able to resend it free of charge under their insurance, which was awesome because the postage wasn`t insured and I had pretty much written it off. I still get annoyed knowing some dirty bugger is out there with MY original track kit >:|
Now that it`s finally arrived I`ve started work on the wall-E style robot I had in mind a while ago. Since a lot of thinking time has passed since I first ordered the bits, some awesome similar style robots have been posted and inspiration has been had :) particularly the articulate neck on Edward and the modular track units of NewBOT.
After trying the same 5mm foam board from my last bot for the track structure and finding it was weak as piss I settled on some 1mm aluminium sheet I had lying around. Here is 1 track unit almost finished. Still need to widen the top hole and mount the motors behind. The top wheel is just a 3rd idler right now.
Here you can see the simple track tensioner made out of common stuff from the hardware shop. The motor shaft thingy on the right is just a 4mm wiring lug which fit the purpose perfectly. Gives approximatly 20mm travel. I pulled apart every pen in the house looking for springs big enough but sadly they were all too small :(
Heres my 2nd little innovation I`m quite proud of :D a 4mm bolt as shaft with a 4mm/15mm spacer. The spacer is juuust a little wider than the idler hub so you can tighten everything up as much as you want without putting any friction on the wheel.
The original plan had been to mount the motor into the space inside the tracks and run a chain or belt to the top wheel. I picked up both the tamiya chain and belt sets for this purpose but after some mucking around I could`t find a good way to fix either a pulley or sprocket to the output shaft of these motors.
I`m busy this week with work but hopefully there will be time for some work on the chassis and head :)