Posts Tagged ‘WTPA v2.0’

WTPA2 Fancypants Encoder Order

Thursday, November 18th, 2010

Beginning to make it rain on em

It’s official — I’m dropping cash on WTPA2. This is part of an order to my dudes at Taiwan Alpha for 1000 10kA pots, 1000 100kA pots, and 1000 very fancypants encoders. The cool thing about having the factory make this shiz for you is that you can get whatever specs you want on these guys, not just standard part numbers. All these components have long shafts to make it easier to project through a normal enclosure, and the encoders are both relatively high res and clickless. And most importantly, the pots cost like 20-25% of what they cost at Mouser!

Dealing with Taiwan Alpha has been good to me before. Shipping from China is a real bear, and there are always some weird exchanges, but generally they really want to make some business happen and this time they sent me some really complete spec sheets. Cross fingers!

WTPA2 Proto Starting to Pwn

Monday, September 20th, 2010

So the first iteration of WTPA2 has some dumbass mistakes — bus problems during flashing hardware (missing pullups), some switch latch goofiness, and turns out all those RC filters in the encoder datasheet really ARE a good idea. However, once all the traces got cut and the little merce-resistors got in place, the thing works great. The VCO is spot on. More importantly, so is the FLASH MEMORY! The SST flash kinda sucks in that it’s not fancy and requires you to manage erasing-before-writing and demands paying attention to buffering and stuff, but you can totally turn off WTPA2 and turn it back on and keep playing with that perfect burp sound you made.

Logic analyzer bus-sniffing.

Also, equally excitingly, the ISR has gotten A LOT FASTER — this proto recorded and played back just fine at 45kHz. A lot of this had to do with taking some very good suggestions from Olivier over at Mutable Instruments (of the Shruthi-1 fame) who is a great programmer and shamed me out of much laziness in my code.
As if that wasn’t enough, I finally licked the lion’s share of the noise sources that plagued WTPA1. I’d always been really careful about analog signal routing, but I’d been pretty cavalier about ignoring the hell out of some of the “Analog Noise Cancelling Techniques” in the Atmega datasheet. Turns out I traced most of the noise back to on-chip activity which had to do with reading and writing to the SRAM (toggling GPIOs) while the ADC conversion was taking place. I moved some of the accesses around and that NAILED it. Like, totally duh!

Also, re: the picture — I bought one of those Saleae Logic analyzers the moment they started supporting Linux because it seemed like a cool toy. But it’s actually really useful and works great! In addition to actually seeing what’s going on over the bus (as attached here) it’s REALLY handy for timing ISRs. Like, you toggle a pin high when you vector, and then low again when you exit. I always did this with a scope, but the logic analyzer is great because it records a lot of them and you can analyze variation, see what happens between several different calls, use many channels, etc etc.

Anyhoo, WTPA2 had an exciting week. It may take a break for a minute as I have a really busy winter coming up, but still, good time.

WTPA2 Asssembled!

Thursday, July 8th, 2010

It’s built!
All the footprints work, nothing smacks anything else. Physically no failures. And it’s pretty!

Here’s a closeup of the memory expansion:

Onwards to power-up!

WTPA2 Proto Boards Arrive!

Thursday, July 8th, 2010

A very exciting day! It’s like this:

…and like that:

and like this and uh:

These are the gerbers for the new WTPA2 and its Flash daughterboard, and the REAL THINGS fresh off the jet from Advanced Circuits! The new kind-of-questionable-but-kind-of-awesome through-hole SRAM got here also:

So these all can go together today!!! There’s a ton of new firmware that I’m still working on to support new features, so we may not hear any crusty samples, but I’m hopeful we’ll get to see some lights blinking at least before sundown. It’s da future!
Stay tuned,

4046 VCO Final Breadboard Proto

Monday, June 28th, 2010

So this weekend marked the last screwing around (breadboarded, at least) with the VCO design for WTPA2. I knew that I could get the frequency range I needed out of a 4046 based VCO with a current sink in place of a frequency setting resistor but I was a little worried about temperature drift and very low frequency performance. Just for shits, I gave the circuit above a shot. It replaces the current sink with a standard two-transistor current mirror. The two devices above are crappily thermally coupled with a piece of heat shrink.

What I found with this is that temperature performance wasn’t too much better. It was still pretty easy to get this VCO to go crazy with the heat gun, although it was possible to get it to go crazy BI-DIRECTIONALLY based on the direction you were slathering on the sweat. Cute, but not useful.
One thing that WAS cool is that the current source compliance was great! The control voltage could get a lot higher than it could with the one-transistor sink before saturation, I assume because of the lack of emitter resistors in the circuit. Still, that was like a consolation prize.

So I caved and built this:

Here’s the schematic for it:

It’s what all the docs I saw suggested originally (a closed loop current sink where the op-amp compensated the temp drift of the transistor) and it totally works and does what it’s supposed to. The only annoying thing is that at VERY low currents the device is non-linear, but what are you gonna do. At a hundred Hz sampling rate all samples sound like farts anyway.

The CV has to be kept below about 2.2v to keep the transistor from saturating (the VCO goes nuts when this happens) but you can fix this with a divider on the input. The range with these components is about 0-20kHz with a CV from 0 to 2.1v or so.

Now I gotta figure out what to do with that other half of the 358. I sort of don’t want to pass it audio, because it’s a recipe for coupling noise into the circuit. We’ll see….

This week I’m working on the board layout for the first WTPA2 revision. I expect the next post here will be about that.