Pár poznámek:
a) některé porty se chovají jako klasické TTL výstupy – tedy H = 3V při
3 mA, v L „požerou“ 16 mA. Proto je možné, že se dioda možná
nerozsvítí – výstup portu ji nestačí vybudit. PC817 potřebuje pro diodu
proud 5 mA při odporu 510 ohmů je to napětí na výstupu min 3,5 V – to
každý port nedá.
a) aby to nedělalo negaci netřeba na výstupy „věšet“ tranzistorová
hnízda, stačí zapojit anody diod na +5V a katody na výstup portu. Pokud to
chcete nechat zapojené jako autor a dodatečně negovat, tak tam raději dejte
brouka s negátory
c) tím „nenegujícím“ zapojením (anody na +5V a katody na port) lépe
vybudíte optrony
d) všechno na světě má své ale, tady taky: v dnešní době se na nových
boardech začaly vyskytovat porty, co „dají“ 2,5 mA v L i H – ty už
optron nevybudí ani náhodou. Tam nejdříve musíte dát nejdříve TTL hradla
jako „zesilovače“ a pak teprve optrony…
b,c) pokud je to port s pull-upy, tak rozhodne ano, to me nenapadlo zminit. Kdyz uz jsme u toho, tak bych rad upozornil, ze porty mohou mit ridici a datove signaly resene jinak.
ad d) Pozor na to, dnes koupíte optrony, co jsou citlivé jak prase, za půl
roku zase jiné, které nesepnou a nesepnou. Prošly mě rukama tisíce optronů
a každá várka se chovala jinak… Z toho plyne jediné poučení a důrazné
varování: nikdy nepoužívejte součástky mimo oblast danou
datasheetem! I když to důkladně odzkoušíte, zda to chodí
v celém rozsahu napětí teplot a dalších vlivů (jak radí kolega výše),
stále to odzkoušíte pouze pro jednu konkrétní sadu součástek. Až
koupíte tu stejnou součástku příště, tak už nemusí být „tak
dobrá“ a bude na hranici parametrů datasheetu a ono to nemusí fungovat
„z nějakého podivného a nevysvětlitelného důvodu (vždyť to posledně
fungovalo)“. Také se vám může uplatnit vliv tolerancí ostatních
součástek (Murphy funguje vždycky): když uděláte prototyp, všechny
tolerance součástek se uplatní v „dobrém“ směru – přístroj
funguje. Až vyrobíte 50 ks přístroje načisto, všechny tolerance
součástek se spiknou proti v Vám…
A teď se vrátím k a). Píšete všechny porty mi vybudily
… až na jeden NB… A to je ten problém: když to na jednom NB nefungovalo,
tak už to nebyly všechny porty. A navíc, když se najde
jeden nefungující port, kde berete jistotu, že se nenajde další
„nefungující“ port?
Ostatně mé zkušenosti s opravani těch NC strojů, které vyrábíme, jen
potvrzují má slova o nebezpečnosti používání součástek mimo rozsah
datasheetu. Často mi volají zákazníci, že museli vyměnit třeba 10 let
starý počítač („nafouklé“ kondíky, odešel HDD a MB nový HDD
tvrdošíjně odmítá atd.) a s novým počítačem stroj ani necukne. Pošlu
jim hradlový „zesilovač portu“ (viz minulý díl) a stroj se naprosto
v pohodě rozběhne…
Myslim, ze zde se vyplati rozlisovat ruzne situace:
Ten notebook nenakrmil ani 74245 (funkcne ekvivalentni s hradlovym zesilovacem portu) …
Ano, dobře jste to rozlišil:
a) pokud dělám něco jen jednou, můžu v tom udělat jakoukoliv prasárnu,
„ono to nějak dopadne“
b) vyrábím-li něco opakovaně, musím se striktně držet datasheetu, „nebo
se to časem vymstí“
ale máme tu i za c) pokud píšu návod na výrobu pro druhé, měl bych se
také držet datasheetu a neokecávat to „že i ty nejlevnější optrony
z GM jsou citlivější, než udává datasheet“. Ne všichni si nakoupí
součástky v GM. I v GM může mít přístí várka součástek jiné
vlastnosti, ale stále budou splňovat DS…
To jsem neokecaval. Poradi bylo: Paralel da 5mA a optron potrebuje 5mA → ne kazdy paralel da 5mA → ale me to chodilo … a nekterym optoclenum staci i mene, nez 5mA, takze asi proto.
Pokud to nekomu nechodi, pripojil bych LED za hradlo, nebo do kolektoru NPN tranzistoru (4k7 z paralelu na bazi, emitor na zem, seriove s LED cca 470 ohm – podobne schema bude v pristim dile).
Duvod, proc jsem do navodu dal LED na paralel proti zemi je ten, ze cloveku casto staci jen vystupy a pak nepotrebuje odnikud z pocitace vyvadet 5V. Vzdycky mi to chodilo (nepocitaje v to jednoho notebooka, ktery nezvladne nakrmit ani 74245, coz je zjevna prasarna vyrobce).
proud na vstupu PC817:
PC817 ma CTR min 50%(pri 5mA, pri 3mA je to asi 0 10% min podle grafu)
Pokud mam na vystupu pullup 3k3 na 5V a chci budit TTL vstup, potrebuju 0.8, takze 1.3mA. Pri 50%CTR pro nejhorsi pripad mi vychazi 2.6mA na vstupu. Navic muzu pouzit nejaky selektovany typ, ktery ma garantovane minimalni CTR.
(a v pripade klasicke 7400 ignoruju vstupni proud v nule … pro HCT je max 1uA)
Pokud mas nejaky drat, ktery ti svou urovni stanovuje aktualni smer toku dat, tak se za mnou stav v kanclu a ja ti ho nakreslim.
Pokud nemas, tak je to o neco „zajimavejsi“ … asi by slo vymyslet neco s otevrenymi kolektory a detekci smeru toku proudu operacnim zesilovacem (je ta logicka „1“ moje, nebo ji sem vnucuje druha strana?).
Tak to je teda konstrukce ;-) Proc nepouzit rychly 6n137 a vystup primo na i2c? minimalne by odpadly ty operaky. A cela finta s kondenzatorovym nasobicem? Dostatecny a maximalni proud na vstupu optronu je dost od sebe, staci to dimenzovat na min. napeti, co da parport. A maximalne pouzit jeden p-fet, pokud ma byt cely prevodnik v klidu, kdyz se nepouziva.
Docela chapu konstrukce, kdyz jsou KISS … ale tohle je strasne komplikovane s minimalnim prinosem.
Spis bych tam pridal nejaky menic pro napajeni izolovane casti, aby nemusela byt napajena z aplikace. A pokud regulovat napeti na vstupu, tak spis pouzit nejaky spinany flyback menic. Je to par soucastek a bude daleko vyssi ucinnost.
Proc jsem nepouzil 6N137 si uz nepamatuju. Komplikovane to je s tim souhlasim ale ze by to melo minimalni prinos si nemyslim.
Komplikace je tam ten menic a ten je kvuli tomu ze zadani bylo aby to chodilo i na starych nenormovanych paralelnich portech. Nektere porty mohou dat nizke napeti jine zase nizky proud.
O flybacku jsem uvazoval ale nepouzil jsem ho ze mi tehdy ty menice byly nesympaticke. Sehnat civky bylo slozitejsi nez kondenzatory a nemel jsem na ne merak. Taky byly ruzne cipy o nichz jsem tehdy mel dojem ze se blbe shanely, nebo v jednom krame mely 1 cip v jinym zase jinej, tohle jsem chtel navrhnout tak, aby to slo postavit z beznych soucastek co se sezenou vsude.
Nazdar Clocku. Sorry za OT, ale nemel bys zajem spolupracovat na opensource PCI/PCIe „zvukovce“? Jednalo by se o prijimac a vysilac nekolika AES3 (SPDIF) (pripadne i jinejch rozhrani) signalu na karte + externi A/D a D/A prevodniky zabastleny do nejaky krabice. Jde mi o vytvoreni nejaky low-cost nahrady za profi prevodniky, pro pouziti zejmena s Ardourem. Zatim mam ve VHDL napsanej a na Spartanu 3 odzkousenej pomerne minimalistickej prijimac a vysilac AESu. Jako ADC a DAC bych pouzil itegrace od Cirrus Logic. Hm?