Elektor Project:   Kraakvrije volumeregelaar. / Cracle free Volume control

 

Vraag & Antwoord, Question & Answer.

 


Je kunt me vragen stellen over dit ontwerp. Stuur elektronische post  naar:

You may ask me questions about this design. Send electronic mail to:


Vraag / Question

Ik heb een versterker van merk X, type Y. Hoe kan ik deze volume regelaar daar in bouwen.
I have an amplifier of brand X, type Y. How can I build in this volume control.

 

Antwoord / Answer

Dat moet je zelf uitzoeken. Ik heb geen schema's van alle versterkers ter wereld.
You 'll have to find out yourself. I don't have data about all amplifiers in the world.


Vraag / Question  (A. I. in Duitsland / Germany)

Is het mogelijk om een roterende puls encoder toe te passen in plaats van de potentiometer.
Is it possible to use a "rotary pulse encoder" instead of the potentiometer in your volume control.

 

Antwoord / Answer
Niet direct. De software is ontworpen voor lineaire potmeters. RPE's zijn doorgaans incrementeel, zodat er bij inschakelen een onbekende toestand bestaat, terwijl een potmeter een absolute waarde afgeeft.
Ten tweede: RPE's hebben meer ingangen naar de CPU nodig. Met deze 8-pins CPU zijn er niet voldoende ingangen beschikbaar.
Een RPE kan best goed werken met aangepaste software en een CPU met meer pootjes. Voel je vrij om een ontwerp in deze zin te maken.

 

Not directly. The software has been designed for analog lineair potmeters. RPE's generally are incremental, so at power on there will be an unknown state, where potmeters give an absolute value. 
Secondly, RPE's need more inputs to the CPU. With this 8-pin CPU we have not enough inputs for that. A rotary encoder may work very well with dedicated software, and a CPU with more pins. Feel free to design something using RPE's.


Noot: A.I. berichtte me dat hij in de zomervakantie software wil schrijven voor een RPE op een Atmel CPU, en het via deze webste beschikbaar wil maken.

Note: A.I. told me that he plans to write software for an RPE on an Atmel CPU in the summer holidays and make it available on this website. Thanks in advance, A.


Vraag / question (D.R in Duitsland / Germany)
My answers are in blue.
Mijn antwoorden staan in blauw.

 

First in English:

I recently found the Elektor-article with your crackle free volume control. It looks like a nice replacement for the old volumecontrol in my HiFi-amp.
Unfortunately I only work with Atmel AVR microprocessors and Bascom. Is there already any work done with Atmels and the PGA2311? Maybe some other readers who did write you, too?

I have no knowledge about this.
In my Q&A section is an item from some guy A. I. (in Germany!) who plans to write Atmel code for a rotary pulse encoder in stead of a potmeter. He surely must include a routine to control the PGA2311. He promised to produce the code after summer vacation.
THE option to free you from any programming is to order the programmed CPU from me. Another important option is to buy the Spyder packet from Elektor. It costs around € 10,= and gives a very complete development environment, including programming of the CPU's. 

I plan to use a ATtiny15 or 2313 for that job, but I'm unsure if I did understood it right what the microprocessor must do.

Just study the code I wrote for the Freescale processor. Everything is in one code file and it is mostly standard C. Yes, the PGA control routine is written in assembly language. If you are familiar with assembly programming for any processor you will easily take up what I'm doing there.  If you 're not I'll advise you to take a dive into assembly programming for whatever simple CPU. It's real fun if you are interested in programming hardware interfaces. If you know one CPU rather good it will be quite easy to to understand other CPU's as well. But do look into the manuals.

So, the cables from the oldschool-potentiometers go into the Ain and Aout part of the PGA2311, then the potentiometer is connected to +5V and an A/D-pin of the microprocessor wich detects the voltage and sends that information (0-5V = 0-255) to the PGA2311? Or did I miss something important?

I think you've got it.  But have again a new look at the schematics and the software to be sure that you understand everything.
The CPU and the potmeters here run om 3.3 Volt and you have to consider the input impedance of the PGA2311. It may not automatically match the old situation.
Further, the potmeter range is software mapped to a part of the PGA2311-range. There are some mapping options.


Nu in het Nederlands:
Onlangs vond ik je Elektor artikel over de kraakvrije volume regeling. Het lijkt een mooie vervanging voor de oude volume regelaar in mijn HiFi versterker.
Ongelukkigerwijs werk ik uitsluitend met Atmel AVR processoren en Bascom. Is er al werk gedaan met Atmels en de PGA2311? Misschien heeft iemand anders al iets geschreven?

Niet bij mijn weten.
In mijn Vraag & Antwoordrubriek is een inzending van ene A.I. in Duitsland die voornemens is om Atmel code voor een roterende puls- encoder te schrijven i.p.v. een potmeter. Daar hoort zeker een routine bij om de PGA2311 aan te sturen. Hij beloofde dat in de zomervakantie te doen.
DE optie om gevrijwaard te blijven van programmeren is om de geprogrammeerde microprocessor bij mij te bestellen. Een andere belangrijke optie is om het Spyder pakket te bestellen bij Elektor. Het geeft je voor ongeveer € 10,= een zeer complete ontwikkel / debug omgeving, inclusief het programmeren van de CPU's

Ik ben van plan een ATtiny15 of 2313 te gebruiken, maar ik ben niet zeker wat de microprocessor precies moet doen.

Bestudeer de code die ik voor de Freescale processor heb geschreven. Het staat allemaal in 1 bestand en het meeste is standaard C. Ja, de routine voor de PGA2311 is in assembly geschreven. Als je bekend bent met het in assembly programmeren van doeterniettoe welke processor dan zul je gemakkelijk oppakken wat ik daar doe. Als je onbekend bent met assembly dan raad ik je aan je er eens in te verdiepen. Het is echt leuk, vooral als je geinteresseerd bent in het programmeren van hardware interfaces.
Als je één eenvoudige CPU redelijk goed kent is het vrij gemakkelijk om de code voor een andere ook te begrijpen. Maar bestudeer zeker ook de handboeken.

Dus de draden van die ouderwetse potmeter gaan naar de Ain en Aout, de potmeter is aangesloten tussen de 5-volt en een A/D pin van de microprocessor die de spanning detecteert en die informatie naar de PGA2311 stuurt? Of heb ik iets belangrijks gemist?

Ik denk dat je het aardig door hebt. Maar kijk nog eens goed naar de schema's en de software, zodat je zeker bent dat je het allemaal begrijpt.
De CPU en de potmeters werken hier op 3.3 Volt en je moet rekening houden met de ingangsimpedantie van de PGA2311. Dat gaat niet in alle gevallen vanzelf goed.
Verder wordt het potmeterbereik via de software afgebeeld op een deel van het bereik van de PGA2311. Er zijn daar enkele opties mogelijk.


Questions from / vragen van  V.T. in France / Frankrijk. 

My answers are in blue.
Mijn antwoorden staan in blauw.

First in English.

Have you any experience with the bigger brother PGA2320 (I'm interested for the higher i/p voltage)?

No, I have no experience but I know of its existence. I’ll try to find out if it can be driven with 3.3 V on the digital side. If so it might be rather easy, replace the 7x05’s by 7x15’s, replace the diodes by one resistor of .. Ohm and C1 by a 3V3 zener.
I doubt if there is a MAX660 equivalent for 15 Volts, but maybe certain Maxim devices for RS232 can deliver +/- 12 Volt with sufficient current, from a single 5 Volt supply.

Any plans to put a pad on pin 7 to make daisy-chaining neater?

I did not have such plans, but I can do that easily when I re-order the PCB. Note that if you plan to control multiple PGA’s independently you may need to connect more potmeters which this microprocessor does not allow (not enough pins).
If you plan to use multiple PGA’s in unisono it will be sufficient to connect the clock-, data- and CS lines in paralel, such that they are controlled by 1 micro. This can be realized with one fully populated "master" PCB and 1 extra PCB per PGA which has only the PGA and a few other components.
I have no plans to write software for multiple PGAs, but the current code is available and it is not difficult to adapt it for such purpose. As said elsewhere, the development tools are very cheap and you only need some knowledge of the C programming language.

Nu in het Nederlands.

Heb je ervaring met de PGA2320 die geschikt is voor grotere in/uit signaalspanningen?

Nee, maar ik weet van het bestaan. Ik zal uitzoeken of die ook met 3.3 Volt digitale signalen aangestuurd kan worden. Zoja, dan is het eenvoudig, vervang de 7x05-ic's door 7x12 of 7x15. Vervang de diodes door 1 weerstand van ... Ohm en C1 door een zener van 3.3 Volt.

Ik betwijfel of er een MAX660 equivalent bestaat voor 15 Volt, maar wellicht is er een Maxim IC voor RS232, die +/- 12 Volt levert uit een enkele 5 Volt met voldoende stroom.

Heb je plannen om een padje aan pin 7 te zetten om ketting bedrijf gemakkelijke te maken?

Nee, ik had dat plan niet, maar als ik de printen opnieuw ga bestellen kan dat eenvoudig gedaan worden.
Als je meerdere PGA's onafhankelijk wilt aansturen dan heb je wellicht meerdere potmeters nodig. De huidige microprocessor kan dat niet aan. (te weinig pootjes)
Als je meerdere PGA's "gelijk op" wilt aansturen is het voldoende om de clock-, data- en CS- lijnen door te verbinden, zodat ze door 1 microprocessor bediend worden. Je kunt dit realiseren met 1 volledig bestukte print als "master" en per extra PGA een print met alleen de PGA en enkele extra componenten.
Ik ben niet van plan om software te maken voor multipele PGA's, maar de huidige code is vrij beschikbaar en het is niet moeilijk om die aan te passen voor zulke doeleinden. Zoals elders gezegd, de ontwikkel gereedschappen zijn uitermate goedkoop en je hebt alleen wat kennis van de C- programmeertaal nodig.