In the previous post ("Feedback through DC coils"), I described the reasons for using DC coils for our feedback control. This trick significantly decreases cross-coupling before the feedback control and so allows us to afford a larger signal from the plate, without the ADC ever saturating. However, it comes with a cost; the feedback force is not applied directly at our sensors. Specifically, the DC coils greatly affect two of the sensors surrounding it -that are equally far. That creates the need to develop a matrix to calculate how the force from each DC coil affects each AC sensor and, further, how each sensor should "distribute" its signal to different DC coils in the feedback control. Using the geometry of our plate and the arrangement of the coils and sensors, I calculated these two matrices, which should also be inverse of each other. Here is what I found:
To measure how much of the coils' signal each sensor reads: [A][DC1;DC2;DC3]=[AC1;AC2;AC3], where A=[2 -1 2; 2 2 -1; -1 2 2]. Similarly, to convert each sensor's signal to the feedback channels of the DC coils, [B][AC1;AC2;AC3]=[DC1;DC2;DC3], where B=[2 2 -1; -1 2 2;2 -1 2].
Simulink for 3 DoF
Then, I created a Simulink model for three degrees of freedom (sensors: AC1-3, coils: DC1-3). The effect of noise was catastrophical for the stability of the model. So, I first tried to replicate 1 DoF stability, by "nulling" DC2 and DC3 coils. Below, one can see the Bode Plots of the model (resonance around 2Hz) and the displacement of the plate in 1DoF (by AC1).
Attached is also the ADC input, which clearly shows how the signal is well below saturation. Three different colous represent the signal from the three sensors AC1, AC2, AC3 (they are all affected by DC1 coil).