October 1, 2010
4-26-12: Poor ole Crumy, sidelined like so many other projects. Distractions have been rampant and with JAKTEK burgeoning my time has been hard to spread around. Not that I haven't spent good in-skull time on the old boy though.
As I've previously pointed out on Crumbots project page I've given up on the little vacuums. I've purchased a mean 12V cordless Black & Decker beasty that runs on a bunch of NiCads. The run time is dismal at best but the performance is fantastic. It has become my main household vacuum, FWIW. Anyhow it looks like I'm going to power it with an 11.1V lipo with a few thousand mAH's in it. I'll hack into one of those $10 2S/3S lipo balance chargers for the charging station. Devising a four pole docking interface has been a challenge to me. That and those big 3S lipos are kind of pricey.
I also purchased a Sharp dust sensor that I'd love to work into the project. I would like the bot to simulate the normal back and forth motion that humans do but with electronic eyes to know when to move on, not just ears listening for sounds of stuff going up the vacuum tube.
I've also abandoned the idea of a Start Here Robot with a vacuum slapped on top. With the previously stated run time challenges I would like the robot to move in a more efficient manner. I think some GM17s with wheel encoders will suffice for my purposes. I don't need mapping and all that. I just need to have the bot move in a grid like pattern.
The tall nature of the vacuum unit itself is and interesting shape and I'm not quite sure how to give the thing sufficient obstacle detection. I've imagined a bevy of infrared and ultrasonic sensors on it but there must be a better way.
I was hoping the new mushroom vacuum and some other stuff on The Orient Express would get here by now (no more mail till next monday :( ) but it did not. I did get the heavy-duty tactile feelers from Solarbotics though. With that one acquisition I've determined I'm going to scrap the square shape of Crumbot and go with a round design. I'll implement some bumper triggers that aren't so fussy that will let the robot get much closer to obstacles. The fab work will be tedious; hand forming expanded PVC sheets to a cylindrical shape with a 1500W hair dryer is the plan. I think the change will be better on many levels.
I did get the charging station's PICAXE 14M that I ordered from Solarbotics, however. I determined I'd like to have Crumbot be able to have two-way communications with its charging station. That one addition of an IR Rx to the charging station entailed upgrading from the 08M to a 14M. That's ok because the extra pins will hopefully let me have more fun/flexibility.
I have also finished the IR beacon seeking part of the code. Tested and verified. I had some problems getting the reflective sensors to not melt when I soldered them and to also get them to work right but all is good now (after frying only one sensor). With the 14M in my possession I can now get to work on the charger station with more gusto.
Really, to be honest, I just wanted the damn vacuum to get here before the holidays, dammit. :cuddle broken-in high-performance replacement motor: Prehhhhhhhcious...
Turns out the vacuum was way smaller than I thought but it uses a larger (than my current 130-type motors) 260-type Mabuchi motor. Too bad it was mated to an impeller smaller than the original USB vac I bought. To make a long story short, the 260 sized motors offer better torque for the current used at ~3V. After great investigation I found the common mushroom shaped desktop vacuum is made to use a 260 motor. I immediately ordered one from dealextreme.com for $6 (thanks ezekiel!) and am just waiting for it to arrive. I found a drop-in replacement motor with carbon brushes from Jameco: RC-260RA-2670. Tons of rpms, healthy torque, and it shouldn't tax my batteries. The Power Dash slot car motor was running closer to stall than max efficiency. Another good thing about this motor is... it's cheap cheap cheap.
Still not sure how the new mushroom design will effect the Crumbot itself, meaning shape-wise. I would like to get away from the Sintra-box-bot. I bet it will work itself out once I get it in my grubby little paws.
I also broke one of the feelers on the bot. I've been trying to make or order some more but it has been exercises in futility for both options. From leaving my iron on all night and frying my favorite tip to getting an unexpected overdraft fee, it's coming at me from all angles. Bah.
I've slowly been working on the code for the 08M IR tx and charging station. As a side effect I took a peek at the main 28X2 code and was amazed so many errors snuck by me. I've spent more time cleaning up that .bas file than anything else. It's much better now though, thank you :)
The journey continues.
I gave some good thought as to where I stand in my plans with Crumbot recently and what exactly I had in my hands (it was actually the point you achieve as a roboteer when you develop your project to a certain point and making a new parts list is the next step...). Crumbot's chassis and a portion of the obstacle-avoidance code were both sprung from what was basically my SHR armed with a PICAXE 28X2. I loved it and should have stopped there but didn't. I swear I just wanted to add feelers...
So now I have a robot that goes in random directions until an obstacle intervenes that will eventually vacuum along the path that it travels. Looking at the project with a more discerning eye, I feel like now I should have Crumbot cover a grid, dictated by encoders, and only occasionally use its IR for rangefinding. This last week I've been consumed by the idea I've made a fat, Sintra-covered fail-bot; one that would be as good as one hand at a clapping convention. Perhaps I should go to Propellor, I nervously thought (grin). Thankfully, with Chris and Walter paving the way, I've decided to let my Braitenberg Beasty be what it is: A Start Here Robot with a vacuum between its legs. Celebrate its demonstration of what a humble SHR can become if you strap on enough doo-dads and doo-hickeys, and let a good thing be.
Can't wait for my chinese vacuum to arrive. I hope it's the color of flowers.
At last, the tactile interrupts and assorted coding to feign more interrupts before returning out of the actual interrupt subroutine are working. Holy holy, the headaches, literally. The code I've toiled on swelled to over 800 lines and considers the direction travelled previous to the interrupt and whether one or both feelers have been triggered in regards to how it reacts. Some of the reactions to certain situations lead to confusion in tight areas but at least I have a successful code to work off of. Yay!!!!!!!!!!!
Now that the locomotion portion of the code is functioning and I have the fat heat sinks I think are necessary for the chargers' transistors I can move on to tying the voltage monitors to the battery packs and having the recharging sequences trigger correctly.
Aw hells, I'm so happy, I'll even attach my rank-amateur designed code. Any critiques and comments are well accepted.
Slowly but surely... muahahahah
The filter foam was no good. Way to hard for proper compression. The hunt for the proper material continues. I might retry the original foam I usd but with some modifications.
The majority of my waking (and should be sleeping) hours now seems consumed by coding and debugging. The code itself has jumped to around 500 lines. I'm surprised the g/f hasn't given me grief yet. Still working out how to get the damn HINTs to work properly. More sleep would probably clear the haze. I'll work on that tonight.
I went ahead and bought a 12V @ 1.2A power supply to try and overcome my (believed) current shortage for my C/2 charge setup. This made me consider how hot the batteries get after sustained vacuuming and my lack of cooling solutions. Thanks to Dallas Semi I'm getting some samples of their DS18S20 one-wire temp sensors. I freed up a pin to use so I can hopefully prevent charging hot batteries. I figure a little fan and some cooldown time before the charging sequence should work. I also asked for some DS1337C's as I heard the integrated crystal is more reliable. I figure it's worth a shot (yay samples!).
I also found some looser foam at work here today. It's some filter foam for freezer compressors. I've seen the type used for aquariums biological filters as well. I'm going to see if it's any more compactable than the other foam I tried.
The code I had pieced together was over 300 lines and it just didn't seem right. After some trimming it's been whittled down to around 200. I'm terrible at being an efficient programmer so this made me feel alright.
Crumbot has been on hold for awhile. I was working on it through the end of the year but then got caught up in the LMR Logo Bot Challenge. That successfully ate up all my time but I still didn't finish in time. That being said, that project is coming to a close so I've been considering my projects that got put on hold.
I still am not satisfied with the vacuum I sourced. The engineering of the nozzle became mindnumbing. The balance between having the nozzle close enough to the floor to work and having it raised high enough not to catch on the edges of rugs and such became unbearable. I've since found what I consider to be THE PERFECT mass-produced vacuum for hacking into a robot vacuum. Cordless, 12V DC, washable filter, taller than long, and it even looks like a robot sans head :) Plus it has a motorized brush attachment that will work sublimely. If Black and Decker is good enough for the legendary Walter than it's good enough for my humble Crumbot.
Now I'm trying to figure out bump/obstacle avoidance on a convuluded vacuum chassis. I'm thinking to just have a sensor to detect of the floor is moving or not. If not, reverse course. I worry that the bot will push over things with its mass and torque. We'll see.