Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
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
インポートプロジェクト SDK から例のインポートを選択し、別の名前を選択すると、SDK で提供される例の名前ではなく、新しい名前を使用してプロジェクトが生成されます。 Re: import project こんにちは。cmakelist.txt を確認しましたか? Re: import project こんにちは@gtecaskari 、 申し訳ありませんが、コミュニティ システムの問題により、投稿に気づいたのはつい最近のことです。お待たせして申し訳ございません。 私の側でテストしたところ、問題は解決されたようです。 添付の画面録画をご確認ください。 さらにご質問やご不明な点がございましたら、いつでもお気軽にお問い合わせください。 良い1日を。 BR セレステ Re: import project cmakelist.txt を確認したところ、元の SDK 名がまだ表示されています。内部チケットを作成し、MCUXPresso VSCode チームに報告します。フィードバックありがとうございます。
View full article
FXLN8372 Self Test Pin Voltage Using the FXLN8372QRI with Vdd = 3.3V, will the part be damaged if the Self-Test pin is at 1.5V? We know the ST pin is specified for logic levels to function correctly; but during the time that the pin is at 1.5V we don’t care what the accelerometer outputs are… we just don’t want to damage the device. Re: FXLN8372 Self Test Pin Voltage Hi Chris, Yes, it is outside the specific logic input levels, but not outside the absolute max ratings, so there is no need to worry about the damage.   Best regards, Tomas
View full article
FXLN8372 自检引脚电压 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> FXLN8372QRI 的 Vdd = 3.3V、 如果自检引脚电压为 1.5V,是否会损坏部件? 我们知道 ST 引脚是为了使逻辑电平正常工作而指定的;但是在引脚为 1.5V 期间,我们不在乎加速度计的输出是多少... 我们只是不想损坏设备。 Re: FXLN8372 Self Test Pin Voltage <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,克里斯、 是的,它超出了特定的逻辑输入电平,但没有超出绝对最大额定值,因此不必担心损坏。 顺祝商祺! 托马斯
View full article
Can the MP3V5050GC6U Sensor be used in the P2>P1 Configuration? The specifications for the device show characteristics for the P1>P2 configuration only.  I was hoping to utilize the device in the P2>P1 configuration as that would suit our implementation better.  Is there any reason to believe that the characteristics of the device in the P2>P1 configuration would be appreciably different? Pressure Sensors Re: Can the MP3V5050GC6U Sensor be used in the P2>P1 Configuration? Hi, Most of the NXP pressure sensors including the MP3V5050GC6U are based on a silicon diaphragm and cannot tolerate a pressure that alternates from positive to negative or having pressure on port P2 higher than pressure on Port P1 without resulting damage. However, there is a family of pressure sensor from the NXP portfolio designed to measure both, positive and negative pressure within the same system, this family is the MPXV70xx family pressure sensors. We currently have 3 different sensors from this family, very similar between them but with different pressure range: + MPXV7002 – Pressure range from -2 to +2kPa: https://www.nxp.com/docs/en/data-sheet/MPXV7002.pdf + MPXV7007 - Pressure range from -7 to +7kPa: https://www.nxp.com/docs/en/data-sheet/MPXV7007.pdf + MPXV7025 - Pressure range from -25 to +25kPa: https://www.nxp.com/docs/en/data-sheet/MPXV7025.pdf The MPXV7025DP have an operational range of 50kPa (same as the MP3V5050GC6U), but instead of measure from 0 to 50kPa, it measure from -25 to +25kPa. It is mentioned that this sensor is supply with 5V, but you can use it at 3V as the MP3V5050 because the sensor output is ratiometric, this means that output voltage of the sensor is directly affected by the supply voltage. You can supply it with 3V and should not affect the sensors functionality. Regards, Jose NXP Semiconductors
View full article
MMA8453Q セルフテスト <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ご辛抱いただきありがとうございます。私たちはこの部品の使用に関しては比較的初心者です。 このデバイスには、XYZ 軸の各動きをシミュレートするノイズ スパイクをデータに導入するセルフ テスト機能があります。お客様は、機械的な傾き+バンプ テスト プラットフォームを構築することなく、この機能を使用して製造ラインで最終製品を最終テストしたいと考えています。 構成レジスタで「セルフテスト」を有効にしましたが、ユニットにこの機能を認識させて外部 MCU への割り込みを生成するのが困難です。ユニットを機械的に衝突させると、期待どおりに割り込みが生成されるため、バックエンド (デジタル + 割り込み) が有効になっていて、適切に機能していると考えられます。 データシートを確認したところ、4g モードで生成されたセルフ テスト ノイズ値は、X = 11 LSB、Y = 16 LSB、Z = 105 LSB であることがわかりました。次に、ノイズしきい値とサンプリング遅延を再確認し、小さなセルフテスト ノイズ イベント情報によってトリガーされるには高すぎる設定になっていないか確認するようお客様に依頼しました。 彼の反応は…… -------------------------------------------------------- 以下は、セルフテストを試すために使用するコードです。遅延は約25ミリ秒です。STは0x80です。デフォルトの範囲である2gを使用しています。ウェイクアップしきい値を最小の 1 に設定し、軽くタッチするだけでウェイクアップする場合でも、セルフテストではウェイクアップしません。私が有効にしたウェイクアップ割り込みは、3 つの軸すべてに対する「一時」割り込みであり、実際のバンプに非常にうまく機能します。他に設定する必要があるものはありますか?起動時に設定を行ったり、割り込みをクリアしたりするためにレジスタの読み取りおよび書き込みルーチンを使用しているため、これらのルーチンが機能することはわかっています。割り込みラインにスコープがあり、割り込みをクリアするサービス ルーチンにブレークポイントがあります。すべては 3.3V で動作します。 void accSelfTest(void) { uint8_t レジスタ; accelRegRead(CTRL_REG2, ®); accelRegWrite(CTRL_REG2, reg | ST); 遅延(2); accelRegWrite(CTRL_REG2, reg); } --------------------------------- デバッグの取り組みと注意をどこに集中させるべきかについてのヒントがあれば、ぜひ教えてください。 -ゴーディ 加速度センサ Re: MMA8453Q Self Test <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ゴーディ、 返事が遅くなり申し訳ありません。ここ数日オフィスを離れていました。 まず、CTRL_REG2 レジスタ (0x2B) の ST ビットを設定してセルフ テストをアクティブにするには、まず CTRL_REG1 レジスタ (0x2A) の ACTIVE ビットをクリアして、MMA8453Q をスタンバイ モードにする必要があります。次に、CTRL_REG2 レジスタの ST ビットを設定し、CTRL_REG1 レジスタの ACTIVE ビットを設定することで、部品をアクティブ モードに戻すことができます。 void accSelfTest(void) { uint8_t レジスタ; accelRegRead(CTRL_REG1, ®); accelRegWrite(CTRL_REG1, reg & 0xFE); // スタンバイモード accelRegRead(CTRL_REG2, ®); accelRegWrite(CTRL_REG2, reg | ST); accelRegWrite(CTRL_REG1, reg | 0x01); // アクティブモード    遅延(2); accelRegWrite(CTRL_REG2, reg); } さらに、TRANSIENT_CFG レジスタ (0x1D) の HPF_BYP ビットが設定されていない限り、過渡検出機能はハイパス フィルタされたデータを使用します。したがって、このビットを設定するか、モーション検出機能を使用することをお勧めします。 お役に立てれば幸いです。 よろしくお願いいたします。 トーマス
View full article
FXOS8700CQ上电后,其SCL/SDA引脚的初始电平是高还是低??? After power on the FXOS8700CQ, is the SCL/SDA pin hign or low at the first?? Accelerometers Magnetic Sensors Re: FXOS8700CQ上电后,其SCL/SDA引脚的初始电平是高还是低??? Dear Tomas Vaverka,      Thanks for your answer, my last problem have been insolved but I have another question now.      I have made the bus pulled up with 4.7KΩ resistors, and the  SDA and SCL both are hign when I reset FXOS8700CQ, so do INT1 and INT2, and I made the SDA0、SDA1 connected to GND. The question is the master can give the ST singal、 slave address and write bit correctly , but the slave(FXOS8700CQ) just cann't send the ACK to the master , so the register value cann't be read or write .      First I guess that if the FXOS8700CQ doesn't work , but the INT1 and INT2 bins are both hign , while after I power it off they are both low ; Then the no.2 bin and no.8 bin are in a high impedance state , I don't know if it's true state or false state.      By the way , the VDD and VDDIO connected together to 3.3V Re: FXOS8700CQ上电后,其SCL/SDA引脚的初始电平是高还是低??? Hi, Once set for I 2 C operation (SA0 pin connected to GND or VDDIO), both the SDA nad SCL pins will be in a high impedance state, so with pull-up resistors on the bus, the SDA and SCL lines are both high. Regards, Tomas PS: If my answer helps to solve your question, please mark it as "Correct". Thank you.
View full article
Angular Velocity in the Global Frame What is the best approach to calculate the average angular velocity in the global frame when the sensors are mounted off the X, Y, and Z axis? I believe I see a few possibilities, such as averaging yaw (fPsiPl) over time or using the average angular velocity (fOmega) along with the roll (fPhiPl) and pitch (fThePl) using trigonometry. I'm looking for good sensitivity. The average angular velocity works well set to ±250dps and referenced to an axis. Now I want to prove out off axis velocities. I'm using the 9DOF Kalman filter with SensorFusion 5.   Secondly, does the average angular velocity gyro offset errors? I'm seeing some small amount of bias in each axis. Should I be subtracting the average of each bias out? I'm trying to sense velocities of < 6 deg/s.   Thanks SensorFusion Re: Angular Velocity in the Global Frame Thanks Mike. I just wanted to make sure I was on the correct path. I will take a look at your cheat sheet. Jeremiah Re: Angular Velocity in the Global Frame Jeremiah, Apparently a couple of my email replies to the platform bounced back.  Your problem sounds like a basic trig orientation computation.  I'll post my "Frames of Reference" cheat sheet to the community.  Take a look and see if that helps.  If not, we can set up a call.  You can reach me "off-community" at [email protected]. Regards, Mike Re: Angular Velocity in the Global Frame Mike, Thanks for the info. I mean actually rotated from the reference axes. I need to be able to detect angular rotation in the yaw plane (fPsiPl) of the global frame. Hopefully I can resolve the sensitivity back to what is was on axis for small angular velocities. Jeremiah Re: Angular Velocity in the Global Frame I'm not sure what is going on but I cannot see the reply by michaelestanley​. I wonder if it is due to my original post waiting on the moderator. Re: Angular Velocity in the Global Frame Jeremiah, Do you mean off-center, but axis-aligned?  Or actually rotated from the reference axes?  In the first case, simply average the gyro-offset-corrected angular rates.  In the second, average and then rotate the averaged values. MIKE
View full article
MMA8451 dynamic calibration Hi all, I'm using MMA8451 to calculate distance between two points. When travelling from 0->x and going back from x->0. The resulting distance is different from 0. I've read this is due to the device is not well calibrated. But the zero-g offset compensation is dynamically  done in the endings of the travel. So discarding this, is there any idea how to calibrate the device to not see this kind of problems? Accelerometers Re: MMA8451 dynamic calibration Dear David, Thanks for the note, it was really useful. The problem I'm facing is the one pointed in the document under the title "Movement End. Check". The thing is, depending on the accelerometer, when travelling in one direction the resulting speed at the end of the travel is positive, but travelling in the other direction, the resulting speed is negative. In any case, the resulting speed never is 0. If an offset is added to the acceleration then, the resulting speed is closer to zero for both travel directions. Is there any method to calculate the offset that makes the speed at the end of the travel, in both directions, closer to zero? Re: MMA8451 dynamic calibration Hello, Have you tried to perform the calibration when there is a no movement condition? Please note that the calibration value obtained will be affected by the board’s orientation and the static acceleration (earth’s gravity) component in each of the axis. In case it is useful for you, you may refer to the following application note: AN3397 - Implementing positioning Algorithms Using Accelerometeres. I hope this information will be useful for you. If I misunderstood your question, feel free to let me know.  I will be glad to help. Have a great day. David Diaz. Note: If this post answers your question, please click the Mark Correct button. Thank you!
View full article
MAG Calibration Hi Mike,   I have some questions about MAG calibration: I am using Version 5.0 to do MAG calibration. We installed the compass module on our system and our system will be installed on top od vehicle. Before we install the system on top of vehicle, we can calibrate it by 3-axis movement and get 10 point resolved and 5% error fit. It works fine. After the system is installed on top of vehicle, we can only move elevation(pitch) in 90 degrees, and Azimuth(YAW) in 360 degrees. 1) We move elevation up to certain angle and make the compass module leveled, then we read heading. 2) Can I move elevation up to certain angle and move azimuth(YAW) in full range(0~~360 degrees) to do the MAG calibration? a) If so, can I use 4-point, 7-point or 10-point and error fit rate to decide if it is OK or not? b) How long do I need to move in YAW? 3) If I know NORTH, EAST, SOUTH, and WEST when I do MAG calibration, is there a simple way to calibrate MAG?   Thanks,   Christie SensorFusion Re: MAG Calibration Christie, The GUI code for the mag interference bar is essentially: MagDeviation = Math.Sqrt(Mag[X] * Mag[X] + Mag[Y] * Mag[Y] + Mag[Z] * Mag[Z]) - B; // Main tab magnetic interference if (Math.Abs(MagDeviation) < 0.5 * B / 7.0) textBoxMagInterference.Width = 0; else if (Math.Abs(MagDeviation) > 4.0 * B / 7.0) textBoxMagInterference.Width = 180; else textBoxMagInterference.Width = (Int32)((Math.Abs(MagDeviation) - 0.5 * B / 7.0) / (3.5 * B / 7.0) * 180.0); The textbar width calculations are heuristic.  Basicially, it is just looking for variation from expected constant amplitude of the calibrated magnetometer.  You need to use calibration outputs, as precalibrated values may be distorted too much. Mike Re: MAG Calibration Hi Mike, Thanks. I am going to try to move together to see if it can be calibrated? The RED MAG interference bar that shows MAG interference on Tool Box is based on what conditions? Is it possible to tell there is big MAG interference based on MAG raw data, like earth MAG field will be smaller than certain uT in X, Y, Z axis? Sorry for asking you too many questions... Regards, Christie Re: MAG Calibration Christie, You are definitely violating the 2nd condition by moving the board, but not the screwdriver relative to it.  They MUST move together, as if they were part of one rigid body, for magnetic calibration to do it's job. We don't display raw magnetic data in the GUI.  You'll have to use a debugger or instrument your own to see that.  But exceeding the sensor range is certainly not your problem.   Mike Re: MAG Calibration Hi Mike, I am trying to put my screw driver around my sensor. I can see big MAG interference on RED bar. Then I turn the board, but not moving screw driver, I can't calibrate to working status... Maybe, it violate the first condition? Where can I see the raw MAG data? Do you want to have any data to figure out the reason? Thanks, Christie Re: MAG Calibration Christie, It sounds like you are violating the 2nd constraint I gave you above.  You cannot calibrate out interference in which the source of interference (your screwdriver) moves with respect to the sensor.  It's a fundamental limitation of the physics.  This is explained in the reference I gave you earlier.  Please take the time to read and understand it.  It will help you to develope a more intuitive understanding of the physics involved, and thereby the limitations of the software. Mike Re: MAG Calibration Hi Mike, I am trying to figure out MAG interference strength. I checked FXOS8700CQ, the MAG sensing range is +/-1200uT. Then I am using Sensor Tab to check, it is much smaller than this. Do you think that I checked wrong place? How can see the raw data from MAG? I just put the screw driver around sensor to cause the interference... What is MAG range for normal MAG field? There is possible way to say there is big interference? In Toolbox. it shows the MAG interference in RED, what kind of threshold is based on? Thanks, Christie Re: MAG Calibration Christie, Is the magnetic field from the magnet within the dynamic range of the sensor?  If not, there's nothing you can do. Is the magnet fixed spatially with respect to the sensor?  If not, there's nothing you can do.  I suspect you've violated one or both of these constraints. See Chapter 11, Theory: hard and soft iron magnetic compensation in the V7.00 user guide to understand why. Mike Re: MAG Calibration Hi Mike, When I applied the permanent MAG around MAG senor, I can see the heading is off a lot. When I am trying to calibration the magnetic heading by turning 3 axes, I can't bring the heading back to normal value. Could you tell me if I can calibrate the heading to be right again in the MAG interfered environment? Why? Thanks, Christie Re: MAG Calibration Christie, What I'm saying is that the strategy for applying the various magnetic calibration functions is encoded in function fRunMagCalibration.   If you are not getting satisfactory results (look at the magnetic tab in the sensor fusion toolbox to determine how good your magnetic sphere looks), then this is the function to start digging into.  it is always possible that you might want to encode a slightly different strategy.  The stuff in fRunMagCalibration is heuristic in nature, so it's OK to make adjustments to better fit your system. Mike Re: MAG Calibration Hi Mike, What you are saying is there is some issues in magnetic.c and it should get 7-points and 10-points if I am turning the board in 3-D dimension. What is the possible reason if there is some issues? Or it can be in 4-points only based on the condition I am running at? How good is it if I am just running on 4-points? Regards, Christie Re: MAG Calibration Christie, The Version 5.00 code at issue is in file magnetic.c, function fRunMagCalibration().  You'll see an if-else structure where it sequences through the solvers, as well as a final acceptance test based on fit error and whether the computed magnetic field is within a reasonable range.  You'll need to monitor the various parameters in your debugger to see what is holding things up. Mike Re: MAG Calibration Hi Mike, I tried to calibrate MAG by turning in 3D dimension. I found that it can't get 7/10 point resolved, only can pass 4-point sometime. Is it something wrong for starting data? What is the conditions to be met for good MAG calibration? Thanks, Christie Re: MAG Calibration I suppose it depends on what the residual error looks like.  If a simple rotation, the best you can do is measure the calibrated compass heading at those four points, compute the average error from known heading, and then use that as your fudge factor.  If you have unresolved ellipsoid distortion, you could try an additional fit using your 4 known points. Remember that vehicle slope relative to gravity (road grade) effects computations.  These can be up to 8 to 15% depending upon local road construction standards.  If you only gather data on a flat surface, you'll only be correcting a "slice" of the 3D ellipsoid space.  This is a fundamental limitation, and I assume the reason that my car's compass only gives me heading to about 45 degrees resolution (N, NE, E, SE, S, SW, W, NW). Also, every vehicle will have different properties.  The value YOU bring to the party is gathering data and determining the best approach for your application. Re: MAG Calibration Hi Mike, I can only move in azimuth (0~~360) when the compass module leveled. and I read the heading at the leveled position as well. What you are saying is possible to get the MAG calibration done properly. Do you have any idea how to use pre-defined 4 directions to make the calibration easier and better? Thanks, Christie Re: MAG Calibration Christie, I'm sure you already understand that the calibration before you put the DUT on the vehicle will be rendered useless once you install the device.  It's not a question of "how long" do you do calibration, but how many points, and with how much diversity of the measured vectors about the magnetic ellipsoid.  More of both is always better.  If you know the actual direction for a given measurement, you could toss in the difference as a fudge factor, which would probably help.  Again, probably nothing you haven't already thought about. Fit errors need to be used with caution.  a 3% fit error using a 7 element model may not be as good as a 4% fit error with a 10 element model.  The latter will tend to use more points in the fitting process, which can naturally increase the apparent error.  Think of it this way, you know you can do a 100% match to 3 points with a polynomial fit.  But the actual function might be better represented with a straight line.  At the end of the day, whatever solution you choose should be validated using a lot of different device orientations. Mike
View full article