Grass Cutter Mk II

Important Update: This doesn’t work! 🙁
I thought this was going to be an awesome re-purposing of my old hand mixer but turns out these things aren’t meant to be used for more than a few seconds at a time.
The second or third time I was using it, I went for about 10 minutes and it overheated and caught fire. I wouldn’t recommend going down this path. Read on if you want to see anyway

(<- Part 1 )

I present to you, the Grass Cutter Mk II

So a list of upgrades/changes

A new handle, taped up to keep it safter and secure. inside this is a lightswitch embedded in the wood for off/on and the control board.

A new adjustable angle handle, I can loosen the bolt and change the angle so if its not really comfortable where it is, I can change it.

The engine is now parrallel to the ground, much more ‘mower-like’ less ‘weed strimmer-like’.  Also I removed the rubber as it wasnt providing any vibration releif and was just making it smelly. The strimmer line (orange twine) is also attached in a more reliable way: I threaded it through a drilled hole in the shaft head, then tied a double knot on each side so it cant pass through either direction.

And a new height setting/adjustment pole. there will be a wheel on here soon, I tried a couch floor knob but it doesnt slide very well. The point of this is to make it easier to push around rather than having to manually hold it at a certain height. although doesnt mean you cant flip it upside down and go manual if you want to do edges etc.

String trimmer from a hand blender (Failed)

Important Update: This doesn’t work! 🙁

I thought this was going to be an awesome re-purposing of my old hand mixer but turns out these things arent meant to be used for more than a few seconds at a time.

The second or third time I was using it, I went for about 10 minutes and it overheated and caught fire. I wouldn’t recommend going down this path.

Read on if you want to see the original

I planted a lawn out the back of the property where the gardener couldnt get to without a key so I needed something to cut the grass. My lawn mower is a bit pre-occupied and my weed-wacker was wacked. So in the usual recycling manner I made my self a string trimmer (weed wacker) out of an old hand blender

Wow look at that, badly thrown together lense flare, a fluro background. This thing HAS to be awesome.

To be honest, the only reason I am calling it MK I  it because its rather hastily assembled and has some design uglies, I’ll probably never rebuild it because it works* (edit: not really see top of this page) and that’s all I care about.

So I started with an old hand mixer/blender motor I had lying about, and thought about strapping it to a peice of wood, without anything else more suitable I made a sort of wooden vice with two threaded steel rods and 4 bolts. This worked really well!

I basically just nailed the control board onto the length of wood for now, holds fine, but I had to wire up a switch. In the interim I have some twine nailed to the board, going over the switch with another small peice of rubber, then round a nail and back to the top of the board for a lever.

I also attached some twine to the end of the engine so I could cut some grass. simple; effective.

bill of components

* engine: from a hand blender like: * a bunch of wood I recycled out of an old couch.

* about a 1/4 of some threaded steel I bought a while back
* a 6cm bolt for the lever
* 5 bolts
* cut mains cable I had left from another project.
* some weed wacker twine for the controller and the cutting part.

 

(goto part 2 -> )

    Wooden Pulleys – Equipment

(5 July 2010) – Power and Drills

First thing I needed for my generator was either cogs or a pulley/belt system to drive the washing machine engine. I thought about several different options from buying old car pulleys/belt, using a bevel/helical gear, or building my own cogs/gears/pulleys on the cheap.

I decided the cheapest option (since all my projects try to be as low cost as possible) for me is to try manufacture my own pulley’s from wood.
I needed a few things,

* Hole saw
* Reliable drill to run the saw
* Wood turning equipment to cut the grooves.

I had none of these so started with what I did have.

I had an old portable battery drill that had a battery that was dead and generally ready for the trash, I figured I could wire it into the mains and turns out I was able to find an old ATX PSU that put out enough power, so I snipped all the ATX connectors down fit inside case, covered the ends up with heatshrink (didn’t want one accidentally touching something) and rigged up a switch and so on so I could run it like a lab power supply.


Modified ATX Power SupplyModified ATX Power Supply

(This PSU came in quite handy for other 12v (ish) projects like a peltier effect device I am playing around with.)

So now I have power, then I removed the casing of my drill battery pack, removed all the battery’s and chucked them (they were quite corroded) then basically clamped two cables to the connectors that go inside the drill, unfortunately it wouldn’t let me solder them on so I ended up turning the metal sheet over to clamp the cable in. I tied a knot in the cables before the hole so they wouldn’t tug on the connection. Then ran about 2.5m of cable out to a Molex Plug I picked up from jaycar so I could plug it neatly into the PSU.


Drill with modified battery pack to run off 12v powerportable drill running off power supply

I ended up buying a hole saw, I didnt have anything I could modify to make that, but it was only $20.

For the Lathe/Wood turner I found I could bolt the wood I wanted into work with into the drill, and mount the drill into a small vice and I used a rope tied around the trigger, around a nail, down to a metal level so I had it foot controlled. but I talk about this more in part 2.

Wood turning and Pulley making with a drill in a vice


(17 July 2010) – New Wood Turner

Ive started working on a new wood turner (I cant really call it a lathe as its shaft reliant) pics now, further update coming later.


taking the drill apart
drill too far apartmaking the mount for the drill motor

wood turner mount in progresswood turner mount in progress, side angle

(click for big)

the offcuts from the MDF I was using to make the pulley’s is used (leave no wood scraps behind) so its all odd shapes, its almost artistic! I just need to cut the bottom to a standard height, mount it to a small board, then figure out what ill mount that to. Probably make it like a vice that can be moved around, bench mountable, I also need to make another end that holds the other side of the shaft so that the shaft is stable, not able to move around, which is the biggest problem with the drill-in-a-vice “lathe”.


(28 July 2010) – New Wood Turner: Wiring

I finished wiring and testing the new setup. Power comes off the other psuedo drill pack and I’ve just hacked the bottom off the drill I am using for the turning. Power then goes too the jandal controller for analogue (ie: more presssure more speed) control of the motor. I mounted the original drill control into a recess into the bottom jandal and glued the jandals together. then it goes off to the drill in the mount.

new lathe wired up
Lathe jandal pedal
lathe power 'wiring'

SmartPhone TV Remote Control using an old laptop and some cheap components

This is my Internet Remote controller for my TV/entertainment system and general home automation.

What is this Project?

This is a cellphone controlled home automation project, focusing on IR device control (TV) for under $10

This is what it looks like on the phone, at the moment its just channel up, channel down, and the top 5 channels along the top.
phone_readypage
It doesnt have to be TV channels though; it could be window controls, garage door openers, rube goldberg mojito making machines… but I am getting ahead of myself

 


Why I built this.

I wanted a cost effective (as in, as cheap as possible) way to change the channel on my TV without line of sight.
I also wanted the project to be able to operate other external devices such as a garage door opener or other home automation devices with the same general framework.

Project Requirements

  • Non L.O.S. Remote Control

I must be able to control my TV receiver from any room in the house.

  • Cheap

This whole project must be low cost. The most costly thing is an old laptop, you should be able to pick up something that runs Windows XP/2000 for cheap (broken screens / keyboards etc are OK) if you dont already have one lying around like I did.

  • Low power

The entire system needs to come under 10w, otherwise the energy cost will spoil the whole purpose of the project. 10w is about 5c a day for me (assuming it was on all the time, which it’s not)

  • “Universal Remote Control” functionality

I want to be able to control other things as well, there are 4 or 5 things in my entertainment system that operate from IR. I can combine all these with a single “remote”

  • Expandability/Home Automation

If I’m making a device that can change the TV from anywhere in the world, it might as well turn the heater on as well. The system should also be able to control other outputs like IO boards and by proxy: any other home automation device.


 

How it works

To summarise, you access a webpage from your cellphone, pressing a button on the page places an entry into a command queue. Another application actions the command. Using WinLirc I can control the TV and other IR devices.

I have a laptop motherboard slapped on the back of my TV (a computer might be overkill for this task but it has the added benefit of being able to run media center etc) This computer runs an apache website available on the internet (under some basic security) and uses php to write lines directly into a command queue file (a flat txt file for now) also the program can check an email account for commands that have been emailed to it (in case the website is not available) and then drop those commands into the text file

command-to-action-process.png

Then an Incoming Message Handler (IMH) checks the contents of this file and actions the command if it’s valid; there is a database of legitimate commands and actions available to the IMH process. A message could say ##Password##:Prc:ch-up and it would check it against it’s DB to see if it’s valid and what to do with it. This runs every second, so from entering your command from the web interface you have about up to about 1 second to wait before the action is executed.

For the Channel changing procedure, the IMH would receives the appropriate command and then runs a bat file to operate WinLIRC from the command line.


 

The Computer

This is the computer on the back of the TV.

detailed picture of computer setup

(higher res)

I am using the bolts you would normally use to attach it to a mounting bracket to hold a piece of card away from the back of the TV about 6CM (for heat purposes) it’s really sturdy and works really well. I had to hack the notebook screen-detection switch with a jumper so I could set it to always on (IE: lid always closed) so the VGA is always on

And my handy dandy watt meter showing the current power consumption (9 watts)

9 watts


 

IR Transmitter setup

Originally I hacked up a serial plug and a usb cable to get my data and power but I found this to ugly and the cables were the wrong length etc. Now I plug directly into the motherboard to get what I need.

  • Power

I get the 5v for my circuit off USB, but not using a standard USB plug, I am getting it the USB board that comes off the motherboard (every laptop mobo is different in this regard, it may not be available) I took the board, used a multimeter to get some continuity from known +5v / Gnd all the way back to the plug itself

ext_usb_board.jpg USB board connector.jpg

  • Data

Same concept: find the data line on the motherboard plug, hack at the cable till I get it.

This is what I was using

ext-serial-board.jpg

And this is the finished product with both serial DTR line and USB in use

IR-controller-mobo-plug.jpg

I have wired these to a piece of UTP I had lying around, going the 40cm or so to the controller board

This is the circuit diagram of my version of the controller, identical to the one here only for a status led, slightly more obvious line inputs, and the ‘output array’ which is just a bank of jumpers that I can plug multiple IR senders on (for different devices, I dont want to have one giant IR controlling everything)

IR-controller-circuit-diagram.jpg

This is the built IR transmitter,
The modifications I have made are; multiple outs (4), you can see the 3 sets of jumpers (one is in use, connected on the blue/white cable), and a status LED (green). I have used orange for DTR Blue for +5V and green for GND.

 IR Output controller


 

Software Setup

Web server runs on apache + php with some basic php code to insert commands directly into the command queue file on the machine. I can customise this to suit any phones browser.

I have a VB.net application that is checking this file every second for changes, if it sees a change it will read the contents of every line, put them into an array, start trying to process them. I may publish this later. Although it should be relatively easy to reproduce.

It Also manages a VC#.net app that I found and barely managed to compile that grabs subject lines from a email account and dumps them into the command log. This is like a back end if the web service goes down or is unavailable wherever I am at.

This is the UI of the application. In this shot I have sent through a single ‘Channel UP’ command from the web interface.

Incomming Message Handler

Dont worry about the poor code, I bought some code offsets to compensate

WinLirc

WinLirc is a program that can record and later send the IR commands (via the external IR sender) to the IR compatible devices. It took me quite a while to get working, its a bit of a hassle because you cant really test your hardware or software elsewhere; it is all or nothing. I built the receiver and transmitter and recorded a bunch of codes and I was quite impressed when I managed to get it to actually function, but getting it to operate from the command line almost killed the project. the code looks for a window called “WinLirc” and drops some data on it based on parsed commands. eg ch_up.bat consists of

c:winlirc-0.6.5transmit5.exe freeview ch_up

This will send the remote (called Freeview) and the button (recorded as ch_up) to the window called “winlirc” I spent ages thinking my VC++6 compiler was broken (its not compatible with windows XP let alone 7) but I finally realised its because the window is actually called “WinLIRC” note the case difference.

Here is my working copy of transmit.exe available for you to download Download Transmit.EXE (you MUST right click, save target as)
It is kindof weird. It didnt work first time, I dont know what it is that makes it work. The WinLirc application is minimised (to systray) on the system I am using, maybe this helps.

Assembly is used to toggle keyboard lights for the cheap home automation project part of this (you should check that link out anyway, never knew you could do that)

Bat files are usually called to run the actions, such as WinLirc command line actions, or the above Assembly executables to do the other stuff.

VC++6.0 was used to compile transmit.exe a lovely little piece of generally fun time from the (now defunct) WinLirc project. I will attach my WinLirc Transmit.exe with a sample later.

Currently I am running this on a Windows XP OS, I toyed around with using linux, and I know I should, I really should, but the learning curve of the LIRC was too great and so would have made me loose interest.

Considerations

  • Power Consumption

I wanted my project to use as little power as possible, there isn’t much point saving $100 on kit only to use that in power over a year. My aim was to keep it under 10W per hour (equates to about 5c per day, just under $20 a year @21c per Kwh), but I would of been happy with under 50W (25c a day)

By using a laptop, and ripping all the guts of it out I was able to get a smooth 9W (after a few minutes of operation) I had planned to replace the hard drive with either a SD card or memory stick if consumption was higher, although I was worried about Memory Wear. It’s a Windows OS, and I am performing file operations every second (not to mention whatever Windows is doing) I expected I could start having problems very quickly. Most commercially available flash products are guaranteed to withstand around 100,000 write-erase-cycles, my software would only be writing and reading (and deleting) if there was a command coming in, but it’s reading the contents of this file nigh-continuously (86400 reads a day). A read is not a erasure operation I know, but I cant be sure what is going on in pagefile and other Windows operations. Whilst I turned off Windows indexing and as many other operational services I couldnt rely on a cheap memory stick or SD card. SSD’s would certainly acheive a power consumption boost, but the cost is prohibitive for this project. more on this

  • Security

Obviously, I dont want anyone to be able to access this webpage and start changing my channel around while I am watching TV (or start opening my garage or churning out mojito’s whatever else I have hooked up) so I need some methods to protect the system.

Security by obscurity

For starters, I didnt register http://www.home-automation-system.com to run this off, running it on an obscure IP address and an obscure port is my first defence.

Only certain IP’s can access

Locking off the accessible IP range to my phone provider’s allocation (as far as I can work out) means it pretty much doesnt exist to any would-be opportunist

Passwords

I still want to be able to access the page without having to enter in some long username and password, so I keep these somewhat short, but still random enough for there to be a high number of possible passwords and also a lockout after the second wrong entry (I can reset it locally if I manage to break it this way)

Closed Circuit

Currently, I don’t own a phone that can access WiFi, if I did (and there are some other major UI benifits to using an iphone or clone) so it’s not possible for me to run the page only on an internal network. but for anyone else looking to do this kind of project, it is definately the best way to keep it locked down.

  • Cost

The most expensive component was the IR receiver, all up this project cost me about $10 for the components for the IR transmitter and IR receiver (for recording the remote control signals). The laptop I had lying around so there is no cost there.

Looking Forward

  • iPhone

Most obviously, a phone with a touch screen (Iphone, nexus one etc) this will really spruce up the UI and I’ll be able to customise it to suit (currently designed for smaller screens without touch capability)

  • Further Home Automation

Somethings I have been toying with the idea of, although have been too expensive for this stage of the project, would be remote controlled light switches
A really cheap way to get some output controllers on a computer is by taking a keyboard and hacking up controller board. The LED’s that display capslock, numlock and scroll lock can all be wired up (these are controllable via the command line if you want) to relays to trigger a real life device, like a garage door opener, or perhaps the on off switch on a device that cant be controlled by IR.

  • Wall or Portable touch pad controller

Quite like the iPhone idea, but a house specific one, since it would be running local loop (see security concerns) it would be dedicated to controlling everything in the house.

  • Software updates

I would like to start using Windows MSMQ instead of flat file handling, but this means new OS and I’d have to learn how to, ya’know, use it. I want to make the options stickable, like most users might not want to use the email checking facility, at the moment you can disable it once it’s running but you have to do that every time you start it.
I need to document the software and release the source code (gah) but it is a big mess and all the ‘real’ developers will laugh at me.

  • House monitoring

If the heaters/fans/window controls were hooked up and I had temperature sensors, I could keep each room at a certain temperature to some extent. and automatically heat/cool the house a few minutes before arrival (Imagine if the GPS in my car could warn the house 15mins before I got home too turn on the heater)

  • Rube Goldberg machines

One of the original intentions of this plan was to incorporate the garage door opener. It could of been done with a relay off the capslock key, but I thought it would also be kinda cool to hook up a CDROM to the device which had a plastic hand glued on the end. when the right command was sent it would eject the CDROM and the finger on the hand would be lined up to press the button on the inside of the garage. Never came to fruition but have ahad a few cool idea’s for a rube-goldberg style mojito (or whatever you fancy) machine that was started by the CD-Rom ejecting. I actually consider the rest of this setup to be somewhat of a virtual rube-goldberg machine (apache + php + text files + VB.net + bat files + c#.net + vc6++ and even assembly all running together to make this work)

<a class="DiggThisButton">('<img src="http://digg.com/img/diggThisCompact.png" height="18" width="120" alt="DiggThis" />’)</a>