PGA2311 + ATMEGA8 VOLUME CONTROL

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi every one,
This is my just finished digital volume controller based on pga2311 / 2310 and ATMEGA8 controller. hope you will like this.
16 pin connector is LCD 16*2
thanks
 

Attachments

  • pga2311+mega8.pdf
    27.6 KB · Views: 1,422
  • pga2311+mega8.zip
    30.1 KB · Views: 880
Hi jash2008,
You did not write if you finished PCB, if you did not you may consider improving your project in following details:
- use separate supply line for digital and analog sections,
- in most applications input buffers are necessary,
- IMO an rotary encoder is a better option for volume level control than microswitches,
- there are some unused atmega's pins so maybe use them for an input selector and remote signal receiver,
- an external oscillator is not necessary in this application.

A few months ago I finished my PGA2311-based preamp with all possible function which I could think of, so maybe it will help you little bit: PGA2311 based stereo/2.1/2.2 digitally controlled preamplifier with real-time clock

Regards
mkul
 
Hi jash2008,
You did not write if you finished PCB, if you did not you may consider improving your project in following details:
- use separate supply line for digital and analog sections,
- in most applications input buffers are necessary,
- IMO an rotary encoder is a better option for volume level control than microswitches,
- there are some unused atmega's pins so maybe use them for an input selector and remote signal receiver,
- an external oscillator is not necessary in this application.

A few months ago I finished my PGA2311-based preamp with all possible function which I could think of, so maybe it will help you little bit: PGA2311 based stereo/2.1/2.2 digitally controlled preamplifier with real-time clock

Regards
mkul

hi mkul,

thanks for your reply.
this was just a basic project to understand the chip. my final project consist of only sony remote controller with single RBG led to indicate all conditions such as stdby mode/mute mode/play mode/vol. full indication etc.
however due to circuit complexity, i have taken same +5 supply for both digi & analog. i understand the consequenses.

rotatory encoders some times misbehaves untill strictly programmed.
i don't know how to use an internal oscilator so generally i use external.

here is the final schematic.

your project is really appreciable. looks cool. do you use BASCOM also for coding.
 

Attachments

  • pga2310+mega32.pdf
    47.9 KB · Views: 574
  • IMAG0131.jpg
    IMAG0131.jpg
    279.4 KB · Views: 1,619
  • IMAG0132.jpg
    IMAG0132.jpg
    280.5 KB · Views: 1,518
  • IMAG0135.jpg
    IMAG0135.jpg
    267.8 KB · Views: 1,443
  • IMAG0136.jpg
    IMAG0136.jpg
    252.5 KB · Views: 1,387
Last edited:
hi jash2008,
I could help you with rotary encoders if you wished to, they are really simple to handle and IMO very useful and I haven't ever encountered any problems with them (using both bascom and C).
There is nothing wrong with an external oscillator, but it is not necessary for this project, and atmega is by default set to use internal one so if you you want to make use of the external oscillator you have to make some changes in fuse bits section. So I recommend you removing external oscillator from your schematic.
You can use daisy connection for more than one PGA driven from one microcontroller - it will save some pins (see PGA2311 datasheet for details).
If you wish you may copy my project. Now I am working on a new version with build-in 2-way 2nd order electronic crossover with remotely controlled phase switch for bass section and probably full speakers protection circuit. To do that I had to remove real time clock which was IMO marginally usable. So maybe it is worth to wait a few week for the project to be finished.
By the way I am using C for programming AVRs. I started with Bascom, but it was really hard to manage long code in this language and generated firmware consumed much more uC memory than the same written in C.
Best regards
Michael
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.