Open Collector Hall Sensors in a Scan Matrix
I'm interested in using a MIDI CPU to MIDI-fy an organ pedalboard.
In the past I have used reed switches. However I want this pedalboard to be as robust as possible as I need it to be portable.
To that end, I'd like to use Hall Effect Sensors instead of reed switches.
I'm not an electronics engineer- forgive my questions if they are dumb!
It would seem that most digital hall sensors have open collector outputs.
I understand how this works for simple switching applications but I can't work out how to integrate an open collector device into a MIDI CPU scan matrix.
From the MIDI CPU documentation, a select pulse is a 0v output thus
current flows from the data CT to select CT when the switch is made
during a select event.
If a switch is made during a non-select event, both data CT and select
CT are at Vreg – no current flow.
WRT to an open collector sensor, I think the data CT would be
connected to the sensor out and the select CT to ground. Have I got this right?
I’m confused as to how to power the sensors. From the diagram above,
the load sinks to sensor GND. This would be the select CT. However
this is only a 0V during a select event.
Maybe the select output and the sensor output need to be ANDed and passed to the data CT?
As the current flows through the collector to the emitter, is a diode
required in the matrix?
Any advice greatly appreciated!
Cool idea. Forum member VinceK successfully implemented this type of approach using NPN transistors in a matrix:
If you contact Vince, perhaps he will have some additional advice for you.
I think your approach is correct. This is how I would wire up the sensors:
Sensor "Supply" to MIDI CPU Vreg
Sensor "Ground" to matrix select control terminal
Sensor "Output" to matrix data control terminal.
This way, when the select line is inactive, the sensor output is left "floating" and does not interfere with the data for other select lines.
When the select line is active, the sensor output sends what "looks like" switch data to the MIDI CPU.
Does that make sense?
|Thread Tools||Search this Thread|