Fórum témák

» Több friss téma
Fórum » PIC és LPT port áramerősség
Lapozás: OK   1 / 1
(#) fejesjoco hozzászólása Ápr 3, 2007 /
 
Helló! Mostanában kezdtem PIC-ekkel foglalkozni, már építettem egy AN589-es programozót, és működik is, szóval egy csomó hogyan-os kérdésre tudom a választ, és sok ilyen cikket látni mindenfelé, viszont néhány miért-re még nem találtam semmit (Google, datasheet, stb.) A téma a portokon menő áramerősségek. Annyit tudok, hogy figyelni kell rá, hogy ne menjen túl nagy áram, mert meghibásodhat akár a PIC-em, akár az LPT portom, erre megvannak a megfelelő módszerek, oké. És akkor íme a kérdéseim.

Az AN589-ben (és egyéb programozókban is) a PIC ICSP-s adatlába (a pdf-ben RB7) dróttal van rákötva a párhuzamos port egyik input lábára. Itt mi korlátozza az áramot? A PIC és/vagy az LPT port oldalán muszáj lennie valaminek, mert ugye egy dróton 0 ellenállással akármekkora áram mehetne. Mint mondtam, működni működik, csak szeretném érteni is. (Lemérni most sajnos nem tudom, hogy valójában mennyi áram folyik ott, de ha lenne valami beépített védelem, akkor a LED-ekhez is fölösleges lenne ellenállásokat pakolni, pedig nem láttam még olyan áramkört, ahol ne lett volna LED-del sorban egy ellenállás is.)

Minden válaszomra magyarázatot adna egy szimulátor. Nézegettem Multisimben az áramkört, mindent bele tudok építeni az AN589-ből, kivéve a két szélét, nem tudom biztosan, hogy mit kellene odarakni. LPT port részéről az áramkör inputjának egyszerűen 5V-ot vagy földet raktam, de hogy az áramkör outputját hogyan szimuláljam, az már komoly fejtörést okozott. Valaminek nyelnie kellene az áramot, de minek, és mennyit? A Multisimben tudok igazi PIC komponenst beépíteni, de abba semennyi áram nem folyt bele, és még nem jöttem rá, hogy miért. Gondoltam, PIC helyett egy ellenálláson keresztül egy földbe vezetem például az MCLR vezetéket, de ehhez tudni kellene, hogy mekkora az az ellenállás, az adatlapban nincs ilyen érték. Ha simán földbe vezetem az MCLR-t, jó sok amper megy rajta, szóval valami ellenállás biztos van a PIC-be építve. Megnéztem adatlapon a port felépítését, de nem segített túl sokat.

Az LPT porttal kapcsolatban meg még több a homály, annyira jöttem rá, hogy nem igazán szabványosak, elég sok minden előfordulhat.

Mindez azért kell, hogy ha majd magam tervezek áramkört, akkor jól tudjam szabályozni az áramerősségeket. Tehát összefoglalva: vagy az kellene, hogy tökéletesen szimulálni tudjam mind a PIC, mind az LPT portokat, mindkét irányban, vagy elég tudás kellene ahhoz, hogy fejből vágjam, hogyan működnek ezek a portok valójában. Olyan szinten kellene mindez, hogy például mi történik, ha egymással "szembe" kötök egy LPT output és egy PIC output irányú portot, vagy hogy egyáltalán létezik-e full-duplex kétirányú pin, vagy az LPT port is olyan, mint a PIC, hogy konfigurálni tudom inputnak, vagy outputnak, de egyszerre csak az egyik, stb. Ehhez várok segítséget, akár RTFM is jöhet konkrét forrásmegjelöléssel. Itt most csak néhány konkrét kérdést írtam példának, ezen kívül még van pár, tehát valami általános infó kellene. Köszi előre is!
(#) Norberto válasza fejesjoco hozzászólására (») Ápr 3, 2007 /
 
Hali!

Üdv a fórumon :yes:

Én "hirtelen felindulásból" ennyit találtam:

LINK

Kb. az oldal negyedénél tárgyalja ezeket az áramos dolgokat, hogy milyen módban hány mA-rel lehet terhelni.
(#) Kera_Will válasza fejesjoco hozzászólására (») Ápr 3, 2007 /
 
1szerű a dolgod ha nem akarod magadnak bonyolítani!

LPT kimenetre tegyél 74244/74245 busz meghajtó IC-t és akkor tuti hogy 1 ttl kapuval terheled be a LPT portodat IC után meg annyi ttl bemenetet raksz amit az adatlapjuk megenged 10-20 ttl inputot tud hajtani legalább mert ezek direkt TTL buszmeghajtó ICk.
Adatlapjuk ezt is megmondja 1ik két irányú aszem a 245, a másik irányú a 244es

adatlapok pl.: www.alldatasheet.com oldaslon elérhető.


Ha meg optocsatolót raksz akkor még a potenciál leválasztás is megoldódik.



PICek adatlapjaiban ot van az összes láb I sink I load paraméterei ...
(#) fejesjoco válasza Norberto hozzászólására (») Ápr 3, 2007 /
 
Megvan, azt írja kijelentő módban, hogy ennyit meg annyit sinkelnek illetve source-olnak. Ha dróttal földbe vezetem a logikai 1 output értéket, akkor elvileg a 0 ellenállás miatt végtelen nagy áramerősség lehetne. Ha most a source current 15 mA, az azt jelenti, hogy végtelen > 15, ezért valami elfüstöl, vagy a belső védelem miatt egész pontosan 15 mA fog rajta futni, és nem lehet megölni? (És ebben az esetben védelem nélkül rakhatok rá LED-eket is?)
(#) fejesjoco válasza Kera_Will hozzászólására (») Ápr 3, 2007 /
 
Az AN589-ben is 74LS244 van néhány lábnál, és ezt értem is, de mint írtam, van olyan drót, ami kikerüli ezt az IC-t, és csak lazán 0 ellenállással összeköt két lábat, és ezt már nem értem. Illetve a programozási feszültséget ha akarnám se tudnám ilyen driverrel csinálni. PIC16F870-em van (hát ez van), ennek az adatlapján csak egy globlális sink/source current-et említ, itt is az a kérdésem, amit az előző hozzászólásban írtam: ha akarom se tudom ennél jobban terhelni, vagy éppenséggel tudnám, de ez az a határ, amit még elfüstölés nélkül túlél?
(#) fejesjoco hozzászólása Ápr 3, 2007 /
 
Ja még egy apróság. Az LPT portnak van egy tápja, aminek van egy földje meg ahhoz képest egy +5 voltja, evvel hajtja meg a kimeneti pineket. A PIC programozómnak van egy másik tápja a saját földjével és a +5 voltjával. De a feszültség nem egy abszolút dolog, tehát a 2 tápnak nem szükségszerűen ugyanaz a földje, ha összekötöm őket, akkor lehet különbség, és akkor ellenállás nélkül repülhet az áram a földvezetéken a nagyobbik feszültségtől a kisebbik felé. Mi garantálja azt, hogy ha én összekötöm az LPT port földjét a programozóm földjével, azok azonos feszültségen vannak?

Úgy érzem, ez nem hülye kérdés, mert programozókban szoktak olyat, hogy egy 7812-es földjét megemelik 2 diódával, hogy elérje a 13V-os programozás szintet az igazi földhöz képest. Ha én ezek után nem az eredeti, hanem a megemelt földet használom az áramkör további részében, akkor minden ugyanúgy működni fog, lesz egy X meg egy X+12V feszültség szint, de X nem lesz egyenlő táp földjével. Egy adott áramkörön belül ebből tényleg nincs baj, de ha 2 áramkör van, 2 külön táppal, akkor szerintem igenis lehet különbség.
(#) eSDi válasza fejesjoco hozzászólására (») Ápr 3, 2007 /
 
Lassan túlbonyolítod a dolgot...

Egy tápnak a föld vezetéke de kívjuk inkább 0V-nak vagy testpontnak... az a referencia pont amihez képest mérsz. persze lehet más ponthoz is mérni... Vegyük ezt a 7812-es példát... Ha a stab IC testpontját megemeljük egy diódával akkor a testpont és a stab IC kimenete között kb. 13V lesz, de ha a stab ic testpontjához méred, akkor marad a 12V.

A test pontokat összekötheted, ha nem szükséges galvanikus leválasztás...

Mi garantálja azt, hogy ha én összekötöm az LPT port földjét a programozóm földjével, azok azonos feszültségen vannak?


A testpontoknak mindíg 0 potenciálon kell lenniük, ha nem akkor már valami gubanc van...

7812.WMF
    
(#) fejesjoco válasza eSDi hozzászólására (») Ápr 3, 2007 /
 
Idézet:

A testpontoknak mindíg 0 potenciálon kell lenniük, ha nem akkor már valami gubanc van...


De éppen az a baj, hogy nincs abszolút 0. Azt a föld-emelős példát azért mondtam, hogy egyazon áramkör mehet a táp földjéhez képest 0 és 12 vagy 1 és 13 volttal, az áramkörnek tök mindegy, neki csak a min és max közötti különbség számít. De a két esetben a két föld nem egyenlő, a két föld összekötése tényleg gondot okozhat.

Az LPT port földje X, úgy tesz ki logikai 1-et a portjára, ha X+5-ös feszültséget tesz rá, X akármennyi lehet, csak a föld és az érték közötti különbség számít. Az én áramköröm pedig Y és Y+5 volttal dolgozik. Ha ugyanabba a konnektorba dugom a labor tápegységet meg a számítógépet, akkor jó eséllyel X=Y, és minden működik (ahogyan működik is a valóságban), de ki mondta, hogy X=Y mindig fennáll? Tegyük fel, hogy X=Y, ekkor én a föld diódás emelésével Y+1 és Y+6 volttal továbbra is tök jól tudom használni a saját áramköröm, és mi van, ha ekkor kötöm össze a két földet? Akkor már tuti lesz a földjeik között különbség, és mégis, a két áramkör külön-külön tök jól működik a saját privát 0-jával.

Szóval arra akarok kilyukadni, hogy két különálló tápról hajtott áramkör esetén semmi garancia arra, hogy a két föld között nincs különbség. Egy áramkörön belül egy globális föld van, ezért nem téma, csak összekötés esetén.
(#) wlaci válasza fejesjoco hozzászólására (») Ápr 3, 2007 /
 
Két galvanikusan egymástól független táp, a tápok egy-egy tetszöleges pontján összeköthetők. Általában ezt nevezik (használják) utánna viszonyitási pontnak, 0V-nak. Természetesen, a két összekötött pont soha nem lesz egyforma potenciálon (nehézkes szupravezetőt előállítani, és még van indukció is). Ez a feszültségkülönbség általában tized voltnál is kisebb szokot lenni, ami a digitális áramköröket nemigazán zavarhatja. Egy mezei pc-ben elméletileg négy táp, + a hálózat védővezetője van ilyen módon közösítve, és semmi probléma nincs vele. Nagy távolságok, és vagy elektromágnesesen erősen szenyezett(pl.: ipari) környezetben ez nagy problémát jelent. A garanciát erre, az áramkörök összekötését megtevező és kivitelező ember(ek) nyujtja.
(#) fejesjoco válasza wlaci hozzászólására (») Ápr 3, 2007 /
 
köszi, ez a része most már tiszta
(#) fejesjoco hozzászólása Ápr 5, 2007 /
 
Na jó, akkor egyszerűsítem a kérdést, a legfontosabb, amit tudni szeretnék: sok áramkörön egy ic outputját lazán dróttal rákötik egy másik ic inputjára, ez biztonságos-e, nem kell rá áramerősséget korlátozó ellenállás? (Például lpt port, pic, 74ls244, mindenféle kombinációban és irányban.) Ha korlátlanul nagy lehetne az áramerősség, mindkét ic meghalna. Adatlapon az input vagy output max áramerősség (sink, source current) azt jelenti, hogy ettől nagyobbnál meghal, vagy azt, hogy ettől nagyobbat egyáltalán nem enged? Feltételezem, hogy - mivel még nem láttam így ic-t meghalni - van valahol valami korlátozás belül, hogyan lehet evvel számolni? (Ha ic-t passzív alkatrésszel, például leddel kötök össze, ott már igenis kell korlátozó ellenállás, és ehhez ki kell tudnom számolni, mekkora áramerősségre számíthatok az ic-ből/-be). Tudom, hogy ezt érzésre szokás csinálni, mindenhova egy 5-10k és ennyi, de érdekelne, hogyan jön ez ki.
(#) butyok hozzászólása Ápr 6, 2007 /
 
Sziasztok!

Fél éve találkoztam először PIC-ekkel. Most ott tartok, hogy a szakdolgozatomat írom . 16F877-es soros vonalon kap 3 kijelzendő értéket és ezt egy 5digites 7 szegmenses kijelzőn jeleníti meg.
Kész a hardver, és a szoftver is, de nem tudom hogy felépíteni a szakdolgozatot.

Ha esetleg van valakinek Pic-es hardver szoftvertervezéssel kapcsolatos doksija, netalántán hasonszőrű szakdoga, amiből ötletet lehetne meríteni, nagyon hálás lénnék ha segítene.
Előre is köszönöm!

Üdv: Butyok (judyka@freemail.hu)
(#) Kera_Will válasza fejesjoco hozzászólására (») Ápr 6, 2007 / 4
 
Egyszerűen Ohm és Kirchoff törvények alapján.

előtét ellenállás méretezése LED hez :

Paraméterek:

Ulednyitó => adatlapja 1.5 - 2.5 - 4 Volt (szinétől függ)
Ilednyitó => adatlap 1-10 mA
Ucc / Udd=> áramköri tápfesze

Rsoros = (Ucc-Ulednyitó) / Ilednyitó

Ilednyitó lehet kevesebb mint amit az adatlap ir , mert az adott fényerőt takar nagyobb soros előtét ellenállás esetén kisebb ledfényerő lesz.

Az IC-k kimenetei/bementei rendelkeznek belső ellenállással , a tápfesz, és a munkapontbeálító elemeik határozzák meg az egységek terhelhtőségét.
Tápfesz általában az kötött TTL / CMOS / ECL ... stb családtól függ.
Munkapontjaik is "fixek" ezt az adatlapok tartalmazzák mint sink / load értékek.



(#) deguss hozzászólása Ápr 6, 2007 / 4
 
Fejesjocónak üzenem, hogy ne izguljon ennyit az áram miatt, ha még nem jött volna rá, most felvilágosítom.

Flash memóriás PIC égetés közben igényel egy 13-13,5V-os feszültséget, amit a master clear-re kell csatlakoztatni. Ebbe a PIN-be szinte nem folyik áram, igen minimális az áramfelvétel.

Ezen túl kell neki a tápfeszültség is, ami 5V, gyakorlatból mondom, hogy ált. nem több 2-3mA-nél!

A logikai be- ill. kimeneteken nem folyik áram, gyakorlatilag. A clock-ot a számítógép adja, és a PIC erre csatlakoztatott PIN-je "z" módban van (magas impedanciájú, bemenetként van kapcsolva)

A data vonalra kapcsolt PIN-t a PIC írás közben szintén bemenetre állítja, olvasás közben pedig kimenetre. Mivel nincs a soros porton kétirányú PIN, ezért van közösítve egy ki és egy bemenet egy ellenállással. Az egyiken olvas a szgép, a másikon küldi ki az adatokat.
De sehogy sem folyik
Idézet:
„végtelen áram”
, és soha nincs összekapcsolva két kimenet!

Remélem érthető így is, és nem kell mindent matematikailag bebizonyítani, ahogy azt Te tetted az ikszekkel meg ipszilonokkal
(#) fejesjoco hozzászólása Ápr 6, 2007 /
 
Kera_Will:
A ledeket tudtam, ráadásul kifejezetten meglepődtem, hogy neten mennyi led számító script van, pedig ez még nagyon egyszerű Amit utána írtál, pontosan ez az, amit tudni szerettem volna, fejben az jött ki, hogy muszáj valamilyen belső ellenállásnak lenni (ami ráadásul nem is fix, lemértem egy 7407 terhelését, nagyságrendileg más kimeneti terhelésnél a látszólagos belső ellenállás is nagyságrendekkel különbözött, így lett kb. mindig ugyanaz a kifolyó áram). Szóval nyugodjak meg, lehetetlen belőlük túláramot kiszedni és evvel megölni őket, ezért vannak lazán összekötve az ic lábak, már megnyugodtam

deguss:
Valahogy én is sejtettem ezt, de a kelleténél kisebb volt a tudásom, nem tudtam, hogy lenne valami az ic-ken belül, ami korlátozza az áramot, és a default fizikai alapok miatt 0 ohmon tényleg végtelen áram folyna Most már duplán megnyugodtam, ezek szerint ic-k összekötésekor tényleg nem kell áramkorlátozó ellenállás.

Köszi mindenkinek, ezennel fel vagyok világosulva
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem