Ich verwende VL53L0X-Breakout-Boards zur Abstandsmessung auf I2C, jeweils mit eingebautem Level-Shifter und Pull-up-Widerständen (10kΩ, wie gemessen). Da ich viele davon an einen einzigen Bus anschließe (5 und mehr), muss ich die Pull-up-Widerstände entfernen, um den Gesamtwiderstand über einem kritischen Wert zu halten, etwa 1,63 kΩ für 5 V, wie hier erklärt, damit i2c niedrig ist . Die Pegelspannung geht nicht über 0,4 V.
Ich bin mir nicht sicher, ob ich den Widerstand auf der Platine richtig identifiziere und wie ich ihn entfernen kann. Es ist ein billiges Board von ebay, also natürlich keine Schaltpläne und so weiter. Das Board sieht so aus: [![board front][1]][1] [![board back][2]][2]
Dies ist ein besseres Bild von der Rückseite von Amazon: [![hier Bildbeschreibung eingeben][3]][3]
Durch Messen von Widerständen konnte ich den Widerstand als den einen "103" (nicht EDI
- bearbeitet; danke) in der Mitte identifizieren, der ein 4-Wege-Widerstand ist. Es scheint mehr Dinge miteinander zu verbinden, also denke ich, wenn ich es vollständig entferne, wird das Board nicht mehr funktionieren. Ist es "von Hand" machbar (ich habe diese feine Spitze zum Löten, aber nicht viel Erfahrung mit Miniaturlöten)?
Ich freue mich über jeden Hinweis, ich habe Zahlenkenntnisse, das ist neu für mich :)
Ist es [möglich, die I2C-Pull-up-Widerstände] "von Hand" zu entfernen (ich habe diese feine Spitze zum Löten, aber nicht viel Erfahrung mit Miniaturlöten)?
Ich glaube, ich habe den Schaltplan für Ihr Board nachgebaut (mit dem Board in meinen Händen wäre es einfacher) - und dann habe ich online einen Schaltplan für ein ähnliches (wenn auch nicht identisches) Breakout-Board wie Ihres gefunden, das zu meinem passt Analyse.
Ich bin also ziemlich zuversichtlich, aber Sie haben das Board in Ihren Händen und ich nicht, also überprüfen Sie bitte meine Annahmen.
Die schlechte Nachricht ist, dass Ihr Board, wie Sie wissen, nicht dafür ausgelegt ist, eine einfache Trennung der I2C-Pullups zu ermöglichen. Obwohl es einfach ist, den Pullup von SDA zu trennen, ist es für SCL etwas schwieriger. Mein Ansatz erfordert ein scharfes Skalpell, um Spuren zu schneiden, und ein kleiner Überbrückungsdraht muss hinzugefügt werden.
Ich habe bei einem der vielen Ebay-Verkäufer ein etwas fokussierteres Foto Ihres Boards gefunden , daher habe ich die Änderungen dort markiert:
Es gibt eine Reihe von Möglichkeiten, Ihre Anforderungen zu erfüllen. Ich gehe davon aus, dass Sie minimale Änderungen an den Breakout-Boards vornehmen möchten.
Blick auf die vertikale grüne Linie 4
: Ich glaube, die beiden 10k-Widerstände im Widerstandspaket links von dieser Linie haben beide ihre oberen Anschlüsse an die 3,3 V des 3-poligen Reglers direkt darüber auf der Platine. Stellen Sie sich diese als "interne I2C-Klimmzüge" vor. Sie wollen diese nicht trennen.
Die beiden 10k-Widerstände im Widerstandspaket auf der rechten Seite der grünen Linie 4
haben beide ihre oberen Verbindungen zum externen VIN
Pin. Stellen Sie sich diese als "externe I2C-Klimmzüge" vor, und das sind diejenigen, die Sie trennen möchten.
Obwohl bisher auf keinem der Fotos leicht zu erkennen, fand ich ein weiteres Foto dieses Breakout-Boards, das zeigte, dass das 6-polige SOT323-Gehäusegerät die Bestnote hatte 702
. Das passt dazu, dass das Gehäuse ein dualer N-Kanal-MOSFET ist (ähnlich wie zwei 2N7002-MOSFETs in einem Gehäuse). Beispielsweise ist das GSM7002T ein solches Gerät und hat den Top-Code 702
:
Unter der Voraussetzung, dass die wenigen kritischen Parameter (insbesondere Vgs) geeignet sind, könnten an dieser Stelle auch andere Dual-N-Kanal-MOSFET-Bausteine verwendet werden, daher gehe ich davon aus, dass es eine Vielzahl anderer Bestnoten für diese Bauteile gibt, die auf den verschiedenen Breakout-Boards verwendet werden. Der Zweck dieses Geräts ist ein typischer Pegelwechsler (Pegelübersetzer) für die beiden I2C-Signale, da es laut VL53L0X-Datenblatt nicht direkt an einen I2C-Bus angeschlossen werden sollte, der auf etwas über 3,5 V hochgezogen wird, z ein 5V I2C-Bus.
1
, an der der externe Pull-up von getrennt wird SDA
.2
, an der der externe Pull-up von getrennt wird SCL
.3
, zwischen dem Drain D1
des dualen N-Kanal-MOSFET und dem Stiftloch des SCL-Headers.Dann können Sie zu jedem der beiden I2C-Signale einen geeigneten Pull-up-Widerstand hinzufügen, passend für den gesamten I2C-Bus. Job erledigt!
Später fand ich heraus, dass Pololu ein VL53L0X-Breakout-Board herstellte und sie lieferten ein schematisches Diagramm:
Dieses Schema zeigt schön die Verwendung der N-Kanal-MOSFETs als Pegelwechsler. Es ist nicht ganz genau für Ihr Board, aber die Unterschiede sind ziemlich gering, z.
Die Header-Pinbelegung ist offensichtlich anders.
Ihr Board hat wahrscheinlich einen 3,3-V-Regler (dies basiert auf den Top-Codes, die ich in verschiedenen anderen Ebay-Angeboten gesehen habe - ich kann den Top-Code des Reglers auf Ihren Fotos nicht lesen); Das Pololu-Board hat einen 2,8-V-Regler.
Anstelle diskreter Widerstände auf der Pololu-Platine werden 4 Widerstände durch das Widerstandspaket auf Ihrer Platine ersetzt.
Das Pololu-Board hat 47k Pull-Ups an XSHUT
und GPIO1
und 1k Serienwiderstände in beiden Signalen; Ihr Board hat 10k Pull-Ups und keine Vorwiderstände.
Aus einem schnellen Vergleich:
XSHUT
und GPIO1
Header-Pin-Löcher auf Ihrem Board.Ich habe keine Verbindung zu Pololu, aber ihre Dokumentation liegt immer weit über den nahezu null Informationen von Ebay-, Ali Express- und Amazon-Verkäufern usw., daher war ich ein glücklicher Käufer ihrer Produkte.
2
keine Verbindung von D1 besteht. " Es sollte ausreichen, die Spuren von R1/R2 vor Q2A/Q1A zu schneiden ". Das ist effektiv das, was ich auf Ihrem Board vorschlage (je nachdem, was Sie mit "vorher" meinen). Die Herausforderung auf Ihrem Board besteht darin, dass sich Ihre "R1 & R2" in diesem Widerstandspaket befinden. " SCL-Q1A- und SDA-Q1B-Spuren müssen bereits vorhanden sein " Ja, das sind sie, aber aufgrund des eingeschränkten physischen Zugangs zum einfacheren Schneiden 2
trennt mein vorgeschlagener Schnitt den SCL-Q1A (D1) -Pfad und muss der Jumper hinzugefügt werden.Basierend auf der hervorragenden Antwort von @SamGibson (und seinem Kommentar mit Vorschlag) wurde mir klar, dass die VIN-Spur nur zur Versorgung des Spannungsreglers und dieser beiden Pullup-Widerstände verwendet wird. So könnte ich die Spur an Stelle 5 ( nachdem VIN zum Regler geht) und 1 (der SCL und SDA durch 2x10k-Widerstand rechts vom 4er-Pack voneinander trennt) abschneiden; der Rest des Boards ist verbrauchsreguliert 2.8. Zum Schneiden ist Mikrobohrer sehr gut, besser als Stanley-Messer. Ich betreibe jetzt 7 Sensoren an einem Bus ohne Probleme. Funktioniert perfekt.
5
, müssen Sie zur Vermeidung des Übersprechens auch die Spur schneiden, die die oberen Pads der beiden rechten Widerstände verbindet. Allerdings dachte ich, das wäre schwieriger als mein Vorschlag. Es liegt an Ihnen :-)5
( Wenn Sie nur eine Klinge verwenden, dachte ich, der begrenzte Platz dort würde das schwierig machen, aber mit Ihrem Mikrobohrer ist dann das Schneiden eine Option, wie Sie es getan haben). 5
Können Sie dieses "Cut at and 1
" als Update in Ihre Antwort einfügen ? Danach ist es für mich in Ordnung, wenn Sie meine Antwort "ablehnen" und Ihre akzeptieren möchten, da Ihre Lösung die einfachere Lösung für Leute ist, die an Punkt schneiden können 5
. +1 :-)
Peter Bennett
Eudoxos
Olin Lathrop
Alter Furz
Eudoxos
Eudoxos
Transistor