私は、E-Compass ソフトウェアと、それに付属するとされるアプリケーション ノート (AN4676、AN4681、AN4684、AN4685、AN4696、AN4697、AN4698、AN4699、AN4700、AN4706、AN4709 など) を探しています。
E-Compassソフトウェアのページは、例えば以下の説明には記載されていない新しいセンサーフュージョンツールキットにのみ誘導しているようです。「磁気キャリブレーションを備えた傾き補正電子コンパス用ソフトウェア」( http://cache.freescale.com/files/sensors/doc/fact_sheet/eCompassFS.pdf ) には、特にこれらのアプリケーション ノートは含まれていません。
「しかし、結局のところ、このようなアプリケーションには、ハードウェアとインターフェースするドライバーが必要になります。」
概念的にはそれは逆で、ソフトウェア パッケージがハードウェア選択プロセスを推進しているように見えますが、それが常に悪いことというわけではありません。
はい、明らかに、組み込み関連チップにはハードウェアとソフトウェアのインターフェースがあります。
私は、自社製品にデザインを施すハードウェアを購入しようとベンダーを訪問します。
私が確認したいのは、そのハードウェアがどれだけ簡単に使用できるかということです。
ベンダー A とベンダー B のどちらを使用するかを決定するために何かをインストールする必要があることは、チップの使用方法を単純に確認するための問題です。
あなたが「ドライバ」について言及したという事実自体が、どのチップを使用するかを決めるのが過度に複雑であるという警告を私に与えます。
ご存知のとおり、アプリケーション ノートが役立つのはまさにこの点です。
すべてが 1 か所にパッケージ化されているのは良いことです。センサ フュージョンがいかに複雑であるかは理解していますが、カルマン フィルターの定数などを調べるのに、あまりにも多くの時間を費やしてきました。
ボブ、
バージョン 7.00 は、可能な限りプラットフォームに依存しません。しかし、結局のところ、このようなアプリケーションには、ハードウェアとインターフェースするドライバが必要になります。ハードウェアを変更する場合は、ドライバを交換する必要があります。他に方法はないのです。
私は、Freescale/NXP の一般的なドキュメントに関して、皆さんの意見に一部同意します。そのため、センサー フュージョン アプリのノート、データシート、ユーザー ガイドはすべてソフトウェアにバンドルされています。このトピックは複雑なので、私たちはこのパッケージに多大な労力を費やし、できるだけ理解しやすいものにするよう努めています。ただし、これらのいずれかを利用するには、ダウンロードする必要があります。
センサ フュージョン コードの SDK 構造内の場所を確認するには、 https://community.nxp.com/thread/444092の下部にある私の最後の投稿を参照してください。
Mike
「プラットフォームに依存しない C コード」が、この疑問が生じる理由の 1 つです。
あなたの返信には、「プラットフォームに依存しない C コード」がオプションであるようには聞こえませんでしたか?
おそらく、無限にネストされたヘッダー ファイル内のこれらのツールから抽象化の抽象化を削除した後に、「完全なソース コード」が利用可能になるということでしょうか。公平を期すために言うと、私は 7.00 を見たことはなく、古いツールから見たコードでの過去の経験に基づいて作業を進めています。
App Notes が公開されると、コードは App Notes で利用可能になり、引き続き利用可能になります。
数十年前に Motorola が公開したアプリケーション ノートや関連コードは、最近の Freescale/NXP のものよりも簡単に見つけられることがよくあります。:-(
このコミュニティの読者の誰もが、この情報がhttp://www.nxp.com/sensorfusionで入手可能であることに気づいていないことに驚いています。それは何年もそこにあり、私は定期的に人々にそれを紹介します。傾き補正 eCompass は、当社のオープン ソース センサ フュージョン ライブラリの標準コンポーネントです。2 つのバージョンがあります。バージョン 5.00 は、CodeWarrior、KDS、および Processor Expert に基づく少し古いツールチェーンを対象としています。バージョン 5.00 は、上記の URL にある別のインストーラーを介してダウンロードおよびインストールされます。バージョン 7.00 は KDS、IAR、Allolic をサポートしており、MCUXpresso SDK (旧 KSDK) をベースにしています。7.00 は、Welcome to MCUXpresso | MCUXpresso Config Toolsでビルドできる FRDM-K64F および FRDM-K22F の SDK の一部として提供されます (SDK をビルドするときに、FreeRTOS および ISSDK オプションを必ずチェックしてください)。どちらにも、詳細なドキュメント、完全なソース コード、特定の NXP ボード用のビルド済みプロジェクトが含まれています。他のハードウェアに移植する必要がある場合は、バージョン 7.00 から始めることをお勧めします。それを念頭に置いて再設計され、バージョン 5.00 に加えていくつかの追加機能が含まれています。
よろしくお願いいたします。
Mike
こんにちは、エリックとアニル:
私はちょうど電子コンパスのソリューションを探し始めたところですが、皆さんと同じ問題を抱えていることがわかりました。私の最初の観察からすると、これらのチップから X、Y、Z を抽出し、便利で読み取り可能なコンパスの方向を作成する、機能的で便利なプラットフォームに依存しない C コードは、意図的に隠されているか、現実には存在しないか、Samsung、Apple、Ford Motors などの大手企業 (おそらく、e-Compass ソリューションを作成するために多大な研究開発費を費やした) の機密情報であるか、または「学生の課題として残されている」かのいずれかです。率直に言って、私はこの業界に完全に失望しています。この業界は「インダストリアル アプリケーション」ではなく「ドローンとゲームと趣味人」によって推進されているように思われます。私は、InvenSense、Bosch、STMicro、NXP など、「傾き補正」機能付き e-Compass を謳うメーカーを調べましたが、これらのデバイスは傾き補正が「可能」かもしれないが、そのようなすぐに利用できるソフトウェア ソリューションは実際には存在しないという結論に達しました。おそらく誰かが私の間違いを証明できるだろうが、それまでは、私はこの業界を「マーケティングの誇大宣伝」のトップに位置づけるつもりだ。
こんにちは、
また、eCompass の方向を取得するために同じ FXOS チップを使用しています。
問題は解決しましたか?私も同じ問題に直面しています。加速度センサの x、y、z と磁気の x、y、z データから RAW 値を取得しています。回転、ピッチ、ロールを変換できます。
しかし、eCompass の 0 ~ 360 度の方向値が必要です。RAW 値を使用して数式を適用する方法。私はジャイロを使用しておらず、加速度と磁気の値のみをfxosチップから取得しています。
0、90、180、270、360 の角度計算を取得または計算するための参照 C コードを入手しましたか。
よろしくお願いいたします
アニル
プラットフォームに依存しないソース コードを含むこのようなソフトウェア パッケージは、Windows 固有の自己解凍型アーカイブではなく、ZIP ファイルなどのプラットフォームに依存しない配布形式で提供されると便利です。Windows を実行しているシステムに何らかの形でアクセスできない人はおそらくほとんどいないでしょうが、一部の人にとってはあまり便利ではありません。私は Linux 上で Kinetis Design Studio を使用していますが、非常にうまく動作します (Linux バージョンを提供していただきありがとうございます)。
ありがとう!
エリック
どうやら、ダウンロードにアプリのノートが含まれていなかったため、私は混乱してしまったようです。いくつか同等のものが存在するようですが、私が知る限り、AN4698「CPU、フラッシュ、および RAM ベンチマーク」や AN4681「加速度センサと磁力計センサを使用した仮想ジャイロの実装」には同等のものはありません。また、データシートに記載されている「実際のセンサに接続する前にターゲット プロセッサですぐに検証できるようにシミュレートされた加速度センサおよび磁力計ドライバが提供されています」という記述も見つかりませんでした。また、KDS でコンパイルしても「合計コード サイズが 10 KB 未満」にはなりません。これにより、ダウンロードが適切ではなかったこと、また、完全なセンサー フュージョン パッケージに比べてよりシンプルな eCompass パッケージが存在することが考えられました。
AN4681 を入手できなかったのは特に残念です。これは非常に興味深く、役に立つ可能性もあるように思えました。
よろしくお願いします!
エリック
こんにちは、エリックさん。
「eCompass ソフトウェア パッケージ」とは何のことですか?
ダウンロード リンクは [ダウンロード] タブの下にあります。その名前は " XTRINSIC_FUSION_LIB_KINMCU " です。これは、Kinetis MCU 用の eCompass ライブラリのコピーをインストールする実行可能ファイルです。
磁気キャリブレーションアルゴリズムは、Sourcesフォルダのどこかにあり、その名前は「magnetic.c」です。そのパスは次のようになります。
INSTALLATION_PATH\Codewarrior\FRDM_KL46Z\Sources\magnetic.c
残念ながら、ご参照のアプリケーション ノートは現在入手できず、eCompass ファクトシートも古くなっています。ご不便をおかけして申し訳ございません。ただし、必要なドキュメントはすべて、「インストール パス」の「docs」フォルダにあります。
お役に立てれば幸いです。
-ジョシュ
はい、私はそのページを見つけました。そのページから私が言及した PDF を入手したのですが、私が知る限り、そのページのリンクのどれもが実際の eCompass ソフトウェア パッケージ (アプリケーション ノートを含む) のダウンロードにはつながりませんでした。一方、リンクの少なくとも 1 つはセンサー フュージョンのダウンロードにつながります。
おそらく私が鈍感なだけかもしれませんが、見つけることができません。ダウンロードできるのであれば、正しいダウンロードにたどり着くための正確な URL または正確なクリック順序が必要です。
よろしくお願いします!
エリック
こんにちは、エリックさん。
eCompass ソフトウェアの Web ページは次のとおりです。
http://www.freescale.com/ecompass
Sensor Fusion のホームページ:
http://www.freescale.com/sensorfusion
-ジョシュ