Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Product advise

Hello all,

I am looking for a solution and am advised to look into what NI has to offer.

 

I am building a system that uses a linear stage and needs to send pulses to an output at certain positions.

 

The stage runs at a maximum, constant velocity of 10mm/s and the smallest distance between the pulses is 100Nm.

 

The NI controller should be able to receive a table of 50MByte. This table contains the positions where the pulses should be fired.

 

The stage has an encoder that outputs A,B and Z signals. These should also be connected to the NI controller.

 

So in short, the NI should be able to:

1. receive the encoder signals (A,B and Z) and have the logic to translate this into an actual position

2. receive a table of 50Mbyte with position data

3. in real-time compare the position from the encoder with the positions in the table and change the state of an output at each found position

4. the decoding of the encoder signals to the actual position, comparison with the table and setting the output must be fast enough for a maximum velocity of 10mm/s and 100Nm pulse width

 

Which controller is able to do this?

 

Thank you

 

0 Kudos
Message 1 of 5
(144 Views)

Isn't this the responsibility of a motion controller? are you looking for a motion control system?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 2 of 5
(141 Views)

It depends. On this moment I have a stage that uses a linear motor with a separate encoder that only outputs the AB and Z signals but perhaps I am going to change that for a stage that directly outputs the position

0 Kudos
Message 3 of 5
(136 Views)

As I understand your problem, you want to decode a quadrature position encoder, and output a pulse when certain positions are reached?

You state the encoder resolution is 10nm, do you really need 100 nm resolution?

 

Are you sure that NI products are the best solution? At these speeds and amount of data, it sounds like the best approach might be to use discrete electronics. Decode the encoder into an up/down counter and use this to drive an eeprom. Use the data ouput from the eeprom to generate your pulses. Programe the eeprom with the positions that you want pulse outputs. These days a single FPGA will be able to mop all this up into one device.

 

At 10 m/s, a single 100nm step is 10 microseconds. Is this enough response time for whatever is connected? You may want to consider adding a monostable to the output.

0 Kudos
Message 4 of 5
(33 Views)

The output must be a pulse train with a specific duty cycle for each reached position.

 

After a lot of studying documentation I have come to the conclusion that a fpga might be the right solution. I have ordered a SPX1071 rack with a 8135 controller and a 7966r fpga and am now in the programming mode 🙂

 

If this is not going to work then I am going for the hardware solution that you also suggested

0 Kudos
Message 5 of 5
(23 Views)