こんにちは、
次の MAG キャリブレーション データを保存しようとしています。
このマグカロリー。fV [0]=8.80、このマグカロリー。fV [1]=61.10、このマグカロリー。fV [2]=3.20、このマグカロリー。fB = 45.2
thisMagCal. finvW [0][0] = 0.990、thisMagCal. finvW [0][1] = -0.022、thisMagCal. finvW [0][2] = -0.018
thisMagCal. finvW [1][0] = -0.022、thisMagCal. finvW [1][1] = 0.996、thisMagCal. finvW [1][2]) = -0.032
thisMagCal. finvW [2][0] = -0.018、thisMagCal. finvW [2][1] = -0.032、thisMagCal. finvW [2][2] = 1.046
校正データについては添付ファイルを参照してください。
リセット/電源オン後、これらのデータを thisMagCal 構造体にコピーし、 fFitErrorpc = 10.0F を設定しました。
見出しを確認しましたが、元のものとは大きな違いがあります。
どこが間違っていたのか教えていただけますか?正しいデータを取得するまでどのくらい待つのでしょうか?
ありがとうございます
クリスティ
元の添付ファイルは、 magnetics.txt.zipに移動されました。
ありがとう、マーク。
iValidMagCal はフラグとして機能し、使用されるキャリブレーション モデルのレベルを識別する役割も果たします。
4、7、10 は、キャリブレーションが 4、7、10 要素モデルを使用して計算されたことを意味し、C ではこれらのゼロ以外の値も論理「true」として解釈され、キャリブレーションが適切であることを意味します。
保存したキャリブレーションは 10 要素のキャリブレーションで計算されたので (対角線外の**マトリックス**要素があるため)、iValidMagCal をキャリブレーション データとともに保存し、それをキャリブレーションとともに読み込んでみてはいかがでしょうか。
あなたが行った操作は機能しますが、10 要素のキャリブレーションを読み込んだものの、ソフトウェアには 4 要素モデルからのキャリブレーション (iValidMagCal = 4 が true) があると伝えたため、若干不正確です。
保存されたキャリブレーションの値を 10% に設定するとおそらく適切です。電源投入時に、温度変化により古いキャリブレーションが有効でなくなる可能性があるため、すぐに交換する必要があります。新しいデータが磁気バッファに入力されるとすぐに、新しいキャリブレーションが計算され、適合誤差が 10% 未満になることがほぼ確実になり、保存された値が上書きされます。ソフトウェアは、適合誤差がより低いソリューションを見つけると、使用中のキャリブレーションを置き換えます。
マーク様へ
iValidMagCal==4 に設定してみましたが、問題なく動作します。以下の質問があります。
1) 4、7、10 のどの数字を使えばいいでしょうか?
2) FitError=10.0F に設定しましたが、大丈夫ですか?それとももっと良い数字があるのでしょうか?
3) 以前に保存したデータを上書きできるようにする FitError 値は何ですか?
ありがとうございます
クリスティ
保存したキャリブレーション係数を読み込んだ後、磁気キャリブレーション フラグ iValidMagCal が true に設定されていることを確認してください。そうしないと、ソフトウェアはキャリブレーションがあることを認識せず、それを適用しません。