Regulace hlasitosti - elektronický potenciometr

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

Regulace hlasitosti - elektronický potenciometr

#1 Příspěvek od mluno »

Už nějakou dobu plánuju stavbu nf zesilovače. Myslím, že většinu klíčových částí mám vyřešenu. Nyní jsem se dostal k regulaci hlasitosti. Mohl bych osadit dvojité potenciometry, ty se stále zatím prodávají. Spíš se ale kloním k řešení méně náchylnému na zub času a opotřebení. Kromě toho souběh kanálů a nedejbože požadavek na regulaci více než dvou kanálů také hovoří ve prospěch elektronické verze. To že náklady na tuto konstrukci převáží možná i cenu kvalitních potenciometrů je věc jiná.
Po zjištění, že IO vykonávající tuto funkci nejsou v sortimentu prodejců součástek (GM, GES) nebo jsou příliš drahé (řádově několik stovek) a že konstrukce dostupné na internetu nejsou to pravé (nejčastěji 8 nebo 16 kroků s použitím analogového multiplexu) jsem se rozhodnul vyvinout vlastní konstrukci. Princip je v připínání odporů k paralelní kombinaci, nebo přemosťování sériových odporů. Z několika kombinací, které přichází v úvahu (změna jednoho nebo druhého odporu děliče, aktivní nebo pasivní provedení) jsem se rozhodnul pro aktivní verzi, kde se elektronickým přepínačem přemosťují odpory pro nastavení potřebného zesílení. Toto zapojení podle mých výpočtů dávalo průběh (závislost číslo>přenos) nejblíže logaritmickému. Při osmi odporech je 256 kombinací, ze kterých vyberu 64 tak, aby průběh byl co nejblíže logaritmickému.
Níže uvádím pracovní verzi schématu, která je ještě velmi neuspořádaná. Toto zapojení jsem o víkendu ke své spokojenosti vyzkoušel (zatím však s průběhy sinus a obdélník) a myslím že může být použitelné. Ještě zbývá vyřešit několik drobností, většina z nich doufám nebude problém. Dráty, které vedou do nikam, budou přes převodníky 5V na 15V připojené k mikrokontroléru, kde bude také uložená převodní tabulka (nepředpokládám využití všech 256 úrovní). Sledovače na vstupu oddělují obvod od zdroje signálu, následuje invertující zesilovač, jehož zesílení je dané přepínaným odporem ve zpětné vazbě. Celé zapojení by mělo pracovat s napájením +/-7,5V nebo 15V podle úhlu pohledu.
Obrázek

http://fotoalba.xchat.cz/~guest~/origin ... 94&psize=1

Ale teďkon se po sáhodlouhém úvodu (omlouvám se všem, kteří nezačali číst až pod obrázkem) dostávám k jádru věci, jádru mého dotazu. Totiž základní věcí je rozsah, v jakém se má přenos regulátoru hlasitosti pohybovat, aby to nebylo nějak nepřirozené. Tak jak jsem předběžně narvhl součástky (R1=250K, R2=1k, R3=2k, atd až R9=128k) se dostávám k rozsahu regulace minimálně 40dB a po rozdělení tohoto rozsahu na 64 kroků mi jeden krok vychází na 0,65dB. Je rozsah 40dB dostatečný? Bude vyhovovat krok regulace? Bude takováto regulace hlasitosti vyhovovat?

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#2 Příspěvek od ZdenekHQ »

ZKus TME, MCP41010 a další klony podle pdf (já četl spíš nad obrázkem, pak jsem se lekl).

Bez problémů zvládají třeba AM modulaci signálu bez rušení a podobné věci, co se někdy můžou hodit (noční "omezovač" špiček).
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
gepard
Příspěvky: 1690
Registrován: 05 úno 2007, 01:00
Bydliště: Liberec - tam na severu Čech

#3 Příspěvek od gepard »

Nebo mrkni na toto zapojení ...
Přílohy
Potencjometr elektroniczny.pdf
(202.35 KiB) Staženo 295 x
-- Gepard --

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#4 Příspěvek od mluno »

ad Zdenek
To vypadá dobře a hlavně sehnatelně za rozumnou cenu. Řízení po SPI je také celkem praktické (tam jenom vadí, že každý obvod má svůj vlastní select, narozdíl třeba od adresování na I2C, ale oproti 8 vodičům mnou navrhovaného monstra, vhodného spíš do nějaké retrokonstrukce je to lepší). Děkuji za tip. Obchod se součástkami, co máme ve městě odebírá mj. od TME, takže i kdyby to neměl, objedná mi to s minimální provizí. TME má sice příšerné webovky, ale sortiment má slušný. Mám pocit, že něco takého jsem v GM také měl vyhlédnuto (nevím jestli přímo tento obvod, ale princip (řízení přes SPI) i cena tomu odpovídá, jen si matně vzpomínám, že byla dostupná i logaritmická verze), ale zmizelo to dřív, než jsem to stačil objednat (neměli to na prodejně ale jen skladem). Vzpomínám si, že tehdy bylo na výběr více typů (a není to jediná kategorie sortimentu tohoto obchodu, která se stala nepoužitelnou). Jak říkám se sortimentem GM dlouhodobě nejsem spokojený (a to i pokud jde o zásobení rezistory a kondenzátory, nejen takovými specialitami).
Pokud se mi to podaří sehnat, bude to skoro ideální, ideálnější by byl logaritmický průběh přímo od výrobce, ale uložit tabulku logaritmu do řídicího MCU je to nejmenší.
Ještě tedy zůstává nezodpovězeno, jestli ten rozsah od 1 do 255 (tedy 48dB) ze kterého vyberu 64 hodnot logaritmické řady, bude stačit (koukal jsem se na různé přístroje domácí techniky a většinou mají 32 nebo 64 kroků, nevím ale v jakém poměru, vlastně jak o tom uvažuju, nic mi nebrání vzít osciloskop a změřit si to). I když jsem postavil už několik zesilovačů, nikdy jsem se těmito čísly nezabýval, prostě jsem tam strčil klasický potenciometr (někdy snad i lineární (ostatně v dobách prvních konstrukcí jsem tyto jemné detaily ani neznal), prostě co jsem našel nebo sehnal, jak se to tak dělá) a ono to nějak šlo, neřikám že ideálně.


ad Gepard
V polštině mě opravdu nenapadlo hledat. Ale i kdyby, toto zapojení bych musel zařadit mezi nesehnatelné. Podobných konstrukcí, kde na malé destičce je jeden IO s nutnou bižuterií jsem našel několik, bohužel právě použitý typ IO, respektive jeho nesehnatelnost (asi ve dvou případech cena), se u nich ukázala jako problém. I tak děkuji za tip.
Chápu že dnes, v době syntézy zvuku DA převodníky s vysokým rozlišením případně s integrovaným potenciometrem, a vším na jednom čipu je problém sehnat diskrétní tranzistor (když to přeženu), natož pak takovýto IO.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#5 Příspěvek od ZdenekHQ »

mluno píše:Ještě tedy zůstává nezodpovězeno, jestli ten rozsah od 1 do 255 (tedy 48dB) ze kterého vyberu 64 hodnot logaritmické řady, bude stačit
Stačit to bude určitě, ale z vlastního nočního poslechu vím, že lepší je tu stupnici udělat (i když je logaritmická) ze začátku "jemnější", třeba prvních 10 kroků. Něco jako log²(x), i když ten matematickej popis asi není úplně přesnej.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
Charos
Příspěvky: 784
Registrován: 16 říj 2009, 02:00
Bydliště: u Chrudimě

#6 Příspěvek od Charos »

Kamarád s el. potenciometry experimentoval a zavrhl je pro šum, nevím jaké máš nároky. Jistě nejlepší je přepínání odporů, mechanicky (relé, mnohapoloh. přepínač) nebo elektronicky.
Ale kvalitní potenciometr (nebo pro lepší odstup dva, mechanicky spřažené a prostorově oddělené) vydrží dlouho a je levnější. ALPS ( orig. i čínský modrý fake) je nejjednodušší řešení, běžec nešumí a s motorem ho můžeš řídit i dálkově. Nekupuj TP28x, šumí běžec, TP16x zase nevydrží dlouho.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#7 Příspěvek od ZdenekHQ »

Šum? U 10K MCP je:
Resistor Noise Voltage eNWB 9nV/√Hz VA = Open, Code 80h, f =1 kHz
Nechám to na teoreticích, jestli je to moc nebo málo.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 01:00
Bydliště: Praha

#8 Příspěvek od FHonza »

mluno píše: ... Podobných konstrukcí, kde na malé destičce je jeden IO s nutnou bižuterií jsem našel několik, bohužel právě použitý typ IO, respektive jeho nesehnatelnost (asi ve dvou případech cena), se u nich ukázala jako problém...
Na eBay jsem kupoval X9C104 nedávno. Cena kolem 30 kč za kus. V nabídce je tam docela dost různých digi potenciometrů.

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#9 Příspěvek od mluno »

ZdenekHQ píše:... lepší je tu stupnici udělat (i když je logaritmická) ze začátku "jemnější", třeba prvních 10 kroků. Něco jako log²(x)...
To tedy zkusím, tím pádem navržená topologie asi nevyhoví bez ohledu na realizaci proměnného odporu ve zpětné vazbě - prvních zhruba pět kroků je na logaritmické stupnici mnohem hrubších pak se zmenšují, ale to chce asi opravdu vyzkoušet. První kroky jsou 6,0; 3,5; 2,5; 1,9; 1,6; 1,3 dB atd. ty použiju beze změny, ředit budu až počínaje krokem 22. Pokud použiju ten elektronický potenciometr jako dělič, bude situace stejná (zjistil jsem, že jsem sice vybíral z osmi možných topologií tu, kterou nejlépe obsáhnu logaritmicý průběh, ale nejvýhodnější mi vyšla ta co má lineární závislost mezi přenosem a číslem). Koukal jsem, že v datasheetu toho MCP mají nějaká doporučená zapojení, ještě zkusím prověřit je.

S tím šumem se mi to nezdá, 256 odporů na maličké ploše by mělo být méně náchylné na indukovaná napětí než "monstrum" zabírající velkou plochu DPS a tepelný šum by snad měl být přinejhorším srovnatelný. Je fakt, že mechanický potenciometr nebo přepínač bude z tohoto pohledu vycházet lépe, ale dávat tam na přepínání relátka místo 4016/40166apod., to už by na mě bylo trochu moc. To co jsem v úvodu nakreslil mi běhá (respektive v neděli běhalo) na kontaktním poli, ale zkoušel jsem to pro sinus a obdélník, kde bych šum spatřil asi jen po matematickém zpracování (pokud by vůbec byl z těch 8 bitů mého osciloskopu vidět). Zkusit zapojit to do zvukového řetězce jsem nestihnul. Ale to bych tam musel dát něco lepšího než LM2902 (předpokládám, že tento úplně nejlevnější OZ nebude znít nijak pěkně). Mechanický potenciometr s motorkem jsem zvažoval kdysi (ano je to jedna z konstrukcí, se kterou se drobnými krůčky ve volném čase blížím k cíli), ale přijde mi to jako návrat do pravěku i když by to ve výsledku vypadalo elegantně. Datasheet MCP slibuje typické hodnoty šumu v polovině stupnice 9nV/√Hz, to mi ale nic neřiká, jestli je to hodně nebo málo, nevim (tato čísla mi jsou záhadou, nanovolty (navíc dělené odmocninou z Hetrze) si narozdíl od kilovoltů a megavoltů a možná ještě milivoltů nedovedu představit).

Zatím jsem dnes ráno zašel do obchodu a objednal MCP4261.. bohužel přijde až příští týden a já se pro něj dostanu až přespříští (prý to přijde tak ve čtvrtek, odpoledne se tam nedostanu v žádný den, v pátek ráno také ne), takže se teď dva víkendy budu jenom těšit. Alespoň budu mít chvilku času na oprášení nějakého AVR a programu pro ovládání po SPI. Pak uvidím nakolik to splní moje očekávání.

Uživatelský avatar
Caban
Příspěvky: 25
Registrován: 04 úno 2013, 01:00
Bydliště: Slovakia

#10 Příspěvek od Caban »

Je dobré pozrieť si aj túto stránku
http://www.vaneijndhoven.net/jos/attenu ... index.html

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#11 Příspěvek od mluno »

Caban píše:Je dobré pozrieť si aj túto stránku
http://www.vaneijndhoven.net/jos/attenu ... index.html
To je velmi zajímavé, už jen proto, že to je přímo logaritmické. Třeba to někdy také využiju.

Zatím jsem dělal pokusy s MCP, který už mám doma (přišel dřív než byl plánovaný). Zatím jsem neuspěl, ale už asi vím proč. Měl jsem dva datasheety, ten tenčí (a možná příliš stručný) jsem si vytisknul a podle něj naprogramoval atmega48 (jednoduchý program, který posílá po vteřině pokkyny k nastavení běžce na pozice od 0 do 255). Obvod jakoby na pokyny vůbec nereagoval, nereagoval ani na reset (bodejť jo, když na jeho pozici je write protect), jenom na shutdown. Už jsem začal uvažovat, jestli jsem mu nějak neublížil. Pak jsem se kouknul na ten druhý, tlustčí a viděl jsem, že jsem program udělal špatně (nějak mě nenapadlo, že by se to tolik lišilo) a komunikace bude trochu složitější. Ale to už byl večer, takže příští týden se snad dostanu dál. Alespoň jsem oprášil avr studio, ponny prog, programátor i kartu paralelního portu a vůbec celou infrastrukturu od zdrojového textu po rozběhlý program.

Přiložený oscilogram jsem měl původně připravený jako detektivku, co je špatně (protože se mi zdálo, že to je přesně jako v datasheetu a ochranné doby jsou splněné s rezervou), ale teď je to už jenom pro zajímavost. Takto nějak mělo vypadat řízení podle datasheetu MCP42xx z roku 2003, podle toh současného (ze stránek tme, kde byl obvod objednán) jsem asi načítal pozici jezdce (příkaz 0001b) a navíc jsem přenos utnul dřív, než mi stačil odpovědět.
Přílohy
Owon_2016-05-22 18_59_42.gif
(31.41 KiB) Staženo 101 x

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#12 Příspěvek od ZdenekHQ »

No, a teď stačí si jen správně "zkompenzovat" sondy k osciloskopu... :D

Snad před 30 lety mě borec tvrdil, že TTL série LS vyrábí obrovský "jehly". Jaksi mu nedošlo, že to je jen kvůli strmějším hranám a nevhodným sondám k osciloskopu, ale v praxi neexistují...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#13 Příspěvek od mluno »

Dospěl jsem k funkční verzi, zatím jsem ji nezařadil do audiořetězce, ale na umělý signál z generátoru funguje skvěle (je to už několik týdnů, co jsem měl nějaké důležitější věci na práci). Přikládám program pro AVR, ve verzi pro testování. Zatím je implementovaná jednosměrná komunikace po SPI (pouze zápis do registrů MCP), čtení asi ani nebude potřeba. Program nastavuje běžce potenciometru jeden lieárně a druhý logaritmicky podle tabulky - v aktuální verzi používám dva vybrané vstupy jako up a down, myslím že později dám přednost nějakému "točítku" to se ještě uvidí.

ZdenekHQ píše:No, a teď stačí si jen správně "zkompenzovat" sondy k osciloskopu... :D
To je fakt, na stěnu bych si to nepověsil. Ale aspoň se líp počítaji pulzy (stačí ject prstem po stínítku a počítat jehly). Při tomto měření mi ani nešlo o tvar, ale o vájemnou polohu signálů, správný počet pulzů atd. Horší to je, pokud mi o tvar pulzu jde (a já nevím, jestli je tak mizerný jen na osciloskopu nebo i ve skutečnosti). Mám podezření, že takto vykresluje ten osciloskop ostré hrany (co bychom chtěli od levné číny), mám uložený i deep-memory záznam (10 Megabodů na kanál), tak se kouknu, jestli tam jsou ty jehly i v datech. Zároveň se podívám po nějakém obrázku, který by ilustroval moje další pokusy.

Update o den později: Našel jsem původní data a je tam opravdu překmit a ne jeden. Je to "překompenzované." Vzpomínám si, že po zvětšení na osciloskopu (toto vzorkování je největší, takže to byl jen jiný pohled na stejná data) ale byla vidět pozvolná náběžná hrana, vzal jsem tedy ty píky jako chybu zobrazení a ono je to zdá se naopak - jejich nepřítomnost je chybou zobrazení. Původní data jsem sice našel, ale program pro jejich zpracování opakovaně havaroval a bude chtít úpravu (příčina je na delší popis a řešení na delší bádání). Naštěstí havaroval až v době, kdy měl data získaná a částečně přepočítaná (čas jsem přepočítal ručně, napětí jsem nechal - je tam posun 3V). Na přiložených obrázcích je jednak detail posledního červeného pulzu - obdélník vpravdě mizerný, přestože není důvod si myslet že takto vypadá a ještě detail hrany, kde je několik zákmitů - příště zkusím sondy lépe vykompenzovat. Když už jsem byl v ráži, tak jsem udělal harmonickou analýzu té hrany. Program, který normálně používám na analýzu napětí nebo proudu s kmitočtem 50 Hz neměl pražádné problémy s těmi megahertzy a je tedy vidět, že vrchol našel (nepočítám-li stejnosměrnou složku) někde kolem 35 MHz. To by bylo malé intermezzo ohledně odbélníků na osciloskopu. Děkuji tím za připomínku, která mě přiměla pozastavit se nad něčím, nad čím jsem předtím mávnul rukou.
Přílohy
El_Pot_Ovl.zip
Program pro ovládání MCP4261. Samozřejmě velmi předčasná verze.
(41.69 KiB) Staženo 90 x
Harm_anal_Owon_2016-05-22 18_59_42_detail_SCK.gif
Harmonická analýza "začátku" pulzu
Stupnice kmitočtu 50 MHz na dílek
(6.94 KiB) Staženo 86 x
Owon_2016-05-22 18_59_42_detail_pulz_SCK.gif
Celý poslední pulz
Měřítko času: 2us na dílek
(14.1 KiB) Staženo 64 x
Owon_2016-05-22 18_59_42_detail_hrana_SCK.gif
Detail předposlední hrany SCK (na původním obrázku červeně)
Měřítko času: 250 ns na dílek
(13.48 KiB) Staženo 76 x

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#14 Příspěvek od mluno »

Další měření se už týkají funkce. První obrázek (odspodu) ukazuje totéž co ten minulý oscilogram (modře CS, červeně SCK a žlutě DATA), jenom je to tam dvakrát, to jako pro dva běžce (každý se musí nastavovat zvlášť). Opět jsou tam mizerné obdélníky, ale to už se vysvětlilo. Co je důležitější, toto ještě nefungovalo, protože těch hodinových pulzů je tam jenom patnáct. To jsem napravil (chybná podmínka ukončení cyklu), ale ztratil jsem spojení s osciloskopem, takže úplně definitivní obrázek nemám (bylo by tam o jeden hodinový pulz víc pro nejnižší bit dat). Ovšem důležitější je výsledek a ten už zachycený mám. První verze programu posílala postupně po 250 ms nastavení běžců. Jeden lineárně od 0 do 255 a druhý logaritmicky od 0 do 63 přes tabulku a to čtyřikrát pomaleji. Na vstupu bylo plné napětí výstupy jsou potom vidět na osciloskopu. Pořád nevím, jestli má logaritmický průběh vypadat takto, ale jeho případná změna či úprava je jenom otázkou úpravy tabulky.
Jak vidno, měření mají datum 28. května, vyčkával jsem až se mi to podaří zařadit do audiořetězce. To se zatím nepovedlo, protože tento víkend, kdy jsem se k tomu opět dostal, jsem chtěl předtím zkusit indikátor vybuzení s LM3915, který jsem měl odložený v koutě no a taky jsem hledal vhodné kabely a/nebo konektory. Měla to být jen taková formalita, ale ukázalo se, že tak jak jsem ho před cca dvěma léty navrhnul používá referenci 10V (počítal jsem s napájením +-20V a většími signály tento IO mi to se svým napájením 3-5V trochu zkomplikoval - při napájení 5V nelze používat referenci 10V), přizpůsobením jsem strávil celou neděli (musel jsem znovu pročíst datasheet LM3915, pochopit jak funguje, pochopit své zapojení a tak dále). Tedy se pokusy odsouvají na další víkend, teď už mám vše přichystané, jen to správně propojit. Pořád zatím doufám, že ten nečistý průběh je výsledkem rušení v nedbalém provizorním zapojení a ne šumem toho mcp.
Přílohy
Owon_2016-05-28 16_48_06(001).gif
Lineární a logaritmický průběh. To že jsou průběhy tak chlupaté má asi příčinu v ne úplně pěkném zapojení.
(19.64 KiB) Staženo 64 x
Owon_2016-05-28 15_00_55(002).gif
Řídící signály pro MCP42xx, zde ještě zatím špatně.
(34.41 KiB) Staženo 66 x

Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“