Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Guidance needed capturing the apex of a linear encoder’s travel using an M series PCI-6621 and LabView 8.

I am a brand new  LabView user and need guidance capturing the apex of a linear encoder’s travel using an M series PCI-6621 card and LabView 8. We have a new 8 axis CNC lathe and need to quantify a potential manufacturing defect and it is impreitive this is done in a compressed time frame.  Quite simply we need to move a single axis of the machine onto a linear encoder approximately 12 times a minuet for 12+ hours and capture the apex of travel in order to document any accumulated position change/error over the test period.  At this time we have no convenient way to trigger the measurement event outside of programming a dwell at the position to be captured.  Any guidance will be greatly appreciated.

 

0 Kudos
Message 1 of 8
(4,308 Views)

Hi HB,

Are you using a quadrature encoder?  Are you currently able to read the encoder?  A quadrature encoder would make this relatively simple (no triggering would be needed), since it would know its absolute position.  If you are not using a two pulse encoder, I would try to find another way to capture the apex angle /distance of the tool.  It seems like a last resort to add a dwell in the program just for measurement sake. In other words i would not deviate from the original program in question.  There is almost a guaranteed likelihood that there is going to be a change in the angle time slope when the tool transitions from foreward to reverse.  This will take some playing around with.  Personally I would log each degree increment to a file so I can analyse later.  Just some thoughts.  BTW I have found the encoder position global channel works best  (Quadrature only).Smiley Sad

Some more thoughts-  personally the sensor of choice would be an LVDT.  It is less prone to error due to vibrations and deflection measurements can be made as well.

Could you quantify the repeatability error (.001").

Chris

Message 2 of 8
(4,303 Views)
Yes, I am using a quadrature encoder and no, currently I am not able to read the encoder.  I am using an encoder purchased for a different project and is just adequate for this one.  It is a US Digital PED-250-2 plunger style probe (250 ppi) and max res is .001" First things first, I need to get the encoder hooked up.  When I mentioned I was a newbie I may have overstated my skill level a bit.  As far as loging each degree of motion, All I am trying to do is determine the amount of thermal growth in one axis over a period of hours so only the end point is relevent to the test.  Vibrarion isn't relitive either but if it was I wouldn't be to concerned as this is a 7100kg machine and the axis is on large cross roller box ways.   
0 Kudos
Message 3 of 8
(4,278 Views)
Hi HB,
Nice sensor! Never used that type, but according to the literature it should hook up the same as an angular encoder (two pulses).  The accuracy will suffer since the total error =.002" absolute.  I will the accuracy to U.  If you could tell me what U are using to attach the sensor to (SCC chassis, PXI chassis, or breakout board), I problaby can help you get it working. 
Also you may want to consider attaching a thermocoupler at various points of interest.  This will allow you to theoretically calculate the growth using the coeffecient of linear expansion for the metal.
 
Chris
Message 4 of 8
(4,274 Views)

Hello HB,

With the help of those great suggestions from Chris, you've identified that you are using a two-phase quadrature encoder, which is good news since this is the type of encoder most easily interfaced with National Instruments DAQ devices.  Chris asked another good questions about what specific DAQ device you are using, as the method for connecting the encoder and programming your application will depend on this.  If you have a choice, I would highly recommend you use either an M Series Multifunciton DAQ device or a TIO Series Counter/Timer device to read your encoder signal, as these devices natively support two-phase quadrature encoders. 

If you use one of these devices, I would start by recommending you take a look at the help documentation for your device, such as the M Series Help manual if your using an M Series DAQ device.  The M Series Help manual has a section about Position Measurements which contains instructions about how to the A, B, and Z signals from your encoder to the PFI (programmable function input) lines on the device.  Again let us know what device you are using and we can point you towards more specific documentation.

The next step is to program a position measurement task in LabVIEW.  The DAQ Assistant, found on your functions palette under Measurement I/O > DAQmx, provides a wizard-style interface for easily programming your position measurement task.  I would also recommend that you take a look at the DAQmx shipping examples found under Help > Find Examples.  Specifically, I would take a look at the example titled Measure Angular Position.vi, found under Hardware Input and Output > DAQmx > Counter Measurements > Position. 

I hope this information helps and let us know some more information about your specific hardware.

Regards,
Travis G.
Applications Engineering
National Instruments
www.ni.com/support

 
0 Kudos
Message 5 of 8
(4,268 Views)

Chris & Travis,

  Thanks for the help.  I would love to take you up on your offer for help with the encoder hook up.  Currently I have a PCI-6621 M series DAQ board (P/N779066-01), SC-2345 carrier, 2 ssc-FT01 feed through moduals and a couple ofbrigdes for strain guages (other application).  I was looking through the manual this afternoon but did not find anything that directly applied to my encoder.  My local salesman helped me pick out the hardware based on another application and I thought the SSC-FT01s were for the encoder but it seems I might need to use the break-out block in the SC-2345.  Any suggestions?

Thanks,

Bob J. 

0 Kudos
Message 6 of 8
(4,245 Views)
Hi HB,
I myself did not quite get the documentation terminology to adequately understand this type of connectivity. But DO read all manual information regarding this measurement to better understand what and why.
I have the same setup except i am using a m series 6221.  It is important to distinguish that there are four basic signal IO on yours and most cards... Analog in, Analog out, Digital IO, and GPCTR (General Purpose Counter).  The first thing I always do when interfacing with new sensors or controls is open MAX.  There you will see a "Devices and interfaces" tab.  Open the tab until you spot the 2345 carrier, if it does not exist righ click "devices and interfaces" and create new and scroll to carrier.  When you open the carrier properties, you will see the four signal types become apparent.  J1-J8 is analog in,J9-J16 is Digital IO and also the second stage for analog in (used for offset nulling of the corresponding analog in channel),J17-J18 is analog out, and J19-J20 is the general counters.  It is here where you can install GPTC modules to simplify counter connectivity although not required.Open the carrier to reveal the breakout board.  It is located to the rear of the counter module slots, it consists of three rows of screw terminals numbered.( i sure hope you have applied the proper numbers to them).  These numbers coincide with the pamphlet taped to the inside of the carrier panel (if it is not there, your first job is to do so- it will become your bible to all digital IO/counter operations).  You should be able to find this in an online carrier manual.
Now we are going to create a Global Virtual Channel. Right click Global Virtual Channel to create and choose Counter Input... Position.....Linear.Ther now is a choice for ctr0 and ctr1-the choice is arbitrary. Name and save the task.  You should be looking at the actual encoder to meaning set up.  notice there is a section labeled signal connection A: PFI8 and B: PFI10.  These are the inputs for pulse A and B respectively and they are also labeled on the bible as to where to attach encoder wires.  All that is left to do is supply 5 volts, i believe pin 14 and digital ground.  VOILLA, you are in business!!
 
General notes:
FT01 is not really considered digital even though it interfaces on that bank.
Do not count pulses from encoders from the digital channels.  It can be done, but speed and accuracy are very limited. 
Any direct connectivity to digital channels through the breakout pins, you must remove any modules on the J9-J16 slots.
 
Do not worry about applying the Z index just yet. it is not required but we may implement it latter for ligic purposes.
Have fun,
Chris

Message Edited by Chris Co on 11-08-2006 01:31 AM

Message Edited by Chris Co on 11-08-2006 01:47 AM

0 Kudos
Message 7 of 8
(4,241 Views)
 

Chris,

  This is good news.  Someone else sent me a NI document stating that I could not use a differential encoder on an M series board.  I'll try this first thing in the morning.

 

http://digital.ni.com/public.nsf/allkb/58f4c61446030c1386256feb006a19ce 

 

Bob j

0 Kudos
Message 8 of 8
(4,233 Views)