WM8816 digital volume control (WM STAMP)

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
This project should be placed somewhere between Digital and ChipAmps ;) It's my new volume control module basing on WM8816 from Wolfson. I call it 'WM STAMP', because executive part of it is very small.

Some details and basic functions:

- gain range from -111.5dB to +15.5dB
- gain step size: 0.5dB or 2.5dB

controls:
- IR remote (program can learn every RC5 remote commands)
- encoder
- standard, analog pot (ADC)

- optoisolation
- LCD or VFD 2x20 display
- backlight adjust

- output for 8 relay selector
- mute
- optional name for every input (like 'CD', 'DVD', 'TUNER', ...)

WM8816 is similar to PGA2310, but... opamps are outside ;) This give many possibilities:
- many single opamps can be used
- discrete stage
- using some high power opamps we get good, headphone amp

Schematic diagram

An externally hosted image should be here but it was not working when we last tested it.


I found WM8816 chip in:
Marantz PM-15S1 Reference Series Integrated Stereo Amplifier
Marantz PM-11S1 Reference Series Integrated Stereo Amplifier
 
Hi Veteran
very nice job, it looks great !!!
(1) I've just a small question concerning this device, do you think that updating it to 6 channels represents a lot of work ?
I'm trying to do it with pic , encoder and vfd display with no real success since now ...

(2) Could you check the link with your schematic in pdf, it seems to not work ...

Thank you very much, have a nice day
 
Look at the board Skappy - there is place for 3 jumpers. This way we can control 3 x WM8816 using the same cable = 6 channels :cool:
 

Attachments

  • wmstamp_2.jpg
    wmstamp_2.jpg
    33.9 KB · Views: 6,389
Hi Veteran,
thank you very much for your answser

I have just another small question ;
Do you think that selling such a kit is a possible thing ?

I'm trying to obtain the same result as yours with pga2310 and pic16f877, vfd and encoder but i encountered lot of problem with the rotary encoder so buying something which has been tested would really save me money (and time as my level in the electronic field seems not to be enough ...)

Thank you verty much for your help
 
Hi i_Forgot,
I've choose develop the driving software in jal ...
the choosen rotary encoder is a bourns En (128 cycles per revolution).
I've managed to display message on the vfd via the pic16f877 but i can't write the piece of software that read the rotatry encoder and increase or decrease the volume level ...

I'm not sure at all of the way i've connected the rotary encoder ...

so i now looking for a electronic kit which could increase or decrease the sound level on 6 channel in the same time (via PGA2311)
 
skappy said:
Hi i_Forgot,
I've choose develop the driving software in jal ...
the choosen rotary encoder is a bourns En (128 cycles per revolution).
I've managed to display message on the vfd via the pic16f877 but i can't write the piece of software that read the rotatry encoder and increase or decrease the volume level ...

I'm not sure at all of the way i've connected the rotary encoder ...

so i now looking for a electronic kit which could increase or decrease the sound level on 6 channel in the same time (via PGA2311)

If you connect the encoder to portB on the uC and enable portB interrupts, you can put the uC to sleep when it isn't changing the volume. When the uC sleeps, even the clock oscillator is stopped so it makes no noise that might pollute the audio.

If your encoder puts out a 2 bit gray code like the grayhill 61c11, reading its direction of rotation is easily accomplished by using a lookup table with an indirect jump. You make a 4 bit 'jump' nibble from the previous value at the encoder output and the new value (2 bits each). Then you call the table subroutine. In the table subroutine you add the 'jump' nibble to the program counter and execution jumps to the indicated retlw statement which in turn redirects execution back to the subroutine call. The value returned is -1 (hex FF), +1 (hex 01), or 0 depending on whether the encoder was moved in a direction to decrease or increase volume, or there was some reading error.

The returned value in the W register is simply added to the volume counter. Of course, you need to make sure the volume counter doesn't go out of range...

These two articles have all the detail you need to make it work:

http://www.mcmanis.com/chuck/robotics/projects/lab-x3/quadratrak.html
http://www.circuitcellar.com/library/print/0303/millier152/2303017.pdf

One thing you have to be sure of is that the table doesn't straddle a page boundary in memory. You can do that by specifying the exact address where you want the table stored when the program is compiled.

I_F
 
What can I say - I finished basic software for my wm_stamp ;)

This picture shows integration between WM8816 and OPA1632. This is easy way to create:
- XLR (balanced) volume control / preamplifier
- single ended to balanced converter (much better than DRV134)

Gain range for WM8816 is really impressive: -111.5 to +15.0dB.

An externally hosted image should be here but it was not working when we last tested it.


An externally hosted image should be here but it was not working when we last tested it.
 
Hi veteran
I'm too ignorant to evaluate, but seems really god job!
Do you think you will sell this as a PCB or kit? It's really interesting.

A couple of questions:
Does the clock stop when control is idle?
Is is possible to switch the display off (has little sense, I know;) )
I was thinking if it would be possible to add something like a BUF634 in the opamp's feedback path to improve output current and cables driving (also something like a one-stop headphone amp).
On Wolfson's spec sheet I found this rather menacing, and partly contradictory, statement:

"The block diagrams in this datasheet only show a representation of the feedback resistor paths and should ["not" missing?] be thought of as the internal device structure. As the internal structure is different it is not possible to correlate the measured impedance between input and output, and the actual gain attenuation"

What's your opinion?
 
I have been patiently watching and waiting for this to use with Pavels "audio refiner" as a top rate pre-amp and headphone amp.

One quick question.. Will there be provisions for front panel buttons for input, mute and such? I see the volume will be local and remote controlled.

PLEASE offer the boards AND parts to make one.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.