Fórum témák

» Több friss téma
Fórum » Adatok beolvasása párhuzamos porton
Lapozás: OK   1 / 1
(#) sliter hozzászólása Szept 14, 2008 /
 
Üdv mindenkinek,

A problémám a következő lenne, van egy mennyiségem amit meg szeretnék mérni, és valahogyan beolvasni ezt az értéket a párhuzamos porton. Ha jól tudom akkor a mért feszültségértéket frekvenciává kell átalakítani és ezt kell valahogy beolvasni a párhuzamos porton. A porblémám az lenne hogy melyk lábon kell beolvasni, illetve hogyan címzem meg azt a lábat. (ha jól tudom bemenetnél más címet kell használni mint kimenet esetén.)

Korábban már írtam párhuzamos portot kezelő programot c#-ban az inpout32.dll segítségével, de ott csak a kimenettel próbálkoztam. (8 adatportra kötött ledek villogratása illetve pár fogyszató ki/be kapcsolgatása)

Tehát a kérdésem az lenne hogy hogyan lehet beolvasni értékeket a párhuzamos portal, és milyen felbontásra képes. Illetve hogy (csak) frekvenciát
/feszültségértéket tudok beolvasni.

Minden építőjellegű ötletet és tanácsot szivesen fogadok.

Üdv.: Sliter

U.I.: Köszi a végigolvastad!
(#) Medve válasza sliter hozzászólására (») Szept 14, 2008 /
 
Hello, a frekvenciamérés, csak az egyik módja az AD konverziónak. Én ezt nem kedvelem az igényesebb szoftveres háttere és a pontatlansága miatt, de ha ez mellett döntesz, akkor ezt a frekit mind a 8 LPT bemeneten ráadhatod. (2.-9. láb) Illetve van még néhány láb, amelyik bemenetként (is) működhet.
Én inkább párhuzamos módon küldeném be az adatot, ennek alapból 8 bit a felbontása, de a többi lábbal ez megnövelhető...Ha nem akarsz sokat drótozni, akkor sorosan, két láb felhasználásával is kommunikálhatsz, a sebesség csökkenése nélkül.
Ha kisérletezel, a control port 5. bitjénél lehet az adatirányt beállítani. Ha jól emlékszem...
(#) sliter hozzászólása Szept 14, 2008 /
 
Ha tudsz egyszerűbb megoldást nekem az is jó. illetve ha van kész rajzod, vagy ötleted. Egyébként hőmérséklet méréséhez kell nekem ez a megoldás. (Később pedig még egyéb mennyiségeket is fogok mérni vele ha működik).

Apropó, és a control port 5. bitjével hogy állítom be az irányt?

Sajnos nem túl világon nekem ez a beolvasós téma.
(#) Medve válasza sliter hozzászólására (») Szept 14, 2008 /
 
Válassz magadnek egy, hozzád, és a feladathoz illő AD konvertert. Ha az 5. bit értéke 1, akkor be van kapcsolva a kétirányú mód. De ellenőrizd, hogy a kimenetek tényleg nagyimpedanciásak-e. Google: "parallel port", LPT, "centronics port"
(#) sliter hozzászólása Szept 15, 2008 /
 
Lehet hogy találtam egy egyszerűbb megoldást is a problémára, mégpedig hogy a hangkártyát fogom egyszerűen mérőkártyának használni.

A line in bemenet elvisel kb olyan 1.3V-ot és egy feszültségosztó segítségével szinte bármit meglehet mérni Mivel adott az A/D átalakító és egy elég jó mintavételezési freki
(#) gozi válasza sliter hozzászólására (») Szept 15, 2008 /
 
Analóg jelet úgy a legolcsóbb mérni a párhuzamos porton, hogy a kimenetre építesz egy R-2R létrát és az ismeretlen feszültséget és a létra (ismert) kimenetét egy komparátorra kötöd. A komparátor kimenete pedig egy input vonalra megy. Utána már csak egy fokozatos közelítésű A/D algoritmus kell a PC-n.
(#) Medve válasza sliter hozzászólására (») Szept 15, 2008 /
 
Hogyan fogod megkapni a hangkártya kimenetét?
(#) sliter hozzászólása Szept 15, 2008 /
 
Valószínűleg úgy hogy a párhuzamos portot mégiscsak kihagyom a mókából, és egyszerűen hangkártyával mérek. (nem átalakítónak hanem mérőkártyának fogom használni)
H érdekel a téma még oszcilloszkópként is használhatod ha hangkártyád

http://zeitnitz.de/Christian/Scope/Scope_en.html

bár én saját programoz akarok mivel át kell számolni az érzékelő jelét és rögzítenem is kell.

(#) Medve válasza sliter hozzászólására (») Szept 15, 2008 /
 
A szkópot vágom, csak azt nem tudom, hogy a hankártya bemenet digitalizálva melyik regiszterben jelenik meg
(#) sliter hozzászólása Szept 16, 2008 /
 
Nézd meg ezt a programot, kb egy egy hasonlót kell írnom nekem is. Ebből ki lehet hámozni hogy mit honnan szed a hangkártyából.

Bővebben: Link

De a források és a teljes program letöltéséhez regisztrálnod kell.
(#) Medve válasza sliter hozzászólására (») Szept 16, 2008 /
 
Köszi. S ez a progi az összes hangkártyához használható? Megaztán van még egy aggályom: A bemeneti karakterisztika DC-től kezdődik vajon? Nálam igen, de vannak olyanok, (voltak?) ahol a bemenettel sorban egy kondi volt...
(#) sliter hozzászólása Szept 16, 2008 /
 
Igen ez sajnos probléma lehet, valahol tényleg van kondi viszont néhány érzékelőre váltóáramot is lehet kötni, tehát meg van oldva a mérés, illetve ha normálisabb megoldást akarsz akkor U/F átalakító kell.

Ha bármit sikerül előrehaladnod a témába akkor írj, én is írok ha nekem sikerül előbb.
(#) Medve válasza sliter hozzászólására (») Szept 16, 2008 / 4
 
Az nem gond: TLC1549 a texastól...10bites soros kimenetű AD. Vagy a TLC548, ez 8 bites. De van még ezer fajta...
(#) plosza hozzászólása Máj 3, 2009 /
 
A téma megfelel amire keresek megoldást.
Van egy műszer(TMC-2001d) centronics porttal. Nagyon szép szöveges nyomtatásokat tud készíteni papírra.
Kérdésem: ezeket a "tex" jellegű adatokat volna jó a PC-be bejuttatni win.alatt, a további felhasználás céljából.
(#) mandrew12 hozzászólása Aug 31, 2010 /
 
Sziatok!
Delphi 7-ben szeretnék adatokat beolvasni a párhuzamos portról, de vmi nem ok.
a program:

unit unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;

Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
c:word;
i: byte;


procedure Out32(wAddr:word;bOut:byte); stdcall; external 'inpout32.dll'
function Inp32(wAddr:word):integer; stdcall; external 'inpout32.dll'

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
c:=$378;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
i:=strtoint(edit1.Text);
c:=$378;
Out32(c,i);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
k:byte;
begin
k:=inp32(c);

label1.Caption:=inttostr(k);
end;

end.

Buddon2 hatására edit1-be beírt számot kiküldi az LPT 2-10 sorszámú i/o vezetékekre, (amelyik vezetéken 1-esnek kell lennie ott 3.32V lesz), button 1-re beolvassa azokat amiket kiküldtem. ha viszont én adok 5V-ot bármelyik vezetékre akkor nem olvas be semmit button1-re. vagy nem dc 5V-ot kell rátenni? vagy mit kell csinálni h beolvassa azt amit én küldök neki kívülről?. Aki tud valamit légyszíves segitsen köszi
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