Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
加速度センサ MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 車載追跡システムにMMA8451加速度センサを使用しています。 この MMA8451 を使用して動的加速度を測定するにはどうすればよいでしょうか?! これを読んで、車載が動いているかどうかをどのように判断すればよいでしょうか? レグ、 アムリーン 加速度センサ Re: Re: Re: Accelerometer MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> アムリーン、 現時点では何が原因なのかよく分かりませんが、その間に、組み込みのモーション検出機能の使用方法を示す簡単なベアメタルのサンプル コードを作成しました。FRDM-KL25Zボード用のCW 10.3に書かれています。 役に立つことを願っております。 よろしくお願いいたします。 トーマス Re: Re: Accelerometer MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、トーマス。 返信ありがとうございます。 PTA14 割り込みピンに関するご提案はすでに実装済みです。 私はode warrior 10.3を使用しています。プロセッサ エキスパート サービスを使用して、PTA14 ピンを割り込みとして設定しました。 割り込みピン設定ですべてのコマンドを設定した後、割り込みが発生しません。 次に、STATUSレジスタを読み取ってポーリング方法を使用しようとしました。 MMA8451_WriteReg(MMA8451_CTRL_REG_1, 0x018);//0x018 // デバイスを100 Hz ODR(10mS)、スタンバイに設定します MMA8451_ReadReg(MMA8451_CTRL_REG_1、(uint8_t*)&xyz、1); CTRL_REG1_データ = xyz[0]; CTRL_REG1_データ |=0x01; MMA8451_WriteReg(MMA8451_CTRL_REG_1, 0x19); // アクティブモードを設定 MMA8451_ReadReg(0x00, (uint8_t*)&abc,1); もしabc[0]> 0x00ならば { データ準備フラグ=1; } この場合も、data_ready_Flag は設定されていません。 また、各「MMA8451_ReadReg」関数呼び出しの間に 200 ミリ秒の遅延を追加しましたが、結果は同じです。 次に加速度センサがアクティブモードになっているかどうかを確認しました。 MMA8451_WriteReg(MMA8451_CTRL_REG_1, 0x018);//0x018 // デバイスを100 Hz ODR(10mS)、スタンバイに設定します MMA8451_ReadReg(MMA8451_CTRL_REG_1、(uint8_t*)&xyz、1); CTRL_REG1_データ = xyz[0]; CTRL_REG1_データ |=0x01; MMA8451_WriteReg(MMA8451_CTRL_REG_1, CTRL_REG1_Data); // アクティブモードを設定 MMA8451_ReadReg(MMA8451_CTRL_REG_1、(uint8_t*)&abc、1); MMA8451_CTRL_REG_1=0x18 と表示されていますが、読み取る前に 0x19 に設定しています。 デバイスがアクティブ モードになっていない理由がわかりません。 Re: Re: Accelerometer MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、アムリーンさん。 まず、もっと早く返信できなかったことをお詫びします。ここ数日、オフィスを離れていました。 コードから、自由落下/モーション割り込みが有効になっていて、INT1 ピンにマッピングされていることがわかります。CTRL_REG3 レジスタの IPOL ビットと PP_OD ビットは両方ともデフォルト値になっているため、INT1 ピンはプッシュプルでアクティブ ローになります。したがって、立ち下がりエッジ割り込み用に INT1 ピンにコネクテッドの PTA14 ピンを次のように設定する必要があります。 SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; // ポートAモジュールへのクロックをオンにする PORTA_PCR14 |= (0|PORT_PCR_ISF_MASK| PORT_PCR_MUX(0x1)| // PTA14はGPIOとして設定されている PORT_PCR_IRQC(0xA)); // PTA14は立ち下がりエッジ割り込みに設定されています ソースコードの他のセクションで PTA14 ピンが初期化されている可能性があります。念のためここに記載しました。 さらに、ISRでは、 次のように書いて IRQを認識する 必要があります。 PORTA_PCR14レジスタのISFビットに 論理1を設定し ます。 PORTA_PCR14 |= PORT_PCR_ISF_MASK; // 割り込みフラグをクリアする FF_MT_SRCレジスタを正しく読み取ってSRC_FF_MTステータスビットをクリアしていますね。ただし、ISRをできるだけ短くするために、メインループで両方のレジスタを読み取ることをお勧めします。ISRでは、IRQを確認し、メインループでモーションイベントを示す別のフラグをセットするだけです。 お役に立てれば幸いです。 よろしくお願いいたします。 トーマス Re: Accelerometer MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 Wlodek_D。 モーション検出の設定については、アプリケーションノート AN4070 を参照してください。 私はCW 10.3でFRDMボードを使用しています 私の初期化は MMA8451_WriteReg(MMA8451_CTRL_REG_1, 0x018); //デバイスを100 Hz ODR、スタンバイに設定する MMA8451_WriteReg(0x15, 0xC8); //モーション検出の設定レジスタを設定する MMA8451_WriteReg(0x17, 0x16); // 1gを超える動き検出 MMA8451_WriteReg(0x18, 0x0A); // デバウンスカウンターを 100 ms/10 ms (ステップ) = 10 カウントに設定します。 MMA8451_WriteReg(0x2D, 0x04); //システム内のモーション/自由落下割り込み機能を有効にする MMA8451_WriteReg(0x2E, 0x04); //モーション/自由落下割り込み関数をINT1にルーティングする MMA8451_ReadReg(MMA8451_CTRL_REG_1、(uint8_t*)&xyz、1); CTRL_REG1_データ = xyz[0]; CTRL_REG1_データ |=0x01; MMA8451_WriteReg(MMA8451_CTRL_REG_1、CTRL_REG1_データ); //アクティブモードを設定する X軸のみにしきい値を設定しました。 電源投入時に割り込みが発生しますが、0X0Cレジスタを読み出すと、その値は0x04ではなく0x00になります。 私の割り込みルーチンは    MMA8451_ReadReg(0x0C, (uint8_t*)&データ,1);    データ[0] = = 0x04の場合        {    MMA8451_ReadReg(0x16, (uint8_t*)&データ,1);    Green_LED_SetVal(NULL);       } 0x0C を読み取った後、割り込みが発生しません。 間違った方向に進んでいる場合はご指導ください。 Re: Accelerometer MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、アムリーンさん。 車載が動いているかどうかを大まかに検出することが目的の場合は、加速度の出力しきい値を設定し、このしきい値を超えたことを移動中の車載の振動の証拠として使用できます。 正確な測定が必要な場合、タスクはより複雑になります。加速度センサによって提供される出力信号は、時間単位での速度の変化を表します。これは、車が一定の速度で動く場合(例えば20 km/h の場合、速度の変化がないため、センサによって報告される加速度はゼロになります (振動を無視した場合)。車が駐車している場合(速度変化なし)にもまったく同じ信号が報告されるため、加速度信号のみを使用して 2 つの異なる状況を区別するには、初期値(測定の初期瞬間の速度)を知る必要があります。他の情報源からの情報も使用できます(例:車輪回転検出器、速度計、前回の測定結果など)、さまざまなソリューションが考えられます。 基本的ながら役に立つ例がApp Notesで参照できます(例:AN4070、AN4068、AN4399、... ) は、MMA8451 製品概要ページ ( MMA8451Q 製品概要ページ) のドキュメント タブに掲載されています。 よろしくお願いいたします。 Wlodek_D。
View full article
MMA6900 と 6901 の電源電圧は? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> データシートには、MMA6900 と 6901 の電源電圧が明確に記載されていません。6900 では 3.3V、6901 では 5V ですか? それとも、これら 2 つの値は両方でオプションですか? ありがとうございました。 ミ 加速度センサ Re: Supply voltage of MMA6900 and 6901? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ミさん 両方の加速度センサ (MMA6900 および 6901) は 3.3 V または 5 V で動作できます。 データシートに記載されているすべての特性仕様は、両方のセンサのこれら 2 つの標準的な電圧供給を使用して計算されました。 すてきな一日を、 ホセ・レイエス ----------------------------------------------------------------------------------------------------------------------- 注: この投稿で質問が解決した場合は、「正解」ボタンをクリックしてください。ありがとう! -----------------------------------------------------------------------------------------------------------------------
View full article
如何找到 X 传感器加速度的局部最大值& 局部最小值 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我正在使用 FXTH871xD TPMS 传感器进行开发,现在我需要测量 X& Z 加速度,并试图找到 X 加速度最大值和最小值点来发送射频数据。 但我没有找到用于查找最大& 最小点的算法。 车轮以 100RPM 旋转,XZ 加速"TPMS_READ_DYNAMIC_ACCEL_X" & " TPMS_READ_DYNAMIC_ACCEL_Z" 每 100ms 调用一次。 请参考我的源代码,查找 MAX& MIN。 if((u16AccelX_SearchVal> u16LocalMax)) { if(u16AccelX_SearchVal != u16LocalMax) { if((u16AccelX_SearchVal - u16LocalMax)> 4) { Fill_RFBUFFER(0); vfnSendRFDataRead(); } u16LocalMin = u16AccelX_SearchVal; u16LocalMax = u16AccelX_SearchVal; } } else if((u16AccelX_SearchVal< u16LocalMax)) { if(u16AccelX_SearchVal != u16LocalMin) { if((u16LocalMin - u16AccelX_SearchVal)> 4) { Fill_RFBUFFER(0); vfnSendRFDataRead(); } u16LocalMax = u16AccelX_SearchVal; u16LocalMin = u16AccelX_SearchVal; } } else { //do nothing } 如果我的资料有遗漏,或者有任何其他算法,请告诉我。 请大家帮我解决这个问题 谢谢! Sakthivel K 加速度传感器 Re: How to find local maximum & local Minimum for the Sensor X acceleration <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 感谢您举例说明。 通过查看您的代码,我有了一个想法。我的意图是实现一种算法,以找到轮子旋转时 X 加速度的最大和最小位置。 如果找到最大值和最小值位置,我必须将射频数据传输到控制板进行自动定位。 在使用内置传感器固件例程测量动态加速度功能时,我遇到了一些问题。 我的代码: u8OffSetZ = 7; u8StatusAcq |= TPMS_READ_DYNAMIC_ACCEL_Z(0u,&u8OffSetZ,gu16UUMA); 如果 (u8OffSetZ< 7) u16CompAccelZ = gu16UUMA[4u]; 不然 u16CompAccelZ = gu16UUMA[4u]+(u8OffSetZ-7)*256; 当我直接从 UUMA 数组中取出数值时,这段代码的数值总是最大的,即使车轮没有运动。 请帮我从 UUMA 阵列中取出 RAW 值。因为我想找到车辆有运动检测或无运动的情况。使用 Z 加速。 我期待着您的宝贵回复。 Re: How to find local maximum & local Minimum for the Sensor X acceleration <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 感谢您的来信。 我想推荐我在 MAG3110 样板项目中实施的程序。 请查看下面的代码,我希望算法能给你一个概念:   取样 200 次后,我就得到了上述变量的最大值和最小值。 如果我误解了您的问题,请告诉我。 顺祝商祺! 戴维
View full article
MP3V5010DP 圧力センサは 2.7V 未満でも動作しますか? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MP3V5010DP 圧力センサは 2.7V ~ 3.3V で動作するように定格されていますが、精度を無視した場合、センサは 2.7V 未満でも (不正確に) 動作しますか?私たちが設計しているプロトタイプは、圧力センサが少なくとも 2.0V まで機能すれば、その電圧まで動作できるはずです。この特定のアプリケーションでは、測定値が大きくずれる可能性があります... 圧力センサ Re: Will the MP3V5010DP pressure sensor work at all below 2.7V? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 MP3V5010DP を 2.7V 未満の電源で使用することは推奨されません。この電圧ではデータが特性評価されないためです。ただし、このセンサのレシオメトリック特性の励起範囲によれば、動作するはずですが、データシートの精度と直線性データは変化します (異なる範囲でデバイスを操作すると、追加のエラーが発生する可能性があります)。 この電圧での特性データがないため、センサの出力は指定されません。 すてきな一日を、 ホセ・レイエス ----------------------------------------------------------------------------------------------------------------------- 注: この投稿で質問が解決した場合は、「正解」ボタンをクリックしてください。ありがとう! -----------------------------------------------------------------------------------------------------------------------
View full article
accelerometer with interrupt on relative change in acceleration (not change relative to a constant accelleration)? Are there any low-g XYZ Accelerators that can send an interrupt on relative change in acceleration (not absolute acceleration)? This is more useful to me than the freefall or motion detection of interrupt, for example in the MMA8652, which just compares the acceleration to a constant value. Accelerometers Re: accelerometer with interrupt on relative change in acceleration (not change relative to a constant accelleration)? Hello Ted, Yes, we do have the FXLS8471Q accelerometer with an embedded vector-magnitude function that can be configured to generate an interrupt when the acceleration magnitude exceeds a preset threshold for a programmed debounce time. This function can be configured to operate in absolute or relative modes and can also act as a wake to sleep/sleep to wake source. For more information please refer to the AN4692. Regards, Tomas PS: If my answer helps to solve your question, please mark it as "Correct" or “Helpful”. Thank you.
View full article
MMA8652の割り込みをクリアする <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私はMMA8652加速度センサを使っています。一時的な割り込み(タップへの応答)は正常に生成されますが、それをクリアすることができないため、割り込みが継続されます。 割り込みソース レジスタ (0x0C) を読み取り、次に割り込みに続いて一時ソース レジスタ (0x1E) を読み取ります。次に、割り込みソース レジスタを再度読み取ります。一時割り込みのビットはまだ設定されています。データシートとアプリケーション ノートには、過渡ソース レジスタを読み取ると割り込みがクリアされると記載されています。レジスタ 0x0C と 0x1E を読み取ると、最初の割り込み後は常に 0xFF になります。何が足りないのでしょうか? また、データシートでは、VDDIO が VDD に接続されていることが示されているようです。これは正しいですか? ハロルド 加速度センサ Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> わかりました。読み取りの繰り返し開始条件が機能することを確認しましたが、どうやら必須のようです。私が扱う他のすべての I2C デバイスでは、繰り返し開始条件はオプションであり、レジスタ アドレスは記憶されます。 これでこの質問への回答が得られたと考えます。ありがとう! Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> レジスタ アドレス (書き込みメッセージの 1 番目のデータ バイト) は停止条件後には保持されないということですか? Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ハロルド。 I2C バスで何が起こっているかを確認する ために、波形をここに投稿していただけますか? たとえば、WHO_AM_I レジスタ 0x0D から読み取られた 1 バイトは次のようになります。 読み取り操作でよくある問題は、 2番目のバイト(この場合は0x0D)の後にストップコンディション(SCLがHighの状態でSDAがLowからHighに遷移する)を送信することです。正しい方法は、SCLラインがHighになる前にSDAラインを解放(Highに遷移させる)することです。 プルアップ抵抗に関しては、推奨値は 1k ~ 4.7k です。 VDD I/O は、必要なインターフェース電圧に対応するために VDD と異なる場合があり、1.71V まで下げることができます。単一電源動作の場合、VDD I/O は主電源 VDD (1.95V ~ 3.6V) と同じになります。 よろしくお願いいたします。 トーマス Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8652 への I2C 書き込みは正常に実行できます (加速度センサからの予測可能な動作)。しかし、レジスタを読み戻すことができません。SCL と SDA をスコープで表示すると、正常なレベルと波形が表示されます。「who am I」レジスタを読み取っても、0x00 または 0xFF が返されます。これにより、データシートの VDDIO について疑問が生じます。 VDDIO への強力なプルアップ (1k 抵抗) が必要なのはなぜですか?1.3項。 表 5 では、標準 VDD が 2.5 V ですが、標準 VDDIO が 1.8 V であることが示されています。 表 1 には、「制御信号 SCL および SDA は、 VDD IO + 0.3 V を超える電圧には耐えられません。」という脚注があります。VDD IO が削除されると、制御信号 SCL および SDA は、内部 ESD 保護ダイオードを使用してすべてのロジック信号をクランプします。 ハロルド Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> TRANS_THS レジスタで DBCNTM を設定し、TRANS_CFG レジスタで ELE をクリアすると、継続的な割り込みが発生しなくなります。それでも、TRANSIENT_SRC と INT_SOURCE の両方のレジスタに常に 0xFF が表示されます。 Re: Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私のボードが割り込み(加速度センサからマイクロへの)を低く保持している可能性は低いです。 割り込みラインを短絡すると (搭載されハイにプルされ、割り込みはオープン ドレイン + アクティブ ローとして構成されます)、マイクロで信号がローにプルされます。その後、フロート状態にすると、マイクロで確認される信号はハイになります。 たとえボードが割り込みラインを低く保持していたとしても、割り込みソース レジスタと一時ソース レジスタの両方に 0xFF が表示される理由は説明できません。 Re: Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> アセンブリに悪影響を与える可能性のあるイベント情報 (激しい、鋭い衝撃) をログに記録するために、過渡検出を使用したいと考えています。SO、私はすべての軸に興味があり、最終的にはしきい値を 8g と高く設定します。ハイパス フィルターは低周波イベントを遮断するはずです。 Re: Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> example.c を添付する(a) 加速度センサの初期化用のフラグメントと (b) 一時割り込みをクリアするためのフラグメント。 Re: Clearing MMA8652 Interrupts <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ハロルド。 設定を再現できるように、完全なソース コード、または少なくとも加速度センサの初期化を確認していただけると助かります。 INT_SOURCEレジスタのSRC_TRANSビットをクリアし、割り込みをデアサートするには、TRANSIENT_SRCレジスタを読み出す必要があるのは間違いありません。タップ検出機能について説明した添付のサンプルコードが参考になるかもしれません。 お役に立てれば幸いです。 よろしくお願いいたします。 トーマス 追伸: 私の回答がご質問の解決に役立った場合は、「正解」または「役に立った」と評価してください。ありがとうございます。
View full article
The FX0S8700CQ data sheet M_VECM_CFG register definition from Rev. 7.0 — 22 March 2016 (first NXP) does not match Rev. 5.0 05/2015 (last Freescale). Which is correct? Magnetic Sensors Re: The FX0S8700CQ data sheet M_VECM_CFG register definition from Rev. 7.0 — 22 March 2016 (first NXP) does not match Rev. 5.0 05/2015 (last Freescale). Hi Jack, There is a typo in the new datasheet. The old representation is the correct one: We will correct it as soon as possible. Regards, Tomas
View full article
FXTH87 flash operation functions Why nothing changed after calling function TPMS_FLASH_ERASE() and TPMS_FLASH_WRITE() ? What's wrong with code below ? fosc = 8MHz, fbus = 4MHz FCDIV = 21;                                         // Fclk = 4MHz / (21+1) = 181.18KHz - 150KHz~200KHz //---------------------------------------------------------------------------------- const BYTE CParaAddr[] @ 0xD200u = { 0x44, 0x55, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }; ...... FCDIV = 21; SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]);          // receive data are { 44 55 66 } mRfData1 = TPMS_FLASH_ERASE((WORD)CParaAddr);                      // the function return 0x00, ERASE succeed ? mCommonBuffer[0] = 0x77; mCommonBuffer[1] = 0x88; mCommonBuffer[2] = 0x99; TPMS_FLASH_WRITE_1A((WORD)CParaAddr, &mCommonBuffer[0], 10); SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]); Re: FXTH87 flash operation functions Resolved. CParaAddr is defined as const array. SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]); The compiler give three const to the function as parameters directly, instead of accessing the const array again. Re: FXTH87 flash operation functions the 2nd time calling SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]); receive data is still { 44 55 66 }, nothing changed
View full article
如何在 FXTH87 中 RESET 或停止 Watchdog 嗨,亲爱的 我正在使用 FXTH87EH911DT1。 我使用 FXTH87EH911DT1 制作了大约 50,000 个传感器。 大约 20% 个传感器在编程后挂起(停止工作),大约 3 天后电池完全放电。 我决定用看门狗来解决这个问题。 但看门狗从未被禁用。 这是我为看门狗设计的程序: simopt1=simopt1|simopt1_copclks_mask; simopt2_copt0=0;simopt2_copt1=0;simopt2_copt2=0; simopt1 = (simopt1 | simopt1_stop_mask)& (uint8) (((uint8) simopt1_cop_mask)); 当应用程序进入 STOP1 模式时,它会立即重置。 我使用 " __RESET_WATCHDOG (); " 重置看门狗,但是当微型进入 STOP1 模式时,它会立即重置。 请帮我解决这个问题。 顺祝商祺! Re: How to reset or stop Watchdog in FXTH87 亲爱的托马斯 我想解释一下我们的操作程序: 1-我们使用 BDM 编程器对 FXTH87 进行编程(不带电池,使用其他 3.3v 电压供电)。 2-断开电源和编程器 3 将电池安装到 FXTH87 PCB 上。 此外,您最好还能了解我的应用软件例程: 1-配置 2-输入 STOP1 3 通过 LF 中断或 PWU 周期性中断从 STOP1 退出 . 4-转至 STOP4 (用于测量 P_T_V_AccZ ) 5-RF TX 当应用程序软件无法按预期执行时,我需要在程序的启动步骤中启用 " COP Watchdog " 以 RESET 系统。 但当我在程序行结束后启用"COP WATCHDOG" MCU 时,只要输入 STOP1,MCU 就会重新启动并继续执行,程序的其他部分也不会执行。 注意:我在程序例程中使用 __RESET_WATCHDOG ();但是 COP 计时器无法停止或重置。 实际上,我的问题是我无法在中断例程中或程序处于 STOP1 模式时RESET警报计时器。 顺祝商祺! Re: How to reset or stop Watchdog in FXTH87 您好, 下面是我们 TPMS 专家的回答。 关于 20% 个传感器在 3 天后挂起和电池放电的问题,我认为可能的原因是编程后没有进行真正的 POR。当通过 BDM 对 FXTH 进行编程时,它会进入 "后台 "调试模式,其行为与 "正常 "行为不同。例如,STOP1 条目被 STOP4 条目取代,这会影响应用流程和功耗。 要强制 FXTH 以 "正常 "模式重新启动,必须在编程后进行 POR。 关于看门狗配置,SIMOPT1 和 SIMOPT2 的某些位只能写入一次,因此只能访问一次进行写入操作。因此,我们建议在写入所有字段时仅使用一个写入权限。例如 /* 启用 STOP 模式,启用 COP,选择 LFO 作为 COP 源 */ simopt1 = (simopt1 | simopt1_stop_mask | simopt1_cope_mask )& (uint8)(~((uint8) (simopt1_copclks))); /* 看门狗 2048ms 超时 */ simopt2_copt = 7; 如果还有其他问题,请与我们联系。 顺祝商祺! 托马斯
View full article
MMA8452Q、センサツールボックスのI2Cアドレス <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 MMA845xQ評価キット(LFSTBEB845x + LFSTBUSB)を通信させることは可能ですか? I2C アドレス 0x1D (SA1=1) ではなく 0x1C (SA0=0) に MMA8452Q を配置しますか? MMA845xQ評価キット(LFSTBEB845x + LFSTBUSB)があり、 MMA8452Q DILブレイクアウトボードを同梱していますが、スペースの制約により、 加速度センサセクションを使用するために、製造ボードから切り取りました。 私たちのボードではSA0ピンが接地されています(トレースはQFNパッケージの下にあるため、これを切断しないと 再作業中だが、EVキットとMMA8452Q間のI2C通信を見ると、 DIL ソケットの SA0 ピン (J1-7) を接地した場合でも、evkit は SA0=1 を想定します。 センサーツールボックスのNVMロガー機能は、 違いを生みます。EVキットには4本の配線(Vdd、gnd、scl、sda)しかコネクテッドではないが、ターゲット ボードにはバイパス キャップがあり、すべての電源/GND ピンを接続します。 ありがとうございます ヤンネ 加速度センサ Re: MMA8452Q, sensor toolbox I2C address <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ヤンネさん。 残念ながら、STB 評価 (中央) ボード上の MS08 コアで実行されているコードは、MMA845x の 0x1C アドレスのみをチェックしており、0x1D アドレスを使用している場合は部品を認識しません。 よろしくお願いいたします。 トロイ
View full article
在 MPL3115_Init 中,传感器融合的初始化有时会挂起 ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我发现在使用传感器融合时,我的应用程序有时会在启动时挂起。我起初怀疑是我的代码出了问题,但后来我发现了一些问题。 执行几秒钟后,用调试器暂停执行,发现程序在 MPL3115_Init 中永远循环,等待 I2C 回调发送 "已发送 "标志     调试器显示 MPL3115_I2C_Error 为 0   我使用的是 KL46Z 到目前为止,我的代码没有与任何传感器或 I2C 进行交互。 知道发生了什么事吗? 传感器融合 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我还忘记确切地说,在两次代码运行之间保持蓝牙串行端口(以及蓝牙模块)的连接肯定会干扰自由板的启动,你说得完全正确。 基本上,板从不在 user_tasks.c 中运行任务如果在闪烁期间连接了蓝牙。不过,在执行过程中,我发现使用 KDS 调试器和蓝牙串行端口都没有问题。我可以很好地调试我的代码,也可以很好地接收数据。 我只是想分享一下反馈意见,也许对其他一些人有用。 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 好极了 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我重新焊了几个焊点,现在问题似乎解决了。好消息 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 子卡上的 J7 是我指的套头衫。它就在蓝牙模块旁边。 没错,坏焊点也会出现你描述的症状。 而且我保证,如果你拆下防护罩,软件会挂起。 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我试着移除电源跳线,但 USB 串行端口上根本接收不到任何信息。我仔细检查了端口,硬线串口连接良好。 从子卡的示意图来看,我相信我需要改为旋转蓝牙接口中 UART_TX/RX 上的方形跳线。迈克尔,你能确认一下吗?还没有机会测试 另外,我注意到重现 I2C 错误的一种简单方法是移除子卡。所以我想,如果 KL46Z 针座上的焊锡坏了,结果可能是一样的。我在板接头引脚上发现了一个可能有问题的焊料,我会试着修复它然后告诉你结果 感谢您的支持 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 雷米 这可能与 MPL3115A2 无关。 在 KL46Z 上,同一个 UART 被路由到蓝牙模块,用于通过 OpenSDA 进行串行通信。 如果两个人都试图使用它,就会产生冲突。 试着在调试时移除蓝牙模块上的电源跳线,看看是否能解决问题。 Mike Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 Michael,我正在使用这个板,它确实包括 MPL_3115A2: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-FXS-MULT2-B 目前,我的应用程序通过蓝牙串行端口与计算机交换数据,奇怪的是,当我不连接蓝牙串行端口(LED 灯保持蓝色)并重新启动调试时,问题似乎发生得更频繁。但我不确定这是否完全与此有关,我需要再做一些测试。 是否有可能在蓝牙上保持串行端口处于打开状态,可能会冻结 KL46Z I2C 总线?我觉得不太可能 MPL3115 是第一个被初始化的传感器,还是第一个使用 I2C 的传感器? 我将尝试找到一种一致的方法来重现该问题 Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你使用的是哪个传感器板?9 轴板不包含 MPL3115A2。如果你有 9 轴板,或者你的应用程序不需要 MPL3115A2,可以注释掉 build.h 中写着 " #define USE_MPL3115A2 " 的那句话。
View full article
MMA9555L PEDOMETER.STEPCOALESCE 寄存器未更新 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 我们正在开发一个基于 MMA9555L 计步器的项目。 不更新 STEPCOALESCE 寄存器。 开机后,按照计步器应用配置进行操作: X00 X00 X00 X00 X01 X00 X00 XAF X50 X04 X03 X05 X01 X00 X00 X00 按照我们的要求配置计步器应用程序: X00 X00 X00 X00 X01 X80 X00 XB4 X64 X04 X83 X05 X82 X00 X00 X01 按照计步器应用程序配置的回读(请注意,CONFIG 位已正确 RESET): x00 x00 x00 x00 x01 x00 x00 x00 xb4 x64 x04 x83 x05 x82 x00 x00 x00 x00 除STEPCOALESCE外,所有参数都已正确更新。 我们还尝试了偏移 = 0x10 的单寄存器更新,但没有成功。 问题 1: 为什么开机配置与数据表中定义的默认值(0x01)不一致? 问题 2:为什么更新不起作用? 加速度传感器 Re: MMA9555L PEDOMETER.STEPCOALESCE register not updated <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,Amine, ,我使用的是 FW 1.34 版,不知道这是否可以解释差异。 是的,我可以成功地将 STEPCOALESCE 更改为任何值。 好的,我在你的通信日志中看到只返回了 0x10 字节,而不是请求的 0x11 字节。这将解释为什么你无法访问/更新 ST EP COALESCE 注册表。 请直接与我联系 ([email protected])讨论如何为您的部件配备最新的 FW。 再见,雅克 Re: MMA9555L PEDOMETER.STEPCOALESCE register not updated <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,雅克、   1/ 关于硬件,它是 从 DIGIKEY 购买的 263 9555 BWL 模块,安装在我们专有的硬件原型上。 |MMA9555L| chip_info = {.device_id= x12a274d8, .rom_ver= x0101,.fw_ver= x0202,.hw_ver= x0106, .build_ver= x0341} |MMA9555L| pedometer.status = {.ver= x01} 我们注意到,我们使用的是计步器应用程序的R1.33版本,而不是最新的R1.34(这两个版本之间可能有修复吗,我们找不到与这些版本相关的发行说明)。   2/ 关于您的测试;我们无法确认 STEPCOALESCE 已正确更新,更新前 STEPCOALESCE 已 = 0x01)请尝试将其更改为 0x02 或 0x03 以确认。     我们还注意到您和我们的序列之间的另一个区别与响应的实际字节数有关;它与请求的字节数不匹配(缺少一个字节,它对应于 STEPCOALESCE reg)。我们该如何解释呢?   |MMA9555L| mma9555l_get_pedometer_configuration>> |命令头 = x15 x10 x00 x11 |MMA9555L| 响应头 = x15 x80x10 x11 |MMA9555L| raw_data = x00 x00 x00 x00 x00 x01 x00 x00 xaf x50 x04 x03 x05 x01 x00 x00x00 |MMA9555L| mma9555l_get_pedometer_configuration<< Br、 阿明 Re: MMA9555L PEDOMETER.STEPCOALESCE register not updated <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,阿明, 你使用的是哪种硬件? 我使用 KITMMA9555LEVM 进行了一些调查,但无法重现您的问题。 请参阅下面的从属端口交易日志: IIC 命令交易:起始 MB = 00,要读取的字节数 = 21 写入:15 10 00 11//查询计步器设置 读取:15 80 11 11 00 00 00 00 00 00 00 00 01 00 00 AF 50 04 03 05 82 00 00 0 1 IIC 写入事务 ::开始 MB = 00 写 : 15 20 00 11 00 00 00 01 80 00 B4 64 04 83 05 82 00 00 01 // 写入自定义计步器设置 IIC 命令交易:: 起始 MB = 00,要读取的字节数 = 21 写入:15 10 00 11//查询计步器设置 读取:15 80 11 11 00 00 00 00 00 00 00 01 00 00 00 B4 64 83 05 82 00 00 0 1 STEPCOALESCE 寄存器默认内容为 0x01,符合预期。 请注意,rev2.2 版数据表中出现了一个错字: STEPCOALESCE 寄存器偏移地址错误地声明为 0xF。后来在数据手册 rev2.3 中进行了更正(改为 0x10)。 再见,雅克
View full article
FXOS8700CQ - Time-aligned accelerometer/magnetometer measurements Hi all, I am using the FXOS8700CQ six axis sensor, and can read the (x,y,z) accelerometer measurements and (x,y,z) magnetometer measurements without issue from their dedicated registers. The data sheet also references complementary/companion registers that hold accelerometer readings that are time-aligned with the magnetometer values. However, if I query these registers (at 0x39 et seq), the values are always zero. Any pointers on procedures or special setup steps that need to be taken to get meaningful values from these registers? Thanks Accelerometers Magnetic Sensors Re: FXOS8700CQ - Time-aligned accelerometer/magnetometer measurements Hi Tomas, Thanks for the confirmation; the behavior you describe makes sense. Jeffrey Re: FXOS8700CQ - Time-aligned accelerometer/magnetometer measurements Hi Jeffrey, After taking a closer look at this behavior and trying several ODR and OSR options, I realized that specific OSR settings  is important to get meaningful values from the CMP_X/Y/Z registers which actually makes sense as these registers contain time-aligned accelerometer data. I was able to get nonzero values if the accelerometer OSR (set using mods [1:0] bits) is equal or higher than the magnetometer OSR (set using m_os [2:0] bits). The OSRs can be found in Table 37 for the accelerometer and in Table 201 for the magnetometer. As for the (5) superscript at the CMP_X/Y/Z registers in Table 15, it is indeed incorrect and will be corrected in the next data sheet revision. Thanks for pointing it out. I hope it helps. Regards, Tomas Re: FXOS8700CQ - Time-aligned accelerometer/magnetometer measurements Hi Tomas, Thank you for the comprehensive reply. The detailed remarks and the code sample were especially useful. My code was using the hybrid mode, but zero-valued data for the time-aligned accelerometer values were always returned with a burst read. Looking through the device configuration steps in your initialization functions for the six-axis sensor, I note the following register-write statement, which I did not have in my setup.  Empirically, this seems to affect whether I get zero or nonzero valued data for the time-aligned accelerometer measurements. I2C_WriteRegister(FXOS8700CQ_I2C_ADDRESS, CTRL_REG2, 0x02); // High Resolution mode Is it a proper conclusion that having the accelerometer OSR mode in normal is not compatible with the specification of 8x oversampling for the magnetometer, and thus I get zero valued data for the time-aligned accelerometer measurements? As an aside, Table 15 of the data sheet (FXOS8700CQ.pdf) has a (5) superscript for the CMP_X_MSB ... CMP_Z_LSB registers. This indicates that "Modification of the register's contents can only occur when device is in Standby mode ...".  Is this really the case for these registers? Many thanks, Jeffrey Re: FXOS8700CQ - Time-aligned accelerometer/magnetometer measurements Hi Jeffrey, In order to read the accelerometer measurements from the CMP_X/Y/Z registers (0x39 – 0x3E), the FXOS8700CQ needs to operate in hybrid mode (m_hms [1:0] = 0b11), so make sure you set these two bits during initialization of the device. Attached you can find my example code where I am using burst mode to read 12 bytes of both accelerometer and magnetometer measurements. Both burst readings from registers 0x33 – 0x3E or 0x01 – 0x38 (when hyb_autoinc_mode = 1) work fine. Let me know whether or not this helps, or if you have any other questions. Regards, Tomas PS: If my answer helps to solve your question, please mark it as "Correct" or “Helpful”. Thank you.
View full article
Using Docker-Swarm to duplicate Docker-Compose? As part of my Docker Certification, I have to a project that contains 1 docker-compose file that runs 4 services that communicate with each other. These four services act like a 1 tank controller and 3 tank sensors. I want to duplicate the entire docker-compose with all four services using Docker Swarm. Here is an image of what I'm trying to do: an image showing the final goal I am having a lot of confusion when setting up the docker swarm. I ran the following commands: docker swarm init docker stack deploy --compose-file=docker-compose.yml tank But this set up only lets me scale one service at a time. For example: docker service scale tank_lowlevelalarm=4 This isn't what I want to do. I want to be able to scale the entire docker-compose by replicating all four services at the same time. My goal is that on my overlay network, it will look like I have multiple tanks, and each tank has 1 controller and 3 sensors. Is it possible for me to do this? My docker-compose file, for reference: version: '3.0' services: tli: image: tli networks: - my-overlay lowlvlalarm: image: lowlvlalarm build: . networks: - my-overlay highlvlalarm: image: highlvlalarm build: ./HighLvlAlarm networks: - my-overlay plc: image: plc depends_on: - tli - lowlvlalarm - highlvlalarm networks: - my-overlay networks: my-overlay:  
View full article
FXAS21002C 的滚动、俯仰和偏航 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 如何从 FXAS21002c 原始 x、y、z 数据中计算滚动、俯仰和偏航值。有计算这些数据的公式吗。如果有,请推荐计算这些数据的公式。 谢谢! Deepanraj.A 陀螺仪 Re: Roll,Pitch and Yaw for FXAS21002C <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,迪潘拉吉、 根据原始数据计算滚动、俯仰和偏航的公式只需将原始数据除以设备配置的灵敏度即可。我们在社区中有一个详细的示例,其中包含代码,说明如何执行此计算以及为使用 FXAS21002C 进行其他一些设置。 FXAS2100 - 裸机示例项目 希望对您有用! 此致, 达里奥
View full article
FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Hi there! I've the FRDM-FXS-MULTI-B brd to try out some of the demos with the Freescale Sensor Fusion Toolbox. All installed, fired-up the board and able to establish the BT connection with the Sensor Fusion Toolbox. The sw auto-detected the sensor brd... see below. What is the next step?  Not able to successfully run any demo... the help page is not so helpful! Anyone could give me a hint as to where and how to start these demos. Thanks in advance. Regards, Devan SensorFusion Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Hi Mike, I think I found the answer and succeeded along the way. “Success is the sum of small efforts, repeated day in and day out.” Well I have to thank you for the pointers for guiding me towards the User's Guide. I didn't realize until I read through the pages 9-14 of the guide that I had to build the code and flash from either CW or KDS. I tried KDS v3.0.0 first but it fell apart badly since it was producing numerous warnings and an error. This may be of your interest. So I tried CW v10.6 and it worked for me. One point to make... K64F brd uses UART3 by default and no need to change it to UART0 as the Table 2 (page 13) in the guide suggests. How I found out? I did change the UART3 to UART0 and didn't help so I had to go back to UART0... bang! All start to work fine afterwards and I was able to flash the files from the Sensor Fusion Toolbox. I also have to make a point here about my misunderstanding from day one... I was under the impression that you could flash the files straight from the Sensor Fusion Toolbox without going through the process of building the project in CW, etc. Wish it could have been mentioned on the Sensor Fusion Toolbox "Help" page somewhere and that would have saved me a few days of struggle!! Here are some screenshots from the sensor readings. Hope I can go ahead and dive further down into to this for the next few days to learn all the good stuff. Thanks again for all the help, Mike!  Have a good day! Cheers! Devan Btw, I am an Aggie. (Class of 87) "Gig em Aggies" Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Hi Mike, Sorry for the multiple posts on this subject. Also noticed that there isn't any .hex files for the K64F brd! Thanks. Devan Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Also, forgot to attach the Device Manager screenshot to let you know that I have the right serial port connection... Std Serial over BT Link (COM11). Also, I'm able to establish the wireless link with the Sensor Fusion Toolbox. Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Actually, this is the folder where I installed the Sensor Fusion Toolbox and no User's Guide nor the subfolder "DOCS". Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Hi Mike, Thanks once again for your help. Firstly, the Sensor Fusion USer's Guide is missing in the installation directory... see below. However, I found the link for it by searching with the name you mentioned... not exactly but close. In fact, the file is called "XFSL_Prod_UG" and the link is here as well if anyone wants to find it. http://www.freescale.com/files/sensors/doc/user_guide/XSFL_Prod_UG.pdf Secondly, please accept my apology for being ambiguous with the phrase "physically pairing the boards". What I actually meant was stacking both the boards (Multi-B and K64F) together and nothing else. Now that is clear, I still have the same question...do I have to keep the power switch on for the Multi-B brd when I flash the file to the K64F brd via USB? Mind you, the K64F brd does not have a power switch on the board by its own and it has to be powered up via USB/SDA therefore the power for the K64F is always on when you connect via USB. So I am not really switching off the K64F's power at all. Lastly, on the contrary to what you say regarding "shouldn't be in the bootloader" mode, the Sensor Fusion Toolbox implies otherwise that the K64F brd should appear to your PC as a removable drive. See the "dialog" box that appears when I attempt to flash. So I dismiss the message and saving the file in the Kinetis drive (Bootloader:) as per the screen here. This is the only option I have when I dismiss the above message. I must be completely wrong here and doing something very silly. Hopefully you could further clarify what is going on at my end. Thanks again. Best regards, Devan Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Devan, I think you are close. Starting with the easy question: You'll find the user guide in the docs directory of your sensor fusion installation.  Look for filename: XSFLK_UG.pdf. When you say you "physically paired the boards" you meant paired the K64F with your PC?  You shouldn't have been able to do anything if the power switch was off and there was no physical connection to the K64F via USB.  I usually keep the power switch in the on position for almost all steps, except when I want to force a power-on-reset on the board. You do not want to be in bootloader mode for flashing the application.  Bootloader mode is used for switching out the OpenSDA implementation.  So just turn on the board, connect via USB, and flash.  Given that you've been messing with bootloader mode, you might want to double check that the bootloader is still installed properly.  I generally look in the Windows device manager to make sure I see the proper entries.  If it's not obvious when you check, send me a note and I'll capture a screen dump for you (can't do that right now, as I'm responding from home and don't have a K64F handy). Mike Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Hi Mike, Firstly, thanks for responding to my question promptly and really appreciate the response from the authority himself. Yes I must admit that I wasn't very clear about the setup I have at my end. As a matter of fact, I am pairing with the FRDM-K64F and using BT option only as per the screen shot below. This is what I am doing from the start. a) I physically paired the boards together with both the jumpers (J7 & J22) installed on the Multi-B with the power switch off. b) Used the SDA port (the left USB next to reset button) on the K64F to bring the board to Bootloader mode. c) Flashed the file as shown above from the Sensor Fusion Toolbox. d) Unplugged the USB cable and turned the power switch on for the Multi-B e) My host pc detects the BT device (Radio12FE90) but I had to manually select the port (COM11) for the Sensor Fusion Toolbox as it doesn't auto-detect. Once done that it establishes the connection but no sign of any activities from any of the sensors from the Multi-B! That's about it that I can go with this. Hope this is clear enough to see where I am making the mistake(s). I am not using the UART (USB) method so I reckon I really do not worry about the UART configuration thorugh PE and rebuilding the source code, etc. Nevertheless, for my curiosity would you be kind enough to send me the link for the Sensor Fusion User's Guide? I kind of exhausted with the search for it. Thank you so much once again for your help. Wish you a great day! Best regards, Devan PS: Btw, I also tried the demo for the Sensor Fusion for Android with the same Multi-B and have a few questions on that as well but that's for later!:smileyplain: Re: FRDM-FXS-MULTI-B Demos with Freescale Sensor Fusion Toolbox Devan, I can't tell from the above which Freedom board you have paired with the MULTI-B, but I suspect your issue will relate to the UART configuration.  Several boards share a UART between the Bluetooth module and the OpenSDA connector (KL25Z is an example).  For these you need to ensure that the power jumper adjacent to the Bluetooth module is present when using Bluetooth.  If using a wired connection, you need to remove the jumper.  Other boards (example: K64F) have separate UARTS associated with Bluetooth and OpenSDA.  For these, you need to determine which communications method you intend to use (UART/USB via OpenSDA or Bluetooth).  Then you need to make sure that the Processor Expert component for the UART is set to use the corresponding UART instance, regenerate source using Processor Expert and rebuild.   Details are in the Sensor Fusion User's Guide.  Just search for "UART". Another surprisingly common problem is simply having the wrong embedded code running on the board.  If in doubt, connect the board via the usb connector to your PC (remember to remove the Bluetooth power jumper)  and reflash it using the appropriate submenu entry under the FILE menu. Regards, Mike
View full article
MMA9555 どこから始めればいいのでしょうか? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、皆さん これは製造中止になったデバイスに関する奇妙な質問かもしれないことは承知していますが、それでもこれは非常に優れたモーション センサー ハードウェアです。 SO、データシート ( https://www.mouser.com/ds/2/302/MMA9555L-1126801.pdf ) を読んだ後、どこから始めればいいのか全く分からないことに気付きました。内部 MCU はどのようにプログラムされ、センサの内部モジュール (メールボックス、スケジューラなど) とどのように対話するのでしょうか。プログラム例はありますか?Freescale USB BDM プログラマーを購入しました。デバッグ/プログラミング用の MMA9555 との接続図はありますか? よろしくお願いします。 コスティン 加速度センサ Re: MMA9555 where to start from? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ジャック。 前回の投稿を訂正する必要があります。私が持っているのは、KITMMA9555LEVM のドーターボードに搭載されている、小さな MMA9555L DIL のような小さなボードだけです。 よく調べてドキュメントを読んでみると、ハードウェア全体が揃っていないことに気づきました。 コスティン Re: MMA9555 where to start from? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ジャック。 はい、KITMMA9555LEVMを持っています。面白い。ソフトウェアを試してみます。つまり、チップ上で利用可能な 32 ビット MCU の唯一の目的は、コンポーネント全体が提供する機能を容易にするために工場出荷時のファームウェアをロードすることだということですか?; つまり、「個別の」 3 軸センサのように動作します。なぜそこにこれほど強力な MCU が必要なのでしょうか? 情報ありがとうございます。次の指示を待っています。 コスティン Re: MMA9555 where to start from? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、コスティンさん。 実際のところ、MMA9555L フラッシュ メモリはユーザーがプログラムすることはできません。その主な理由は、フラッシュ内に実質的にスペースが残っていないことです。ただし、KITMMA9555LEVM をすでにお持ちの場合は、製品 Web ページからダウンロードできるデモ GUI (歩数計センサー データの設定と収集を行う PC ツール) を使用して、歩数計、6 方向の向きなど、MMA9555L FW で利用可能なすべての機能を実行できます。 デバイス FW を開発/カスタマイズする意図がある場合は、MMA9559LKUBE デモキットにある MMA9559L バリアントを使用する必要があります。 さらに詳しいアドバイスを提供できるよう、現在お持ちのハードウェア、または使用を計画しているハードウェアをお知らせください。 よろしく、ジャック。
View full article
Is there a STEP model file available for the MPXM2202A, CASE 1320-02? Looking for a STEP file for the MPXM2202A, case CASE 1320-02.  Pressure Sensors Re: Is there a STEP model file available for the MPXM2202A, CASE 1320-02? Hi Randy, Please see the attached STEP file for the MPAK. Please note that the drawing is based on the case outline instead of the tooling drawing, so the accuracy may not be totally perfect.  Sorry it has taken so long. Regards, Tomas Re: Is there a STEP model file available for the MPXM2202A, CASE 1320-02? Hi Randy, I have asked our device group for such a model and will update this thread as soon as I get any feedback. It should be later today or tomorrow. Regards, Tomas
View full article
6DOF GY KALMAN ヨードリフト <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> まず最初に、このように完全かつ最適化されたセンサ フュージョン ライブラリをオープン ソースで作成していただいたことに感謝したいと思います。   設定: 私は、さまざまなベンダーの加速度センサとジャイロスコープを利用して、MCU (RTOS なし) 上でセンサ フュージョン ライブラリを実行しています。具体的には、fRun_3DOF_G_BASIC 関数と fRun_6DOF_GY_KALMAN 関数を使用します。MCU で計算され、Wifi 経由で PC に送信されたクォータニオンの方向に基づいて方向を変更して 3D キューブを表示する、PC 上で動作するプログラムを作成しました。   問題: fRun_3DOF_G_BASIC 関数を使用すると立方体は正しく動作しますが、fRun_6DOF_GY_KALMAN の事後方向四元数「fqPl」を使用すると、立方体は顎 (z 軸) 上で異常な動作をします。最初にセンサをテーブルの上に置いたままにしておくとドリフトは発生しません (キューブは Z 軸上で回転しません)。しかし、キューブを動かしたり振ったりすると、再びセンサをテーブルの上に置いても、キューブは Z 軸上で非常に速く回転し始めます。そして、センサを傾けると、回転速度が低下します。   コードをデバッグすると、共分散マトリックスP+「fPPlus9x9[9][9]」の要素[2][2]が非常に速く増加し、センサを傾けると減少することに気付きました。   質問: 私はこの分野の専門家ではありませんが、センサがテーブルと平行な場合、加速度センサは Z 軸 (ヨー) を補正するための情報を提供できないため、Z 軸上でのこの一定の回転は、ジャイロスコープ (カルマンの前に較正されていない) のバイアスとドリフトによるものだと思います。これは 6 軸ジャイロ/Acc Fusion 構成の制限ですか?   また、コードに含まれるカルマン定数(カルマン フィルターのノイズ分散、Qw 共分散マトリックスの初期化、線形加速時間定数)がこの問題に影響しているのではないかとも思います。データシートで同様の値が見つからないため、他のセンサを使用しているにもかかわらず、これらの定数を変更していないからです。   どうもありがとうございます! 心から センサ・フュージョン Re: 6DOF GY KALMAN Yaw drift <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロス、 Freescale のハードウェアを使用していないとおっしゃっていました。Windows 上で実行されている Sensor Fusion Toolbox と通信できますか?このような種類の問題を特定できるように特別に設計されています。センサーとフィルターの出力をリアルタイムで確認できるため、問題の追跡に役立ちます。それがなければ、おそらく目隠し飛行をしていることになる。 あなたが行っているように、カルマン フィルターを再初期化する必要はありません。FRDM-KL26Zと新しいFRDM-STBC-AGM01 9 軸センサ ボードに投資して、既成プロジェクトの 1 つを実行し、どのように動作するか確認することをお勧めします。 よろしくお願いいたします。 Mike Re: 6DOF GY KALMAN Yaw drift <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 早急なご返答誠にありがとうございます、大変助かります。私のアプリケーションの問題は、カルマン フィルタがヨーに対して非常に大きな回転を継続的に予測し、3D キューブが 1 秒あたり多数の回転で回転し続けることです。SO、カルマン フィルタを 50 回の反復ごとに再初期化して停止させることでこの問題を修正しましたが、50 回目の反復に達する前に IMU を静止させると、まだ少し回転します。さらに重要なのは、IMU を回転させると、キューブを Z の 1 つの方向 (より小さな回転) に回転させることが難しい一方で、ドリフトの方向である他の Z 方向に回転させる (通常の回転) 方が簡単であることです。この非常に大きなドリフトは二重積分の産物なのだろうか?常に多少のドリフトはあると思いますが、Madgwick フィルターを使用してこれがうまく機能していることを確認したので、私が実験しているほど大きくはありません。そうでなければ、6DOF Acc/Gyro カルマン フィルターのヨー情報は、単純なアプリケーションでも役に立たないでしょう。しかし、何が間違っているのかがわかりません。フュージョン ライブラリの新しいバージョンをダウンロードしましたが、非常に役立つドキュメントがさらに追加されていることがわかりました。ありがとうございます! 😃 Re: 6DOF GY KALMAN Yaw drift <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロス、 正解です。6 軸加速度 + 磁気フィルターを使用しており、X、Y、Z センサ軸のいずれかが重力と揃っている場合、ジャイロ オフセット推定を修正するのに役立つ新しい情報はフィルターに入力されません。デバイスを傾けると、その軸の計算に新しい情報が導入され、修正が始まります。これがまさに、9 軸融合のために磁力計を追加する理由です。 さまざまな定数を少し調整することでパフォーマンスが向上する可能性がありますが、コードはそのままでも他のセンサに問題なく移植できることがわかっています。 まだお試しいただいていない方は、先週末このスペースに投稿した新しいバージョン 5.00 ライブラリをぜひお試しください。ヨードリフトを改善するために特別に再設計されました。 よろしくお願いいたします。 Mike
View full article
MPL3115A2レジスタINT_SOURCE <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私たちが使用している MPL3115A2 圧力センサーについて少し理解しようとしています。 セクション 13.11、INT_SOURCE (0x12)、2 番目の段落:「ビットの設定は立ち上がりエッジに敏感であり、ビットは低から高の状態変化によって設定され、適切なソース レジスタを読み取ることによってリセットされます。」 これは SRC_PW ビットおよび SRC_TW ビットにとって何を意味しますか。つまり、ソースは何ですか。これは、このレジスタ (INT_SOURCE) を読み取るとこれらのビットがクリアされることを意味しますか、それとも別の「ソース」レジスタを読み取る必要がありますか? Re: MPL3115A2 register INT_SOURCE <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はい、圧力割り込みの場合、OUT_P_MSB レジスタを読み取ると割り込みがクリアされます。温度割り込みの場合、OUT_T_MSB レジスタを読み取ると割り込みがクリアされます。 Re: MPL3115A2 register INT_SOURCE <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> SO、圧力の出力を読み取ると、PTH ビットもクリアされるということですか? Re: MPL3115A2 register INT_SOURCE <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ソースは圧力と温度の出力レジスタです。割り込みがアサートされると、適切な出力レジスタを読み取ることによってクリアされます。圧力割り込みの場合はOUT_P_MSB、温度割り込みの場合はOUT_T_MSBになります。 よろしくお願いいたします。 ミゲル
View full article