Wednesday, July 23, 2008

Half Bot, All Boat.



To me, there are few pleasures in the world better than tooling around in any variety of small, quiet boat. Last summer, I threw together version one of this boat. It was a MinnKota Endura 30 Trolling motor crudely mounted to the boat with a couple 2x4s, and connected to a group-27 lead acid battery (weighs about 40 lbs). I really enjoyed the ability to quietly cruise around the lake, lazily sip a beer, and watch the shoreline drift by.

Last winter I decided version one was successful enough that I would dare to improve it. My design constraints were to extend the boats range to about 20 miles and add a second motor to balance the thrust and push the extra battery weight. In my nerdiness, I also figured it would be prudent to drive the boat with some sort of joystick, opening up the option for autopilot in the future. Lastly, I need to walk the boat to the water (0.3 miles) on a portage cart and launch and retrieve it by hand.




In this image, I have a blow-up of one side of the motor mount. A Hitec robot servo is mounted with a sprocket from ServoCity to drive a 1/4 inch chain that turns the motor. I give great thanks to McMaster-Carr for their copious pictures and documentation that help guide me through purchasing many parts without having to send back all that many.



It's all controlled with a servo driving program for the Arduino that listens to a wii nunchuck for steering commands. One of the hardest challenges was sorting out how to cram all the driving control into the minimal tilt sensor, joystick, and two buttons offered by the nunchuck. The motor speed control is via a robowars motor driver originally designed for battle bots.

Here is a close-up of the servo mounted in the slider blocks used to tension the chain.


In July, Hannah and I put the boat to the test with a two day overnight to a nearby camping spot. The total trip was 20 miles, and the boat performed great! We used to live on a boat and took it up and down the east coast of the US. Since then, this was the first time I felt we were able to capture the magic of cruising again. I don't know of a better way to arrive in a new place than by water.

One my favorite aspects of this arrangement is the cart. The winch and heavy duty casters were late additions to the aluminum ladder back bone. The cart setup is fantastic though, allowing me to manage the boat, weighing about 220 lbs (~100 kg) single handed. In designing the power system, my greatest fear would be that the 125 lbs golf cart batteries needed to achieve the range I desired would make it near impossible to handle. The winch is certainly required, but it works well and I hope to use this cart design for pushing more boats in the future.

UPDATE:: If you are not familiar with the wii nunchuck I use to drive the boat, check out this quick entry here with a movie to see it working.

Thursday, July 10, 2008

iphone apps that look cool

Well, the new iphone app store is on-line, and I am browsing it. I don't have an iPhone yet, but the app store is the most exciting part of the new phone. So far, some of the most interesting ones to pop-up are:

- Melodis. search for music. in particular by singing a tune, or holding the iphone up to a speaker playing the song. Shazam does this too.

- Sound Machine. funny and simple sound effects machine. applause, laughter, zoom away. great example of super simple ap

- A bunch of instrument tuners that work from the microphone

- A full drum kit. predictable, but I'm still psyched for that.

- Nearpic. shows you pictures from panaramio that were taken near where you are standing.

- Signal Scope. A realtime oscilloscope to take input from either microphone or accelerometers. nice. very nice. Same company also makes a signal generator. This is the kind of stuff I want to be seeing more of.

Sunday, May 04, 2008

Improvements to Arduino Wii Nunchuck connection

I'm working on an Arduino based controller for an electric canoe. In the process of doing that, I've been looking more closely at the data coming off the wii Nunchuck. Using the avr math libraries, and the atan2 function, you can combine the data from the X and Z accelerometers on the nunchuck to get a nice smooth 360 degrees of roll information. Because this is using an inverse tangent function, it also makes for more accurate angular data than the raw data coming off the device.

Here's a quick demo video, followed by links to the code.


I posted all three files needed for this on the Arduino Playground.

For hardware setup, Todbot's little adapter is the best.


ps. For this same canoe project I wrote up a library for the Wii Classic Controller as well. For anyone interested, that's available here.

UPDATE:
George's asks a good question in the comments. If you try and run the code posted on the arduino playground. It's important to note that the third chunk of code needs to be run from the processing application, available here at processing.org.

Sunday, April 13, 2008

PID Tuning Application for Arduino Silvia Mod

As part of my Silvia modifications, I also wrote a special application to help in tuning the PID. Here is a screenshot of the application with an image of a shot and recovery. This is measure the temperature at the top of the boiler.



The application is written with Processing. It can run on any platform, and it's easy to communicate with the Arduino over the usb-serial interface. The "Bare Bones" code for the Arduino is here and that page has a link to the code for the Processing Ap.

Wednesday, April 02, 2008

Arduino and Silvia: Two Italians, One Tangled Affair

Arduino knew the two of them could make sweet coffee drinks together!



In this precisely hot affair, the Italian born microcontroller board, Arduino, has won the heart of a sensuous piece of Italian engineering named Silvia, an espresso machine by Rancilio. Silvia, after an earlier stint with a microcontroller named PIC (those Harvard Architectures are all such squares), felt she could do better.  She was looking elsewhere for someone to add brains to her great body. Arduino was a great match. He is easy to talk to, isn't too fancy or expensive, but has the hardware she requires. For his part, Arduino respects Silvia for her sturdy simplicity. She opens up easily, and isn't difficult to get intimate with. Simplicity comes naturally when you are a water heater, pump, and solenoid. Sure, she's got some switches too, but Arduino knew the two of them could make sweet coffee drinks together! 




In courtship, Arduino gave many gifts to Silvia. One of the first was a fine real time clock featuring calendar, sleep timer, and wake-up alarm! He also decorated her boiler with a thermometer he vigilantly monitors to help regulate her temperature.  When she makes espresso, it's most delicious when her temperature is precise and steady. He also keeps a stop watch so he can time her pushing as she pumps water through the cake of ground coffee. "Egads," he says, "It is simply not espresso if she take not between 25 and 35 seconds!" Arduino holds all of Silvia's switches, even her main power switch.  Anyone who wants to talk to Silvia talks to Arduino first. Certainly, it's old fashioned, but it makes Silvia feel safe. With his fine manners and protocol, she prefers that he, not any old stranger with a finger, pass her messages.



Arduino doesn't just manage Silvia's connection to switching fingers. With the end of a wire dipped into her reservoir, Arduino can raise an alarm if she is about to come to a gurgling halt in her endless thirst for water. Perhaps the greatest extravagance Arduino allows is a connection to a nunchuck controller. He relays messages to Silvia from the nunchuck, and she adores it as it makes her feel like the wildly entertaining Wii. No doubt, given all the connections that entwine them, this relationship will continue a good long time to come. Together the two lovers will enjoy many magical mornings making delicious espresso.

update:
Want a closer look under the hood? Ready to build? Check out the CoffeeTronics section on the Arduino wiki.

Friday, March 14, 2008

Rancilio Silvia Top CAD Files

A few years back a cut some clear acrylic tops for my Rancilio Silvia espresso machine. I have recently switched back to a custom stainless top that I'll be posting more about soon, but I enjoyed the clear top for many years. I am posting the dwg file for it here:

SilviaTop.dwg

To get one made, you just need to find a laser cutter somewhere. I had mine cut at pololu.com, their site is here:
customlasercutting.com I actually just talked with Pololu, and they said they will just keep the file on hand, so if you want, you can just order one directly from them and just specify you want a Rancilio Silvia Top.

There are other places that will laser cut for you too. Pololu has various different colors of acrylic, or you can send your own material in. I've always thought a wooden top or something else would be cool. Lots of options too for modifying this super basic model.

Four years ago I made a silly site for this little mod and it has some copious instructions on installation.

Wednesday, March 05, 2008

Non contact Voltage Presence Measuring for Appliance Modification

So I have been wondering about non-contact measurement of voltage in AC wire.  I want to know when my espresso machine is brewing so I can turn on a shot timer.   I tried and tried looking around on-line, and eventually I realized to would faster to actually try it with my own hands, duh...  



I carefully cut a slot between the two wires in an extension cord and wrapped one side with some thin insulted wire (i had some 30 gauge wire-wrap stuff from radio shack around). I wrapped it 8 times and added a resistor in series to make some voltage from any induced current. Low and behold, I can measure voltage between the two ends of the coil! At first, it was better with the AC voltage measure on my multimeter. So I swapped the resistor for a garden variety diode (i wish i had diodes in my garden), and low behold I can see 0.2 V dc!

So this setup essentially detects if my extension cord is plugged in or not.
- One twist that came up is that this extension cord has a dimmer switch in it (an inside resistor between the wall and the sensor). If switch the dimmer switch to the on mode, I am actually see when the light turns on or not. With the light off and the dimming on, I see about 0.015 volts. With the light on, it jumps up to 0.1v. With the dimmer off, it appears flat at .2 volts regardless of the lamp.

Interestingly, the voltage is positive or negative depending on the direction i set the diode. I'm sure there is a good explanation for that. 

Now I want to measure this voltage with the analog inputs on my Arduino. From there, all sort of things are possible. For example, it now means that folks modifying appliances can sense current inside the appliance without interrupting the power circuits!  I'm talking to you, Rancilio Silvia modders who want to make arduino shot timers or watch the steam switch and change the target temperature on your home-made temperature controllers.  Yeah, you. ;)

Update:
A bunch of good comments and feedback coming in here.  Thanks all.  Tips ranging on better ways to do this, to why this doesn't work.  So take this with a grain of salt! One comment on hackaday mentions that that detects current, not voltage.  That doesn't add up to me since it detects if an extension cord is plugged in, regardless of whether there is current passing through (anything actually on).  Perhaps this is detecting neither current nor voltage, but detecting a magnetic field around the wire (linked to voltage presence...)?  I'm trying to dig back in my mind to E&M physics, but alas, all that dribbled out my ears a long time ago.

Thursday, February 28, 2008

Narcoa? But I hardly even know'er!

Fantastic interior 360 shot of a rail car.

So I have just learned about the North American Rail Car Operators Association. Check out their site:
NARCOA

This is the coolest hobby I've come across in a long time. Driving little cars on the railroad. It look absolutely delightful, and there is an impressive list of trips from chapters around the country. Upon surfing more, many clubs have their own sites, and there are other great sources such railspeeders.com.
check out for a surpringly long list of cool rail car links.

I'm sorry, but this is just fantastic.