"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

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

LTD 01.02.2016 - 21:43 8089 13
Posts

LTD

frecher fratz
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
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
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
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 Moderator
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12044
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

frecher fratz
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
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
Registered: Jan 2003
Location: Wien
Posts: 5824
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...
Bearbeitet von Vinci am 05.02.2016, 19:37

Mr. Zet

Super Moderator
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12044
Hmm, also mein EDTracker hat mehrere stundenlange Sessions in Elite Dangerous bisher überlebt.

LTD

frecher fratz
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
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
Registered: Jan 2003
Location: Wien
Posts: 5824
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,
Bearbeitet von Vinci am 06.02.2016, 10:52

LTD

frecher fratz
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
Leuchtet ein =) -> auf jeden Fall klappt es mit VCC 3.3V und SDL/SCA direkt am 5V Arduino Pro Mini-Klon.

Mr. Zet

Super Moderator
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12044
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.
Bearbeitet von Mr. Zet am 07.02.2016, 14:55

Vinci

hatin' on summer
Registered: Jan 2003
Location: Wien
Posts: 5824
Der verlinkte Arduino rennt auch mit 3.3V, sofern du den Jumper über dem MIC5219 (Linearregler) nicht zugemacht hast. :)

click to enlarge
Bearbeitet von Vinci am 07.02.2016, 15:01

Mr. Zet

Super Moderator
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12044
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
Registered: Jan 2003
Location: Wien
Posts: 5824
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.
Bearbeitet von Vinci am 07.02.2016, 19:43

ARM_User

Big d00d
Avatar
Registered: Feb 2013
Location: Graz
Posts: 228
Parametercode für den Oszillator:

build.f_cpu=16000000L für 16Mhz
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz