Ik wil het volume van een audio bron (MP3 speler of zo) die aan een versterker hangt, eenvoudig digitaal regelen. Ik heb op het forum gezocht, maar kan weinig anders vinden dan digitale potmeters en zo. Dat is niet de simpele oplossing, met standaard onderdelen, die ik zocht.

Ik had het volgende bedacht: een MOSFET kan in beide richtingen geleiden, zolang de gate-source spanning maar positief is (voor een N-channel enhancement mode MOSFET). Als ik nu een kleine MOSFET zou nemen, die met de source aan de ground zit, en met de drain aan het signaal (met een weerstandje in serie met het inkomende signaal), zou ik dat signaal naar de ground kunnen trekken. Door de MOSFET nu snel te PWM'en (op 44kHz, bijvoorbeeld), zou ik dus het bestaande signaal kunnen choppen. De low-pass filters in de eindversterker zouden dan weer voor de juiste reconstructie moeten zorgen. Eventueel kan ik er zelf natuurlijk nog een low-pass filter achter zetten om wat te helpen.

Het standaard lijn niveau is volgens wikipedia 447mV piek, en een 2N7000 small-signal MOSFET zou volgens de datasheet een forward voltage van de body diode van 880mV moeten hebben (bij 115mA, geen spanning voor kleinere stromen gegeven). Theoretisch zou ik van die diode dus geen last moeten hebben.

Zou dat werken? Ik vind het een stuk eleganter dan een of ander speciaal IC, zoals een digitale potmeter. Aan de andere kant, als het zo gemakkelijk was, waarom bestaan die IC's dan?

Als die body diode wel een probleem blijkt te vormen, zou ik natuurlijk 2 MOSFETs anti-serie kunnen schakelen, maar dan wordt de gate driver mogelijk wel wat ingewikkelder. Een andere optie zou kunnen zijn om het signaal eerst te delen, en eventueel later weer te versterken, maar dat doe ik natuurlijk liever niet.

Zouden er nog problemen op kunnen treden door de Miller capaciteit, die in dit geval andersom narigheid veroorzaakt? Gewoonlijk zorgt die voor moeilijkheden bij het laden en ontladen van de gate, maar in dit geval zorgt die voor een capacitieve koppeling van het gate signaal naar de uitgang. Na een low-pass filter zou dat weer een DC offset geven, maar dat kan weer opgelost worden met een AC koppeling.

Eventueel zou de PWM frequentie nog wat omhoog kunnen, om het filteren van die rommel gemakkelijker te maken. Een lage gate capaciteit en het beperken van de gate-drain spanning zou het effect ook kunnen verminderen.

Wat denken jullie, zou dat kunnen werken?

stuur met een dac of pwm een gloeilampje aan.
dat laat je op een ldr schijnen die in een spanningsdeler zit.

klaar ...

zo deed barco de kleurenregelng in chassis 27. ze hadden 3 ldr's in een potje zitten met een paar lampjes. zo kon je met dc spanninkjes de intensiteit van elke kleur regelen.

simpel newaar ? wel een lampje pakken he..
of anders met een ledje maar dan moet je sneller choppen dan 27khz anders ga je de chopping 'horen' ( ldr's kunnen vrij snel reageren hoor.. een paar kilohertz volgen ze zonder problemen,.
de gloeidraad van een lampje istraaaaag. snappie ?

Ik had de commentaar van free_electron nog niet lager gescrold en gelezen op het moment dat ik hetzelfde in gedachten had. Maar durfde het niet opschrijven omdat het nogal primitief klonk in een tijdperk van digitaal, high speed, size reduction, green, en het verbannen van de gloeilamp.... Dus blijkbaar wordt het wel nog gebruikt :-) en eigenlijk zie ik weinig andere oplossingen en volgens mij is dit de beste oplossing als het echt analoog moet.

Dat is een tamelijk moeilijk probleem.Met een MOSFET gaat het niet omdat de relatie tussen Vgs en RDs niet nauwkeurig bekend is.Het is temperatuur en exemplaar afhankelijk,en bovendien verre van lineair.
JFETs worden er wel eens voor gebruikt,die hebben niet zo'n scherpe knik in de karakteristiek,maar ook hier geldt dat de relatie Vgs RDs met temperatuur en exemplaar varieert.Deze kunnen dan wel worden toegepast in AGC schakelingen (automatic gain control).
PWM en met een MOSFET is voor mij een nieuw idee.Zou kunnen werken maar helemaal zuiver zal het niet zijn,Immmers via de interne capaciteiten van de MOSFET ga je zaken aan je signaal toevoegen die er niet zouden moeten zijn.die zitten welliswaar buiten het hoorbare gebied en kunnen eruit gefilterd worden.
De IC's die ervoor zijn,zijn allemaal digitale potmeters,een R-ladder met FETS.

FET's, LDR's en schakelingen met diodes en/of transistoren werden vroeger veel als "VCA" gebruikt, maar ze hebben nadelen zoals een vrij forse vervorming die nu voor muziektoepassing niet acceptabel meer zal zijn.

Naast de al genoemde min of meer digitale IC's zijn er ook moderne analoge VCA's, waarbij die van Thatcorp zeer goed bekend staan.
Duur, maar uitstekend en ze werken "log", dus met een simpele lineare 8-bits DAC er aan als sturing kun je in theorie zo 120 dB regelen in 0.5 dB stapjes.

Tja, er zullen best een heleboel prachtige IC's zijn om dit op te lossen, maar daar heb ik dus niet echt zin in. Ik wil geen blokjes inkopen die iemand anders heeft ontworpen, speciaal voor dat specifieke doel. Ik wil het juist uit meer generieke onderdelen opbouwen.

@FE: dat kan natuurlijk wel, en op zich is het nog best een simpele oplossing, maar toch ook niet helemaal wat ik zoek. Lampjes gaan stuk en zo, zijn niet handig vanaf 0 regelbaar, etc.

Een weerstandsladder zou natuurlijk kunnen, met alle problemen die daar bij horen (nauwkeurigheid van de weerstanden en zo).

Ik vond het idee om het signaal te PWM'en wel elegant, omdat het ontzettend simpel is, en maar heel weinig, en allemaal generieke componenten vereist. De microcontroller die het geheel moet regelen, is er toch al.

@MC6800: ik wil de MOSFET niet lineair gebruiken, maar schakelend.

Op zich maak ik me niet zo heel erg veel zorgen over het filteren van de PWM frequentie, maar meer over de onbedoelde signaal injectie via de gate-drain capaciteit. Dit zijn natuurlijk hele kleine naaldjes, en misschien zouden die relatief eenvoudig gefilterd kunnen worden.

Ik had natuurlijk juist voor een MOSFET gekozen i.p.v. een BJT omdat je daarmee geen cross-over effecten krijgen, en 1 MOSFET volstaat voor positieve en negatieve signalen.

Alle andere ideeën zijn welkom hoor, maar ik ben vooral benieuwd naar jullie mening over dit idee: zou dit werken, en waarom wel of niet?

Het zal best werkend te krijgen zijn, mits je dus geen hoge eisen aan de vervorming stelt.
Tegenwoordig stelt men die meestal echter wel, dat is alles :)

Overigens bestaan er zeer goede en betrouwbare gloeilampjes, telefoon lampjes T5.5 e.d.

Ik heb ook nog wel een potmeter met DC motortje liggen uit een of andere oude stereotoren, maar die heeft geen terugkoppeling, en dan kan ik het geheel nooit nog een keer bouwen.

Een servo misbruiken komt een beetje om hetzelfde neer, met het bijkomende probleem dat je natuurlijk een DC spanning op het signaal krijgt (met een AC koppeling zo opgelost), de controller van de servo wel eens moeite zou kunnen hebben met het AC signaal dat je er bij op zet, en ik natuurlijk wel een stereo systeem wil maken. Daar komt natuurlijk bij dat RC servo's nogal eens herrie willen maken, en dat is ook niet de bedoeling.

Ik vind de oplossing met een lampje en LDR niet echt wat, eigenlijk.

@Aart: waarom zou die vervorming zo ernstig zijn, dan? Als de PWM frequentie hoog genoeg is, zou je die nagenoeg helemaal weg kunnen filteren, en die frequentie inclusief alle harmonischen vallen sowieso buiten het hoorbare gebied.

Het is niet mijn bedoeling een vraag te stellen en alle antwoorden te ontkennen hoor, maar ik ben gewoon benieuwd waar die vervorming vandaan zou komen.

Ik bedenk net dat ik natuurlijk ook een MOSFET als serieregelaar zou kunnen plaatsen, met een opamp die het ding gaat regelen. Ook dat lijkt me niet echt eenvoudig.

Misschien wat hakwerk met een 74HC4066? Al zijn die dingen ook niet vrij van vervorming...

Een X9C103/303/503 digipot, deze dingen kun je met nand poorten aansturen.
Vind alleen nog deze Franse pagina.

http://schema-electronique.blogspot.com/2010/04/un-potentiometre-elect…

Voorheen kon je deze schemaatjes vinden via Google, zijn er ineens niet meer.

Ik heb onlangs de PT2253 voor een volumeregeling gebruikt, $0.60@futurlec , daar ga ik zelf niets voor verzinnen.

http://www.futurlec.com/Others/PT2253A.shtml

VCA bouwen, dat kan discreet. Vervolgens de VCA aansturen met een gefilterd PWM signaal. Eventueel het gefilterde signaal terugkoppelen naar de PWM generator / controller om zo een strak lineair verband te behouden.

@Roland van Leusden: dat is dus precies wat ik niet zoek; het is hobby, en ik vind het geen sport om dergelijke special function IC's te gebruiken.

Een VCA kan natuurlijk wel, maar dat is weer wat ingewikkelder dan ik eigenlijk wilde.

Ik zoek vooral nog een goede reden om het oorspronkelijke idee overboord te gooien, of natuurlijk een bevestiging dat het misschien wel een goed idee is en zou kunnen gaan werken. Vooral de eenvoud van die oplossing vind ik erg aantrekkelijk.

FET's as voltage-controlled resistors

http://www.vishay.com/docs/70598/70598.pdf

Dit wijkt wel af van jouw idee om met PWM te gaan sturen. Zelf zie ik het pwm verhaal niet zitten omdat je het signaal kortsluit en dus informatie verliest.

Dat zou op zich wel mee moeten vallen, lijkt me, zolang je de PWM frequentie hoog genoeg kiest. Het ingangssignaal komt al uit een DAC (wat voor type dan ook), en is door een reconstructiefilter geweest. Het zou dus een zuiver analoog signaal moeten zijn, waarin de afzonderlijke samples niet meer terug te vinden zijn.

Dit analoge signaal kun je in principe gaan hakken, en weer door een reconstructiefilter halen. Als de PWM frequentie hoog genoeg is, zou je ook daar niets significants van terug mogen zien. Als je er vanuit zou gaan dat de PWM frequentie veel hoger is dan de hoogste frequentie in het ingangssignaal, zou je die laatste binnen een PWM cyclus als DC kunnen beschouwen. Het choppen en weer filteren van dat signaal zou dan goed moeten gaan, lijkt me.

Ik kwam toevallig deze van de week tegen omdat ik aan het zoeken was hoe een VCA werkt:

http://electronicdesign.com/article/analog-and-mixed-signal/op-amp-and…
http://archive.electronicdesign.com/files/29/10116/figure_01.gif

Hier wordt de FET als variable attenuator gebruikt. In de simulatie werkte het redelijk. Mogelijk kun je met een LP je pwm aan de fet voeren?

Dat lijkt er al meer op! Nu heb ik geen JFETs op voorraad, maar daar moet toch een keer verandering in komen. Het zijn in ieder geval maar een paar discrete onderdelen.

Eigenwijs als ik ben, ga ik natuurlijk wel mijn eigen idee ook even testen. Ik laat nog wel weten hoe dat verder gaat.

zwijg me van j-fets ... ik ben iets in elkaar aan't zetten met een dual j-fet (2n5906) ... dat ding is zo gevoelig dat het op teflon standoffs moet ,en als je er met je handen hebt aangezeten kan je het afvegen met alcohol.... de lekstroom van het vet in je vingers is te groot (zelfs als je droge handen hebt). ( de gate bias weerstand is 250G ohm in het circuitje ... )

Toevallig ben ik hier nu ook mee bezig, ik wil binnenkort die VCA met 1 opamp en 2 JFET's gaan bouwen. Ik gebruik hiervoor J175 JFET's, ik hoop dat dat gaat werken. Heb het in Multisim aan de praat maar dat zegt ook niet zo heel veel vrees ik.

Goed,OK je wilt het met alle geweld digitaal doen.Je basistheorie kan wel werken,daar ben ik het met je eens,en ook voor negatieve spanningen.
Goed wat willen we dan? stel je wilt dat de laagste volumestand -60dB is,en je moet toch een PWM frequentie hebben van minstens 40kHz om boven de gehoorgrens te zitten en alle artefacten eruit te kunnen filteren.Hoe klein is dan de smalste PWM puls?
Ik denk dat je met me eens bent dat dat 0.025pS zal moeten zijn....je hebt dan een clock nodig van 40GHz.
Dan denk ik dat hiermee duidelijk is waarom dit in de praktijk niet gedaan wordt.

Als ik grof schat (1/1000-ste van 40 kHz, dus 10 bit PWM) kom ik op 40 MHz clock uit voor 60 dB, wat anno 2010 allicht niet ondoenbaar is. Of maak ik dan een domme fout ? Voor een volumeknop oid is 60 dB voldoende.

Als je het leuk vind zou je het eens kunnen testen, maar alleen al het maken van een jitter-arm PWM signaal lijkt me vrij lastig.
Misschien is een analoge tussenstap voordelig, met een comparator op een log ramp ?

Persoonlijk vind ik het leuk dat de speciale chips er nu zijn en dat ze, als je goed je best doet in ontwerp en uitvoering, waarmaken wat ze beloven.
Het maakt nieuwe dingen mogelijk, zoals serieuze voorversterkers rond een VCA :)

Maar het is een ander soort uitdaging, en het kan aan de andere kant ook zeker geen kwaad af en toe verder te kijken. Zo blijven discrete schakelingen in specifieke gevallen beter presteren dan opamps.

Misschien nog een oplossing: Audio - ADC - uC (delen van de spanning) - DAC - audio

Over die PWM frequentie maak ik me niet zoveel zorgen; ik wilde het eigenlijk met een AVR op 16MHz gaan doen, maar ik heb ook de beschikking over DSP's die op 60MHz lopen, en PWM signalen kunnen genereren met een resolutie van 310ps (worst-case) tot 150ps (typical).

Voor een AVR zou ik natuurlijk nog een instelbare verzwakker kunnen gebruiken, die op /1, /10, /100 of zo ingesteld kan worden. Op die manier zou ik bij een laag volume een veel hogere resolutie krijgen, en toch een groot bereik. Het wordt dan natuurlijk wel een uitdaging om die trappen netjes in elkaar over te laten lopen.

Een andere optie kan zijn om dithering toe te passen, om er 1 of 2 bitjes resolutie bij te krijgen. Het zal, op zulke hoge PWM frequenties, wel lastig worden om in een AVR elke PWM cycle de compare value aan te passen voor dithering.

@MC6800: ik ben het met Aart eens; volgens mij maak je een fout in de eenheden; 40kHz * 1000 delen (60db) is bij mijn 40MHz. Dat lijkt me haalbaar.

@Aart: ik zat ook al aan de optie te denken om vanuit de AVR met een PWM signaal een analoge referentie te maken (flink filteren), en het genereren van het uiteindelijke PWM signaal voor de chopper hardwarematig te doen. Een logaritmische ramp met een comparator lijkt me dan inderdaad een goed idee!

Het lastige daarvan is natuurlijk weer dat de referentie nauwelijks mag rimpelen; als die rimpel te groot wordt, ga je dat natuurlijk ook horen. Een low-pass filter met een lage cut-off frequentie (eventueel meerdere in cascade, voor een hoger orde filter) en goed bufferen lijkt me dan een redelijke aanpak.

@bugje: op zich zou dat ook wel kunnen, maar het wordt wel een beetje lastig om het signaal met een AVR of zo met een voldoende hoge resolutie en nauwkeurigheid te sampelen, digitaal te bewerken, en weer naar een DAC te sturen. Met een DSP kan dat natuurlijk wel, maar eigenlijk vind ik dat ook weer te ingewikkeld voor deze functie.

Het kan zijn dat ik iets vreselijk over het hoofd zie, want anders was mijn idee al gegeven.

wat je kunt doen is het nulpunt van het signaal verleggen zodat het DC is, dan kun je mbv mosfets en weerstanden een "digitale weerstand" bouwen zoals je zelf al aangeeft een ladderschakeling, of je geeft elke mosfet een drain weerstand, zodat je bij elke parallelschakeling een lagere weerstand krijgt.

Hierdoor heb je geen last van gate drivers ofzo, maar kan je direct vanuit je uC driven.