QST QMC5883L 3-Axis Digital Compass and Arduino MCU - The Details (5)

Поделиться
HTML-код
  • Опубликовано: 25 окт 2024

Комментарии • 22

  • @astralchemistry8732
    @astralchemistry8732 Месяц назад

    Thank you so much for the detailed review of all aspects (electronic, mathematical and physical as well as code). I love gaining a somewhat deep understanding of how everything works instead of just plugging something in and hoping for the best. Your teaching style is both enjoyable and very easy to follow! Couldn't stop myself from watching the entire series in a short amount of time.
    Glad to have some of the observations I made myself about the magnetometer confirmed by you!
    For my purposes the sensor will suffice for now, as I'm looking to build a wearable compass belt that, through vibration on the skin, indicates the direction of magnetic north. So as long as I am roughly in the correct hemisphere it is already a good first step. Not to mention that as a wearable, I will probably have to deal with tilt compensation eventually. In parallel, I'm already looking at some IMUs with magnetometer and 9 DOFs (with fusion) as alternatives, sort of as "dead reckoning" mode. Seems like some chips out there can correct for long-term gyro drift with the compass.
    Again, thank you very much for your efforts and I'm already looking forward to watching your series about the MMC5983MA! :)
    PS: Will be fun dancing around with the belt in circles for the calibration, as we have learned that it should be conducted in the final system. :D

    • @robertssmorgasbord
      @robertssmorgasbord  Месяц назад

      First, you're very welcome! It's always nice to see when my videos are actually useful to somebody.
      Second, kudos to you for doing such an interesting project. You should definitely upload a video of the calibration 😉
      Third, I thank you for leaving this very detailed comment.

  • @jan-willemrensman
    @jan-willemrensman Год назад +1

    You are now officially the Indiana Jones of the QMC5883L. I watched the first trilogy and the two sequels in one binge. Could not stop. I love the dynamics in the narration. Normally, by the time you get to the fifth movie in a series, they are not the best. But this series only got better approaching the end. Thank you!

    • @robertssmorgasbord
      @robertssmorgasbord  Год назад

      Thanks for the praise! You're making me blush 😅 Anyhow, I really wanted to make that thing work for me, so I really pulled all stops. And if you got something out of this "adventure" tutorial, I'm happy. Regarding the Indiana Jones comparison: Mine would be the first Indy movie where the Nazis actually won 😂 I did give up in the end, didn't I?

  • @piconano
    @piconano 2 месяца назад

    Thanks for the series. Learned a lot.
    Did you ever write the library you mentioned?
    Which lib do you recommend after 2 years this video was made? Thanks.

    • @robertssmorgasbord
      @robertssmorgasbord  2 месяца назад +1

      You're welcome! And no, I never wrote a "complete" Arduino library for that thing. However, you can use the .h and .cpp file from my code (link in the description of the video) and use it in your Arduino projects. Which library do I recommend? Well, I think my code is functionality wise the most complete 😅
      Also, have a look at the MEMSIC MMC5983MA, a much better compass chip than the QMC4883L. Link to the last video in that series: ruclips.net/video/BgSZ5XZTDDg/видео.html

    • @piconano
      @piconano 2 месяца назад

      @@robertssmorgasbord Ok Thanks.
      I'll give it a go. Unfortunately, I didn't know about the initial calibration to make it useful, and installed it on a wooden mast on my robot. Now I'll have to take it down and calibrate it

    • @robertssmorgasbord
      @robertssmorgasbord  2 месяца назад +1

      @@piconano Yeah, calibrating those things is always a hassle. Have fun with your robot!

  • @7alfatech860
    @7alfatech860 2 года назад

    Robert, thanks for doing this in depth review. Almost all sensor videos on RUclips are just about how to hook them up and perhaps a little bit about the limitations. Any explanation of why the X and Y noise is about double the Z noise?

    • @robertssmorgasbord
      @robertssmorgasbord  2 года назад +1

      I thank you for the praise! My in-depth videos are unfortunately not of interest to most people - the majority is just looking for a hookup guide and a library that (somehow) works 😅 Regarding the differences between X/Y and Z noise: That's an interesting question and I came up with three possible (!) explanations:
      A) The X and Y sensors, being perpendicular to the die, have to be buried into the silicon. Since the die has only a certain thickness, I guess they are of a rather elongated rectangular shape. The Z sensor, being parallel to the die, can be simply build up on it, allowing for a more balanced/quadratic shape. Anyway, the bottom line is, the X/Y and Z sensors are created differently on the die, and thus can have different properties (in regards to noise).
      B) The differences between X/Y and Z sensor are simply caused by manufacturing tolerances (a bit weak, I know).
      C) The X/Y sensor are exposed to the stronger horizontal component of earth's magnetic field, while the Z sensor is just exposed to the much weaker vertical field (this could be verified with more noise measurements with the Z sensor pointing horizontally).
      My favorite is A) with maybe a bit of B). It is notable that many 3-axis magnetometers do have a different scale for the Z-axis, indicating that there are indeed manufacturing differences between the X/Y and Z sensors.

    • @7alfatech860
      @7alfatech860 2 года назад

      @@robertssmorgasbord Thanks for you reply. I was thinking of C as the possible cause, and I had not even though about A.
      Cheers.

    • @robertssmorgasbord
      @robertssmorgasbord  2 года назад +1

      @@7alfatech860 You're welcome! And thank you for bringing up that point in the first place. I kinda skipped over that in the videos 😅

  • @aleksejradin8284
    @aleksejradin8284 2 года назад

    Robert, thanks!
    But i can't compile this code...
    in "qmc5883l.cpp i got error "```cpp
    Compilation error: call of overloaded 'requestFrom(uint8_t&, size_t&, int)' is ambiguous
    ```"
    board: Arduino UNO.

    • @robertssmorgasbord
      @robertssmorgasbord  2 года назад

      You're welcome! Just cast the arguments for requestFrom to specific types, e.g. requestFrom ((uint8_t)addr, (uint8_t)size, (uint8_t)stop). Unfortunately there are several versions of requestFrom() with the same number of arguments, but having slightly different types for those arguments. Sometimes the compiler can't decide which version to use.

  • @insanet3
    @insanet3 Год назад

    im giving up on cheap digital compass modules, i tried a bunch of them, is all the same, so noisy!, so dissapointed. i just wanted to make a robot that could i program to go "point to direction A then move B steps, now point to direction C move D steps". no luck so far.
    Have you tried the more upper tier modules like WT901, HWT906 ?? i just find it crazy that i have to look for modules in the 60$ range and up just for a decent digital compass. even the most trash low tier mobile phones have no problem giving you a nice stable heading direction. you would think is a problem long solved and perfected at a a cheap price.

    • @robertssmorgasbord
      @robertssmorgasbord  Год назад

      Yup, the cheap chips are noisy. I never heard about either the WT901 (TDK InvenSense MPU-2950 chip - obsolete, successor is ICM-20948) or the HWT906 (PMI Corp RM3100 chip), but at least the RM3100 is extreme low noise (0.15 to 0.20 mG). The lowest noise chip I found so far is the MMC5983MA (0.4mG). So thank you for the Info!

  • @jaydipkavaiya6854
    @jaydipkavaiya6854 Год назад

    Thank you for detailing in QMC5883l can I get Version5 code sample so I Can find Magnetic Heading or your Email so I can chat over there. Please

    • @robertssmorgasbord
      @robertssmorgasbord  Год назад +1

      You're welcome! All versions are available on my Google drive drive.google.com/drive/folders/12kyof0Hg6CITjcA6A3DgAFln-HouaEX8?usp=sharing 🙂

    • @jaydipkavaiya6854
      @jaydipkavaiya6854 Год назад

      @@robertssmorgasbord Thank you!

    • @robertssmorgasbord
      @robertssmorgasbord  Год назад +1

      @@jaydipkavaiya6854 You're welcome!