kbosak
Apr 19, 2008, 07:51 AM
Hi everybody,
To begin a few general remarks on the topic:
for IMU, we need 3-axis magnetometer or 2-axis with complicated Kalman estimator just to get 3rd axis (read "Tilt compensation algorithm for 2-axis magnetic compass"). Using this technique we could get away with 2-axis HMC6352 on I2C.
I have succeeded to talk to MicroMag from ATMEGA128. First observation: 32Hz update rate is difficult to achieve. Even if "Period
select set to 2048 is the highest setting where it is impossible to overflow the counter", for this Period Select, the Maximum Delay is 35.5 ms.
for 3 axis, this means 108ms worst case, or 9,25Hz. BTW this matches well SCP-1000 fast update rate which is around 9Hz. The real update rate in typical magnetic field is half of that but we have realtime requirements here, aren't we?
Note this doesnt necessarily means we can plug SCP-1000 and micromag to single SPI, since as far as I understand the specs and my oscillograms, uC must be fully configured and awaiting for micromag answers for the whole time while keepping SSEL low.
QUESTION1:
Do you confirm it is impossible to share SCP-1000 and Micromag-3 on single hardware SSP controller, if we consider that both should be capturing practically the whole time (in order to get max update rate).
QUESTION2
Now about the placement. Which option do you prefer. It's well known Micromag and associated uC must be in strictly non-metallic case, away from anything that induces magnetic field etc.
PLACEMENT1
Our flying platforms have more wingspan than length (this tendency will continue until around mach 0,6 I am afraid). This suggests placing micromag on the wingtip (upper side, to prevent frequent landing damage). Think about Cularis or similar.
Pros:
-maximum distance from electronics
-easy access, trivial mounting (cut-in in the wing)
Cons:
-the wing will bend in flight
-roll turbulence is pronounced in winds, causing h oscillations of the sensor (1Hz not more, but the idea is this is unrelated to plane position and magnetic field components X and Y change with altitude change dZ, the question is how much over 1m max deviation)
PLACEMENT2
end of the fuselage, like MAD device (look -Lockheed P-3 Orion, Breguet Atlantic etc).
Pros:
-no roll effset induced, if any exists
Cons:
-worse center of gravity
-longer fuselage
-sensor put in vulnerable position (consider transporting and usual handling)
-overall difficult mounting
-sensor most probably too large to be placed on top of rudder, also would be vulnerable during landing in bush (damage after plane reversal)
General remark: Of course placing IMU on the wing is a bad idea because filtering out the roll impact on X, Y and Z axis of the accelerometer will be overcomplicating the idea. But it might be perfectly acceptable to put magnetomether there.
QUESTION3:
Communication
Of course none of uC dedicated serial comms will work over a distance of 1,5m to IMU (I dont want to debug this signal particularly that it will pass close to aileron servo wires). This means I should use RS-232 async transfer to send tha data to central IMU, I am considering ATMEGA8/16/32/128 for the task. Now for max robustness, should I put extra MAX232 on the micromag side and another on the IMU, or will staying with TTL level be robust enough for maximum baudrates like 115000 plus parity plus 2 stopbits? I want to have overspecified comms and uC power because this is reserch project that I want to finish even in presence of small surprises.
To begin a few general remarks on the topic:
for IMU, we need 3-axis magnetometer or 2-axis with complicated Kalman estimator just to get 3rd axis (read "Tilt compensation algorithm for 2-axis magnetic compass"). Using this technique we could get away with 2-axis HMC6352 on I2C.
I have succeeded to talk to MicroMag from ATMEGA128. First observation: 32Hz update rate is difficult to achieve. Even if "Period
select set to 2048 is the highest setting where it is impossible to overflow the counter", for this Period Select, the Maximum Delay is 35.5 ms.
for 3 axis, this means 108ms worst case, or 9,25Hz. BTW this matches well SCP-1000 fast update rate which is around 9Hz. The real update rate in typical magnetic field is half of that but we have realtime requirements here, aren't we?
Note this doesnt necessarily means we can plug SCP-1000 and micromag to single SPI, since as far as I understand the specs and my oscillograms, uC must be fully configured and awaiting for micromag answers for the whole time while keepping SSEL low.
QUESTION1:
Do you confirm it is impossible to share SCP-1000 and Micromag-3 on single hardware SSP controller, if we consider that both should be capturing practically the whole time (in order to get max update rate).
QUESTION2
Now about the placement. Which option do you prefer. It's well known Micromag and associated uC must be in strictly non-metallic case, away from anything that induces magnetic field etc.
PLACEMENT1
Our flying platforms have more wingspan than length (this tendency will continue until around mach 0,6 I am afraid). This suggests placing micromag on the wingtip (upper side, to prevent frequent landing damage). Think about Cularis or similar.
Pros:
-maximum distance from electronics
-easy access, trivial mounting (cut-in in the wing)
Cons:
-the wing will bend in flight
-roll turbulence is pronounced in winds, causing h oscillations of the sensor (1Hz not more, but the idea is this is unrelated to plane position and magnetic field components X and Y change with altitude change dZ, the question is how much over 1m max deviation)
PLACEMENT2
end of the fuselage, like MAD device (look -Lockheed P-3 Orion, Breguet Atlantic etc).
Pros:
-no roll effset induced, if any exists
Cons:
-worse center of gravity
-longer fuselage
-sensor put in vulnerable position (consider transporting and usual handling)
-overall difficult mounting
-sensor most probably too large to be placed on top of rudder, also would be vulnerable during landing in bush (damage after plane reversal)
General remark: Of course placing IMU on the wing is a bad idea because filtering out the roll impact on X, Y and Z axis of the accelerometer will be overcomplicating the idea. But it might be perfectly acceptable to put magnetomether there.
QUESTION3:
Communication
Of course none of uC dedicated serial comms will work over a distance of 1,5m to IMU (I dont want to debug this signal particularly that it will pass close to aileron servo wires). This means I should use RS-232 async transfer to send tha data to central IMU, I am considering ATMEGA8/16/32/128 for the task. Now for max robustness, should I put extra MAX232 on the micromag side and another on the IMU, or will staying with TTL level be robust enough for maximum baudrates like 115000 plus parity plus 2 stopbits? I want to have overspecified comms and uC power because this is reserch project that I want to finish even in presence of small surprises.