Kompass IC ("HMC5883L") auf GY-801 oder anderen PCBs wird nicht gefunden

AlexanderG

Lawn robot freak and project co-founder
Teammitglied
Hallo zusammen,
falls Eurer Kompass-IC "HMC5883L" nicht gefunden wird (aber alle anderen ICs auf eurem IMU-Modul gehen) schaut mal genauer hin, evtl. habt Ihr kein HMC5883L sondern ein MMC5883MA auf eurem IMU-PCB. Wie ihr den Unterschied feststellen könnt? Hier sind zwei Bilder welche den Unterschied erklären.

hmc5883.png

Das Kompass-IC "MMC5883MA" kann man an der Aufschrift "5883" erkennen und meldet sich unter der I2C-Adresse 0x30, das Kompass IC "HMC5883L" hingegen hat die Aufschrift "L883" und meldet sich unter der I2C-Adresse 0x1E.

Falls Ihr also ein MMC5883MA habt benötigt ihr für eurer Projekt natürlich passenden Code, z.B. diesen hier:
Und das passende Datenblatt:

Falls Ihr das MMC5883MA-IC auch mit dem Ardumower benutzen wollt schreibt uns hier bitte eine kurze Nachricht - dann versuchen wir den Ardumower-Code für dieses IC anzupassen. Oder vielleicht hat dies schon jemand gemacht oder könnte uns dabei helfen? :cool:

Happy Ardumowing! :)

Gruss,
Alexander
 
Zuletzt bearbeitet:
Hallo Alexander

super code und eine große Hilfe. Habe dazu noch eine Frage. Woher weißt du, dass die Auflösung (MMC5883MA_RESOLUTION) = 65536.

Liebe Grüße

Annika
 
Zuletzt bearbeitet:
Hallo Annika,
der Code ist super - stammt aber nicht von mir ;-) - Im Datenblatt steht "±8G FSR with 16bits operation" und jede der 3 Achsen liefert hierfür 2 mal 8 Bit Register. Demnach müsste das mit der Auflösung passen (16 Bit). 2 hoch 16 ergibt dann 65536. Also kann der eingestellte Wertebereich mit 65536 Abstufungen dargestellt werden.

Liebe Grüße
Alexander
 
Zuletzt bearbeitet:
Ich habe erst kürzlich das GY-801 Modul über den Shop bezogen und musste nun feststellen, dass es der MMCA ist. Hat das abgesehen vom Code irgendwelche Nachteile?
 
Hallo, mir sind keine Nachteile bekannt! (und wir haben eine gute Weile recherchiert um den kleinen Unterschied HMC/MMCA erstmal herauszufinden...)
 
Hello. i have a 5883 mma sensor on my imu. can you tell me how to change the code? I can't understand myself with the records. thank you
 

Anhänge

  • indirizzi bussola.JPG
    indirizzi bussola.JPG
    94,1 KB · Aufrufe: 70
Ich habe vermutlich dasselbe Problem.

Die Platine habe ich schon letztes Jahr bei Marotronics gekauft und sie wird dort immer noch mit dem HMC5883L beworben, obwohl der vermutlich gar nicht drauf ist:

Muss an der Software nur die I2C-Adresse geändert werden oder hat sich sonst noch was geändert (Register Set, Wertebereiche, ...)?
 
Also bei mir steht auch "5883 702p" drauf.
Allerdings meldet sich der Chip nicht unter der I2C Device Address 0x30. Weder mit meiner eigenen Software, noch mit der Original Ardumower Software. Eigentlich müsste da ja beim Start diese Meldung kommen: "I2C device found at address 0x30 (unknown module)". Tut es aber nicht. Und auch sonst habe ich keine Unknown I2C Devices.

Der Kompass hat auch ein ganz anderes Register Set, so dass es nicht damit getan ist, nur die Device Adresse in der Software zu ändern. Da muss schon etwas mehr getan werden...
 
Hi all
I've written some code for ardumower and the MMC5883MA. The code looks like it is working but it hasn't been thoroughly testet, only to the point where I see some reasonably changes when I move the sensor around. I have attached a patch. Could somebody please try it and report back here? Of course you need a GY-801 board with a MMC6883MA.
BTW I found out that the MMC5883MA does not run by 3.3V but rather it needs 5V (at least mine) so I moved JC2 to 5V. Otherwise it wouldn't appear on address 0x30.
Thanks
@TobyLorenz Try to move jumper JC2 to 5V. I'm almost sure the MMC5883MA will appear on address 0x30. I also bought my GY-801 from Marotronics. I'll bet it is an entire batch that has this chip but is also called a GY-801
 

Anhänge

  • mmc5883ma.txt
    5,9 KB · Aufrufe: 65
Hi @thatsenough,

according to the datasheets, the supply voltage for HMC5883L and MMC5883MA is the same: min=2.16V, typ=2.5V, max=3.6V.
You are sure that 5V will not brick the MMC5583MA and especially the other three ICs on the PCB that work fine with 3.3V?

Bye Tobias
 
@TobyLorenz ,

I tested the GY-801 on a Arduino Nano and it was only afterwards I noticed that I had connected it to 5V instead of 3.3V. Then I looked up the schematics for the GY-801 and it shows that the GY-801 board has a Vcc -> 3.3V converter (IC1). Maybe this works a bit weird when it only receives 3.3V but I'm not sure. However this means it should not be a problem to run it @ 5V. At least when I connect it to 3.3V the MMC5883MA does not appear on address when I make a scan on the i2c bus. Currently I'm using 5V for the GY-801 on the ardumower PCB 1.3 and everything seems to be running OK.
 
I had the same effect: The i2C scanner on a PCB1.3 does not detect a device at 0x30 with jumper on 3.3V and a GY-801 with MMC5883MA. With the jumper on 5V the scanner finds it.

@thatsenough: Thanks for the hint!

Stephan
 
Zuletzt bearbeitet:
Hi all
I've written some code for ardumower and the MMC5883MA. The code looks like it is working but it hasn't been thoroughly testet, only to the point where I see some reasonably changes when I move the sensor around. I have attached a patch. Could somebody please try it and report back here? Of course you need a GY-801 board with a MMC6883MA.
BTW I found out that the MMC5883MA does not run by 3.3V but rather it needs 5V (at least mine) so I moved JC2 to 5V. Otherwise it wouldn't appear on address 0x30.
Thanks
@TobyLorenz Try to move jumper JC2 to 5V. I'm almost sure the MMC5883MA will appear on address 0x30. I also bought my GY-801 from Marotronics. I'll bet it is an entire batch that has this chip but is also called a GY-801
Thank you for this code. It helped me a lot. I wonder why it is not available in current Azurit Repo? There has been added another Gyro a couple of days back.
 
Hey,
leider habe ich vor langer Zeit den GY-801 mit falschem Kompass weg geschmissen, da ich dachte das er nicht geht.
Ich habe den Code versucht einzufügen, allerdings ist es jetzt komplett ungetestet mit beiden Modulen.
Vielleicht kannst du ihn ja mal testen, bevor ich ihn ins richtige git übernehme
 
Hallo Zusammen,

habt ihr ein Update bezüglich MMC5883MA Kompatibilität mit Azurit? Wurde den Kode schon getestet und ins Git übernommen?

Danke und BG
Silvio
 
Oben