• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
  • 全部板块
    • 全部板块
大家还在搜
  • 在RT1170 EVK上运行ecompass_cm7示例SDK时报初始化失败怎么解决?

    当尝试运行 ecompass SDK 示例以测试 FXOS8700CQ 传感器的功能时 ,串行终端收到此消息:“传感器设备初始化失败!”。

    2023-03-15 08:52

  • eCompass中计算Xh和Yh

    大家好, 我无法理解他们是怎么回事 获得 等式2 p。 7以下文件: 任何人都可以解释我? 谢谢你和问候。 #ecomapass-tilt-lsm303dlh #ecompass

    2018-10-24 11:12

  • LSM303D温度传感器信息

    我可以找到这个传感器的分辨率,8 LSBs / DegC,但是我找不到有关如何指定绝对温度的任何信息。有没有人有更多的信息? #ecompass#lsm303d #temperature以上

    2019-05-31 16:07

  • ecompass_cm7示例项目在MIMXRT1170-EVK板上看不到FXOS8700是为什么?

    ecompass_cm7,并将调试器配置为使用 JLink 烧写电路板。我启动了调试器,它停在 ecompass.c 中 main() 的第一行。我用IDE终端连接到评估板上的USB串口。然后我恢复程序执行

    2023-04-17 07:23

  • LSM303DLHC营销状况NRND意味着什么?

    我看到LSM303DLHC的营销状态是NRND是什么意思? #lsm303agr#lsm303dlhc#lsm303dlhc#lsm303agr #ecompass以上来自于谷歌翻译以下为原文 I

    2018-12-03 09:55

  • lsm303agr再H7平台上运行,调用MotionEC库,只要调用MotionEC_Initialize就会出现hardfult是为什么?

    float ecompass_frq = 50; MotionEC_Initialize(MEC_MCU_STM32, ecompass_frq); 调用之前已经初始化过CRC,以及调整了堆栈即使

    2023-08-08 08:17

  • LSM303AGR倾斜补偿电子罗盘

    。我可以通过单击“用户消息”选项卡查看实时传感器数据,并且可以使用“数据记录”按钮将数据记录到文件中,但是如果单击“ECompass”按钮,则会显示ECompass窗口的框架,但是指南针没有。如果我

    2019-04-24 08:01

  • MotionMC和MotionEC库初始化失败的原因?如何处理?

    大家下午好,我目前正在尝试使用 MotionEC 库(和 MotionMC 库来提高数据的精度和可靠性)来实现具有 ECompass 功能的应用程序。我在MotionMC_Initialize或

    2023-01-30 06:28

  • 使用MotionMC_GetCalParams函数时只得到空结果的原因?如何解决?

    下午好,我目前正在使用 ECompass 功能,但我正面临磁力计补偿库的一些问题:MotionMC。我按照 UM2192 用户手册说明编写了我的代码,但在调用

    2023-01-31 06:58

  • LSM303AGR转换加速度计和磁力计的输出到俯仰,滚转和偏航

    您好,转换加速度计和磁力计的输出与俯仰,滚转和偏航角度有关。我正在尝试使用DT0058的方程式。我写了下面的函数。void newPitchRollYaw(float * const acc,float * const mag) { float roll = atan2(acc [LSM303AGR_Y],acc [LSM303AGR_Z] + acc [LSM303AGR_X] * 0.01); float pitch = atan(-acc [LSM303AGR_X] /(acc [LSM303AGR_Y] * sin(roll)+ acc [LSM303AGR_Z] * cos(roll))); float By2 = mag [LSM303AGR_Z] * sin(roll) - mag [LSM303AGR_Y ] * cos(roll); float Bz2 = mag [LSM303AGR_Y] * sin(roll)+ mag [LSM303AGR_Z] * cos(roll); float Bx3 = mag [LSM303AGR_X] * cos(pitch)+ Bz2 * sin(pitch); float yaw = atan2(By2,Bx3); float factor = LSM303AGR_180_DEGREES / LSM303AGR_PI; log_PushLine(e_logLevel_Info,'pitch:%f,roll:%f,yaw:%f',pitch * factor,roll * factor,yaw * factor);float Qw = cos(roll / 2)* cos(pitch / 2)* cos(roll / 2)+ sin(roll / 2)* sin(pitch / 2)* sin(roll / 2); float Qx = sin(roll / 2)* cos(pitch / 2)* cos(roll / 2) - cos(roll / 2)* sin(pitch / 2)* sin(roll / 2); float Qy = cos(roll / 2)* sin(pitch / 2)* cos(roll / 2)+ sin(roll / 2)* cos(pitch / 2)* sin(roll / 2); float Qz = cos(roll / 2)* cos(pitch / 2)* sin(roll / 2) - sin(roll / 2)* sin(pitch / 2)* cos(roll / 2); log_PushLine(e_logLevel_Info,' qw:%f,qx:%f,qy:%f,qz:%f',Qw * factor,Qx * factor,Qy * factor,Qz * factor);} 当罗盘围绕z轴旋转时,它会改变偏航值但非常不规则,例如从130到40然后形成-100到-30等。当我仅改变俯仰或滚转值时,偏航也会改变。我认为这不正确,因为设备的方向没有改变。例如,如果俯仰是1,则偏航是-50,如果俯仰是14偏航= -120。我不明白这些结果。我认为俯仰和滚动是正确的。 我在正常模式下使用加速度计,满量程默认值(+ - 2g),odr = 400 Hz,连续模式下的magetometer,100Hz。我不使用中断,只检查可用的数据。谢谢你的所有答案。以上来自于谷歌翻译以下为原文 Hello, I have a problem with conversion accelerometer's and magnetometer's output to pitch, roll and yaw angles. I am trying to use equations from DT0058. I wrote function like below.void newPitchRollYaw(float* const acc, float* const mag) { float roll = atan2(acc[LSM303AGR_Y], acc[LSM303AGR_Z] + acc[LSM303AGR_X] * 0.01); float pitch = atan(-acc[LSM303AGR_X] / (acc[LSM303AGR_Y] * sin(roll) + acc[LSM303AGR_Z] * cos(roll)));float By2 = mag[LSM303AGR_Z] * sin(roll) - mag[LSM303AGR_Y] * cos(roll); float Bz2 = mag[LSM303AGR_Y] * sin(roll) + mag[LSM303AGR_Z] * cos(roll); float Bx3 = mag[LSM303AGR_X] * cos(pitch) + Bz2 * sin(pitch);float yaw = atan2( By2 , Bx3); float factor = LSM303AGR_180_DEGREES / LSM303AGR_PI;log_PushLine(e_logLevel_Info, 'pitch: %f , roll: %f , yaw: %f', pitch * factor , roll * factor , yaw * factor);float Qw = cos(roll/2)*cos(pitch/2)*cos(roll/2) + sin(roll/2)*sin(pitch/2)*sin(roll/2); float Qx = sin(roll/2)*cos(pitch/2)*cos(roll/2) - cos(roll/2)*sin(pitch/2)*sin(roll/2); float Qy = cos(roll/2)*sin(pitch/2)*cos(roll/2) + sin(roll/2)*cos(pitch/2)*sin(roll/2); float Qz = cos(roll/2)*cos(pitch/2)*sin(roll/2) - sin(roll/2)*sin(pitch/2)*cos(roll/2);log_PushLine(e_logLevel_Info, 'qw: %f , qx: %f , qy: %f , qz: %f', Qw * factor, Qx * factor, Qy * factor, Qz * factor);}When compass rotates around z-axis it changes yaw value but very irregularly, for example from 130 to 40 and then form -100 to - 30 etc. When I change only pitch or roll value, yaw is also changed. I think that it's not correct, becausedevice's direction is no changed. For example if pitch is 1, yaw is -50, if pitch is 14 yaw = -120. I don't understand these results. I think that pitch and roll are correct. I use accelerometer in normal mode, full scale default ( +- 2g), odr = 400 Hz, magetometer in continuous mode, 100Hz. I don't use interrupts, only check data available.Thanks for all answers.

    2018-10-15 11:02