Friday, October 18, 2019

CEM VCO Part II: Maximus Troubleshooting, and the DOH! Count

From a couple of posts ago: My ASMVCO's are getting old and drifting in pitch.  Might be time to ditch 'em. how about three new VCO's based on the repop of the Curtis 3340 VCO chip?

Module ready to test ("MRT's").  If the module works OK for a couple of weeks I'll create a FPE  front panel for and retire the kludge panel.

OK got rev one of the three boards back from China, got it stuffed and put behind a temp panel. It works!  Holds tune for at least 7 octaves, I have trouble hearing the really high stuff no matter what but let's assume that works as well.

Ho-MORE DOH-KIE: I am using 3 interconnected PCBs to minimize hook up wire: a main board (3340 chip, buffers), an octave switcher (see previous post here--btw, the  TI REF02 based add-one-volt-per-rotary-click seems to work great so far, guess I got lucky?), and a PCB to hold the "Thonk" type PCB 3.5" jacks. The Thonks connect to the main PCB with a 10 conductor IDC ribbon. The octave selector was supposed to mount to the front panel, but I melted my cheapo switches, so for this rev 1 build I used a clunky junk box NOS rotary switch wired to the board, post for the octave board madness is here.

OK, the main board is based on  "VCO Maximus", another classic from the mighty Thomas Henry. A good page on the Maximus for Eurorack is here.

I chose this 3340 design vs. all the other ones out there because a guy I know in my synth meetup group already built a couple of these on strip board; he told me Maximus works and sounds great. I omitted things like the sub octave circuitry and sine wave conversion from triangle; I already know how to do that and have plenty of sine waves and sub oscs in my modular setup now, so these 3x VCO's will just be pulse, saw, and triangle. Good enough.

Old trick: print out the PCB 1:1, lay it over the panel, tape it, punch it and drill.  The drills will line up.

So how did rev one of this module do? Considering the complexity of the board, happy to say: not too bad; I got it all to work in about a day. I had to kludge things, I made mistakes, but so far everything but the sync in, which may be broken or just sounds crappy, is on the air. Update: sync is fixed.  I had the DPDT switch wired wrong. The VCO stays in tune, the waveforms look good on a scope, PWM, linear and FM mod all work. Happy day.

Also the pots turn the right way (clockwise for more of whatever), that's good. I was worried about that.

"Obligatory Bench photo"

I modified a left over alubase 2u Frac panel I had lying around so as to not have to test this module with circuit guts flopping everywhere. The drills on the junk panel didn't line up with the PCB's for this project; that's what Dremel tools and drill presses are for.

Almost ready to test?

OK let me go over the mistakes. I document this (and everything else in my blog) mostly for me--if I write this down I might not keep making the same mistakes.

And for levity (?), instead of only bitching I am going to rate my mistakes with Homer Simpson DOHs. Let's begin:

First mistake: Four DOHs! the ramp wave output was busted, I just got a 15V DC at Output, no saw wave, no audio.

Using my scope I could see the saw out worked before the buffer, but not after.

But why, Scotty, why? I traced everything out--no mistakes. I pulled the SMD chip with a HAR and replaced it, same issue. Turns out I did a butt dumb thing: I had an op amp stage flipped, so what should have gone into inverting went into non-inverting. I missed this while translating the Maxiums schematic from the web to Eagle. I have been making this flub since I started laying out PCBs and I am a bit surprised I missed this when proofreading my work--well, I did. To sum this up:

 The moral: Always check Op amp + and - inputs. "I only give negative feedback!" Get em backwards on stripboard, PCB, whatever, and the damn thing will never work.

I fixed this by lifting parts, soldering components together above the PCB, and using hook up wire to put things back where they needed to go. After a day on my bench all of that broke (resistors detached from traces, solder connections shorting together, it was horrible) so I ended up creating yet another small daughterboard for the ramp buffer. So much for cutting down on hook up wire? not pretty, but it works.

Second mistake TWO DOHS:  I used the "net names" feature in Eagle to connect a pulse pin connector to the jack trace, but I called the trace "PULSE" on one side and "8" on the other. Naming nets/traces in Eagle CAD can make your layouts easier to follow but you have to get it 100% right. When you incorrectly join nets, Eagle won't tell you you made a mistake--it will dutifully connect things as instructed, but your board won't work the way you want.

Oddly I have never made this net names mistake before now, but Gabba gabba hey! This was fixed by cutting a trace and using a single 22 gauge kludge wire. Now I have a working pulse at output.  Oh yeh, see how pin 10 is unused?  Why didn't I put the ground on that? Instead I had to run a hookup wire for ground. I add that into the 2 dohs calculated. I will fix it next time.

No, Elmo, these 2 traces won't connect!

Third mistake: ONE DOH  
I forgot to connect ground to one of the pins of the rotary switch PCB.  I will let myself off the hook on that, I was kludging stuff here to accommodate the NOS switch replacement for the bang good crapola rotary switches, and I just missed this.  I also forgot to put a ground run into the 10 conductor ribbon. Wait, I already said that. Both easily fixed in rev 2. Yes there will be a rev2.

Fourth mistake: SIX DOHS!  OK this one gets 6 out of five. I left the entire buffer for pulse out of the REV1 PCB design. I have no idea what I was thinking. Did I think it didn't need a buffer? Overall I  wasn't looking at the Maximus schematic carefully enough I guess. I fixed this by digging into my junk box of tiny buffer PCB's and added the circuit fragment you see below as a daughter board to the main PCB. Since this was buffering a square wave I used a junk box CA3140, which may not have made any difference at all.

OK I think that's it. Last night I plugged in the new VCO and it all works. I may not make a lot of design mods for rev2, rather just all the fixes, but who knows.

UPDATE: I had more PCBs made correcting these mistakes, new ones don't need kludges!  Yeh! post is here.

UPDATE 11-23-19 After a few weeks of having this VCO in my rack the top end v/oct scaling was still not quite where I wanted it to be (it was close, but was still a bit off when I went say 5 octaves above middle C).  After a fair amount of messing with the trimmers to set low and HF scaling, I replaced the 12 turn trimpots with Bourns QV36's, which are 25 turn.  They cost $3USB each from Digikey but it's worth it. Now with the more precise timmers the VCO scales much better, so I am going to add that to the BOM--25 turn pots.

UPDATE: All well and good, but this initial VCO ended up smoking and almost burning down my house. Too many kludges! Glad I was there to cut its power. Otherwsie I'd be writing this update from the public library. Post about smoking this VCO is here.  

Stay tuned.

No comments:

Post a Comment

ProMicro HID Keyboard Emulator

Quick one this time. The Arduino ProMicro (examples here and here ) is based on an Atmel 16u4 MCU and has HID keyboard emulation ready to go...