<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tom Wimmenhove Electronics Design</title>
	<atom:link href="http://www.tomwimmenhove.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomwimmenhove.com</link>
	<description></description>
	<lastBuildDate>Thu, 24 Jan 2019 02:33:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6.1</generator>
		<item>
		<title>Cosmic Ray Detector</title>
		<link>http://www.tomwimmenhove.com/cosmic-ray-detector-2/</link>
		<comments>http://www.tomwimmenhove.com/cosmic-ray-detector-2/#comments</comments>
		<pubDate>Thu, 24 Jan 2019 02:17:50 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.tomwimmenhove.com/?p=1448</guid>
		<description><![CDATA[I had always wanted to build a cosmic ray detector. A long time ago I experimented with Geiger–Müller tubes, but due to the low count rates (especially when using coincidence counting), the results were never satisfying. I decided to build &#8230; <a href="http://www.tomwimmenhove.com/cosmic-ray-detector-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I had always wanted to build a cosmic ray detector. A long time ago I experimented with <a href="https://en.wikipedia.org/wiki/Geiger%E2%80%93M%C3%BCller_tube"target="_blank">Geiger–Müller tubes</a>, but due to the low count rates (especially when using <a href="https://www.britannica.com/science/coincidence-counting" target="_blank">coincidence counting</a>), the results were never satisfying.<br />
I decided to build a pair of detectors based on PMTs (<a href="https://en.wikipedia.org/wiki/Photomultiplier" target="_blank">photo multipliers</a> that will detect <a href="https://en.wikipedia.org/wiki/Cherenkov_radiation" target="_blank">Cherenkov radiation</a> in water, whenever a high-energy particle (<a href="https://en.wikipedia.org/wiki/Muon" target="_blank">muons</a> in our case &#8211; the electron&#8217;s more massive brother), passes through it.</p>
<p>I bought 3 PMTs from ebay (specs on it <a href="/wp-content/gallery/cosmic-ray-detector_1/b133d01-1.jpg" target="_blank">here</a> and <a href="/wp-content/gallery/cosmic-ray-detector_1/b133d01-2.jpg" target="_blank">here</a>), pictured below:<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/pmt.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/pmt.jpg" width="200" height="150"></a><br />
PMTs from ebay.</center></p>
<p>The next step was wiring up the pins on the PMTs. I used a simple resistive divider that provides an equal potential difference between all <a href="https://en.wikipedia.org/wiki/Dynode" target="_blank">dynodes</a>, and twice that potential between the cathode and the first dynode. Small capacitors were added between the last 4 dynode stages, to minimize voltage drop during pulses. This circuit is very similar to the circuit Ortec uses in <a href="https://www.ortec-online.com/-/media/ametekortec/brochures/266-2.pdf" target="_blank">one of their photomultiplier bases</a>.</p>
<p><center><a href="/wp-content/gallery/cosmic-ray-detector_1/divider.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/divider.jpg" width="200" height="150"></a><br />
Schematic diagram of the divider circuit.</center></p>
<p><center><a href="/wp-content/gallery/cosmic-ray-detector_1/pmt_wiring.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/pmt_wiring.jpg" width="200" height="150"></a><br />
The circuit wired up to the base.</center></p>
<p>I ended up not using the potentiometer that was supposed to connect to the &#8216;grid&#8217; or &#8216;focus&#8217; electrode, since it turned out that this connection was internally connected to the first dynode.</p>
<p>The detectors will be housed in paint cans. 2 Paint can each: one containing the (distilled) water and the PMT &#8216;head&#8217;, while the other contains the wiring and most of the base of the PMT. The high voltage input, signal output BNC and a &#8216;gain&#8217; potentiometer in series with the high voltage supply are added to a 1-gallon-paint can lid.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/io.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/io.jpg" width="200" height="150"></a><br />
Connectors on pain can lid.</center></p>
<p>The inside of the paint can that will contain the water is lined with heavy duty aluminium foil, to provide some reflections that will (hopefully) guide most photons to eventually reach the photo cathode on the PMT.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/shiny.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/shiny.jpg" width="200" height="150"></a>.<br />
Aluminium foil lining.</center></p>
<p>The bottom of the can containing the majority of the PMT and the wiring was removed using a can opener. Effectively turning it into a short tube. I then proceeded to create a water tight seal around the PMT head and the inside of the tube using hot glue.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/hot_snot.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/hot_snot.jpg" width="200" height="150"></a><br />
Hot glue seal.</center></p>
<p>For rigidity, I added some foam to the PMT&#8217;s base, holding it in place.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/foam_fit.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/foam_fit.jpg" width="200" height="150"></a><br />
Foam &#8216;press fit&#8217;</center></p>
<p>Then, for safety, I used a cheap (badly scented) candle to melt over the form. To make sure that, if the hot glue seal does leak, it will stay out of the high-voltage section.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/smelly_candle.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/smelly_candle.jpg" width="200" height="150"></a><br />
&#8216;Safety&#8217; seal.</center></p>
<p>After having finished both detectors and connecting them to my oscilloscope, I finally got an &#8216;event&#8217; where both detectors fired at almost exactly the same time. This is almost certainly caused by a muon passing through both detectors. It works!<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/first_light.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/first_light.jpg" width="200" height="150"></a><br />
First light!</center></p>
<p>For a previous project involving Geiger–Müller tubes, I had bought a few old NIMs <a href="https://en.wikipedia.org/wiki/Nuclear_Instrumentation_Module" target="_blank">Nuclear Instrumentation Module</a>s: a signal amplifier, a coincidence module and a zero crossing detector. All of these would come in pretty handy for this project.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/nim_bin.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/nim_bin.jpg" width="200" height="150"></a><br />
Nuclear Instruments Modules</center></p>
<p>It turned out that the zero crossing detector required pulses with an amplitude of at least 200mv, which was much more than the signal that I had available, even after amplification. Therefore I modified the unit and simply replaced the circuitry of channels 3 and 4 with a simple comparator circuit, based on a pair of LM361 comparators I had laying around. I then <a href="https://en.wikipedia.org/wiki/Point-to-point_construction#&quot;Dead_bug&quot;_construction" target="_blank">dead-bug</a> soldered them onto a scrap piece of PCB clad board.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/lm361.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/lm361.jpg" width="200" height="150"></a><br />
LM361 modification</center></p>
<p>After wiring it up, everything worked as expected: the oscilloscope triggered only when both detectors actually fired &#8216;simultaneously&#8217;.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/coincidence.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/coincidence.jpg" width="200" height="150"></a><br />
Coincidence triggering</center></p>
<p>I then realized that I would get a big increase in count rate when using both detectors on top of each other horizontally. This obviously makes the detector a lot less selective when it comes to the angle of the particles, plus it increases the detection area somewhat. After running the detectors in the new orientation for a few minutes, I noticed that the high voltage had suddenly dropped from around 1200 volt to slightly above 600 volt. I immediately knew what happened. <strong>A LEAK!</strong>. The distilled water had made it&#8217;s way into the high voltage compartment of one of the detectors after all!</p>
<p>Even though only one of the detectors failed, I decided rebuilt both. This time I actually cut a circular hole, slightly larger than the PMT head, out of the paint can lid, having the PMT&#8217;s head protrude it for about an inch, and use a generous amount of silicone to seal the PMT and the lid to the can that contains the water. Turning it into one, hopefully watertight, unit.<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/silicone1.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/silicone1.jpg" width="200" height="150"></a><br />
One PMT sealed.</p>
<p><a href="/wp-content/gallery/cosmic-ray-detector_1/silicone2.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/silicone2.jpg" width="200" height="150"></a><br />
Both PMTs sealed.<br />
</center></p>
<p>The new and assembled detector stack now looks like this:<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/stack_new.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/stack_new.jpg" width="200" height="150"></a></center><br />
As of Wed Jan 23 2019, this has been running for 2 days &#8212; without leaks, so far. Fingers crossed.</p>
<p>The full setup currently looks like this:<br />
<center><a href="/wp-content/gallery/cosmic-ray-detector_1/full_setup.jpg" target="_blank"><img src="/wp-content/gallery/cosmic-ray-detector_1/full_setup.jpg" width="150" height="200"></a></center></p>
<p>The next step will be to get a NIM-BIN (a unit to slide the NIM modules into, as well as to power them), some way of data acquisition (USB oscilloscope?) and some software to log all the data.</p>
<p>To be continued&#8230;</p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/cosmic-ray-detector-2/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/cosmic-ray-detector-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fitness Equipment RFID</title>
		<link>http://www.tomwimmenhove.com/fitness-equipment-rfid/</link>
		<comments>http://www.tomwimmenhove.com/fitness-equipment-rfid/#comments</comments>
		<pubDate>Thu, 17 Apr 2014 18:06:46 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=490</guid>
		<description><![CDATA[&#160; RFID blblabla comminucating over RS-485 multidrop. For more pictures check out the gallery]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/rfid2.jpg"><img class="alignnone size-thumbnail wp-image-491" alt="rfid2" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/rfid2-e1397757812571-150x150.jpg" width="150" height="150" /></a></p>
<p>&nbsp;</p>
<p>RFID blblabla comminucating over <a href="http://en.wikipedia.org/wiki/RS-485" target="_blank">RS-485</a> multidrop.</p>
<p>For more pictures check out the <a href="../rfid-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/fitness-equipment-rfid/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/fitness-equipment-rfid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IGBT H-Bridge and Driver</title>
		<link>http://www.tomwimmenhove.com/igbt-h-bridge-and-driver/</link>
		<comments>http://www.tomwimmenhove.com/igbt-h-bridge-and-driver/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 17:29:06 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=208</guid>
		<description><![CDATA[I started building an IGBT inverter using H-bridge topology. 2 Pairs of FGH50N6S2 IGBTs with RURG5060 anti-parallel diodes across them and a beefy 1uF cap on each leg. Measurements hardly showed any ringing but maybe it&#8217;s not a bad idea to add some extra &#8230; <a href="http://www.tomwimmenhove.com/igbt-h-bridge-and-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I started building an IGBT inverter using H-bridge topology. 2 Pairs of <a href="http://www.fairchildsemi.com/ds/FG/FGH50N6S2D.pdf" target="_blank">FGH50N6S2</a> IGBTs with <a href="http://www.fairchildsemi.com/ds/RU/RURG8060.pdf" target="_blank">RURG5060</a> anti-parallel diodes across them and a beefy 1uF cap on each leg. Measurements hardly showed any ringing but maybe it&#8217;s not a bad idea to add some extra snubber caps with resistors in the future.</p>
<p>Here&#8217;s the very simple layout for the IGBT-board:<br />
<a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/IGBT_Layout.png"><img class="alignnone size-large wp-image-104" alt="IGBT_Layout" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/IGBT_Layout-600x372.png" width="600" height="372" /></a></p>
<p>The IGBT driver board has 4 fully opto-isolated gate drivers. I chose to isolate all 4 drivers to get rid of any ground-noise that may arise from very high dI/dT (switching high currents really fast). It uses the <a href="http://www.farnell.com/datasheets/7446.pdf">MC33153P</a>capable of sourcing 1 Amp and sinking 2 Amps to drive the IGBT gates. This is enough to switch on the IGBT in a little over 100nS and off in about 300nS. A simple digital opto-coupler (<a href="http://www.farnell.com/datasheets/87254.pdf" target="_blank">HCPL2601</a>) is used to isolate the gate-drive signal from the rest of the circuit.</p>
<p>Schematic of a single gate driver (implemented on the driver board 4 times):<br />
<a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-Driver_AL.jpg"><img class="alignnone size-large wp-image-145" alt="P-CAD EDA - [Driver_AL]" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-Driver_AL-600x233.jpg" width="600" height="233" /></a></p>
<p>The 4 diodes in the top are just rectifiers for a floating alternating supply (no terminals shown).</p>
<p>Then there&#8217;s some basic logic to avoid illegal driving states (i.e. driving both gates turned on at the same leg causing shoot-through, turning the IGBT&#8217;s into small fireworks) and handle fault signals (IGBT Desaturation) from the MC33153P&#8217;s. Desaturation happens whenever the IGBT is unable to support the conducting current, due to which the Vce voltage gets dramatically high. A fault is detected when this voltage rises above 6 Volts, triggering a flipflop through an opto-coupler and blocks the drive-signals.<br />
<a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-Interface.jpg"><img class="alignnone size-large wp-image-146" alt="P-CAD EDA - [Interface]" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-Interface-600x580.jpg" width="600" height="580" /></a></p>
<p>Last but not least, a floating supply for each driver. This is simply done by an <a href="http://www.farnell.com/datasheets/36719.pdf" target="_blank">SG3525A</a> regulating pulse width modulator. It&#8217;s set to oscillate at a duty cycle a little under 50% at around 100KHz, driving a pair of <a href="http://www.irf.com/product-info/datasheets/data/irfz48npbf.pdf" target="_blank">IRFZ48N</a>mosfets, which in turn drive 3 toroidal transformers supplying the floating power to the driver circuits. I&#8217;ve only used 3 transformers since the supplies for the bottom IGBT drivers are wound around the same core: there&#8217;s no high dV/dT there, just some noise. I might even get away with powering both lower drivers from the same supply but this topology adds a little robustness to the system.</p>
<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-PSU.jpg"><img class="alignnone size-large wp-image-147" alt="P-CAD EDA - [PSU]" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/P-CAD-EDA-PSU-600x433.jpg" width="600" height="433" /></a></p>
<p>Finally a picture of the whole assembly. You can see the 3 transformers on the left and a little piece of prototyping board with a microcontroller (<a href="http://www.farnell.com/datasheets/43424.pdf" target="_blank">CY8C29466-24PXI</a>) generating a pulse width modulated sine-wave for the driver board.</p>
<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/Bridge1.jpg"><img class="alignnone size-large wp-image-86" alt="OLYMPUS DIGITAL CAMERA" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/Bridge1-600x450.jpg" width="600" height="450" /></a></p>
<p>For more pictures check out the <a href="../igbt-driver-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/igbt-h-bridge-and-driver/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/igbt-h-bridge-and-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Low Power Induction Heater</title>
		<link>http://www.tomwimmenhove.com/low-power-induction-heater/</link>
		<comments>http://www.tomwimmenhove.com/low-power-induction-heater/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 17:08:27 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=196</guid>
		<description><![CDATA[Blablabla bruggeman blablabla induction blablabla heater bla. &#160; &#160; ://feelbetteryoga.com/wp-content/themes/launch/css/typography.css in typography.css look for code around 85 picture blablablablafrf rfrfrfrf For more pictures check out the gallery]]></description>
				<content:encoded><![CDATA[<p>Blablabla bruggeman blablabla induction blablabla heater bla.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://feelbetteryoga.com/wp-content/themes/launch/css/typography.css" rel="nofollow">://feelbetteryoga.com/wp-content/themes/launch/css/typography.css</a><br />
in typography.css</p>
<p>look for code around 85</p>
<p>picture blablablablafrf</p>
<p>rfrfrfrf</p>
<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/P_20140214_005649.jpg"><img class="alignnone size-large wp-image-154" alt="P_20140214_005649" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/P_20140214_005649-600x450.jpg" width="600" height="450" /></a></p>
<p>For more pictures check out the <a href="../induction-heater-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/low-power-induction-heater/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/low-power-induction-heater/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Midi Controller</title>
		<link>http://www.tomwimmenhove.com/midi-controller/</link>
		<comments>http://www.tomwimmenhove.com/midi-controller/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 17:06:22 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=194</guid>
		<description><![CDATA[My father plays in a band and he uses multiple MIDI sound modules with an old Akai MPC60 serving as a MIDI controller. The MPC60 is getting quite old and seems to be less reliable after all these years of service, so when I heard my &#8230; <a href="http://www.tomwimmenhove.com/midi-controller/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My father plays in a <a href="http://www.dieptriest.nl/" target="_blank">band</a> and he uses multiple MIDI <a href="http://en.wikipedia.org/wiki/Sound_module" target="_blank">sound modules</a> with an old <a href="http://en.wikipedia.org/wiki/Akai_MPC60" target="_blank">Akai MPC60</a> serving as a MIDI controller. The MPC60 is getting quite old and seems to be less reliable after all these years of service, so when I heard my father was looking for a new MIDI controller, I started thinking about building one for him.</p>
<p>Like with most controller circuits, I started out with a PSoC micro controller. I chose the <a href="http://www.farnell.com/datasheets/43424.pdf" target="_blank">CY8C29466-24PXI</a>) as this controller has room for 8 communication blocks, which I used for 4 MIDI outputs, 2 MIDI inputs and an RS232 UART for communication with a PC (laptop/netbook) through USB-to-Serial cable. With all 8 communication blocks used up, there still are 8 other configurable digital blocks left for other general stuff (Timers, PWM, etc&#8230;).</p>
<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/00009_0.jpg"><img class="alignnone size-large wp-image-71" alt="OLYMPUS DIGITAL CAMERA" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/00009_0-600x450.jpg" width="600" height="450" /></a></p>
<p>I haven&#8217;t made any schematics of the circuit itself, but it&#8217;s pretty straight-forward.<br />
A simple <a href="http://www.google.com/images?hl=en&amp;sugexp=ldymls&amp;xhr=t&amp;q=midi+interface+circuit&amp;cp=18&amp;qe=bWlkaSBpbnRlcmZhY2UgY2ly&amp;qesig=OhE3Bagl-ceida7AImMzeQ&amp;pkc=AFgZ2tl9rm3Xdk-hlnk5zHnEjJzkpAQ8Q7v9mdmPnOukQk6iITF1A9fL56qC8N7uNrwbhzqRLQBF98EdGNNYLugw8qezeASWmQ&amp;um=1&amp;ie=UTF-8&amp;source=og&amp;sa=N&amp;tab=wi&amp;biw=1242&amp;bih=613" target="_blank">google image search</a> returns a lot of useful MIDI-interface circuits. I&#8217;ve used a couple of 74HC14 inverters as a buffer for the MIDI outputs and 6n138 opto-couplers for the inputs. All resistors in the midi-interface circuit are 220 Ohms.</p>
<p>The power supply is built around a <a href="http://www.farnell.com/datasheets/4837.pdf" target="_blank">LM2574HVN-5.0</a>. There are 4 diodes configured as a bridge rectifier followed by a 220uF/35V capacitor at the power input so the controller can accept both DC and AC adapters of a wide voltage range.</p>
<p>The RS232 interface is a standard interface using a <a href="http://www.farnell.com/datasheets/76791.pdf" target="_blank">MAX232</a> and a handful of 100nF capacitors.</p>
<h2>MIDI Controller API</h2>
<p>The controller supports 4 layers, which means that one midi message on any input can be routed to a maximum of 4 channels (on the same or multiple outputs) at the same time</p>
<ul>
<li><b>int midi_setoutput(struct midi *m, int layer, int input, int inchannel, int output)</b> // Set the physical output to which a certain input/midi channel combination for this layer should be routed to</li>
<li><b>int midi_setchannel(struct midi *m, int layer, int input, int inchannel, int channel)</b> // Set the output midi channel to which a certain input/midi channel combination for this layer should be routed to</li>
<li><b>int midi_setvelocity(struct midi *m, int layer, int input, int inchannel, int velocity)</b> // Set the velocity of this input/midi channel combination for this layer anywhere between 0-200%</li>
<li><b>int midi_enabled(struct midi *m, int layer, int input, int inchannel, int enabled)</b> // Enable/disable this input/midi channel combination for this layer</li>
<li><b>int midi_getoutput(struct midi *m, int layer, int input, int inchannel)</b> // Get the physical output to which a certain input/midi channel combination for this layer is currently routed to</li>
<li><b>int midi_getchannel(struct midi *m, int layer, int input, int inchannel)</b> // Get the output midi channel to which a certain input/midi channel combination for this layer is currently routed to</li>
<li><b>int midi_getvelocity(struct midi *m, int layer, int input, int inchannel)</b> // Get the velocity of this input/midi channel combination for this layer</li>
<li><b>int midi_isenabled(struct midi *m, int layer, int input, int inchannel)</b> // Check if the input/midi channel combination for this layer is enabled</li>
<li><b>int midi_disableall(struct midi *m)</b> // Disable all routes</li>
<li><b>int midi_output(struct midi *m, int output, unsigned char *data, int len)</b> // Send raw MIDI data to an output</li>
<li><b>int midi_bufferinfo(struct midi *m, unsigned char *data)</b> // Get info about the internal MIDI output buffer usage</li>
<li><b>int metronome_start(struct midi *m, unsigned char *pattern, int len, int period)</b> // Start metronome using a onfigurable speed and pattern</li>
<li><b>int metronome_stop(struct midi *m)</b> // Stop metronome</li>
<li><b>int metronome_clickselect(struct midi *m, int click)</b> // Select a click sample</li>
</ul>
<p><a href="http://127.0.0.1/home/image/tid/20">Here</a>&#8216;s a link to the Picture Gallery.</p>
<p>Attached are the <a href="http://www.cypress.com/?id=2522" target="_blank">PSoC Designer</a> files and an application (Linux) to test functionality. The final PC-side application hasn&#8217;t been built yet.</p>
<ul>
<li>PSoC Designer project: <a href="/stuff/midicontroller.rar">midicontroller.rar</a></li>
<li>PC-side test application (C): <a href="/stuff/testapp.tgz">testapp.tgz</a></li>
</ul>
<p>The circuit becomes clear when looking at the pin usage after opening the project in PSoC Designer.</p>
<p>For more pictures check out the <a href="../midi-controller-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/midi-controller/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/midi-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serial Port Timer</title>
		<link>http://www.tomwimmenhove.com/serial-port-timer/</link>
		<comments>http://www.tomwimmenhove.com/serial-port-timer/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 16:59:38 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=189</guid>
		<description><![CDATA[Another project I did for iPerform Software also commissioned by Biometrics. This device will have the same functionality as the DisplayBox when connected to a computer (laptop/netbook) running the appropriate software. It communicates over RS232 with a 9pin sub-D female connector. The entire board is &#8230; <a href="http://www.tomwimmenhove.com/serial-port-timer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Another project I did for <a href="http://www.iperform.nl/" target="_blank">iPerform Software</a> also commissioned by <a href="http://www.biometrics.nl/" target="_blank">Biometrics</a>.</p>
<p>This device will have the same functionality as the <a href="http://127.0.0.1/home/node/596">DisplayBox</a> when connected to a computer (laptop/netbook) running the appropriate software. It communicates over RS232 with a 9pin sub-D female connector. The entire board is incorporated into a sub-D connector housing and connects to a &#8220;Jump Mat&#8221;.<br />
It times on- and off-events from the Jump Mat with a precision of 1/1024s and a maximum deviation of (apparently far) less than 30ppm (parts per million).</p>
<p>As with the DisplayBox project, no technical details or schematics of any circuits due to <a href="http://en.wikipedia.org/wiki/Non-disclosure_agreement" target="_blank">NDA</a>.</p>
<p><a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/00007.jpg"><img class="alignnone size-large wp-image-48" alt="OLYMPUS DIGITAL CAMERA" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/00007-600x450.jpg" width="600" height="450" /></a></p>
<p>A picture of 5 assembled PCBs and sub-D housings.</p>
<p>&nbsp;</p>
<p>For more pictures check out the <a href="../serial-port-timer-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/serial-port-timer/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/serial-port-timer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DisplayBox</title>
		<link>http://www.tomwimmenhove.com/displaybox/</link>
		<comments>http://www.tomwimmenhove.com/displaybox/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 16:47:15 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.nohup.nl/home/?p=181</guid>
		<description><![CDATA[This is a project I did while working for iPerform Software commissioned by Biometrics. The initial project name was &#8220;DisplayBox&#8221;, the final product name was the &#8220;iLink&#8221;. It&#8217;s a hand-held device used for rehabilitation. It connects to a &#8220;Jump Mat&#8221; which is basically a &#8230; <a href="http://www.tomwimmenhove.com/displaybox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is a project I did while working for <a href="http://www.iperform.nl/" target="_blank">iPerform Software</a> commissioned by <a href="http://www.biometrics.nl/" target="_blank">Biometrics</a>. The initial project name was &#8220;DisplayBox&#8221;, the final product name was the &#8220;iLink&#8221;.</p>
<p><img class="alignnone size-medium wp-image-106" style="font-size: 12px; line-height: 18px;" alt="Ilink_handheld" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/Ilink_handheld-191x300.jpg" width="191" height="300" /></p>
<p>It&#8217;s a hand-held device used for rehabilitation. It connects to a &#8220;Jump Mat&#8221; which is basically a mat with a contact that closes whenever a person steps or jumps on it. It has a graphical true-color (16M colors, 24 bits) OLED display, <a href="http://www.cypress.com/?id=1575" target="_blank">CapSense™ buttons</a> (like the I-Pod), a lithium-ion battery for system power, a USB interface and an RJ45 connector with a serial port and handshaking. The handshaking signals are only used to detect the state of the &#8220;Jump Mat&#8221; while the serial port is used for debugging purposes as well as accessing an 8MBit flash chip containing fonts and background images.<br />
Of course I can&#8217;t post any technical details or schematics due to <a href="http://en.wikipedia.org/wiki/Non-disclosure_agreement" target="_blank">NDA</a>, but I can post pictures of the product and the boards.</p>
<p>Here&#8217;s a picture of the initial prototyping stage while setting up the OLED communication. As you can see I keep a hammer nearby, in case things get out of hand.<br />
<a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/p1010071.jpg"><img class="alignnone size-large wp-image-111" alt="OLYMPUS DIGITAL CAMERA" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/p1010071-600x450.jpg" width="600" height="450" /></a></p>
<p>These are the final PCB&#8217;s for this hand-held gadget:<br />
<a href="http://www.nohup.nl/home/wp-content/uploads/2014/04/00006.jpg"><img class="alignnone size-large wp-image-64" alt="OLYMPUS DIGITAL CAMERA" src="http://www.nohup.nl/home/wp-content/uploads/2014/04/00006-600x450.jpg" width="600" height="450" /></a></p>
<p>&nbsp;</p>
<p>For pictures of various stages of development check out the <a href="../displaybox-image-gallery/">gallery</a></p>
<div id="fcbk_share"><div class="fcbk_button">
							<a href="http://www.facebook.com/646892708709769"	target="_blank">
								<img src="http://www.tomwimmenhove.com/wp-content/plugins/facebook-button-plugin/images/standart-facebook-ico.png" alt="Fb-Button" />
							</a>
						</div><div class="fcbk_like">
							<div id="fb-root"></div><div class="fb-like" data-href="http://www.tomwimmenhove.com/displaybox/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.tomwimmenhove.com/displaybox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
