Fórum témák
» Több friss téma |
Fórum » LPT vezérlés... Másképpen
Témaindító: CoderKevin, idő: Ápr 23, 2007
Témakörök:
Igen, a BIOS alapállapotba hozza. Csak hogy ne kelljen kikapcsolni a gépet. Akkor az a verzió maradna, hogy kívülről fogok definiálni egy alapállapotot. Mondjuk mind 0. Kapcsolókkal, vagy a kapcsolókkal párhuzamosan kötött vezérlő IC-vel. Elképzelhető, hogy négy bemenetet használok, s akkor ABCD bináris adat kell az alapállapothoz.
a diódátés invertert nem nagyon értem a rajzon. A többit igen.
ha bekapcsolod a gépet az egy alap. miért nem jó az az alapnak? Van valami oka?
A negáció kiegyenlítésére, de látom rosz helyre raktam. a 15-ös és 10-es lábra kell tennem. A dióda nem kell.
Szeretnék egy független reset-et is, ezért kellen alapállapot a gép bekapcsolásától függetlenül. Ha valami gond van. Csak biztonsági okokból.
ha szabad javasolnom a következő megoldást: 10 láb kimemte erer egy 100 Ohmos ellenállás a másik végén egy optocsatolóban lévó tranyó kollektorára megy, a tranyó kollektora pedig a negatívra . Az optócsatoló bemeneti diódát pedig hajtahatod H vagy L szinttel . Azokkal én sorbaszoktam rakni egy ledet ami jelzi a port illetve a kapcsoló állapotát. is. Igy a port védve van.
a 15 lábra edig úgy van kötve hogy a tranyó emitter a soros elelnálláson keresztül a portra a kollektor pedig a + ra. A többi ugyanaz. Az a reset mit resetelne? az előzős hozzászólásban javitanék.
a kollektor egy ellenáláson keresztül a portra az EMITTER a negatívra
Értem. Persze ez csak elméleti rajz. Akarod mondani a 10 láb kimentre egy egy 100 Ωos ellenállás a másik végén egy optocsatolóban lévó tranyó kollektorára megy, a tranyó emittere a negatívra. Ezt minden bemenetnél természetesen így oldanám meg. Ahol negálni kell, ott egy invertert használnék, hogy a kapcsolók mindegyike pozitív logikájú legyen.
Pascalban programoztál LPT?
Évekkel ezelőtt , most a basic-l játszom Kaptam egy basic interpertter tartalmazó I8052 -t é pic-t. Ebből adódóan a pc-n futó programokat is abban iogatom. De ha tudok segitek: mit akarsz resztelni a resettel?
Ez először csak egy port kártya lenne, nincs kitalálva semmihez, amit vezérelne. Úgymond univerzális eszköz. Azért gondoltam a reset funkcióra a bemeneten, hogy ha bármi gond adódik a vezérlés alkalmával, ismét alapállapotba lehessen hozni a bemeneteket. Teszt céljából sem lenne egy utolsó dolog, mondjuk a fejlesztés alkalmával, lenne egy reset funkció. Így nem kéne kikapcsolni a gépet.
Üdvözletem. Kaptam egy elég érdekes feladatot. Van egy elég régi LPT portra tervezett panel, ami lámpák fel és lekapcsolását hivatott végezni. Működését tekintve először egy 74138-as nak egy jelet, hogy melyik lábára megy az utasítás, utána egy 74259-es-nek ad utasítást a tárolásra, eldobásra, végül egy 7406-os elosztja, hogy melyik lámpát kapcsolja (pontosabban annak a nulláját) és felkapcoslódik a lámpa. Eddig jó is volna, de random módon mást is kapcsol. De csak néha. Nincs valakinek valami tippe? Amiket megpróbáltam:
-csináltam egy olyan lábat, ami nem végez semmit, ha arra megy jel és az felkapcsolva beállítani az összes lábat és lekapcsolni -próbáltam alapállapotba hozni a portot és utána kiküldeni az utasítást -ennek a kettőnek a kombinációja -a parancs után üres jelet kiküldeni -BIOS-ban kipróbált módok: ECP, EPP, Bi-directional, Printer (nincs több lehetőség) Ami zavar az egészben, hogy csak néha jön ki a hülyesége. Csatolom a kódot is:
Kötését tekintve úgy működik, hogy 1. adatláb: nincs bekötve 2. adatláb: 74138-as (melyik 74259-es van vezérelve) 3. adatláb: 74259-es (tárol/töröl) 4-6. adatláb: 74259-es (melyik lába legyen programozva) 7. adatláb: 74138-as (úgymond az üres állapotért) A válaszokat előre is köszönöm. Ja és 16 lámpát kell kapcsolni.
Hello, úgy tűnik, zavart szed fel. Én kondenzátorokat tennék az adat és órajel és táp vonalakra a test felé, először 100pF-ot.
Köszönöm a válaszod. Van egy 10 mikroF-os (nem tudom, hogy gépeljem a mikro-t) kondi a testen. Van reális esélye, hogy megdöglött?
Jobb híján használj u betűt. Jó olyan is oda, de legyenek kisebb kapacitások is.
Sziasztok!
Új(de inkább régi-új) vagyok az LPT témában, most pedig egy kis problémába futottam bele. Saját terv alapján építettem egy olyan átalakítót, amit rá lehet dugni egy PC LPT portjára, a másik oldalon pedig RS-232-n(pontosabban egy USB-s COM port emulátoron) küldi át a nyomtatandó karaktereket. A dolog háttere, pontosabbam értelme az, hogy van egy ipari gyártósori gép aminek szintén LPT portja van, és arra egy mezei párhuzamos(Centronics-szabványú) nyomtató van rádugva. A papírtekercsre a gyártott készülék paramétereit, hibáit(akár 100-200 soros is lehet!) nyomtatja ki. Sokszor a lista legvégén olvasható a valódi hibaok, ennek kivárása nagyon fárasztó, ezért építettem a cuccot. Ez működik PC-n(TeraTerm ablakban szépen megjeleníti a nyomtatandó szöveget), de sajnos az ipari gép már nem ilyen véleményen van, mivel pár karakter "kinyomtatása" után kifagy a nyomtatóportja. A gép egyébként hibátlan, mivel a régi sornyomtatóval továbbra is együttműködik és nyomtat vele. Én arra gondolok hogy a jeleket nem jól használja, nem jó sorrendben vagy valami hasonló. Hardver: egy ATMega168-ra vannak a legfontosabb vonalak kötve, ez D0-D7, /strobe, /ack, busy. Amikor kap egy karaktert, EZT a sorrendet követem. A busy jel alatt küldöm el a karaktert a soros porton, majd ezután nyugtázom(ack). A többi státuszvonal(/error, paper end, select out) a földre vagy a tápra van kötve, az alapján hogy hol kell lenniük hogy a gép azt higgye, működő nyomtatóval van dolga. Egy kis érdekesség, PC-nél nem kell ACK, a BUSY elég neki, a tesztgép viszont megkívánja mindkettő használatát. A soros port 9600kbps, tehát egy karakter kb. 1ms alatt megy át, míg a nyomtató soremelés nélkül kb. 20-30ms alatt nyomtat ki egy karaktert. Lehet probléma az, hogy a nyomtatóm túl gyors? |
Bejelentkezés
Hirdetés |