Monthly Archives: March 2012

Live MIDI Interrupter

I had a fairly crude monophonic interrupter built for big-coil operation, but I wanted to improve on its design. It had no software control over pulse width so every note had the same width, and of course polyphonics is more fun.

One critical design requirement was that I need hardware protection against the controller accidentally going CW, even if the microprocessor somehow screws up. This is relatively easy by using a 555 as a one-shot on each rising edge, then AND gating that to the actual signal so that if an abnormally high duty cycle (or more likely a duty cycle of 100%) is attempted, the one-shot will turn off at a pre-set time (determined by trimpot R4). It is worth pointing out that an inverter could be used to trigger the 555, which requires a downward-going edge to trigger. I chose to use a second microprocessor output since it saves on components (and I wanted as many gates buffering the output power as possible).

I also wanted to have a fixed oscillator in the interrupter so that I can still use it as an easy optical oscillator for bench testing coil controllers without the need to setup a MIDI device. I threw in another 555 for this. A SPDT switch on SV1 allows for selecting between MIDI or this fixed oscillator.

Another goal was to have the controller programmable over the MIDI interface to control parameters such as pulse lengths specific to note (allowing low notes to be on for a longer bang than higher notes), MIDI channel, and multipliers to control pulse width during polyphonic playback. This can all be programmed over SYSEX, a communication means within the MIDI protocol that is designed for flashing MIDI hardware with firmware or updates.

I put together a quick python script to allow for changing parameters, although I may make a GUI at some point.

This project was also the first time I’ve tried 0.4mm isolation on ground planes, which allows for ground planes to pass between pins of a DIP socket. It etched fine using the laminator for toner transfer. The etch precision is getting so good that I need to look into solder masks.


Laminator Etching

I setup a laminator at MITERS for etching a few months ago, but forgot to write about it until now. So here’s some pictures and a little info on the modifications to make it into a fantastic PCB etcher:

It is a GBC 9″ laminator (pretty cheap, $45 on amazon usually, I’ve heard you can get it for $10 or even less if you get lucky on sales or search around a lot). Out of the box, it’s an incredibly low quality laminator that can’t do much more than paper. If you put a circuit board through it, the gears in the motor strip themselves out and it quickly destroys itself. You can kind of force it to keep going by pushing the board in, but it’s totally not worth it after how great it performs with some modifications.

All I did was take it out of its case and put a new motor on it. I put a slower motor on, something like 2RPM instead of the stock 6RPM motor (I forget the exact numbers). You can’t really go too slow since you want lots of heat and pressure to get a circuit board to transfer well, and multiple passes aren’t ideal since it can lead to blurring if thin paper is used.

I threw together some mount brackets which weren’t quite strong enough to prevent the motor drive gear from skipping, so I made a little bearing to keep the motor shaft lined up with the gears. That prevents the gears from slipping away from each other, and it easily feeds standard PCB thicknesses.

The capacitor on the front is a motor start cap which is overkill in size for this motor, but it was laying around so why not use it.

Transfers come out 100%, every time. There’s no longer any guess work involved with the time and pressure of using a clothes iron. It makes it a real treat to etch boards.

Adding Better Diodes

I’m currently bypassing the slow reverse recovery diodes in the IGBT bricks with much faster minibrick diodes.

I am adding a diode to the IGBT path to turn it into a switch that blocks both directions, and conducts in one direction when on, then adding a fast diode across that assembly.

The blocking diode doesn’t need to have a voltage standoff rating of the full bridge, because it is in series with the IGBT brick which can stand off the full voltage. Ideally I would use the highest current and fastest diode available, with no regard to standoff voltage. Since a friend had some laying around, I used some DSEI2x101 minibricks for this.

For the bypass diode, full voltage standoff is required. For this position, I’m using ST 12012TV1 diodes.

I’m a bit concerned about passing all this current through these diodes, but it is well within the pulse and I^2S rating of the components so hopefully it will be fine. All the minibricks will be heatsinked to busplates.

Some shiny pictures of the modifications in progress:

Polyphonic Hatcoil Controller

I’ve been pretty busy with class work so I haven’t been building a whole lot recently. I did get a polyphonic controller working for hatcoil, though. By using both timers on the Atmel based controller, it can simultaneously play any two notes making the songs much more interesting to listen to.

Also did a bit of dry ice overclocking, although the board seems to be damaged and won’t get basically any overclock stable (used to run 3.6ghz stable on water and can’t even get it up to 3ghz anymore)