Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

7344 non-linear analogue primary feedback?

Hello,

I have a NI 7344 motion control board. I am hoping to control the position of a linear servo motor. I am trying to feedback the position of the motor from a magnet using a hall effect position sensor. Unfortunately, the analogue voltage produced by this sensor is not directly proportional to the position of the motor.

I have two questions:

Firstly, is it absolutely necessary to have a totally linear primary position feedback for accurate control?

Secondly, is it possible to take this sensor feedback into the first analogue input of the board and then use the "Scaling and Mapping" VI in LabVIEW to linearise the position? Could the linearised position then be passed to the 7344 board as the "primary feedback"??

T
hanks in advance for any responses,

Paul
0 Kudos
Message 1 of 5
(3,697 Views)
Paul,

I don't recommend at all to use the analog input of the 7344 as the position feedback for your linear motor. There are two major reasons for that:

1. The resolution of the analog inputs of the 7344 is only 12 bit. Even if you had a linear feedback signal the position accuracy would be limited to a maximum of 4096 steps over the whole travel range.

2. In general Hall sensor motion feedback signals are not linear at all. In general they look like sine signals and there is no way to convince the 7344 to accept this type of a feedback signal

The 7344 executes the PID control loop for the linear/servo axes onboard in realtime. If you acquired the analog signal and preprocessed the feedback signals on your PC the deterministic behavior of the control loo
p would be destroyed. There is also no way to make the 7344 accept feedback signals over the PCI bus. Feedback signals need to be connected directly to the board's inputs.

The solution for this problem should be relatively simple. I have worked with a whole bunch of power drives for servo motors and linear motors and they all provided an emulated quadrature encoder signal that can be used as a feedback signal for the 7344. Please refer to the documentation of the drive or contact the vendor of the drive for information about such an option.

Best regards,

Jochen Klier
Applications Engineering Group Leader
National Instruments Germany GmbH
0 Kudos
Message 2 of 5
(3,697 Views)
Hi Jochen,

Thanks for such a rapid response.

Is it possible to use the 7344's digital inputs as a primary feedback? I can also get hall-effects that will output a 14-bit digital value corresponding (non-linearly!) to an absolute position.

I think I'll try and give preprocessing a go anyway and see what the results are like. Would the control loop be affected *that* badly if I used a modern 3Ghz PC? If I can't send a feedback signal over the PCI bus (this seems like a very daft software limitation!), will outputting the value from the DAC of one axis into the ADC of another cause significant problems?

What if I got LabVIEW realtime and pre-processed on the 7344 itself? Can I do this (mapping function)using the on-board programming features without re
altime?

Also, the sensor outputs are not sinusoidal but are more like an exponential decay as the position of the magnet moves farther away - this exponential absolute position was what I was hoping to linearise.

Thanks again for any advice,

Paul
0 Kudos
Message 3 of 5
(3,697 Views)
Maybe the somewhat-exponential behaviour of the Hall sensor output makes the job a bit easier. It is possible to linearize exponential voltages by analog circuitry. I think what you would need is an anti-log amplifier. However, if the output is not true exponential you will have to build your own linearization circuitry and to calibrate it to get a linear output. Most of the linearization circuits described use forward-biased diodes or transistors in the feedback loop of an op-amp. Since the characteristics of diodes and transistors are temperature-dependent you will have to check stability of this circuit, too.

Of course it depends on the speed of your movement to which amount accuracy would be affected by the delay resulting from digital p
rocessing of your non-linear input voltage. You will have to check the data conversion speed of your A/D board and - of course - the 'back conversion speed', i.e. the settling time of the D/A outputs.
0 Kudos
Message 4 of 5
(3,697 Views)
I agree with this comment. The only good way to use the analog feedback in this case is to linearize the hall sensor signal with an analog circuitry.

There is no way to use the digital inputs of the 7344 as a feedback source. The dital I/Os should be used for machine communication but they can't be used for feedback as they are not physically connected to the DSP or the FPGA on the boards which are the components that close the control loop. The same thing is true for the PCI-bus. The 7344 communicates to the host PC through the Motorola processor thus the DSP doesn't have direct access to the host PC. Because of this architecture and other reasons it's not possible to close the control loop through the host PC.

Realtime doesn't mean "really fast". Even a 3 GHz PC running under Windows isn't a deterministic system. Whenever Windows decides that other tasks are more important now (e. g. writing cached data to disk) it introduces a non deterministic delay to a control loop and this is the worst thing that could happen to a control loop. It will be extremely hard or even impossible to properly tune a control system that doesn't work with a fixed loop rate. The loop rate is an extremely important parameter for the stability of a system. E. g. if you change the loop time of your 7344 from 250 microseconds to 125 microseconds you need to adjust your PID parameters properly (a good rule of thumb is to divide the PID parameters by the same factor as the loop time). Otherwise your system could become unstable.

LabVIEW RT could be a way out of this. But still there is no way to provide the feedback signal for the 7344 over the PCI bus. Under LabVIEW RT you could run the complete control loop on a PXI controller but then you also need to run the complete trajectory calculation on the PXI controller. In this case it wouldn�t make any sense to use a 7344 at all. You should use a data acquisition board (16 bit) with some analog inputs and outputs instead.

So this is what I recommend:
The best solution would be the usage of an encoder signal emulation. If this is not possible you should try to linearize the hall sensor signal and use it as feedback signal. Please take into account that in this case there is only a travel range of about +- 2048 steps.

Best regards,

Jochen Klier
Application Engineering Group Leader
National Instruments Germany GmbH
0 Kudos
Message 5 of 5
(3,697 Views)