Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Parellel Port Interface

Status
Not open for further replies.

solodex15

Structural
Mar 4, 2002
3
I am seeking to interface a robotic arm with a computer via a parellel port. First, the computer and the arm are on seperate power supplies. I want to be able to send a timed signal from the computer to the arm that can complete the circuit of specific motors in the arm to make it move. What can I use for the interface and what are the specific adresses of the pins (using Windows ME)?

P.S. Thanks in advance.
 
Replies continue below

Recommended for you

Can you give me more info ? <nbucska@pcperipherals.com>
 
Do you wish to have outputs only, or are you after inputs as well?
Do you know what type of parallel port you have? there are a number of different formats that are controlled by the bios etc to adjust for the different formats. If you wish to get right down to hardware level of control, then this information may be necessary. How many outputs do you want?
What timing intervals are you after? What is your interface at the other end?
If you are not after super fast speed and 8 bits of output, then you may be able to make your interface emulate a printer and just &quot;print particular characters (bit patterns) for you required control. Mark Empson
 
There are 3 busses:
Data 8 bit, output
Control 4 bit, output (C0-C3)
status 5 bit, input (S3-S7 )
!!! C0,C1,C3 and S7 are inverted.
The base address can be found at 0x0000:0x0408/9 (LSB/MSB)

addr of D = baseadr (USUALLY 0x378 )
C = baseadr + 2
S = baseadr + 1
-------------------------------------

I would use DOS. <nbucska@pcperipherals.com>
 
I am only seeking to output data. I am considering DOS. Would Linux work? The problem is that I need to send a signal from the computer to the arm that completes a circuit of one of the motors in the arm. Once the arm moves the required distance, the signal will stop and the circuit will open again. Right now, I had a double female cable, which is hooked up to a male connector (the actual component that's soldered right to the circuit boards). Will that connector be adequat? I need to know if I can just send a bit stream through the port or need to send a specific sequence, what part I need to use for the switch to complete the circuit on the arm, and whether or not I can send the signal through the individual pins of the parellel port?
 
Yes you can control each bit separatelly e.g. in BASIC
PORT = 888 ' usually &H378 = 888 dec.
'-------------------------- lines:
out port,1 ' set bit 0 0001
out port,5 ' now bit 2 0101
out port,7 ' bit 1,too 0111
out port.15 ' bit 3 1111
out port,10 'reset 0 & 2 1010

etc.
How do you know how far the arm moves ?
<nbucska@pcperipherals.com>
 
The arm will travel over an area which is half a sphere with a radius of 30 inches. Right now, actually interfacing it with the computer is the problem. I have no clue what parts to use to connect the two.
 
NBUSCKA is asking, HOW do you know if the arm moves? Your program should have some feedback to provide a closed-loop system. Otherwise, if your your arm goes wild, your program will never know / be able to stop it!!!
 
If the arm moves the same arc end-to end, latch the short input pulse and change the motor polarity with it. Have two
diodes back to back in series with the motor and two
position sensor swithes in series can stop the forward/reverse motion.

<nbucska@pcperipherals.com>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor