Archive for the ‘Uncategorized’ Category

WTPA2 Prototype B PCBs Arrive

Tuesday, June 7th, 2011

So the boards got here for the next (and hopefully last) prototype of the WTPA2.

Bare Board Mother Lode

Some exciting changes from the last proto — I not only fixed some dumb hardware bugs and changed some layouts to make more sense, but I added the pulse shaping circuit from the last post and…
Added a Micro SD card interface!

What big mems you have

Again I really owe Olivier over at Mutable Instruments for this, since he once again shamed me out of my sloven embedded ways. Basically I didn’t want to have to deal with the SD spec (I did a little coding on MMC interfaces for the toy world and it sucked) and so I’d made the earlier daughterboard using a cheap SST flash IC. The flash IC was easy to deal with, but was admittedly a cop out. Olivier clowned me about this until I was embarrassed enough to change my ways. Users like removable memory, and a micro SD card provides 2GB of memory for about a dollar (as opposed to my 8MB before). So I sucked it up and made this board. It will be available for sale as a daughterboard (it’s deeply SMT) although I may swear a lot getting the new interface done.

Proto B, close up

Here’s the main board populated. And here’s the new Jack PCB added on:

Proto B and jacks

WTPA2 Work Resumed!!

Monday, May 23rd, 2011

All right, so now that Cory’s biz is done and the art world is safe again, I can get back to God’s Work, by which I mean making samples that sound like farts. That’s right, WTPA2!
WTPA2 has been promised now for like a million years. I’m shooting for actually having it ready by the end of June for Bent Festival.

In that spirit, I dug out my old prototype. There’s a lot wrong with it. I found most of the hardware bugs way back when, and I added another input for a separate pitch control to the second sample bank. The idea was to use the spare op-amp to make an RC oscillator and use it to clock the second sample bank and use the main oscillator to clock the first bank. Clock sources could then be switched or interchanged in hard or software.

Problem is, the only uncommitted pins left that can trigger an IRQ are interrupt-on-change pins. That means that I can’t only trigger on a rising or falling edge — the ISR will trigger on BOTH. That means a 10kHz square wave will trigger 20k interrupts a second. I could make the clock half as fast I guess, but that seems like it will confuse people. For the time being I dealt with it by checking the state of the pin in the ISR, but that’s lame too. It means we vector away from mainline code twice as often as we need to. So I came up with this:

Analog Wyzyrdry

It’s a pulse shaper. It takes a clock input, and regardless of duty cycle, spits out a low-going pulse on every rising clock edge. The diode and cap here are responsible for separating out the edges, and the transistor squares them up again (more or less). Hooked up to the function generator (Agilent 33120A, 50ohm out) I can get a nice 0.5uS low going pulse really consistently! I can use this to trigger an interrupt, and the pulse will ALWAYS rise again during the ISR (the fastest ISR in WTPA2 is like 9uS). Then at the end of the ISR I can clear the interrupt flag. Viola, rising edge interrupts with a couple cents worth of hardware! I’ve rolled this and some other hardware changes into the next proto revision and will be ordering it soon.

Whitney Dancing Stand Development, Part 3

Tuesday, April 26th, 2011

What a marathon.
So, in the last week or so we solidified the designs and there is a horde of 20-somethings with cool haircuts in my apartment running power drills.
CHANGES:
– Nixed the PID loop in favor of a stepper specific approach. We now calculate error in steps once a turn and adjust for it.
– Added vibration dampening grommets to the motor mounts to keep noise down.
– Added covers for the AC lines (so you can’t climb under the new media art and lick mains current)

Here’s one underway. That vented thing is an enclosed switcher to run the stepper and electronics.

Building it...

And here’s good old Lucky Number 13, all set to go:

Built.

Lastly, before kicking these things out the door I made some videos of them correcting for errors. By which I mean “beating them up”. If you get a chance to do this at the Whitney and the guard isn’t looking, you should do it. More videos on the youtube channel.

Beer o’clock,
TB

Whitney Dancing Stand Development, Part 2

Tuesday, April 19th, 2011

Sorry for the short posts. These are long days.
The real dancing stand controller boards are here!

Legit Stand Boards

The real magnetic position sensing encoders, too:

Legit Encoders

The other side of those encoders is a magnet (read the datasheet if you’re curious — these parts are expensive and awesome and totally worth it), and that magnet has to be centered very precisely over the IC. Any eccentricity or slop or variation in Z height will make for bad accuracy. You wouldn’t guess from the datasheet but these parts are actually pretty forgiving. Nonetheless, I had a buddy of mine (Joe, over at BreadBox Studio) turn me some ABS magnet holders which keep the magnet aligned with the shaft of the stand. They also space the magnet off the shaft itself (the shaft is steel and screws with the magnetic field as the encoder wants to see it) and provide some registration holes. The magnets are press fit into the ABS turnings. Like so:

Magnet Holders

Thanks, Joe! Now I gotta crank out 17 and make sure they all do what they should. Wish me luck….

Whitney Dancing Stand Development, Part 1

Sunday, April 10th, 2011

So Cory has a bigass show coming up at the Whitney this summer, and I’ve got SEVENTEEN!! dancing stands to build. They’re different from the last batch in that they have to run synchronously. The idea is to use a PID control loop and sync them via RF. They run on steppers, mostly because it was easy to find steppers that were torquey enough for the application and still fit under the dancing stand easily. The MCU is an Atmel, the RF link is by LINX, and the stepper driver is a TI DRV8xxx part.

Here’s the protos:

Stand Controller Proto

The system has a lot of slop, and I decided to do positional feedback using an absolute position sensing magnetic rotary encoder. This one is by Austria Microsystems. The specs on these are INCREDIBLE, but mounting them takes serious care to get that accuracy. I made a bunch of jigs, you can see this one all strung up under the stand’s driven leg. We’ll see how well they work…

Encoder Jig

Oh, yeah. And we made more bowling controllers. Or mostly my assistant Daniel did. These guys are really getting pretty cookie-cutter:

Moar Bowling

I feel pretty good about the protos of those stands, but my crystal ball predicts something will be screwy. We’ll see.