Jump to content

Wilba

Frequent Writer
  • Posts

    3,310
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Wilba

  1. Changing the volume register will result in an audible click, and I think also changing filter mode also causes a click. It's much worse with 6581 than 8580/6582... this is how the C64 gurus made digitized samples come out of the SID - toggling the volume register at a fast enough rate turned those clicks into very crappy 1-bit audio ;D I'm speaking from memory here, so I may be wrong...
  2. Well it was never going to be perfect at the top of the knob, but it's fairly well spread around, no bright spots anyway... you can see the D-shaft cos it's black. The only solution to that is replacing the shafts with clear acrylic or something, and if I was going to do that I might as well use hollow rotary encoders and mount a diffused LED inside the shaft ;D but I'm not that much a perfectionist! I connect the LEDs with three in series and a current limiting resistor to the ground pin on each encoder, the resistors are mounted above the encoder pins, tucked under the little protrusion above the pins. I use the 11.3v from the input side of the 7809 (i.e. the 9v AC supply after the bridge rectifier/capacitor) and with a 3v drop per LED and 220 ohm resistors, this works out to 10.5mA per 3 LEDs, or 156mA. The cooling fan is also supplied by the same pre-regulated supply, so I'm probably drawing 300-400mA before the regulator, but the draw on the 9v supply is so low that it doesn't really matter.... according to the 6582 datasheet, the SIDs only draw a maximum of 40mA each from the 9v supply.
  3. It was really hard to decide on the colour... my favourite colour is blue and a long, long time ago before blue LEDs existed, I always wanted them, and then they came out and became cheap and were put in everything from computer fans to toasters. I've seen some really awful cases where a blue LED was put in to jazz up a product and make it look cool... imagine a super bright blue LED with waterclear lens shining in your eyes from the bottom edge of a computer monitor! I had to put a sticker over it or go crazy! But the love of blue LEDs remained, and even now when "red LEDs are the new blue LEDs" (at least in the case modding scene), I wasn't going to switch to red or green (or white) to be fashionable... just use the tinted blue diffused LEDs I've had lying around for nearly two years and make the blue LED mod matrix I've been dreaming about for about as long ;D I came very close to using white instead and going all black and white with this box... but after finally seeing the blue LED mod matrix all flashing in meter mode, I think I made the right choice ;D Unfortunately now I've gone overboard ::) and all those blue illuminated knobs is, I must admit, almost too much blue light even for me... I will have to add a pot to turn down the brightness a bit. Next step: finally solder the "feedback loop" pots (pots at the back which feedback the SID output into the input to give distortion or resonance boost or self-oscillating filters!) and then it's finished! :P
  4. Thanks for the compliments! I finally connected the two PCBs together with 9 ribbon cables... and my good luck continues, no shorts or breaks, the control surface all works, but the cables I used are seriously heavy-duty stuff, the wires are thicker than a resistor lead, so it's a bit too stiff and doesn't bend easily... it takes a bit of squeezing to get the front edge down. I might replace the cables, but that's a lot of work, desoldering 132 joints is not my idea of a fun evening... I had to do a little tweaking of the firmware to make it work, though... Since TK also uses this base PCB with the combined LED and switch matrix, all the hard stuff was already done, and the elegance of those tables in the code is really apparent now because it was so easy to just reassign the pins for all the LEDs, switches and encoders. TK's done a great job there, as it's the same table whether you use a matrix or not, you just add 16 to reference the "virtual" shift registers of a LED or switch matrix. But that's not really tweaking... the tweaking was in the mod matrix LED handling. When I designed the control surface PCB, I had to decide whether to scan the columns (E1,E2,L1,etc) or the rows (O1P,O2P,O3P,O1W,etc). In the V1 firmware, it scans by row when in mod matrix mode, and columns in meter mode. It's easier to turn one modulator's values into a bit pattern and copy it to the DOUT attached to the rows. But I couldn't do the same with my PCB because a) one DOUT is always the current sinking shift register, as it's serving both the LEDs and switches and b) I'm using transistors to sink more current than a 74HC595 could normally, so I can't switch it to outputting, it's only ever sinking current or not. So I chose to arrange the LEDs so the common cathodes are connected in columns, as this would be easier to code the matrix meter. This isn't the same as TK's hardware, his LEDs have common cathodes in rows, but TK already did enough redesign so that the patterns to display on the LED matrix are already pre-calculated. All you need to do is copy either one byte (of eight) straight to the DOUT shift register, or copy eight bits out of eight bytes. And within five minutes of playing with MB-SID v1 and a full "step C" control surface, I've found bugs!!! ;D
  5. The control surface PCB is finally done! Now you can finally see how those two extra PCBs fit above and below the display bezel, on the same screws that hold the display to the PCB. I spent a long, long time on a method of illuminating the knobs. The first attempt used 3mm waterclear LEDs which I filed down to be 2mm by 3mm cross-section, basically flatter so they could be attached to the encoder bushing (the threaded bit that the shaft goes into). I spent a long time working out how to attach the LEDs, eventually just filed the bushing flat in three places and used superglue. While this technique works, I am essentially too lazy and thought about doing it a better way. Then a bargain came my way: SMD LEDs, in blue, for $4 per 100, and these aren't the really tiny kind like an SMD resistor, these not only have the waterclear plastic lens, the base is flat and the leads stick out above the base! Perfect! You can sort of see what I mean in this close-up. There are three of them around each encoder to give a more diffused light, and since the SMD LEDs are further away from the knob, it's better diffused than the filed-flat 3mm LEDs in my first attempt. And now, the final result... I tried hard to tweak this shot in Photoshop to be as close to reality as possible, and yes, it really does blend from bright to dark like that. So when I finally finished soldering the wiring to all the LEDs and reassemble the PCB/panel and put on the knobs, I discover the LEDs are outputting so much light to the sides that most of the other blue LEDs are glowing blue too! So I have had to add some cardboard "boxes" around the two rows of encoders to block the light, and this has worked perfectly. BTW, illuminating these knobs was inspired by Hallucinogen's MB-SEQ (http://www.midibox.org/forum/index.php?topic=2608.0) and his webpage; http://xlargex.xl.funpic.de/
  6. Wilba

    switches?

    I have tried cutting them, you can't cut them too close to the base as it's actually hollow for a few millimeters above the base with a narrow shaft inside the hollow section. If you're not looking for a perfect finish, you can cut them with a strong craft knife (we call them "Stanley" knives here) and sand the top. But I would recommend not bothering with that and just get the length you need. Consider how thick your front panel will be, and how much space you need, things like rotary encoders need to be a certain distance behind the panel. Tactile switches only need about 0.5mm of travel, and can be easily pressed if poking out 1.5mm from a panel. So in my case, 13mm ones were good as I have a 10mm gap between panel and PCB, and the panel is 1.5mm thick.
  7. Wilba

    switches?

    If you only need a few, then your local electronics shop or an on-line shop will suffice, like most electronic components, you can either pay a shop $1 for a part or find a distributor and buy 100 for $10. The little black ones you might see in other people's MIDIboxes (like TK's MIDIbox SID) are called tactile switches, they are either ALPS brand or a copy, and since they come in varying lengths of the "stem", you can mount them behind a panel with varying space between panel and PCB. Using switches from a keyboard is also fine, just keep in mind most modern keyboards are made of rubber membranes over conductive "ink" on plastic! Not that easy to reuse! A really old keyboard with individual switches soldered to a PCB are good though.
  8. Yeah, good decision, if you have the C64 PSU you should use it, it's a lot easier and you don't have to worry about overheating the 5v regulator.
  9. I've sold a few 6582 SIDs on eBay and they have sold for high prices... up to AU$103 ;D I will sell some more here on the forum, there are so many people trying to find SIDs to make a MIDIbox SID and having to compete with C64 fans (or Prophet64 or HardSID fans).
  10. The big problem is the heat generated in the 5v regulator when the input is a lot higher, like 12v. The C64 PSU is good in this respect as it puts the 5v regulator on a massive heatsink. I think it's just a big transformer with two 9v AC outputs, where one 9v AC output goes through a rectifier/regulator to produce the 5v DC, and the other 9v AC output goes straight down the power cable. So you can probably just power the Core and SID's 5v requirements without too much current (<100mA) and the 7805 won't get too hot, but if you're going to add a backlit LCD and LEDs, then the current draw will go up and up and the regulator will start to overheat.
  11. They're blue LEDs, each has a 3v drop when three are supplied in series with a 220R current limiting resistor. It was just convenient to solder each resistor to the ground on the PCB instead of wiring it (this is an addition to my control surface PCB). Maybe it's easier to wire it so they all get sinked with a MOSFET or NPN transistor.
  12. Slightly off-topic, but I need something to source around 200mA at 11v... I have a bunch of LEDs grouped three in series with a dropper resistor for each group going to ground, now I would like to switch the supply to all the LEDs with a PIC output pin. The problem is I need it to switch the supply, not just a current sink, which I know how to do... any suggestions?
  13. The blue tracks are bottom layer, the red tracks are top layer, where they overlap it is magenta. To answer why it's double-layered - two layers means neater, more compact routing and no need for bridges, and soldering plated through-holes is so much nicer, the molten solder falls into the hole instead of just tenting on top.
  14. I discovered (just in time) that while the darlington array is compact and great for current sinking the LEDs, it's not suitable for current sinking both the LEDs and a switch matrix, like what I do in my new MB-SID, because the voltage drop across the collector-emitter means it will be higher than the logic low threshhold of the DIN. So discrete transistors are a better solution, BC547 for example can sink 100mA and has a much lower voltage drop. More info here: http://www.midibox.org/dokuwiki/doku.php?id=wilba_mb_6582 Also keep in mind that it doesn't really matter if you sink 100mA or 1000mA, because the 74HC595 output current is the limiting factor, you're not just sinking current from the power rail through a LED and through the transistor, the current is coming from the output of one of the 74HC595... you could add a driver to that output too and increase the current output, but this is probably not required, most of the "good" LEDs are bright enough at 10mA.
  15. The wiki has info on JDM. I still use JDM under Windows XP to burn all PICs, even PIC18F4695 http://www.midibox.org/dokuwiki/doku.php?id=jdm
  16. I read somewhere that electronic gizmos for medical purposes must have collet knobs so they can't be taken off accidentally... I suppose you wouldn't want a push-on knob falling off half-way through an operation ;D
  17. Just thought I'd mention, with my MB-SID I got frontpanel and PCB made, both are exactly the same size (about 10"x7") and same thickness, PCB is good fiberglass too... and it's slightly warped! The aluminium is much stiffer and flatter, and using the threaded spacers I mentioned in my blog posts, this helps straighten the PCB to match the panel. I'm not saying using PCB material for a frontpanel is a bad idea, though... it did cross my mind... and with clever use of the solder mask layer you could even have silver artwork on green (or some other colour soldermask) ;D
  18. The shafts with no flat edge can have knobs with a set screw, which is a grub screw (no "head") that goes in a hole through the side of the knob. The second picture is a spline shaft, they can have knobs with matching teeth so you don't need a set screw. The knobs with screws on the top are called "collet", tightening this screw makes it grip the shaft I think... they might also work with shafts with no flat edge or spline shafts. I have not used them, but I think they have some other metal part that attaches to the shaft.
  19. ;) yeah I was supposed to test if your display was also buggy but it was easier to make the 8-bit workaround to my PCB than solder 14 wires to your display. Even if your display doesn't have a bug in 4-bit mode, it doesn't change the fact that mine still doesn't like 4-bit mode. ;D
  20. Looking at the PCB, you can see the output of the two shift registers going up to the SIDs, and then connecting to both SIDs with horizontal tracks. The three tracks between the SIDs are for controlling each SID's CS pin, and supplying the clock to both SIDs. I'm no expert in digital electronics, but it seemed feasable for a CMOS shift register to drive input pins on two SIDs, and that the clock signal from the PIC could drive the CLK pin on two SIDs. I asked TK before I made the PCB whether he would use a separate CS line to the second SID "module", and share the other lines, as this is the easiest solution and definiately in TK's style (see how a 2nd LCD is implemented, separate enable lines!) Taking out the redundant shift registers was my idea ;) I don't know exactly what software adjustments you mean... in terms of the synth engine itself, MB-SID V2 is compatible to this PCB without any software changes. There are only a few things that I have (or will change) in the firmware: * using 8-bit data cable to the display, as my display has bugs in 4-bit mode. Achieved with a custom LCD driver in the application code that overrides the MIOS default, and uses two pins on port E to replace the two pins being used by the CAN bus. * the encoders on my CS are connected to non-default DIN pins, so I have to map the encoder numbers from my order to the default order so the rest of the code works ;) there's heavy use of the sequential numbering to know what "group" an encoder is in (i.e. the 1st one in the "Envelope" group, etc.) * minor changes to DIN/DOUT tables for different arrangement of LEDs/buttons in the matrix, this is an easy change, as TK has already done the LED/switch matrix handling code for his own box! ;D * make use of the 4x20 display, the extra buttons and LEDs, etc.
  21. It's a 2 layer board, fabricated by Gold Phoenix, the whole job cost US$130 because I combined the two (actually four) different designs in one order, it's a base of US$90 for 155 inch sq. + US$30 for "multiproject" (different designs) + US$10 extra shipping to Australia. So it works out as US$65 for the base PCB, and US$65 for the control surface PCBs. I think I mentioned this before somewhere else in the forum, but I was lucky to get duplicates, and have given TK my spare base PCB. So if people wanted just the base PCB, it could cost as little as US$90 for two. Both SIDs are controlled by the same Core/PIC, using separate enable lines to each SID. You can do the same thing with two SID modules now, but since the shift registers on two SID modules would be outputing the same bits anyway, I optimized it to use a shared parallel data bus. This is TK's MB-SID V2 design, which has lots of nice stereo features, but there's no limitation to polyphony as such, one of the SID engines will allow multiple "instruments" played across the two SIDs, but I suppose you are right, you can only play one "Lead" patch on the SID pair. I have just copied what I saw on other boards. Decoupling capacitors were added just because I've seen it done in the new PCBs from SmashTV and because some people think they are needed. I added them to minimize any digital noise on the ground plane. Every single track is manually routed, using Protel. I manually placed components and manually routed a "module" (like the stereo SID "module" and the Core "module") and copied the layout to the other "slaves". Then everything else was manually placed and routed. Manually routing is the best way to do it, especially for being very specific about the power rails... it was important to keep the digital and analog ground planes separated, and the 5v supply to SIDs separate from the 5v supply to the digital components. The SID VCA has envelope bugs, so an external VCA is a useful thing to have. I'm planning a stereo CEM3378/CEM3379 filter controlled by an AOUT module, the cool thing about the CEM filter chip is it has a built-in VCA as well ;D
  22. Cool! I forgot you were the one doing the diamond shaped box. Using a PCB was the right choice, it looks a lot nicer than seeing LEDs glued to the panel.
  23. The default patch is (I recall) just osc 1 on pulse waveform, osc 2 and 3 are off. A patch can either be monophonic (all oscs play on note event) or 3-note polyphonic (each osc is used independently to play up to 3 notes simultaneously). Unless you load up a bankstick with patches and switch to a patch like Poly Saw, I don't know how you can set up a polyphonic patch without a CS or JSynthLib. Hope that helps.
  24. I used a scan matrix in my PCB design, for all LEDs and switches... and TK has kindly supported this in the MB-SID firmware, esp. the use of the same DOUT shift register for both LEDs and switches. So while a matrix of buttons isn't supported, it's not too much coding effort as the support for switches in a matrix is supported. Yeah this could work well, I don't get the layout underneath the display, are they encoders there? I think you would be better off having 10 buttons and maybe 5 "assignable" encoders somewhere else. And also, pay attention to the clearance around the display, you can't put switches/encoders too close to the display.
  25. I agree with kris: I find other people's MIDIboxes very inspirational, so I make an extra effort to share photos of my MIDIbox. ... and with Flickr it's free to host photos so there's no real excuse (except for lack of a camera!)
×
×
  • Create New...