Digitally controlled preamp/headphone amp

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
troystg said:
" to add support for the USB RF remote control. For that I'm going to replace current PIC by the PIC with USB support and use off-shelf USB remote."

Russ / Brian... Upgrade or new rev?


I am up to my eyeballs in other projects right now, but It sounds like something which you could interface to the kooka fairly easily. Just put the new PIC and a 5V supply on a piece of protoboard and run wires from new PIC to the pads on the kooka. It would be a fun project.

Cheers!
Russ
 
KOHTOPA said:
> The pot is read every 50ms minus the time it takes to execute the
> loop

I have never programmed PIC but I thought there is a way to use
ADC interrupts whenever value changes. Correct me if I'm wrong.
I haven't done this with the adc before, just regular digital inputs, but it can probably be done. Like I said, I made it as simple as possible just so it works, and with the current code since nothing else is ever executed, using interrupts is not nessicary. The code as is will continually read the value from the pot, but will only send data to the PGA2311 when the value changes.
 
Re: clipping

magnum_1 said:
Hello,
I tried with Marantz Cd6000 my new dac Behringer Ultramatch Pro SRC2496 with my AMP (kookaburra pre+Gainclone as final)...
and my Amp goes in distortion!!
I'm sure that the problem was the high output of Behringer,
but what's the solution? Maybe a sort of attenuators(.Rothwell?)
or I can solve in a different way?
Thanks all.
Alessandro.


I would put a voltage divider on the input of the kooka to lower the input voltage from your source. The PGA2311 is not intended for high voltage out devices like some pro audio gear. It is designed for consumer audio gear. Try 2 4.7K resistors to get the voltage down by half.
 
DcibeL said:

I haven't done this with the adc before, just regular digital inputs, but it can probably be done. Like I said, I made it as simple as possible just so it works, and with the current code since nothing else is ever executed, using interrupts is not nessicary. The code as is will continually read the value from the pot, but will only send data to the PGA2311 when the value changes.


No, with the PIC12F675/683 you cannot interrupt on an ADC port alone, I wish you could. :)

BTW the kooka sourcecode I provided does provided a ramp up curve that has a pseudo logarithmic curve. :)

Good work DcibeL, its always fun to do things like you did, and it sure helps you understand the way things work. I hope others take the opportunity to try the same sort of thing.

Cheers!
Russ
 
Russ White said:
No, with the PIC12F675/683 you cannot interrupt on an ADC port alone, I wish you could. :)
You're absolutely right. I had posted in the 2 minutes I had before class and hadn't really thought about it. Even if an interrupt could be triggered on aa change at the analog input, it would be triggered on the smallest signal that could produce a change in the 10bit adc, so it might be triggered by noise. The kookaburra code disregards the lowest 2 bits of the 10bit adc to reduce it's sensitivity when checking if the analog input has changed.
 
Here are some thoughts just in case if somebody else will also
decide to add USB remote control to this preamp.

There are two possible implementations/configurations:
1) USB remote only
2) USB remote + pot

In case 1) you could still use pot just for reference. So that
when preamp starts PIC could read that pot and set volume
according to that value. You could adjust it up to your taste.
It would be used just for initial volume and pot could have very
small size and could be placed on PCB. When you start using
remote it could start from that reference value.

Case 2) is more complicated because there are two
different sources which can regulate volume. Whenever preamp
starts it could use pot for initial value. Then remote could work
the same way as described above. When you change volume
by pot the value should smoothly change to the pot's current position.

There are several PICs which can handle USB:
18F2455 (28 pins DIP and surface mounted, 24K memory),
18F2550 (28 pins DIP and surface mounted, 32K memory),
18F4455 (40 pins DIP and 44 pins surface mounted, 24K memory),
18F4550 (40 pins DIP and 44 pins surface mounted, 32K memory)

USB in these chips works with interrupts as well as ADCs.
So there is no need to poll ADC for reading pot position.
Firmware for handling USB protocol is available at Microchip
site.

You just need to know all codes/numbers corresponding to
the buttons of your remote. Here are these numbers for
Griffin's AirClick remote control:
http://www.griffintechnology.com/products/airclick/

Button released - 0
Play - 1
Volume Up - 2
Volume Down - 4
Next - 8
Previous - 16

You will need only Volume Up/Down and button released
to control preamp. So you start changing volume whenever
you receive 1 or 2 and stop changing volume whenever you
receive 0.

For different types of remotes there could be either a set of
jumpers (1) which could be used for selection of the particular
remote with known codes or there could be software only
solution (2) when you have firmware with a list of codes for
just one particular remote. In case (1) PIC could read jumpers
during startup and use codes map corresponding to that
jumper position.

Hope this helps :)
 
magnum_1 said:
Thanks Russ,
"Try 2 4.7K resistors to get the voltage down by half."
...where can I exactly change resistors with 4.7K resistors ?
:D
Thanks again.
Alessandro.


Th would be new resistors. You would put one from JACK_IN to GND and another from JACK_IN to PCB_IN. You would need 4 resistors to do both channels.

You may even want to decrease the signal by more than half. a 2.2K resistor to GND may be even better than the 4.7K.
 
Change Request for DRV134 / SSM2142 driver

Hey Russ. Sorry for showing up so late for this party. ;)

Any chance you could tweak the layout to use the BB DRV134 (or, the AD SSM2142 which is also pin compatible).

I actually need fully balanced drive capability - to drive cables and an input transformer. The balanced audio drivers can also be used to drive single ended.
However, we'd have to modify your code to digitally compensate -6dB of gain
to make up for the added +6dB of gain for the SSM chips.

Since the Attenuator chips has 0VDC Vout for 0Vin, there is no worry about DC
offset. Should be a nice direct DC coupling between the attenuator and the driver. :)

-- Jim
 
Re: Change Request for DRV134 / SSM2142 driver

jrdmedford said:
Hey Russ. Sorry for showing up so late for this party. ;)

Any chance you could tweak the layout to use the BB DRV134 (or, the AD SSM2142 which is also pin compatible).

I actually need fully balanced drive capability - to drive cables and an input transformer. The balanced audio drivers can also be used to drive single ended.
However, we'd have to modify your code to digitally compensate -6dB of gain
to make up for the added +6dB of gain for the SSM chips.

Since the Attenuator chips has 0VDC Vout for 0Vin, there is no worry about DC
offset. Should be a nice direct DC coupling between the attenuator and the driver. :)

-- Jim

Everyone always welcome at the party. :)

Wow that sounds like an interesting proposition, but it probably qualifies as a new design. Definite food for thought. :)

If you need SE in and Balanced out in the near term you might consider a XBOSOZ witha Joshua Tree at the output.

The Twisted XBOSOZ can convert SE into balanced and I would say a fair bit better than he DRV134.

Cheers!
Russ
 
no DRV134, no problem

Thats cool. I'll stick to a breadboard approach... Although the BOSOZ looks
hard-***, I have other constraints. Here's the transplant candidate:

http://www.jr.com/JRProductPage.process?Product_Id=3719099&JRSource=google.datafeed.GMI+PA7000

For $99, the sheet metal quality is actually very nice... It has XLR outs as well
as a pair of SE RCA outs. All ins are RCA. The point being for $99 you
rip out all the guts and replace it with something more hardcore. i.e. it
becomes an organ donor to a far more worthy cause.

It has a PSU built it, which can also be ripped to the guts. :)

The reason I was interested in your board is the ADC/PIC sampling of pot to
derive the digital attentuator level. I'd like to use the shitty pot that is on the product, which might be shitty for a linelevel signal, but perfect to feed the A/DC.

Further, the chassis invites other hacks - like a DIY headphone amp (there's a
jack), a DIY MIC amp (there's another jack), and, of course a nice phono stage.

See where I'm going with my change request ? :) I'm all about hijacking
that sheet metal work, the connectors and the panel controls. :)

-- Jim
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.