MPU6000 CS Pin mit I2C
Ich habe mein eigenes Board mit der MPU6000 entworfen. Ich benutze es im I2C-Modus. Wenn Sie sowohl den MPU6050-Code von Adafruit als auch den (allgemeinen) I2C-Scannercode mit Arduino verwenden, wird das Gerät nicht erkannt. Ich denke, das hat mit dem CS-Pin zu tun. Im Datenblatt steht (0 = SPI-Modus) in den Pin-Beschreibungen, aber ich kann nichts über I2C sehen und der typische Schaltplan lässt CS schweben.
Sollte CS bei Verwendung der MPU6000 im I2C-Modus geerdet oder VCC sein?
Anbei meine Schaltung. VCC ist 3,3 V und wird auf der physischen Karte überprüft.
Antworten
Sollte CS bei Verwendung der MPU6000 im I2C-Modus geerdet oder VCC sein?
Betrachten Sie die Informationen, die Sie kennen:
Im Datenblatt steht (0 = SPI-Modus) in den Pin-Beschreibungen
Natürlich möchten Sie nicht, dass es für den I2C-Modus an Masse gebunden wird.
Dann stellt sich die Frage, ob es schwebend oder hoch sein soll.
Die sichere Lösung besteht darin, einen Widerstandsfußabdruck zu platzieren, der ihn hoch bindet. Sie können diese Komponente dann entweder installieren oder nicht.
Höchstwahrscheinlich möchten Sie es über einen 0-Ohm-Widerstand hochbinden.
Wenn Sie möchten, dass Ihre Karte auch die zugehörige MPU6050 unterstützt, möchten Sie wahrscheinlich Vorkehrungen für den erforderlichen Bypass-Kondensator treffen, da Pin 8 in diesem Fall tatsächlich eine Stromversorgung ist.
Beachten Sie auch, dass die MPU-6000 ein altes Produkt ist, das für neue Designs nicht empfohlen wird.
CS sollte an VCC (3,3 V) gebunden sein. Funktioniert jetzt perfekt.