- Soldering joints were made unprofessionally.
- The cover of the battery slot was missing.
- Flex cables had to be replaced.
- And the worst thing was, someone has removed the pressure sensor.
Technically the description on ebay was correct, saying "it's just working with breath mode turned off". But I am sure the seller wanted to make buyers believe it's just a small problem that's fixed by replacing a capacitor. However, after some emails I have got the cover for the battery slot.
In the next step I did some general clean up of bad soldering like this one and replacing a flex cable with the cable of a floppy disc drive.
I shorted the legs as much as I could and fixed some dry soldering joints.
The Pressure sonsorNow there was the biggest problem left, the missing pressure sensor. I found a technical manual that explains the sensor quite well. It's a moving iron core in a coil but it doesn't say anything about the number of loops, length or diameter of the coil or the core. The breath is moving the core which is changing the inpedance of the coil. This change is converted into an analog signal for the CPU.
I tried to contact some service center for those devices to get photos or any information they can provide but I didn't get anything. For the next year the casio was laying around and nothing happened.
Last week I felt it was time for a plan b. I thought I could start playing round with some coils, but this seemed very unprofessional to me and didn't look very promising. So I checked my bench for helping stuff and found a picaxe m20 and a mpx5010. I knew the impedance of the coil is converted into a directed current and the CPU is reading it with an ADC. So my plan was to use the pressure sensor and the picaxe to simulate this analog signal. Of course the m20 didn't have an DAC to create the analog signal. But I remembered an old friend of mine. He created an DAC on the LPT-Port of his 386. This was in the in the early 90s, where sound cards were not the standard. There goes a waving hand to albert for showing off ;-) On Google I found the covox speech thing. The m20 offered enough output pins to build an 8 bit DAC and so I had everything what I needed. Find the schematic at the end of the post.
|sensor electronic for EWI|
There are some points to be considered:
- The sensor has a pressure range from 0 to 10 kpa.
- The actual pressure in the instrument never goes that high. I guess it ends at 3-4 kpa. The instrument isn't a closed chamber, the player is blowing thru it. So there is just a small rise in pressure inside the air channel.
- The ADC of the original CPU takes 0 to 5 volts.
- The Software in the original CPU just processes values from about 0.5 volts to 1.5 volts.
|Sheme of pressure conversion for orig. CPU|
These are all config values for the software:
- minimum output level
- maximum output level
- minimum sensor data
Connecing the main boardThe main board is connected at 3 points. On one hand to get VCC and GRND. On the other hand to feed the original CPU with the pressure signal.
|connection points to the main board|
|analog input pins on the original cpu|
That's it - on the bread board it was working like a charm!
The last task was to put everything back into the case.
|Luckily there is enough space in the case|
In the case of the instrument there is enough space to add the pressure sensor and the chip.
|The pressure sensor sits next to the speaker|
|The board sits next to the main board|
|Userinterface of the device|
To the user panel I added two buttons and a 3-Pin-Connector to be able to upload a new firmware to my picaxe.
|Please excuse the quality, I had to draw it with Illustrator :-)|
The capacitor has 100 microFarad
SIN = serial in
SOUT = serial out
The MPX5010 is not connected directly. There are some elements used. Please see the manual of your exact chip. On google I found projects connecting them directly, but the manual shows a very small circuit that is recomended.
I made one Failure in this projectI connected the resistors in the wrong order to the output pins of the m20. For this I had to add an option to reverse the bit order of the output data. The schematics below shows my wrong version.
Finally, it's workingHere you can see the output signal on the oscilloscope
Final thoughtsI designed everything to be independent from the casio device. So I made a general module that could be interesting for other projects too.
The original device is working with moving mass. This replacement is working with a pressure sensitive chip. I can't compare them, but I guess the replacement is reacting faster and better to pressure changes.
Firstly using the picaxe looked a bit over engineered to me, but there are some parameters to adjust. And doing this in software is much easier than in analog circuits.
Having the picaxe and the software opens a door to effects that can be build into it.
SuccessFinally, yes my casio DH-100 is now working again and now it's time to learn to play it :-)
PICEWI on GitHub
PROJECT UPDATE 2016-08-27 - Picaxe - Floating serial inIn this project i had serial in of the picaxe floating. This made it stop working randomly.
Please check page 31 of the picaxe-PDF get serial in grounded.