Here's the swell pedal, complete with a nice patina of rust...
I put out a cri-de-coeur a few weeks back in this blog and on the Organ Forum, asking for any information on Hammond Swell pedals, but attracted a null response. Fortunately a new Texan friend gave me some advice and put me on the right track.
The pedal has a light source (an ordinary incandescent bulb) and a light-dependant resistor. There is a tapered shutter (implemented on a piece of fibreglass PCB) which moves with the pedal and stops down the light reaching the LDR. The key components are visible here...
I tried to measure the resistance of the unit as a function of pedal angle - with mixed results. Here's a graph, which reveals an approximately logarithmic taper (as you might expect, given that the pedal originally implemented an audio volume control function). Unfortunately, the resistance went out of range of the meter I used as I got close to the 0 degrees (i.e. fully depressed) position. Still, the graph has taught us its lesson...
I originally had planned to connect the pedal to one of the analog inputs implemented on the main controller - but it occurred to me that I could interface to the separate pedal controller instead.
This had the advantage of physical proximity to the swell pedal, making a completely stand-alone pedal unit. The disadvantage was the fact that the pedal controller had, to date, no existing analog interface. What's more, the only available I/O line on the PIC 16F676 was not one of those that could be set up as an analog input. Accordingly, I had to make a complete re-work of the pedal controller. This gave me chance to add a stabilized power supply for the swell pedal's bulb (which draws about 180 mA at the 5V operating point I've chosen).
Here's a schematic of the revised pedal controller...
Here's a schematic of the revised pedal controller...
and here's the finished system (with the bulb regulator sporting an old TO3 heatsink from the junkbox)...
You can see the additional connectors to provide power to the bulb and to sense the pedal resistance.
It works very well - but the logarithmic taper makes the expression control (too) non-linear. I need to implement a look-up table in the software to undo the log taper - but that will have to wait until the next otherwise idle moment!
...-.- de m0xpd
...-.- de m0xpd