Thursday, December 16, 2010

The Digestion Game

Several years ago this game was created to teach about various digestive tract problems. When the start button is pressed a pneumatic cylinder launches a pinball into play. The ball must be navigated through the maze while avoiding the holes. The initial electronics were screwed down to a wooden plank and based on multiple relays.

Trouble shooting this was a pain so a couple months ago I ripped the whole board out and started from scratch. The control system is based on a PLC with sound being produced by a CFSound III board.

Also swapped out was the center fire solenoid that flips the ball back onto the play surface after going through an underpass in the center of the game.

Thursday, September 2, 2010

Transpo PLC Program

The PLC inside of the Transportation game has a Relay Ladder Logic program running inside it. I finally got around to making jpegs of the whole thing in its most recent state;

Saturday, August 7, 2010


Working together with our intern, the Sound Amplitude Measurement device was made. Guts include a PIC16F873A, servo motor for the dial, active filter at 1.5Hz based on an opamp and RGB lighting inside the head. This is the first thing I've ever had to stuff (%100 polyester fiberfill) and I found it oddly soothing to staple swathes of puffy stuff to the MDF framework inside.

Monday, July 26, 2010

Pneuman update

Working on this when I can, Pneuman's controller has been upgraded from a chunky old PC with a synchronous serial connection to an Arduino (OMG Arduino!!!). A WiFly shield communicates with the user interface (a PC kiosk somewhere) and a 6-channel Darlington driver board fires the solenoid valves to pump his legs. Three analog inputs are used to capture the values from optical pickups aimed at a 3-bit grey-code encoder wheel fixed to the cranks of the bike. This gives a starting position for the uC to pedal from. Two digital inputs are used for the front and back travel limit switches.

Transportation game upgrade

This was originally a roll-a-ball game from Bob's Space Racers. It was modified in early 2000 to teach people about energy consumption and different options for transit. Electrical modifications included automating the need for an attendant and adding sound effects. While the mechanical and cabinetry changes were solid, the electronics mod was undertaken by a muppet who did a terrible job. Over 100 relays were wired together with a mass of unlabeled cable, poorly crimped connectors and live 110VAC....

...euch. Reliability was terrible and troubleshooting the problem even worse. So, in February 2010 I gutted it and installed a totally new control system.It's based on a PLC from Automation Direct, a CFSound III card and some relays to switch the larger loads. The control system was mounted on a grounded sheet of aluminium and enclosed to keep the dust away. It's been running for several months now with way better uptime. One great addition was a watchdog timer to reset the game if someone walks away before finishing the race. Having the PLC on the network means I get emails when customer service staff hit the reset button, a good indicator of trouble if there's more then a couple messages per day.

This is one track and carriage assembly that advances the characters and makes them rock. As the chain is rotated around the gearmotor and idler sprockets the carriage is pulled along. A sprocket mounted in the carriage has the return-chain passing across it and rocks the character back and forth with an offset cam. This part of the game still has problems as people sometimes throw the ball into the tracks instead of rolling it up the play surface. I have yet to find a good solution to this short of covering all the tracks with plexiglass...

UFO Upgrade

This UFO was created several years ago as a TV show prop but had hella flaky electronics that were dead when I found them. I've since upgraded it with a PLC from Automation Direct, some chasing rope lights around the outside, underbody lighting and sound effects.

Sunday, March 28, 2010

A button box!

Ak, so it's been ages since the last post but I've been busy. Recently finished was a one-day project to control a Sanyo projector. Operation of the projector can be controlled via ASCII commands over RS-232. A more robust remote than the consumerish plastic thing was needed and so the button box came into being. Boasting a mighty PIC16F873A-04, a case recycled from an old KVM switch and three of the best buttons I've ever found, the thing kicks ass at it's (fantastically simple) job (Power on/off, shutter open/close). On to the next project....

Saturday, January 23, 2010

Vacuum + Powertool foot switch

Work has been crazy lately and I haven't been spending as much time on my own projects as I'd like to. I finally got around to getting my Dremel tool and shop vac controlled with a foot switch. As I typically use the Dremel with a drill press attachment this is going to be a boon.

Wednesday, January 20, 2010


I was sick today and slept in till '3, after waking and feeling marginally better I attempted all the standard sick-person stuff but was quickly bored (TV, a good book, staring out the window at people). I decided to play around with an Arduino, Wiznet W5100 ethernet shield and some temperature / RH sensors. This is the result and here's the link. The other board is a stepper driver that was used for testing some motors destined for a reprap.

Wednesday, January 13, 2010

Fire vortex upgrade

This apparatus is just a fire-proof turntable with a variable speed motor. The puck in the center is filled with an alcohol soaked wick and set alight. With the screen placed over it a small tornado of fire blazes away for a few minutes.

The old drive system had the pot controlling a 555 that generated the clock for a stepper. Over the years (>10) some part of this system seems to have lost its zip resulting in terrible acceleration and little torque once at speed. Rather than trouble shoot what I feel was the wrong solution in the first place I went with a DC helical gearmotor and feedback via optical tach.

Repairs are nearly done, the encoder assemble has to be mounted and the controller wired up. To the left is the old stepper and driver, the new driver and gearmotor, the underside of the turntable and some encoder wheels. The print pattern for those was generated with a postscript file made by NickAmes and can be found here: postscript encoder wheel generator

Pneuman's new brain

Pneuman has peddled around the atrium for over a decade but a couple years ago he died and was forgotten.

The pneumatic cylinders on his legs were operated via solenoid valves controlled with a bunch of dumb onboard logic. This communicated over a serial connection to a 486 with the UI written in Pascal. An age-yellowed printout of it was thoughtfully included in the project folder. The parallel port served double duty; watching four pushbuttons for user input and communicating with the robot's logic over a clunky sync'd serial mux.

The PC is long gone and my OCRing of the Pascal was just for kicks. It's past time for an upgrade and in need of repair anyways. After thinking about different platforms I settled on the Arduino. I've played around with it but this will be my first install in a permanent contraption.

My work tonight started with getting a handle on the included documentation. A sizable chunk of the original project docs are missing, including the PC-side interface and power supply. Several modifications to the logic on Pneuman's frame went undocumented but were easy enough once the rest was understood.

In the interest of getting this done with as little time / money spent duplicating existing circuitry the old output section was reused. The final shield will consist of:
-6, 1/2 darlington pairs to go with the heatsink-mounted TIP31c's
-3 optical encoder inputs to locate Pneuman's current crank angle
-2 contact switch inputs to detect when he hits the end of his track
-the extra space needed for a radio module to communicate with a PC interface for guests

Currently I've got the shield populated with some power stuff and half of the output. I'll need to check a few things on his frame before I go ahead and make the encoder input section. The original design calls for op-amps with hysteresis which seems unnecessary.

Another issue has been the rubber tires disintegrating in the track over time. This might be addressed with the addition of a small shopvacpack on another output that people could control.

Tuesday, January 12, 2010

Blog established

Well it's 2010 and after several months on the job I figure a blog would be a good idea. Stay tuned for updates on my work.