Hallo,
ich möchte einen LIDAR-Sensor über einen I2C Bus an meinen BeagleBone
Black anschließen. Das Datenblatt des Sensors, das Handbuch zum
BeagleBone Black und dem verwendeten Prozessor findet ihr im Anhang.
Bevor ich neue Elektronik an meinen BeagleBone Black anschließe, möchte
ich sicherstellen, das die Spannungen und Ströme innerhalb des
zulässigen Bereichs liegen. Leider habe ich Probleme, alle benötigten
Angaben zu finden.
Der LIDAR-Lite v3 verfügt über sechs Anschlüsse:
- Vdc(+): 4,5 bis 5,5 V | max. 135 mA (S. 2 unter Electrical
Spezifications)
- Power enable: ?
- Mode control: 3,3 V | ?
- I2C SCL: 3,3 bis 5 V | ?
- I2C SDA: 3,3 bis 5 V | ?
- Ground(-): 0 V | max. 135 mA (= maximaler Eingangsstrom)
Der BeagleBone Black liefert bei Stromversorgung über Mini-USB:
- SYS_5V: 5 V (S. 26) | 70 mA bis 250mA (S. 42, S. 106)
- I2C2_SCL: 3,3 V (S. 26, gemessen 3,185 V) | ?
- I2C2_SDA: 3,3 V (S. 26, gemessen 3,185 V) | ?
- Ground: 0 V | 1 A (aufnehmbarer Strom = max. lieferbarer Strom)
Folgende Fragen habe ich:
1) Wieviel Strom können die Anschlüsse VDC_5V und SYS_5V liefern? Gibt
es wichtige Punkte, die zu beachten sind?
Laut Handbuch (S. 106, Main Board Power) ist VDC_5V nur verfügbar, wenn
auch der DC Input Jack angeschlossen ist. Er ist direkt mit dem externen
Stromanschluss verbunden und kann max. 1 A bei 5 V zur Verfügung
stellen.
Der Anschluss SYS_5V wird durch den Power-Management IC des BeagleBone
reguliert und kann max. 250 mA liefern. Der verfügbare Strom ergibt sich
als Differenz der externen Stromzufuhr und des Strombedarfs des
BeagleBone Black. (S. 42)
2) Welchen Strom können die I2C Pins des BeagleBone Black maximal
aufnehmen/liefern?
Ich weiß das GPIOs 4-6 mA verkraften, aber ich habe nie etwas dazu in
der Dokumentation gefunden.
3) Welchen Strom benötigt die Kommunikation über I2C?
4) Die Taktleitung SCL und die Datenleitung SDA des I2C Buses werden
über Pull-Up Widerstände auf das Niveau der Versorgungsspannung
gebracht, wenn keine Kommunikation stattfindet.
Welcher Anschluss bestimmt das Spannungspotential, wenn der Sensor wie
im Sensordatenblatt (S. 3, Standard I2C Wiring) angeschlossen wird?
5) Ähnlich wie 4): Auf welches Potential wird der Power Enable Pin des
LIDARs gezogen?
6) Warum hat man sich dafür entschieden, die Kommunikation über den I2C
Bus durch LOW Signale zu realisieren?
Danke im Voraus für eure Hilfe!
Es wird vermutlich nicht schaden, den externen Baustein über ein
separates Netzteil zu versorgen. Dann kann er keinen Einfluss auf die
Spannungsversorgung des BBB nehmen. Fehler, die durch die
Spannungsversorgung verursacht werden, sind blöd zu finden.
Die Massen von BBB, Zusatznetzteil und Sensor müssen dann aber verbunden
werden.
Der Strom im I2C wird durch die Pullup-Widerstände definiert, die i.d.R.
in der Größenordung von 1k...10k liegen, also maximal 3mA.
Ansonsten empfehle ich den Wikipedia-Artikel zu I2C und das Lesen auch
der Links unter "Elektrische Definition" in besagtem Artikel.
Ich habe verschiedene I2C Baugruppen an Odroid C2 (früher Beaglebone
black).
Direkt am Beaglebone anschliessen darfst Du jedes I2C device mit 3.3v
Pegel.
Wenn Du 5V Devices anschliessen willst, brauchst Du einen Pegelwandler
wie etwa
http://www.horter.de/blog/i2c-repeater-pegelanpassung-fuer-raspberry-pi/
Ueber den Stromverbrauch auf der I2C Schiene musst Du Dir keine Gedanken
machen, der ist minimal. Die eigentliche Stromversorgung deiner I2C
Geräte ist natürlich eine andere Geschichte, wenn Du die an den
Beaglebone
klemmen willst, musst Du den Strombedarf natürlich einrechnen.
Auf http://www.horter.de/ findest Du viele Infos dazu.
Offene Fragen:
2) Wo finde ich in der Dokumentation Angaben, zu den maximal zulässigen
Strömen der I/O Pins des BeagleBone Black? (GPIO, I2C, ...)
4) Welcher Anschluss bestimmt das Spannungspotential des I2C Bus, wenn
der Sensor wie im Anhang (S. 3, Standard I2C Wiring) angeschlossen wird?
Angenommen der LIDAR-Sensor verfügt über eine Open-Collector Schaltung,
die zusammen mit dem integrierten Pull-Up Widerstand eine Wired-AND
Schaltung bildet; so würde der LIDAR-Sensor die Leitungen des I2C-Bus
auf seine Versorgungsspannung von 5 V ziehen. Da der I2C-Anschluss des
BeagleBone jedoch bei 3,3 V operiert, würde dieser infolge des
unzulässig hohen Stromflusses beschädigt.
Bezogen auf meine Fragestellung bedeutet dies, dass alle angeschlossenen
Geräte das Spannungspotential auf den Leitern des I2C-Bus definieren.
Vorausgesetzt es werden keine Pegelwandler eingesetzt, müssen folglich
alle Geräte mit derselben Versorgungsspannung betrieben werden.
Stimmen das so?
Neue Fragen:
Max G. schrieb:> Es wird vermutlich nicht schaden, den externen Baustein über ein> separates Netzteil zu versorgen. Dann kann er keinen Einfluss auf die> Spannungsversorgung des BBB nehmen.
7) Die Aussage impliziert, dass die Spannung am Pin SYS_5V
belastungsabhängig ist. Gilt dies auch für den Pin VDC_5V?
8) In der Dokumenation zum BeagleBone steht:
Each board must have a 5.6K resistor on these signals. With four capes
installed this will result in an effective resistance of 1.4K if all
capes were installed and all the resistors used were exactly 5.6K. As
more capes are added the resistance is reduced to overcome capacitance
added to the signals.
Um was für Widerstände handelt es sich im Text? Nach meinem Verständnis
handelt es sich um Serienwiderstände zur Begrenzung des Stroms. Wähle
ich für 4 I2C Signale 4 Widerstände je 5,6 kOhm, so bleibt der effektive
Widerstand doch konstant. Oder ich verwende für alle vier Signale
zusammen 5,6 kOHm. In dem Fall müsste der Widerstand doch aber
vervierfacht werden, um denselben Stromfluss einzustellen?
Grüße
Eine eigene Frage?
Dieser Thread ist über 8 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.