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:
Ja, és a control regiszter 5. bitjét állítsam 1-re
Ezzel a módszerrel: Port=&h378 Bit=5 SetPortBit Port,Bit hibát jelez.
Hali,
A "myHundreds" az a valtozo amibe beolvasod a Data vonalad aktualis erteket. Elkell dontened, hogy melyik labakra rakod a BCD-t es melyikekre a 3 helyiertek bitet a Data labak kozul. Ez utan tudod hogy Pl: D0-D3 -> BCD D4 -> Egyes helyi ertek D5 -> Tizes D6 -> Szazas Amikor be olvasod az LPT aktualis erteket ezeket egyutt kapod meg egy szam formajaban. Ez utan ebbol a szambol ki kell bogarasznod, hogy melyik helyi erteket kaptad es azt hogy tortent-e valtozas a porton az elozo olvasas ota. (a mar fent emlitett maszkolassal) Ha megvan a helyi ertek akkor a BCD kodot is kimaszkolod es elmented. Ezt vegig csinalod mind a harom helyi ertekkel. Ha meg van mind a 3 helyi ertek akkor: (szazasvaltozo * 100)+(tizesvaltozo*10)+egyesvaltozo =SZAM. A fizikai megvalositast is leirtak mar fentebb: Kell egy 50-100KOhm erteku ellenallas minden altalad hasznal bemenet es a tapfesz koze (felhuzo ellenallas) ez kozel TTL szintuve teszi az IC kimeneti jeleit + kell egy 330-650 Ohm erteku ellenallas mindegyik (mar felhuzott) bemenet es az IC-d hozzajuk tartozo kimenetei koze. Ezzel azt akadajozod meg hogy az IC-d (vagy az LPT portod) tonkre menjen ha az IC kimenetein es az LPT portodon (amikor nincs bemenetre allitva) is "1"-es jel van. (valamelyik a kettokozul szembe feszultseget kapna). Na, csak leirtam!
Amit meg adtam az egy pelda volt.
Igy elvileg a Data regiszter 5. bitjet allitottad (volna) "1"-be. De annak is mukodnie kellett volna... A "Port","Bit" valtozokat deklaraltad elotte? Deklaraltad a forraskodban az "io.dll"-t? Az io.dll ugyan abban a konytarban van mint amiben a VB altal leforditott .exe? a SetPortBit-et externalcall-al hivtad meg (Delphi-ben ugy kellett). Az aramkori megvalositarol meg annyit en a helyedben illeszto (meghajto) IC -vel kotnem a cuccot az LPT-re, es egy "nemsajnalom ha baja lesz" PC-vel tesztelnem elesben. (Nekem mar szalt el LPT portom mert bamba voltam..)
Ja es a Control regiszter cime (bazis+2) h378+2 = h37A
Most is hibát jelez pedig mindent megcsináltam
Tehat a deklaraciokat be raktad.
probald igy: Dim Port as Byte Dim Bit as Byte . . . . Port=$h370 'ez meg mindig csak a Data Regiszter cime, de menjen ez eloszor rendesen Bit=5 call SetPortBit(Port,Bit) . . . . Amugy mi a hiba uzenet?
Most találtam Ezt
Dobjam ki vagy használható ?
Sorry a Port valtozo az Integer legyen.
Most semmi hiba. Lemaradt a zárójel.
Szerintem ki lehet probalni...
Mondjuk még frankón nem vágom az átalakítást. De azért kipróbálom egyáltalán megkapom-e az adatot.
Szoval összekötés: ic láb -> 50-100kohm -> 330-650ohm -> lpt sorbakötve?
Nem.
IC lab -> 330-650Ohm -> LPT + Tap (Vcc) ->50-100Ohm ->IC lab Szerintem gondold meg az illeszto aramkor hasznalatat es/vagy egy olyan gepen probald le aminel nem gaz ha baja lesz. Akkor mostmar tudod irni a portok regisztereit bitenkent? Vissza olvastad (ellenorzes keppen)?
Bocs tegnap nem voltam gép közelében.
Kérdésedre helyettem E-Maniac válaszolt, külön köszönet neki.
Egy olyan gondom lenne hogy szeretnék egy H hidat vezérelni LPTről...A program megírása az én gondom de ahoz is elfogadok segítséget ( C#-ben csinálom) A problémám a következő: 2darab H hídat szeretnék működtetni,csak az a gond, hogy a motoroknak nagyon alacsony fordulat számon kéne mozogniuk de nagyon nagy teljsesítményel... És nem szabad 180 foknél tovább mozdulniuk egyik irányban sem...(így akarom elérni a 360˚ fordulatot) Nem tudom igazából hogy most léptetőmotort kéne-e használnom vagy sima motor is megteszi-e? A bonyolítás még annyi hogy az LPT-n kilépő jeleket egy optokapcsolóval szeretném hasznosítani...Van valakinek valami ötlete?
Egy olyan problémám lenne hogy léptetőmotort szeretnék vezérelni LPTportról. A motort egy régi floppymeghajtóból szereltem ki. Ledekkel készítettem szimulálót hozzá ( sorban villognak...). Az lenne a kérdésem hogy direktben rá lehet e kötni az LPT portra a motort vagy kellene közé valami elektronika? Úgy érzem kell és ehhez szeretnék egy egyszerű elektornikát összedobni hozzá mivel elég kezdő vagyok a témában. Amiket olvastam abból az derült ki hogy az egyik vezetékre kell kötni a 12V-ot és a többin kell váltogatni a GND-t.( tudom is melyik hol van a motoron) . Elnézést hogyha most valami nagy hülyeséget írok de nem lehetne megoldani pár tranzisztorral a dolgot? mindegyik vezetékhez egy és az LPT porton szabályoznám hogy melyik vezessen...
Előre is köszönöm a segítséget!
igy pl, ha belefér az 500mA-be (?)... Google???
Köszönöm szépen a segítséget. Kerestem én is google-ben csak erre sajnos nem találtam rá, csak bonyolultabbakra.....
Esetleg tudna valaki olyan megoldást amellyel egyszerre lehetne vezérelni 3 léptetőmotort LPT portról?
A STEP-DIR módszer épp ilyen. Motoronként két madzag, és némi elektronika. Nézzél szét a hobby-cnc területén.
hello.
Végigolvastam a topicot, én is valami hasonlót szeretnék csinálni, miszerint az LPT porta záró kontaktusú kapcsolót kötni, amit figyel a program (pascal) A D0-D7 kifelé programozás az megy, azzal nincs semmi gond. Azonban befelé már nem értem. Kifelé 74C154-essel 16 kimenetet tudok csinálni, (a 74c154-esnél 1 db ABDC bemenet D0-D1-D2-D3) sőt A D4-D5-D6-D7 egy másik 74C154-essel már újabb 16 kimenet.) Valahogy azt szeretném megoldani, persze csak elméleti szinten, tanács formájában, hogy ezekhez a kimenetekhez 16-16 hogyan tudok ugyaneggyi számú bemenetet rendelni? Vagy ami még eszembe jutott, hogy négy bemenetet használni, (regiszter) és csak ezt a négyet figyelni. Erre a bemenetekre párhuzamosan X kapcsoló rá van kötve, és egyszerre csak egy kapcsoló van bekapcsolva egy beneten, tehát max 4 lehet egyszerre bekapcsolva. Lehet, kissé bonyolultan fogalmaztam. Köszönöm.
SN74147 10 ből 4 re kaszkádba kapcsolva a 16 ból 4 re is meglehet csinálni. vagy 7400 és néhyány dióda nekem az volt mert nem volt hirtelen 147 -s
léptető motort célszerűbnek tartom, egyszerűbb, a kimenetre ajánlott az optó és úgy egy meghajtó áramköt a tekercseknek. léptetést adhatod steo/dir vagy közvetlenül a tekercsekre a bit mintát. Te döntesz melyik a jobb megoldás neked.
Ha jól sejtem, akkor a $379 a státuszregiszterekhez enged hozzáférni. (?) A a csatlakozó 10-11-12-13-15 pontjaira feszültséget juttatok, (5V/5mA) akkor az az állapot leolvasható? például pascalban.
valami:=port [$379]; write (valami); gondolom hogy itt egy decimális számot kell kapni, majd ennek fügvényében oldanám meg a kimenetek vezérlését. Jól gondolom? köszönöm szépen.
igen beolvashatóak de azok a bemenetek alapban "H" szinten vanank
vagyis "L" szint kell a változáshoz, a kapcsoló testre kapcsol és felvan huzva +ra egy 1 KOhmo ellenállással.
az előző kérdésre nemválaszoltam. a 177 -s kimenete BCD kódot ad ki. Elvikebne dirktben rá lehetkötni a bemenetkre. mert az is L szinte ad. a 147 bemnete prioritást is fiygel ezt fiygelmeb ekll venni
vagyi ha a 8 bemnet aktiv akkor nem érdkli hoyg az 5-s bement aktiv vagy nem a 8 kódja jelenik meg. a kiemneten ha ez uyg nem jó akkor marad a 7400 és dióda párdrab kell csak
Helló szabics!
Ez ebben a formában működhet? A végállás kapcsoló per pillanat csak öt van feltüntetve. (de pl a végállás_1 nevű kapcsolóval párhuzamosan kötök még vagy 10-et, de ebből is csak egy van bekapcsolva.) Tehát egyszerre öt végállás állapota lehet aktív. - vegallas_1; vegallas_2; vegallas_3; vegallas_4; vegallas_5; Lekérdezem a $379 állapotát, majd a kapott eredmény függvényében értéket adok a $378-nak. Jól látom a dolgot? köszi szépen.
Igen jól látod. kapsz egy bitmintát ami hűen tükrözi a kapcsolók állapotát. A "kódhoz" hozzárendeled az értéket és az mondja meg mitcsinálj vagy mit ne csinálj
Köszönöm a választ. Tehát ezek szerint ahogy rajzoltam, az életképesnek látszik. Most már csak arra kellene rájönni, hogy hogyan tudom a $379-es portot alapállapotra hozni. Mert pascalban $378:=0; és akkor mind a nyolc adatkimenet 0 értékű lesz. $379 esetében nem működik ez az eljárás, sajnos.
szerintem azt megcsinálja helyetetd a bios.
Mikor indul a gép akkor felprogramozza az összes eszközt igy a portokat is. Vagyis az alapállapotba hozza. Kapcsold be a gépet és mérj rá a port kimenetre. olvasd be a mintát és az az induláskori vagyis reset utáni állapot. Huha lehet kicsit bonyolult voltam. |
Bejelentkezés
Hirdetés |