LTD
frecher fratz
|
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
frecher fratz
|
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
Super Moderatorresident spacenerd
|
|
LTD
frecher fratz
|
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!
Bearbeitet von LTD am 05.02.2016, 18:51
|
Vinci
hatin' on summer
|
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. 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...
Bearbeitet von Vinci am 05.02.2016, 19:37
|
Mr. Zet
Super Moderatorresident spacenerd
|
Hmm, also mein EDTracker hat mehrere stundenlange Sessions in Elite Dangerous bisher überlebt.
|
LTD
frecher fratz
|
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
hatin' on summer
|
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 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. Abgesehn davon ist der Slave verpflichtet NACK/ACK zu senden,
Bearbeitet von Vinci am 06.02.2016, 10:52
|
LTD
frecher fratz
|
Leuchtet ein =) -> auf jeden Fall klappt es mit VCC 3.3V und SDL/SCA direkt am 5V Arduino Pro Mini-Klon.
|
Mr. Zet
Super Moderatorresident spacenerd
|
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=trueDie MPU: http://www.ebay.com/itm/310670112244?rmvSB=trueConfig: (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.
Bearbeitet von Mr. Zet am 07.02.2016, 14:55
|
Vinci
hatin' on summer
|
Der verlinkte Arduino rennt auch mit 3.3V, sofern du den Jumper über dem MIC5219 (Linearregler) nicht zugemacht hast.
Bearbeitet von Vinci am 07.02.2016, 15:01
|
Mr. Zet
Super Moderatorresident spacenerd
|
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
hatin' on summer
|
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: 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.
Bearbeitet von Vinci am 07.02.2016, 19:43
|
ARM_User
Big d00d
|
Parametercode für den Oszillator:
build.f_cpu=16000000L für 16Mhz
|