Frage zu 3.3v IMU-Sensor an 5v Arduino Pro Mini

Seite 1 von 1 - Forum: DIY/SoC auf overclockers.at

URL: https://www.overclockers.at/diy-soc/frage-zu-3-3v-imu-sensor-an-5v-arduino-pro-mini_245393/page_1 - zur Vollversion wechseln!


LTD schrieb am 01.02.2016 um 21:43

Hallo,

ich möchte einen IMU9150 3.3v an einen Arduino Pro Mini 5v anschließen und bin mir nicht sicher ob ich an den Signalpins noch einen Widerstand oder etwas ähnliches benötige.

Für die Spannungsversorgung nehme ich einen AMS1117, der hat schon bei anderen Projekten funktioniert.

Danke für die Antworten!


LTD schrieb am 05.02.2016 um 17:53

Hm ... also ich habe bei nem anderen Projekt mal gesehen, dass ich RX/TX mit Spannungsteiler verbinden muss, damit mir der Sendeport vom Arduino nicht den Chip kaputt macht. Ist das bei SDL/SCA auch so, oder kann ich da, wenn ich per Spannungsregulierung schon auf 3.3V runter bin, einfach die Anschlüsse vom IMU und Arduino verbinden?


Mr. Zet schrieb am 05.02.2016 um 18:29

Hmm, ich hab mit dem Pro Mini keine Erfahrung, hab die 9150 bisher nur mit "Pro Micro" (entspricht eigentlich einem Leonardo, verwendet den ATmega32u4 Chip) verwendet. Da war nix extra erforderlich:

http://www.edtracker.org.uk/index.p...d-it/breadboard

EDTracker DIY guide (pdf)

Aber der Pro Micro in der 16MHz Variante läuft ja auch mit 5v wenn ich das richtig verstehe:
https://www.sparkfun.com/products/12640 (5V / 16MHz)
https://www.sparkfun.com/products/12587 (3,3V / 8MHz)
Ich hatte diese Clone in Verwendung: http://www.ebay.com/itm/310634777706?rmvSB=true

Aber ich kenne mich ehrlich gesagt zu wenig aus um zu wissen ob der Pro Mini da jetzt irgendwie anders ist?

HTH!


LTD schrieb am 05.02.2016 um 18:49

Genau 5V Klone mit 16Mhz nutze ich auch... ich bin mir nur nicht sicher, ob ich nen Spannungsteiler auch für die SDL/SCA-Leitung benötige, oder ob das nur für RX/TX nötig ist.

Möchte die IMU nicht gleich beim ersten versuch töten =)

Edit: Danke für die Hilfe!


Vinci schrieb am 05.02.2016 um 19:34

Laut Datenblatt ist der MPU9150 nicht 5V tauglich!
Falls möglich, versorge den Prozessor mit 3.3V.


PS: Die Widerstände brauchst du übrigens trotzdem, da I²C Devices OpenCollector Eingänge haben und sogar laut Spec externe PullUps brauchen.

/edit
PPS: Oida es wird Zeit dass die ATMega sterben. :p Die brauchen laut Datenblatt mind. 0.7*VCC für einen High-Pegel. Das wären somit 3.5V bei 5V Versorgung -.-
Selbst beim kleinsten Pippifax STM32 is so gut wie jeder Pin 5V tauglich...


Mr. Zet schrieb am 06.02.2016 um 00:34

Hmm, also mein EDTracker hat mehrere stundenlange Sessions in Elite Dangerous bisher überlebt.


LTD schrieb am 06.02.2016 um 10:31

Danke für die Hilfestellung. Also ich hab jetzt mit dem AMS1117 den Tracker mit 3.3V versorgt und SDL/SCA direkt am Arduino angeschlossen. Funktioniert bisher anstandslos.

Ich glaube es könnte ein Problem geben, wenn man etwas an die IMU senden würde, aber die läuft soweit ich das verstanden habe, standardmässig im Slave-Mode. Next step: Use the DMP!


Vinci schrieb am 06.02.2016 um 10:48

Zitat von Mr. Zet
Hmm, also mein EDTracker hat mehrere stundenlange Sessions in Elite Dangerous bisher überlebt.


In welcher Konfiguration?
Mit 5V an der IMU und am Arduino? Das gibts nicht...?
Mit 3.3V gehts eh, wenn der verwendete ATMega auch auf 3.3V läuft. :)

/edit
Zitat von LTD
Ich glaube es könnte ein Problem geben, wenn man etwas an die IMU senden würde, aber die läuft soweit ich das verstanden habe, standardmässig im Slave-Mode. Next step: Use the DMP!

I²C ist ein Bus, das heißt Senden und Empfangen ist elektrisch gesehn ident. Geht eins nicht, geht das andere zwangsweise auch nicht. :D
Abgesehn davon ist der Slave verpflichtet NACK/ACK zu senden,


LTD schrieb am 06.02.2016 um 10:56

Leuchtet ein =) -> auf jeden Fall klappt es mit VCC 3.3V und SDL/SCA direkt am 5V Arduino Pro Mini-Klon.


Mr. Zet schrieb am 07.02.2016 um 14:53

Zitat von Vinci
In welcher Konfiguration?
Mit 5V an der IMU und am Arduino? Das gibts nicht...?
Mit 3.3V gehts eh, wenn der verwendete ATMega auch auf 3.3V läuft. :)

Der Arduino: http://www.ebay.com/itm/310634777706?rmvSB=true
Die MPU: http://www.ebay.com/itm/310670112244?rmvSB=true
Config:
edtracker_circuit_diagram_211452.jpg
(Grafik ist nicht von mir, kopiert von der EDTracker Webseite)
Ist auf dem Bild eine 6050 MPU ohne Magnetometer, aber das ändert ja nix daran. Ich hab 1x mit der 6050 und zwei mit der 9150 gebaut und einen mit 9150 hatte ich schon stundenlang in Betrieb.


Vinci schrieb am 07.02.2016 um 15:01

Der verlinkte Arduino rennt auch mit 3.3V, sofern du den Jumper über dem MIC5219 (Linearregler) nicht zugemacht hast. :)

click to enlarge


Mr. Zet schrieb am 07.02.2016 um 19:12

Oha, wieder was gelernt, danke. Na dann hatte ich in meiner Unwissenheit wohl Glück. :)

Ich verstehe dann nur nicht, wieso die Guides dann sagen, man braucht einen "5 V / 16 MHz" Arduino, wenn er dann eh nur mit 8 MHz läuft (weil 3,3 V)...


Vinci schrieb am 07.02.2016 um 19:42

Man darf die Frequenz des Oszillators nicht mit der Taktfrequenz des Prozessors verwechseln. So gut wie jeder halbwegs moderne Mikrocontroller besitzt eine interne PLL, die den Takt mehr oder weniger stufenlos (oder halt in 8/16/32-Bit Stufen...) regulieren kann.

Die hat mit der Versorgung eigentlich nichts zu tun, sofern diese in einem "normalen" Bereich liegt.


/edit
Aus dem Datenblatt:

Zitat
The internal PLL in ATmega16U4/ATmega32U4 generates a clock frequency between 32MHz and 96 MHz from nominally 8MHz input.
The source of the 8MHz PLL input clock is the output of the internal PLL clock prescaler that generates the 8MHz from the clock source multiplexer output (See Section 6.10.2 for PLL interface). The PLL prescaler allows a direct connection (8MHz oscillator) or a divide-by-2 stage for a 16MHz clock input.


ARM_User schrieb am 17.02.2016 um 08:28

Parametercode für den Oszillator:

build.f_cpu=16000000L für 16Mhz




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2024