Author Topic: Breath Controller for synths w/ BC input: need design help  (Read 24064 times)

0 Members and 1 Guest are viewing this topic.

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Breath Controller for synths w/ BC input: need design help
« on: November 13, 2015, 07:43:44 pm »
Hi, this is my first post here. Here goes...

GOAL:
I want to build a responsive breath controller (BC) circuit using a MPX2010GSX pressure sensor, an op amp, and some other components to adjust the gain and offset. This circuit will connect to keyboards with a Yamaha-BC-compatible input. I'm hoping the project will be a good learning experience for myself and others. I'll build a working prototype and test, and do what I can (with your help) to finish with a final schematic, parts list, mechanical plan for breath tubing, and clear instructions with a wiring diagram that will be shared with other keyboardists seeking a DIY Breath Controller project.

BACKGROUND:
As a trombonist, I find that playing a keyboard with a breath controller feels very intuitive and expressive. Yamaha made the BC-1, BC-2, and finally, the BC3a breath controller-- which was discontinued in 2011. These connect to the BC inputs found on yamaha, kurzweil and other keyboards. Currently, used Yamaha BC's are rare, expensive and maybe unsanitary :P  A few companies are selling very expensive BC's that will work with USB, MIDI, or BC inputs. Based on the interest I've seen on forums and in a petition to Yamaha to bring back the BC3, I believe there is a substantial number of BC enthusiasts who would love to have a DIY plan to make a compatible BC of their own for a small fraction of the cost. I find that my current knowledge is insufficient, and I need your help.

RESOURCES I HAVE NOW:
1. eagerness to learn
2. specs & schematics from Kurzweil for their BC input
3. MPX2010GSX pressure sensors
4. datasheets for sensor & possible op amps
5. schematics for Yamaha BC1 and BC2 (can't find BC3a, the last/best)
6. breadboard, connectors, resistors & pots (from Radio Shack electronics lab)
7. multimeter, soldering iron, soldering skills & basic knowledge.

WHAT I (THINK I) NEED:
1. guidance with designing circuit: "soup to nuts"
2. guidance with choosing component(s)- op amp, resistors/pots, caps, etc.
3. some idiot-level wiring instructions, and other helpful hints.

BC INPUT
The BC input on the Kurzweil K2661 is compatible with Yamaha BC1, BC2, and BC3. It is a 3.5mm stereo jack that: provides -15.32 V on tip, expects a range of -0.5V to -8.5V from BC on ring, sleeve is ground. The suggested maximum current load for the BC input is 20mA.

MPX2010GSX SENSOR:
Accepts 10-16V supply, outputs a range of 1-24mV, only draws 6 mA. Datasheet linked below.

http://www.mouser.com/ds/2/161/MPX2010-256329.pdf

YAMAHA BC1 & BC2:
These appear to use a sensor and op-amp, and are powered by the BC input. The BC-1 circuit is from a CS-01 synth schematic. The BC2 schematic isn't sourced.

http://www.jonstubbsmusic.com/misc/yamahabc1.jpg
http://www.jonstubbsmusic.com/misc/yamahabc2.gif

KURZWEIL K2661 BC CIRCUIT SCHEMATIC:

http://www.jonstubbsmusic.com/misc/k2661bcschematic.jpg

ADDITIONAL INFO FROM KURZWEIL ABOUT THE CIRCUIT:

"The breath control jack, J708, is designed to interface with a Yamaha breath
controller.  This is an active device containing an op-amp and semiconductor
pressure transducer.  The active circuitry is powered by a negative voltage
magnitude greater than -8 volts supplied through the tip contact of the 1/8
inch mini jack.  This is supplied from -15V through R72 and C40.

The output voltage of the breath controller appears on the ring connection and
ranges from -0.5 volts for no breath pressure to about -8.75 volts for
maximum breath pressure.  Op-amp U10-7 inverts this range and offsets it
(R64) for a 0 to +5V range into the processor's A-to-D converter input.  R71
and Shottky clamp diodes D23/D24 prevent overdriving of the A-to-D
converter's input.

[EDIT: NEW INFO FROM KURZWEIL SUPPORT--
"The Breath input jack supplies -15V through a 220 Ohm 1/8 watt
resistor to the Tip connection.  The maximum safe current is 23.8mA.
Suggested maximum is 20mA.  This should be enough to power
several standard op-amps."]

Breath controller insertion detection is through the jack's tip contact. When
not plugged in, -15V from that contact will be divided through R74 and R73 to
approximately zero volts for BRTHSNS.  When plugged in, R74 is disconnected
and R73 pulls this signal up to +5V.

The breath control jack and control pedal #2 jack share the same A-to-D
converter input.  U10-1 inverts control pedal #2's signal with a slight gain
then sums it with the breath control signal in U10-7.  Generally only one
jack at a time should be used.  However it is possible to use pedal #2 to
set a variable "minimum" control value when the breath controller is not
being blown into which may be useful."

CURRENT DRAW TEST ON BC2:

Thanks to Chuck White for this additional info:
"I measured 8ma of supply current to the BC2 in the static state….no breath applied. I see no reason that it would change significantly with breath applied but I can’t easily measure the current with the BC2 assembled….or apply breath with it disassembled.  The output of the BC2 is a voltage which in the Wind Machine is connected to an op amp so there is essentially no current drawn from the BC2 output into the Wind Machine."

THANK YOU (even for reading all this!!)
« Last Edit: November 25, 2015, 09:12:45 pm by stubbsonic »
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 988
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Breath Controller for synths w/ BC input: need design help
« Reply #1 on: November 14, 2015, 10:03:50 am »
I would just wack it together on a bread board. Start with the BC1 and see how it goes. Then perhaps expand to the BC2. Buy/get some different sensors and opamps and experiment...

Would also be fun to build a BC-input to MIDI converter as a follow-up project...  8)
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline eevlurker

  • Newbie
  • Posts: 3
  • Country: de
Re: Breath Controller for synths w/ BC input: need design help
« Reply #2 on: November 14, 2015, 03:46:32 pm »
I use this and it works great.

http://www.tecontrol.se/products/uni-midi-breath-controller

It is a breath controller with both USB and MIDI DIN outputs. It works with either a computer or a synth (standalone with a synth, as long as it is powered through the USB connector). There is also a USB only model, for those who use virtual instrument plugins on computers: http://www.tecontrol.se/products/usb-midi-breath-controller

There are some interesting videos on YT, for example
 

Offline happyrat1

  • Contributor
  • Posts: 39
  • Country: ca
Re: Breath Controller for synths w/ BC input: need design help
« Reply #3 on: November 14, 2015, 04:55:15 pm »
Perhaps I can shed a bit of light on this.

Both stubbsonic and myself are owners of Kurzweil Keyboards and members of a Kurzweil forum where this discussion began.

One great feature of the Kurzweil is that it possesses a native breath controller port that is plug compatible with the BC2 and BC3A from Yamaha.

Regrettably Yamaha discontinued production of the BC line a few years ago leaving us with tacky addon  MIDI breath controllers and other kludges, or else the option of buying used (yuck!) breath controllers on Ebay.

Recently a new company named Kelfar Technologies has announced the BCK-1 which it claims is plug compatible with the BC3A.  Unfortunately it is priced at $199 USD.

http://kelfar.net/BCK-1.htm

What stubby and I are trying to do is reverse engineer the BC3A and whomp up home brew units for under $40 USD which is the max value of the necessary parts.

Our main snag is lack of tech info from both Kurzweil and Yamaha as to what the exact specifications should be.

Since these Kurzweil keyboards cost well over $2000 new we're treading as cautiously as possibly so as to not brick our boards with a home brew experiment.

One might assume that the BC2 schematic is straightforward enough, but as stubby mentioned, we have no idea of the max and nominal current load of the Kurzweil's BC port and therefore are flying somewhat blind.

Myself, I took a few electrotech courses back in college three decades ago and my knowledge is hopelessly rusty and out of date.  While I can still read a schematic and assemble a protoboard as well as the next guy, my design skills are nowhere near up to today's standards.

If I were to guess, I'd imagine we'd be safe if we kept current loading below 20 mA max, but I'm not even certain of the polarities of the current ranges required or whether or not we'd have to invert the output of the pressure sensor we've decided to go with.

Myself, I have other life issues to deal with which will probably keep me from attacking the problem with a proper test bench setup for at least another year from now, but stubby is all gung ho about building one now.

At any rate, neither of us wants to spend $200 plus shipping plus taxes for what amounts to a simple piece of gear containing about $15 worth of parts and realistically worth about $60 retail.

If anyone out there could whomp up a proper schematic suitable for assembly on a perf board in a project box, we, and the entire Kurzweil community would be eternally in your debt.

Thanks for listening,

Gary ;)

Life's too short without music...

Catch my tunes at https://soundcloud.com/happyrat1

Enjoy ;)
 

Online Andy Watson

  • Super Contributor
  • ***
  • Posts: 2085
Re: Breath Controller for synths w/ BC input: need design help
« Reply #4 on: November 14, 2015, 05:23:47 pm »
Our main snag is lack of tech info from both Kurzweil and Yamaha as to what the exact specifications should be.

One might assume that the BC2 schematic is straightforward enough, but as stubby mentioned, we have no idea of the max and nominal current load of the Kurzweil's BC port and therefore are flying somewhat blind.
As you say, you need more information. I would start with, say, a 10k pot across the power pins and wiper to the control signal pin of the input to your Kurzweil. Use a DVM to map-out the response of the Kurzweil. I see the OP has already mapped the expected output.
Then, as suggested above, I would "wack together" the BC1 circuit. Directly substitute the MPX sensor for the IT43904. I suspect the circuit will require more gain to function properly - but suck-it-and-see will be the easiest option. (perhaps that should be blow-it-and-see :) )
As for the power supply - the partial schematic of the Kurweil shows that the -9V supply is protected by a 100 ohm resistor - so you have 9 volts available at a source resistance of 100 ohms - make of that what you will - with the right sensor it should be possible to obtain a working system.
« Last Edit: November 14, 2015, 05:32:20 pm by Andy Watson »
 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #5 on: November 14, 2015, 05:29:25 pm »
positive ground and negative supply is only "tricky" when there is a shielded chassis. In your case there is no problem: simply define the sleeve as + and the rail as - and connect the sensor with the appropriate polarity. the output of the sensor goes positive with increasing pressure, so you will need to invert the signal while amplifying it. Again, no problem, since opamps couldn't care less about ground (they are "rail to rail").
I'll echo obiwanjacobi, just whack it on a breadboard and adjust until you're satisfied with the output. the supply voltage range means it will run easily from a battery. schematics for inverting opamp topologies with gain are very easy to find. Start with Texas Instruments's Design Reference "Op Amps For Everyone".
« Last Edit: November 14, 2015, 05:31:37 pm by helius »
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #6 on: November 15, 2015, 08:41:52 pm »
[I edited the original post to consolidate info to one location.]

I'm very willing to work in this with trial & error on a breadboard and with a multimeter. However, I still need a little help.

Right now, I can put the MPX2010GSX sensor on a breadboard with one or two LM358 dual op-amps. However, I don't even know how to begin wiring an op-amp for this application.

helius, Thanks for directing me to "Op Amps for Everyone". The PDF I found was 609 pages. I AM eager to learn, but I know I won't make it cover to cover on that one (I wouldn't live that long). Hopefully, I can find my way around it enough to get started that way.

obiwanjacobi, I have a little board called a MIDI CPU which can take pots and convert them to MIDI control streams. So that would be a modified circuit (perhaps with a IR LED and LDR pairing).
« Last Edit: November 16, 2015, 02:42:31 pm by stubbsonic »
 

Offline eevlurker

  • Newbie
  • Posts: 3
  • Country: de
Re: Breath Controller for synths w/ BC input: need design help
« Reply #7 on: November 18, 2015, 11:30:38 pm »
I'm very willing to work in this with trial & error on a breadboard and with a multimeter. However, I still need a little help.

Right now, I can put the MPX2010GSX sensor on a breadboard with one or two LM358 dual op-amps. However, I don't even know how to begin wiring an op-amp for this application.

The most important thing is the smoke. Remember that smoke makes electronics work. If you let the smoke escape from any electronic component, it'll stop working.
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #8 on: November 19, 2015, 03:50:38 am »
Thanks. I'll try to remember that.
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #9 on: November 20, 2015, 06:35:40 pm »
Moments ago, I spoke with a Yamaha U.S. customer support manager about the project, and tried to access more technical info about the BC3. He said that as an accessory, there is no published technical info. And that the designers and manufacturers in Japan don't really talk to the US reps-- particularly about this.

He did say that if I was successful at getting a working design to contact him so he could refer other customers to the project. That's seemed pretty positive.

One quick op-amp question. I bought three LM358's during a recent visit to the SparkFun HQ. Do those seem like appropriate op-amps for this project?
 

Offline cpwhite

  • Newbie
  • Posts: 2
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #10 on: November 21, 2015, 03:32:31 am »
I think there is some confusion here.
Disassembling my Yamaha BC2 I find what is almost certainly a Hall Effect senior for IC3, not a pressure sensor. There is a rubber bladder for lack of a better term which the breath mouthpiece is connected to. On the PCB side of this bladder is a small magnet. This sits directly over IC3 when the BC is assembled. When blowing into the mouthpiece, the bladder inflates and the magnet moves closer to IC3, increasing the output voltage. Hall effect sensors, for those who don't know, vary their output according to a magnetic field. There can be a linear device like this one, or they can be magnetic switches. https://en.wikipedia.org/wiki/Hall_effect_sensors
Pressure sensors generally don't like moisture and because in a breath controller, we're breathing humid air into the system, a pressure sensor would likely deteriorate over time. A moisture filter could possibly solve this problem, or a pressure sensor that has a built in moisture barrier. I think the fact that Yamaha didn't used a pressure sensor, but a rubber membrane with a magnet and hall effect sensor, reinforces the difficult in using a pressure sensor. So the iT43094 isn't a pressure sensor, but is a hall effect sensor. I couldn't find any datasheets on the web for this part number, and the part itself on my BC2 is marked 05. It's a small four pin surface mount IC.     
I've posted photos on my web site that show the plastic square which holds the rubber bladder and clearly shows the magnet in the center. I also took a picture of the component side of the PCB which shows the hall effect sensor in the center of the board and the case. http://www.chuckwhite.com/yamaha-bc2.html
« Last Edit: November 21, 2015, 09:28:03 pm by cpwhite »
 

Offline cpwhite

  • Newbie
  • Posts: 2
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #11 on: November 21, 2015, 03:34:32 am »
LM358 will be fine. It's a good lower power opamp.
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #12 on: November 25, 2015, 09:08:00 pm »
I just got word from Kurzweil support about the current maximums. It said the maximum safe current was 23.8 mA, and that the suggested maximum current is 20 mA. I'll update my initial post with that info.

Also, just a note that I received a circuit design from Chuck White (THANKS CHUCK!). I just now assembled the parts and can begin wiring up and testing the design!   :D
« Last Edit: November 25, 2015, 09:14:30 pm by stubbsonic »
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #13 on: November 26, 2015, 08:37:26 am »
Very interesting, i ordered some breath sensor to made a test with my kurzweil pc3k7 and find your post searching material about BC3a, for my test i ordered MPX2010DP e MPXM2010GS they will arrive from Malesia in January, i will try to made all in smd technology. I follow your post with interest. CPwhite its interesting the all effect sensor, ive some at home that i bought for my CNC, i found a 4 pin hall sensor http://www.digikey.com/en/articles/techzone/2011/may/micropower-hall-effect-sensor-ics-for-mobile-apps
« Last Edit: November 26, 2015, 08:57:44 am by artico78 »
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #14 on: November 26, 2015, 10:30:16 pm »
Thanks for chiming in, artico78. As of Nov 2015, this is an actively evolving topic.

First of all, congrats to happyrat1 who guessed the max current exactly at 20 mA. That was the one missing piece of info, so we are all good to go.

FIRST BUILD & TEST:

I took advantage of the day off and breadboarded the circuit I got from Chuck White. My first test didn't work (read a steady voltage on the meter). I directly tested the sensor which is working as expected. Now I need to determine if I wired things correctly, AND whether I tested it correctly. I suppose there are relatively few variables, but still somewhere I didn't get it right. I'll communicate directly with Chuck to compare my wiring diagram with his circuit-- perhaps he can help me see where I got it wrong.

 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #15 on: November 27, 2015, 02:45:31 pm »
I found that if its useful, i received the pressure sensor, different from the one i ordered but ok, the model is mpx2010dp, but i think it will work, first i will use it with arduino for test, then i will calculate all with the info you posted and simulate all on Proteus software.
« Last Edit: November 30, 2015, 04:27:32 pm by artico78 »
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #16 on: December 02, 2015, 11:08:01 am »
Take a look someone had the same idea and done it http://mitxela.com/projects/breath_controller
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #17 on: December 02, 2015, 06:48:14 pm »
Thanks for those, Artico.

My choice of breath sensor was based on other projects that had different ranges. In hindsight (and perhaps down the road), more research about pressure range might be a useful step. One advantage of the MPX2010 is that though it requires 1.45 psi to max (which is blowing quite hard into a sealed tube), you can have a working operable range below that, with headroom for transient/bursts that might exceed some predicted max.

The person with the similar idea seemed to be operating with the same goal, but was perhaps a bit less cautious about damage. Also, that build looks like a nightmare!

I'm hoping that this build when tested and finalized will be easily breadboarded and ultimately put on a proto-board with these easily available and through-hole mounted components. My visions of the mechanical parts; hose, condensation-management, and vent adjustment, are still pretty vague.

« Last Edit: December 03, 2015, 03:50:27 am by stubbsonic »
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #18 on: December 03, 2015, 09:27:39 am »
Tomorrow i will receive in my laboratory a broken BC3 i will disassemble and take a look inside before fix it, i received also an mpxm2010gs in smd technology. I will have good time, soon i will post some pictures of open BC3
« Last Edit: December 03, 2015, 09:33:47 am by artico78 »
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #19 on: December 05, 2015, 01:29:17 pm »
I've searched but never found either pictures or schematics from a BC3. That will be very valuable. Good luck with the repair.

I finally have time today to troubleshoot my breadboard build of Chuck White's circuit.
« Last Edit: December 05, 2015, 06:15:05 pm by stubbsonic »
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #20 on: December 05, 2015, 06:20:26 pm »
I received it, its the plastic pipe connection broken, i think i will made it with 3D printer, the tube glue don't work. Ive seen inside an Hall sensor and a magnet with a rubber connection. There are 2 operational in smd tecnology and smd resistor and capacitors like the schematic of BC2 i think the difference is only with the outside package, its different than sensor we are using. ive to made some photos.
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #21 on: December 21, 2015, 08:41:39 am »
Like i promised, some pictures, schematics is the same as BC2 if u take a look at resistors under hall sensor u can see two 152 (1.5k) and two 103 (10k) u can control on pictures i sent.
I forget to take the code of op amps
« Last Edit: December 21, 2015, 04:59:25 pm by artico78 »
 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #22 on: December 22, 2015, 08:32:38 am »
Here all the things we need for a BC3 clone http://hardwarium.ru/?p=26 i've that pressure sensor and i will try to do all in smd technology
« Last Edit: December 22, 2015, 08:42:09 am by artico78 »
 

Offline stubbsonicTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Breath Controller for synths w/ BC input: need design help
« Reply #23 on: December 28, 2015, 04:58:49 pm »
Thanks for all those images & links, Artico78. That's very useful. I'll have to see what I can glean from the Russian web-page using some kind of translator.

I got a circuit design from Chuck White (THANK YOU, CHUCK!!). I have assembled it on breadboards a half-dozen times, but have not gotten it to work yet. At some point I got busy with other stuff and was waiting for a block of time to work uninterrupted and troubleshoot.

More soon.

 

Offline artico78

  • Contributor
  • Posts: 13
Re: Breath Controller for synths w/ BC input: need design help
« Reply #24 on: December 28, 2015, 06:22:50 pm »
I'm waiting for some components, i've already the sensor in 2 versions, i made this BC3 in photos work and i'm really happy, all go fine.
I translated russian site in Italian, when components will arrive i will assemble on a bread board, for now i will simulate all on proteus ISIS to see all the parameters
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf