Mark's Project Pages/Audio Projects/Hi-Fi Preamp/Initial Plans

Hi-Fi Preamp - Initial Plans:

Back in 1998, I came up with the 'first draft'. For reasons that I can't recall now, I wanted something in a small, half-width shoebox format (like Mission kit, for example). I'd planned to have a simple row of buttons under a display window, with a motorised pot for volume. No writing would appear on the unit until you switched it on (from Standby), and then the switch legends would be illuminated in the display window. Here's what I had in mind:

Animation of the display window (5KB)

The old preamp enclosure (18KB)The LED's are 2mm flat-top devices - I've since used the samples I bought in the lead-acid battery-monitor mini-project. The animation demonstrates the planned interface - the buttons flashing green are meant to represent them being pressed. You see the unit being switched on from standby to listen to the tuner, followed by setting the record-out to CD. After that, TV is selected, followed by CD... Nice and simple.

This would have been remote controlled - I'd been incorrectly supplied with the wrong remote control for an old Philips satellite reciever I had at the time, and trying to send it back to CPC would have been far too complicated! The remote is a standard Philips RC5 device that has a nice range of buttons and being a satellite remote, it seems unlikely that I'd have any problems with interferrence from other remotes... At the time, I was trying to find an SAA3049, which is a RC5 decoder IC. This, combined with some CMOS logic would have formed the control system (see the NICAM tuner for details of a similar project)

I even got as far as making a box, as shown here - obviously, the aluminium lid (salvaged from the works skip) needs a re-spray! The dimensions are 22cm, 5cm, 29cm (width, height, depth). The sides of the box are formed by some lengths of aluminium extrusion, and the remaining panels are 2.5mm aluminium. The internal layout is quite tight, but I'd more-or-less worked out how to fit everything in. This picture shows roughly how:

View inside the old preamp enclosure (16KB)From left to right, the PCB layouts are for the RIAA preamp, the relay panel which selects inputs and record-outputs, and the PSU. These PCBs are essentially complete and ready to etch. You can see the motorised Alps 'Blue-Velvet' potentiometer at the front of the case.

I'd planned to add some partitions, to keep the power-supply and control sections separate. The control/logic panel would've fitted behind the front panel, and the line amplifier would fit between that and the relay panel...

Note the BNC connections - these are the outputs. I hate the idea of using phono plugs here, as accidental disconnection can be quite damaging if the power-amp is on at the time. With phono plugs, the earth connection normally gets broken first...

I even kept a log as I planned it.... there's lots more detail in there...

However, had this simple unit been completed, it would have quickly become obsolete. Although I'm reluctant to accept it, six-channel surround sound is an inevitability...

 

Home Theatre...

Given that I didn't want to have to buy a compromised A/V receiver some years down the line, I had to future-proof at this point by having a 6-channel input for TV/AV. The 5.1 decoding can be done externally by a DVD player and potentially a separate unit can deal with video processing. I wanted to keep video signals well away from the audio stages...

This brings about new challenges. As you've seen, I had enough trouble fitting the sockets on the back of the original case, and there is no chance of fitting another 8. Internally the case was tight enough as a simple stereo unit. So, all my hard work is destined to be used for another project, just as soon as I've decided what!

Leaving aside the mechanics, another problem is controlling the level of 6 audio channels while maintaining fidelity. I tried to source a 6-channel motorised pot, but failed miserably, meaning that an electronic control and careful compromise-management is required!

 

The 'new' User Interface:

Stage one was to get started with PIC programming, actually something I've been meaning to try for ages. Almost inevitably, I decided to use an LCD display in addition to LED's. Partly 'because-I-could', of course, but I felt that this would make things better operationally. The first efforts were to produce reliable routines to decode the Philips RC5 remote-control protocol...

Here's my rough impression of the display window:

View of the LCD display window (4KB)

The centrally-mounted backlit LCD module is a 16x2 unit, which offers plenty of space for the interface. The 4 buttons have bi-colour LED illumination, and I've since noticed in Hi-Fi News that Myryad appear to use similar switches. They are available from Farnell (part numbers 311-3760 and 678-077). As you can see, Mute is currently selected (the 'Mute' text on the LCD disappears after a couple of seconds, and any menu-text is re-drawn). On the left side of this window would be a rotary encoder for input selection and a 6-channel pot would be on the right if I'd managed to source one...

Turning the rotary encoder allows you to choose from CD, Tuner, Phono, TV/AV, MiniDisk and Tape. Once you've chosen the required source, and not touched the encoder for a short delay, the input is selected. Or, you can use the remote - there's left/right keys on it - the same logic applies. Obviously, this isn't as quick as simply hitting a key (as with the design above), so the first 7 number keys on the remote will instantly select the source...

For the sake of consistency, there's a few buttons that always perform their function, irrespective of the display/menu mode you're currently in. The number keys are an example of that, as well as Mute, Vol up or down and Standby...

Pressing 'View' allows you to step through 5 menus, as shown in these screenshots:

Menu 1 - Record out (4KB) CD, Tuner, Phono, TV/AV, Aux, Off
Menu 2 - Dubbing mode (4KB) Off, Minidisc to Tape, Tape to MiniDisc
Menu 3 - Display brightness (4KB) Auto, Low, Medium, High
Menu 4 - LCD contrast (4KB) Variable slider - 0-12
Menu 5 - Display illumination mode (4KB) On, Auto-off

(Bold=Default option. The '49' is the RC-5 code for 'View' - the command is currently shown on-screen as a debugging aid. Also, the number on the top-left of the display would have been removed eventually)

To make a choice, you use the encoder, or left/right on the remote. To store the choice (and throw the relays in the case of Record-Out or Dubbing) you must press 'Store'. If you just press 'View' again to get to the next mode or do nothing for 10 seconds (which 'times-out' the menus and returns the unit to its normal state) or press 'Standby' (a good 'panic' option!), the original value is reinstated...

As you'd expect, when adjusting the display brightness or contrast, the changes are reflected as you turn the encoder...

Option 5 lets you choose to have the LCD backlight switch off after a short delay - it'll light up again when you press a button. Just like a mobile phone. The time delay depends on the mode - if you are in a menu, the display remains lit until the menu times-out after 10 seconds, whereas normally the delay is 2.5 seconds. That's a neat detail that works well...

I wanted to provide plenty of scope to make the LCD display unobtrusive - in a dark room it gives out a lot of light! The auto-brightness option uses an LDR to regulate the light output, affecting all LED's (including the switches and the switch legend illumination). Also, on the remote control, there's a bright-green button - I couldn't resist making this a 'display-on/off' button... pressing it turns off the display until the next keypress (except volume up/down - another nice detail, as you wouldn't want a bright flash of green every time you adjust the volume control)

The software is almost finished. I've ironed out most bugs and operational 'quirks', and I think I've provided enough features. The interface seems logical and well-planned to me, at least!

 

The Hardware:

...is based around a PIC16F84. To drive the source-select relays, various LED's and other functions (like a simple R-2R DAC for the LCD contrast), I'm using latched shift-registers. When I decided to do that, I thought that I'd come up with a really good idea for expanding ports. Until I discovered that this was one of the oldest tricks in the book! Oh well.... Still, I've discovered an excellent IC from Allegro (UCN5821A - Farnell part no. 410-068) that combines an 8-bit shift register with a hex Darlington driver output stage in a 16 pin package. Two of these will drive all the relays in the unit. Here's the Veroboard mock-up:

16F84 control prototype (41KB)

The LED's on the far-right will be the source-select relays in the final product. You can see the four buttons with their bi-colour LED's (as above, Mute is currently selected). There's two rotary encoders - the one with the silver knob is a Bourns device, which turned out to be a bit unreliable. I spent ages messing with the software, assuming that was where the problem was, until I tried the cheaper Alps device (Farnell part no. 733-751). Most of the control hardware has been tried and tested - this board holds the PIC, an IR receiver, four 8-bit latching shift registers (2 are standard 74HC595's, the others are the UCN5821's), a dual 2-4 line decoder and a hex Schmitt inverter. Additionally, there's a 7805, a 741-based voltage regulator for controlling the LED brightness, the transistors for changing LED colour, and a transistor to switch the LCD backlight off (for menu-function 5).

 

Display choice:

LCD comparison (8KB)One thing I wasn't sure about is the choice of LCD display. You don't tend to see these on domestic gear, where custom VFD's rule the day. These don't have the viewing-angle restrictions of an LCD unit. Another issue is resolution and character size. The unit in the picture above has a 5 by 7 font, and a character height of 5.5mm. This looks quite nice close-up, and is quite readable up to about 8 feet, but the hi-fi is about 12 feet away, and I'm viewing the display from a 45 degree angle. A further issue is that this display is designed to be viewed from 90 degrees or less vertically. In other words, the unit should be mounted at eye-level or above. Hi-fi kit tends to be positioned lower than that, so I can't see the display clearly when I stand up!

I brought a large-character display, expecting that to have a 5 by 10 font, but the unit was still 5 by 7. Fine from a distance, but close-up it looks ridiculous! The pixels are enormous... Oh well - I'm sure I can build that into something... There doesn't seem to be much middle-ground. I reckon that 7 or 8 mm displays would be OK, but I didn't find one...

 

More research - onto the analogue control stage research...

 

 ^Top of page

©2004 Mark Hennessy
Contact Me | Site Map | Disclaimer