Stránka 1 z 1

Řešení zvukového výstupu (tóny) pro PIC16F1938

Napsal: 24 led 2014, 03:09
od VirtualMan
Ahoj!
Dnešek jsem trávil marným hledáním řešení zvukového výstupu pro PIC (16F1938, interní osc 16 MHz).
Původně jsem si myslel, že to obejdu nějakým PWM výstupem na kterém budu jen nastavovat frekvenci, duty nechám na 50% a repráček se s tím obdélníkem nějak srovná. Jenomže jsem zjistil, že na PWM nenastavím nižší frekvenci než 1 kHz. (no, měl jsem pochybnosti i o dosažitelné hlasitosti...)
Tak jsem začal hledat jějaký chytrý obvod, který bych pověsil na i2C. Našel jsem KX1400.
Bylo mi na něm sympatické že nejen umí přehrávat uložené zvuky, ale i vydávat tóny o zadané frekvenci, dá se u něj řídit výstupní hlasitost a obsahuje nf zesilovač třídy D, takže i na 5 nebo 3.3 V by mohla hlasitost být dobrá.
Nepatrná spotřeba (1uA ve standby), široký rozsah napájecího napětí (2.7-5.5V), a to všechno v SOIC 20 pouzdře. no zkrátka miláček.
Má jedinou nevýhodu - že už se nedělá :(

A aby těch požadavků nebylo málo, rád bych něco, u čeho se dá tón třeba i měnit (ulaďovat) Něco podobného můžete slyšet třeba tady. To by se s tím KX1400 asi dalo.
Nejraději bych byl, kdyby to zvládlo i dva nebo více tónů současně (aby se na tom dalo zahrát něco jako složený akord)

Napadá vás něco? Máte s nějakým takovým obvodem třeba i vlastní dobré zkušenosti?[/url]

Díky za každé nakopnutí správným směrem!
Vladimír

Napsal: 24 led 2014, 12:18
od weed_smoker
Napadá mě COVOX,třebarayerův bez těch 4 diod BAT (ty jsou tam jenom na získání napájení z výstupů ovládání,místo nich se dá k OZ 5V z aplikace).Ovládá se to jako převodník D/A (jde s tim generovat vpodstatě cokoliv).Nevýhoda je,že to sebere celej jeden port MCU a někdy složitost kódu.

Napsal: 24 led 2014, 14:27
od FHonza
Při stavbě hraček pro děti (železniční přejezd a ZOO) jsem se pro zvukový výstup inspiroval zde. Je to vlastně primitivní 1bit D/A převodník. Jako "zesilovač" jsem použil klasické zapojení s LM386. Výsledek je překvapivě dobrý.

Napsal: 25 led 2014, 13:53
od VirtualMan
Nojo, no právě to je ten problém, že u těchto řešení musím zaměstnat procesor kompletním generováním té sínusovky. Já bych moc rád nějaké řešení s obvodem podobným tomu, který jsem uvedl prve, do kterého jen po sběrnici pošlu frekvenci a dobu trvání, a dál se nestarám. On už je ten procesor tak dost zaměstnaný provozem na sériové lince a spoustou matematických operací, které musí zvládat v reálném čase :(

Napsal: 25 led 2014, 14:11
od serviceman
Tak jeden další procesor.

Napsal: 25 led 2014, 14:32
od VirtualMan
... a zase to napadlo někoho jiného dřív než mě.... :evil:
No, možná to tak dopadne. Ono to ve výsledku může být i levnější řešení, než s nějakým specializovaným obvodem.
Já jsem tak nějak tajně doufal, že třeba někdo zná nějakou novější variantu toho KX1400 nebo nějaký podobný. No, co naplat, asi se už nic takového nedělá... :cry:

Napsal: 25 led 2014, 21:11
od FHonza
A co něco takového ? Na 1GB se vejde hodně vzorků

Napsal: 25 led 2014, 22:19
od VirtualMan
No, nevyčetl jsem nikde, že by to umělo generovat zvuk, asi jen přehrávat. S nějakým zesilovačem už to zabere trochu víc místa, než bych tomu chtěl obětovat.
Přesto dík za snahu. Každý tip může být užitečný, třeba i pro někoho, kdo řeší podobný problém.
Dneska se mi podařilo najít eshop, kde ten KX1400 mají za příjemné dva dolary. Má to jediný háček. Poštovné do ČR mi to napsalo 60 USD :( Takže vlastně zase nic..

Napsal: 25 led 2014, 22:22
od Celeron
To je odrazovací poplatek pro rozvojové země. Taky jsem se s tím už párkrát setkal:cry:
Jirka