Digital FD-8 pedal
From Just in Time
[[Revision timestamp::20140216222610|]]
In Roland FD-8 Issues: Hall Sensor Modification we described how a ratiometric hall sensor could replace the resistor film to repair the Roland FD-8 high hat pedals. Even though that Hall Sensor implementation works, an MCU based approach might have some additional advantages:
- complete variable resistance to be compatible with other drum modules
- adjustable sensitivity curve
- more than 3 resistor levels, allowing true detection of foot-down velocity.
- auto-calibration, i.e. no need for pots to set the trigger points.
Hardware design
We're currently working on a "more digital" version, based on a MCU and a digital potentiometer. We're using the following hardware:
- attiny13 MCU (ebay, datasheet), an 8-pin AVR with effectively 5 io pins and 10-bit ADC.
- Two MCP41010 digital potentiometers (ebay, datasheet) in series (10K each, because when we sourced it, a single 50K version was a lot more expensive on ebay). These are the most expensive parts in this design.
- Honeywell SS490 ratiometric hall effect sensor as in the non-MCU version, or alternatively an Allegro A1302 (Just ordered a pair on ebay. Should be comparable to the Honeywell if used in a 5V setup)
Software
The software for this device is available on GitHub.
The basic mode of operation is as follows:
- Measure the output voltage of the hall sensor using the ADC.
- Determine a corresponding resistance and program that resistance value in the digital pots.
- Repeat
There are two complexities that the firmware resolves as it performs the above two steps:
- Range. Depending on the strength of the magnet and its distance from the sensor, the Hall effect sensor will report only a limited range of values that don't span the complete possible range. The firmware will detect the minimum and maximum values and use those to map that range to the full range of 0&mdash255 that should be given to the potentiometer;
- Polarity. Ratiometric Hall effect sensors typically output a voltage range of either ½Vcc—Vcc or Vss—½Vcc, depending on the orientation of the magnet, where ½Vcc is the value that is output when no magnetic field is measured. The firmware will determine the median value of the range of input values. If that median is above ½Vcc, it will conclude that higher voltages mean that the pedal is moved down (magnet is moved towards the sensor). Otherwise it will conclude that decreasing voltages mean downwards motion.
All of that is contained in one single source file.