06-10-2016 09:27 AM
I'm trying to use LabVIEW's PID toolbox to control three inputs [a,b,c] that are multiplied by a [3x3]array for a result value of [x,y,z] Attatched is my attempt using a pid contol and a sub vi that is a simulator for the hardware I'm using. The primary difficulty I have is trying to set up the PID to take into account the fact that each every input changes every output. A seccondary issue is that the system has a non linear responce so, although I can use a matrix to provide an approximation for where I should go, I need a PID control to do fine tuning.
06-13-2016 06:23 PM
Hello GentlemanS,
It sounds like your systems has three inputs and outputs. You mentioned each input changes each output. Does this mean you can characterize the system as a nonlinear system of equations? Have you tried using the PID Advanced VI? The advanced version of the PID VI allows you to specify the system linearity. You can read more about it in this White Paper I found: http://www.ni.com/white-paper/3782/en/
06-14-2016 04:50 PM
06-15-2016 08:07 AM
06-15-2016 08:49 AM
06-15-2016 08:56 AM
My head hurts thinking about a non-separable 3D PID problem! Equations of motion in 3D can get quite complicated very quickly, particularly if you allow rotations. I did a brief web search for Vector PID, and there doesn't seem to be much.
Is it possible to separate your 3D system by a suitable choice of coordinates to pick three axes that don't "talk" to each other? That would allow you to reduce this to 3 1D PID controls, which should be much more tractable.
Bob Schor
06-15-2016 09:16 AM
Bob,
I don't think that would be possible as I only have a single X Y Z hall sensor in the middle of a magnetic field.
The setup involves having 3 magnets fixed in 3d space arround a hall sensor oriented in XYZ. Each magnet pulls a vector foce that is "felt," by the hall sensor as the vector components. When all three magnets are active, the sensor feels the sum of the forces and would be unable to seperate the components of forces from each magnet
We do know the force generated by each magnet in terms of input power can be characterized by a saturation curve that is temperature dependent (we have temperature sensors that we could use to create a lookup table for those equations based on temperature) , however we would still need the system to have some degree of self correction.