Difference between revisions of "Digital FD-8 pedal"
From Just in Time
Line 7: | Line 7: | ||
* auto-calibration, i.e. no need for pots to set the trigger points. | * auto-calibration, i.e. no need for pots to set the trigger points. | ||
− | == | + | == Hardware design == |
+ | [[File:Fd-8 digital schematic.png|400px|thumb|Work-in-progress schematic]] | ||
We're currently working on a "more digital" version, based on a MCU and a digital potentiometer. We're using the following hardware: | 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 ([{{EbaySearch|attiny13+10pcs}} ebay]), an 8-pin AVR with effectively 5 io pins and 10-bit ADC. | * attiny13 MCU ([{{EbaySearch|attiny13+10pcs}} ebay]), an 8-pin AVR with effectively 5 io pins and 10-bit ADC. | ||
− | * Two MCP41010 digital potentiometers ([{{EbaySearch|mcp41010+pcs}} ebay]) in series (10K each, because when we sourced it, a single 50K version was a lot more expensive on ebay). | + | * Two MCP41010 digital potentiometers ([{{EbaySearch|mcp41010+pcs}} ebay], [http://ww1.microchip.com/downloads/en/DeviceDoc/11195c.pdf datasheet]) in series (10K each, because when we sourced it, a single 50K version was a lot more expensive on ebay). |
* Honeywell SS490 ratiometric hall effect sensor as in the non-MCU version, or alternatively an Allegro A1302 (Just ordered a set [{{EbaySearch|ratiometric+a1302}} on ebay]. Should be comparable to the Honeywell if used in a 5V setup) | * Honeywell SS490 ratiometric hall effect sensor as in the non-MCU version, or alternatively an Allegro A1302 (Just ordered a set [{{EbaySearch|ratiometric+a1302}} on ebay]. Should be comparable to the Honeywell if used in a 5V setup) | ||
Line 22: | Line 21: | ||
If we forego the LED and switch we could use the pin to separately control the second potmeter, providing an extra bit of precision. | If we forego the LED and switch we could use the pin to separately control the second potmeter, providing an extra bit of precision. | ||
− | + | {{StopImagesFlow}} | |
==Mode of operation== | ==Mode of operation== | ||
The circuit essentialy does the following: Measure the output voltage of the hall sensor using the ADC. Determine a corresponding resistance and program that resistance value in the digital pots. Easy. | The circuit essentialy does the following: Measure the output voltage of the hall sensor using the ADC. Determine a corresponding resistance and program that resistance value in the digital pots. Easy. | ||
The challenge is in the phrase ''"Determine a corresponding resistance"'', or in other words: mapping the ADC values to the right 255 potmeter positions. A ratiometric hall effect sensor typically outputs ½Vcc when no magnetic field is experienced; Depending on the polarity of the magnet, when a magnet approaches, the voltage will either drop to Gnd or rise towards Vcc. It would be nice if the firmware could auto-detect the polarity and also determine the minimum and maximum values. | The challenge is in the phrase ''"Determine a corresponding resistance"'', or in other words: mapping the ADC values to the right 255 potmeter positions. A ratiometric hall effect sensor typically outputs ½Vcc when no magnetic field is experienced; Depending on the polarity of the magnet, when a magnet approaches, the voltage will either drop to Gnd or rise towards Vcc. It would be nice if the firmware could auto-detect the polarity and also determine the minimum and maximum values. |
Revision as of 14:37, 8 February 2014
[[Revision timestamp::20140208143739|]]
In Roland FD-8 Issues: Hall Sensor Modification we described how a ratiometric hall sensor could replace the resistor film to solve reliability issues with the Roland FD-8 high hat pedals. Even though that Hall Sensor hack works, an MCU based approach might have some additional advantages:
- complete variable resistance to be compatible with other drum modules
- adjustable sensitivity curve
- detection of foot-down velocity (which is currently limited to one static 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), 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).
- Honeywell SS490 ratiometric hall effect sensor as in the non-MCU version, or alternatively an Allegro A1302 (Just ordered a set on ebay. Should be comparable to the Honeywell if used in a 5V setup)
Additionally (and optionally) we're adding:
- a momentary switch (button) to explicitly start calibration (we're still researching complete autocalibration).
- an LED,every MCU project should have an LED
If we forego the LED and switch we could use the pin to separately control the second potmeter, providing an extra bit of precision.
Mode of operation
The circuit essentialy does the following: Measure the output voltage of the hall sensor using the ADC. Determine a corresponding resistance and program that resistance value in the digital pots. Easy.
The challenge is in the phrase "Determine a corresponding resistance", or in other words: mapping the ADC values to the right 255 potmeter positions. A ratiometric hall effect sensor typically outputs ½Vcc when no magnetic field is experienced; Depending on the polarity of the magnet, when a magnet approaches, the voltage will either drop to Gnd or rise towards Vcc. It would be nice if the firmware could auto-detect the polarity and also determine the minimum and maximum values.