Pomoc s výběrem/stavbou levného DA převodníku, 4÷8bit, 0÷10V

Ahoj, nemohl by me nekdo poradit levny digitalne / analogovy prevodnik? Rozliseni mi staci i jen 4bity (pripadne max 8bit) , analogovy vystup od 0 do 10V. U 4bit rozliseni muze byt klidne i paralerni, ale u vetsiho rozliseni pak uz radsi seriove.

Ma nekdo nejaky doporuceni?

:arrow_right: administrator: přejmenováno z "jaky pouzit D/A prevodnik"

Na 4bit převodník stačí 5 odporů a operák.

To je hezke co staci, ale schema by pomohlo vice :slight_smile:

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Promiň, ale nejsi až moc pohodlný? Google mi během 5 sekund našel to co chceš google.cz/#hl=cs&source=hp&b … 9c34f8fc33 Nejdřív zkus hledat a pak se tu zeptej na to, čemu nerozumíš.
Co je to v dnešní době za módu, chtít po ostatních všechno jak na stříbrným podnosu (namalovaný schéma) a zvlášť takovéto základní věci. To ty mladý jsou líný už se i trošku sami snažit (já vím, přemýšlení bolí :smiley: )? Si pamatuju jak jsme sháněli informace, když žádný internet nebyl. Jediným volně dostupným pramenem bylo jen Amatérské rádio a knihy ve škole a hlavně vlastní hlava a umění si sám poradit.

Omlouvám se za ten zůsob, jak jsem to napsal, vím že sem moc nepřispívám, většinou jen čerpám informace, ale tahle pohodlnost hlavně těch mladých mi nějak vadí :slight_smile:

Jojo, dneska je to takový jiný, příliš hektický, a ti mladí dneska už snad spolu ani jinak než přes ICQ, Facebook a SMS pořádně komunikovat neumí… Dřív, když člověk potřeboval radu od kámoše, tak sednul třeba na kolo a jel za ním, žádný mobily… byly to krásný časy. To jsem se ale nechal trošku unést a OT zavzpomínat, tak už radši stačí :smiley:

No, já se musím Borga trošku zastat, protože ono to není vždy tak jednoduché. Klasickou ukázkou jsou právě odkazy, které zde uvedl Kuto. Prošel jsem cca prvních deset a nevybral bych si ani jeden. Jsou to téměř vždy teoretické články, popisující principy převodu a převodníků, ale žádné hotové, použitelné schéma.

Všechny mají navíc jeden společný problém - vyžadují symetrické napájení. Přitom často je potřeba jednoduchý D/A převodník připojit k výstupu mikrořadiče, kde je téměř vždy pouze jedno nesymetrické napájení 0 - 5V.

Řešil jsem přesně stejný problém asi před půl rokem a vhodné schéma jsem na internetu nenašel (možná neumím hledat :slight_smile:).
Přitom mám ze starých zásob velké množství obvodů DAC08, takže jsem je chtěl samozřejmě použít. Nenašel jsem však jediné vhodné schéma s tímto převodníkem a operačním zesilovačem v nesymetrickém napájení. Vlastně jedno jsem našel, ale nefungovalo.

Hledal jsem i u různých dodavatelů, zda existují nějaké moderní A/D převodníky pro nesymetrické napájení. Samozřejmě existují, ale v provedení se sériovým vstupem dat. Já (a zřejmě i Borg) však potřebujeme klasický paralelní A/D převodník.

Borg sice neuvádí, zda mu vadí, či nevadí symetrické napájení, ale předpokládám, že by spíše potřeboval nesymetrické.

Mám pro vás ostatní následující nabídku: dám zcela zdarma větší množství obvodů DAC08 výměnou za fungující schéma A/D převodníku s tímto obvodem a s nesymetrickým napájením.

A ještě poznámku k onomu stesku Kuta ohledně “lenosti” mladé generace.
Já sám patřím již k vysloužilým ročníkům a proto vím, o čem mluví. Ale dnes je trošku jiná doba a lidi zkrátka nechtějí trávit zbytečně čas přejížděním na kole ke kamarádovi, když mohou využít internet. A myslím, že zvláště, když už člověk není nejmladší, musí velmi dobře hospodařit s každou minutou volného času, protože ví, že mu ho už nezbývá zdaleka tolik, co těm mladým.

A dále si myslím, že tyto fóra jsou právě o tom, aby lidé, kteří dovedou IHNED poradit a třeba ono schéma, které by jinému IHNED pomohlo, mají po ruce, udělali “klik” a bez velkých řečí druhému pomohli.

Ale je to jen můj názor, nikomu jej nenutím … :slight_smile:.

Vlasťa

Já nikoho nesoudím, nemám to ve zvyku, ani nikoho nenutím jezdit někam na kole, ostatně sám jsem napsal, že dneska je ta doba taková hektičtější… Když zde máme zdroje jako je Internet, tak proč je nevyužít, tehdy nebyly. Tedy jen jsem prostě zavzpomínal, a s těmi mladými (obecně) si za tím stojím, stačí se rozhlédnout… kolikrát se opravdu ani nějakým hledáním nenamáhají a rovnou se nesmyslně ptají (často dost tragickou češtinou), to je prostě fakt a já jej jen konstatuji. Rozhodně to nemělo být vztaženo na někoho konkrétního, každý ať se nad tím zamyslí sám, jestli takový je nebo není.

Jinak přikládám obrázek. Je to z knihy od D.Matouška, hned z té první. Jestli to ale funguje nejsem schopen říci, nemám DAC0808 na vyzkoušení (asi by ale mělo, když to byla placená informace…?).

Ještě jsem to (samozřejmě až potom, co jsem to vyfotil) našel i s legendou tady.

Hned první zapojení pana googla (lucy.troja.mff.cuni.cz/~tichy/el … odnky.html) je naprosto dostatečné. Ano, potřebuje záporné napájení.
Je to problém? Není nic jednoduššího, než posunout potenciál svorky + operáku nad GND. Bude-li V+ = Vref/2 (zde pravděpodobně 2.5V) a Rn=paralelní kombinaci všech váhových odporů, bude se výstup OZ pohybovat v rozmezí 0-Vref/2. Napětí bude inverzní (0x0=Vref/2, 0xF=0V). To se dá řešit snadno programově nebo hw dalším OZ.
OZ musí být rail-to-rail.
Stejně tak lze váhové odpory připojovat na gnd místo na Vref (Vcc) a výstup se bude pohybovat od napětí na + operáku výše. Záleží na zesílení (Rn).

Jak to má být rychlé a k čemu to má sloužit? Kdyby pomalé (řádově jednotky vzorků/s), PWM by bylo jednodušší.

Jinak microchip má hejno celkem levnejch D/A, jsou dostupný i u nás.
microchip.com/ParamChartSear … &pageId=79

Mohu ti poslat tento převodník, mám jich dost.

Edit: Tak pardon, teď jsem si všimnul že potřebuješ výstup 0 - 10V
MAX522.pdf (116 KB)

Ja si nemyslim, ze by ty odkazy z Googla vubec nepomohly. Princip ukazuji a Borg zadne blizsi udaje nenapsal.

Ale abych jen nekecal… ja jsem DA prevodnik resil pomoci free samplu od Analog Devices v podobe obvodu rady AD5337/5338/5339. Lisi se jen sirkou datoveho slova (8, 10 a 12 bitu). Jsou to dvoukanalove DA prevodniky na I2C. Free samplama lze samozrejme resit jednokusove domaci bastleni, nevim jestli tyto obvody lze v CR sehnat, ani jsem to nezkoumal, me stacily 2 kusy.

Tedy koukam, prisel jsem ted ze zamestnani a jak se nam ta diskuse rozjela. Na svoji obhajobu musim rici, ze jsem nejdrive prohledaval ruzne stranky, kde se daji zadavat parametry obvodu a vysledkem je seznam vhodnych, bohuzel vsek vetsina u nas nedostupnych, nebo pekne drahych a na objednavku a tak j sem to vzdal. Pak jsem hledal dal a jak tu bylo uvedeno, spousta ukazek funkce, ale ne odzkouseny priklad. A kdybych byl tak liny, tak bych se na lidi vys… a nedal bych si tu praci kterou doma provadim davat na net. viz. dcc.zde.cz . PS: nejmladsi uz take nejsem.

Jinak opravdu hledam jednoduchy , levny, funkcni prevodnik pro nesymetrické napájení. a vystup v rozsahu 0-10V.

Mozna volim i zbytecne D/A prevodnik, proto popisi pro jaky ucel jsem to chtel pouzit. Potrebuji od MCU ovladat toto SSR rele gme.cz/cz/rm1e23v25-p635-300.html (pokud znate levnejsi typ, stejne funkce, tak klidne dejte take link) , kde 0V odpovida otevreni 0% , 5V - 50% a 10V - 100%. Pokud nekdo poradite neco jineho nez D/A tak budu rad.

Jinak ono se to zkousi, kdyz je nekdo z vetsiho mesta, ale nejbizsi prodejce soucastek je 120km daleko a na postovnem se to pekne prodrazuje :frowning:

Z webu a info, že jde o řízení SSR asi pro světla soudím, že na rychlosti vůbec nezáleží. Vytvořil bych tedy PWM (nevím, jesli nemá mcu hw podporu, ale určitě by stačila i sw), na výstupní pin dal RC článek a zvednul to na dvojnásobek operákem.

Pokud tím chceš jen řídit světla, je veškrý DA převod i kur…sky drahé SSR zbytečné. Na to stačí přímo výstupem na optotriak, který může případně řídit další silnější triak. Optotriak s triakem vyjdou na 50,-, což mi přijde slušná úspora oproti SSR za 1600,- :wink:.

Jen dodám, že napětí u triaků/tyristorů, které je uvedeno v katalogu, není napětí, při kterém se zničí (obecně zažitý omyl mezi elektroamatéry), nýbrž napětí, při kterém sepne ikdyž neteče žádný proud do řídcí elektrody. Zvyšováním proudu gatem se toto spínací napětí snižuje a při dosažení určité úrovně se prvek chová jako spínač - sepne okamžitě při jakémkoli napětí.
Přímým řízením triaku bez detekce průchodu nulou lze provést regulaci v rozsahu 0(vypnuto), 0-50% nelze, 50-100% lze.

Tak jde o rizeni topneho telesa o výkonu 2000W, do ted to provadelo nejake analogove zarizeni, ktere porovnavalo vnitrni a venkovni teplotu. V soucasne dobe je pozadavek na rizeni podle prebytku v siti, tedy pokud neni faze zatizena, muze se topit, zatizeni faze muze byt ruzne, proto ta regulace, aby se privod vyuzival plne ale nepretezoval. Prave s PWM nemam zadnou zkusenost, jak to presne navrhnout a jak spolehlive(presne to bude). DA mi prisel jako dobre reseni, kde se pomoci reference da ocejchovat vystup.

Když dáš na pwm výstup RC článek, je to prakticky to samé jako DA převodník (jen pomalejší). Napětí na kondiku bude přímo úměrný hodnotě, kterou zadáš do generátoru pwm. 0 = 0V, MAX=Vcc. Když budeš mít napájení procesoru 5V, stačí to už jen zesílit na dvojnásobek.
Pokud procesor nemá hw podporu pro pwm, jde pouze o to, zda to dokážeš napsat. Ovšem nic na tom není.

Ten procesor má timer. Stačí ho spustit a počítat přetečení.
Všechno se odehrává v obsluze přerušení timeru.
Do jedný proměnný si budeš počítat právě počet přetečení, až dojdeš na TOP, tak počítadlo vynuluješ. Hodnota TOP bude záležet, kolik chceš mít rozlišení (pro 4bity bude TOP=2^4-1=15, klidně taky 10 -> 0=0V, 10=10V). Ve chvíli, kdy nuluješ počítadlo, nastavíš pin na “1”. To je jedna část. Druhá je určení, kdy pin vypnout. Na to je druhá proměnná, ve který máš požadovaný výstup. Tu porovnáváš s počítadlem a když se shodují, vypneš výstup. To je celé. Ješte je dobré přidat podmínku, když je požadovaná hodnota 0, aby se pin při nulování počítadla nezapínal - vytvořilo by to tam několika ns(us) impulz.

Po strance SW mi to je jasne a bezproblemove. Horsi to je stim HW, netusim jak velky R a C pouzit, jak to mapeti pak pomoci operaku zdvojit, tedy presneji, jake hodnoty soucastek osadit. Kdyz pomuze budu rad.

cs.wikipedia.org/wiki/RC_%C4%8Dl%C3%A1nek

Hodnoty R a C budou záležet na rychlosti pwm. f0=1/T. T=RC. f0 bych dal maximálně desetinu fpwm, může být řádově menší.
Např. Pro Fcpu=4MHz, 8b timeru na Fcpu a rozlišení pwm 100 kroků to vyjde fpwm=4e6/256/100=156Hz => f0<15Hz.
Pro f0=1Hz: R=22k a C=47u => T=22e3
47e-6=1.034s, to by mohlo bejt. Kdyby byla potřeba rychlejší odezva, stačí zmenšit kondik.
Co se týká operáku, stačí hledat “neinvertující zapojení oz” :wink:
Pro zesílení A=2 => R2=R1 (např. 10k)
Třeba LM358 umí pracovat se vstupem od nuly, když dáš na výstup zátěž, tak i výstup by měl zvládnout od nuly.

Co se týká RC, je to přesně ten na wiki v odkazu výše, tedy integrační.

Jen se zeptam, nemelo by se pocita misto 4e6 jen 1e6 , protoze strojova instrukce potrebuje 4 takty?

Jinak dik, za perfektni vysvetleni, tohle uz je presne jak jsem potreboval pomoci.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Mozna mi unika nejaky detail, ale to topne teleso je predpokladam na 230V~. Cim mas v umyslu to regulovat, kdyz planujes pouziti DA prevodniku? Nejakym dalsim obvodem, ktery umi ridit stridavy proud? Samotnym pwm, ktere spina triak to taky nebude moc vhodne, nezbavil by ses ruseni. Pokud bych to chtel uregulovat jen pomoci mcu, udelal bych to vynechavanim period napajeciho proudu toho telesa. Ten mcu pak musi sledovat prubeh proudu a podle pozadovaneho vykonu vynechavat urcity pocet period (sinusovek).