I2C Fast Mode Plus Fm+ Spannungen
Hallo Freunde
Wie ich an anderer Stelle hier im Forum bereits bejhandelt habe, setze ich in meinem "schwimmenden Roboter" eine größere Anzahl Feuchte- und temperatursensoren von Sensirion ein, STS21 (Temperatur) SHTS21 (Feuchte plus Temperatur) die nur eine feste IP-Adresse besitzen. Ich habe mich daher entschlossen USB Hubs von nxp.com einzusetzen.
Nun habe ich in einem Webinar von NXP bei EEETimes zu I2C Fast mode Plus 2 Bauteile kennengelernt, den Buffer P82B96 und den Hub PCA9646 die nach dem Webinar Fm+ Funtionalität haben und bei welchen man den I2C-Bus auch mit Spannungen bis 15V betreiben kann. Hier noch der Link zu den Folien des Webinars als PDF, Folie 21 zeigt was ich möchte!
Da ich im Rumpf eine Menge elektromagnetische Störungsquellen habe möchte ich die Sterntopologie wie folgt implementieren:
Master uC: 5V mit I2C 5V Pullups
5x den Hub PCA9646D
Zwischen dem Hub und dem Buffer 12V I2C Bus Fm+
Buffer: P82B96
I2C Bus zwischen Buffer und Sensor 3V normaler I2C Bus
Sensor z. B. SHTS21.
Jetzt schaue ich in die Datenblätter und sehe den I2C bus unter elektrischen Daten nur bis max. 7V, also 5V charakterisiert.
Kennt jemand das Thema I2C Fm+ und die Fähigkeit bis 15V betrieben zu werden?
Auch stört mich am Buffer P82B96 das es sich um ein Dual Buffer handelt, ich brauch e doch nur einen einfachen, oder?
Schon Mal Danke
Hellmut
Liste der Anhänge anzeigen (Anzahl: 5)
Erstmal, nochmals tausend Dank! Wo fage ich an?
Anhang 18537
Anhang 18538
Keine Ahnung warum hier die Bilder so klein erscheinen? Man kann aber bei Flickr.com die orioginal Bilder mit hoher Auflösung sehen.
Das sind Bilder von den Platinchen die ich für die Sensoren in der Fassung der Deckbeleuchtungskörper meines Seglers gemacht habe. Damit man ein Gefühl für die Größe bekommen kann, im oberen Bild habe ich mit der Linse die Platine so vergößert das man die Pads für das 3x3mm Gehäuse mit 6 Pins des Sensors erkennen kann. Links von den Gehäuse kommt der 100nF Kondensator für den sensor rein, und wenn man die originalbilder ansieht, dann kann man rechts von der Position des Sensors die "Pads" als Verbreiterungen der Leitungen erkennen. es kommen nach den Applikationsdaten vom Sensorhersteller 5k Widerstände als Pull-ups zum Einsatz. Einmal im 0603-Gehäuse zwischen der oberen Leiterbahn und der 2., und einmal ein 1206 zwischen der oberen und er 3. Leiterbahn. Mit dem "großen" 1206 überbrücke ich die Leiterbahn 2! Die 4 großen kreisförmigen Pads, 4mm Durchmesser, nehmen die 0,5mm Durchmesser Messingdrähte auf, über die ich die Anschlüsse zu einem "Knotenpunkt" querab von der Fassung unter Deck führe. Geht der sensor kaputt, so kann ich die Platine austauschen, an die wartung ist also gedacht worden. Nach den hier erhaltenen Inputs wird am Knotenpunkt eine kleine Platine mit dem P82B96D Buffer-Baustein kommen, sowie Klemm-Schraubverbindungen, einerseits für den Anschluss der Sensor-Platine, 4 Leitungen, andererseits für das verdrillte 4-polige Kabel.
Zentral wird ein mega8 einen Hub verwalten, der in Sterntopologie, 20 I2C-Verlängerungsbusse bereitstellt. Dort kann ich dann per Jumper jeweils entscheiden zu welcher Spannung ich jeden der 20 I2C-Busse verbinde, also 3V, 5V und 12V. Ich habe jetzt einen Baustein von TI gefunden der preiswerter ist und 8:1 Switch-Fnktionalität bietet die über 3 Adressbits selektriert werden können. setze ich den ein so wird die zentrale Hub.Platine 24 Sekundär-I2C Busse bieten. Ich plane 16 indirekte Deckbeleuchtungskörper mit 1W HB LEDs gelb dafür einzusetzen. Hinter jeder dieser LEDs kommt ein Wärmesensor der aufpasst das die LED nicht zu warm wird und so das heller stellen begrenzt.
Anhang 18539
Hier eine Skizze die so eine Decksbeleuchtung zeigt.
Als Spannungsquelle im Modell verwende ich 12 LiFePO4 Akkuzellen a 16Ah. da ich an dem Projekt noch länger tätig bin, habe ich für den Bau der 2 Akkuboxen und für die Bauphase 12 Fake-Akkuzellen identischer Abmasse wie das Original gebaut und durch das Füllen von Langlöchern mit Blei auch das Gewicht exakt erreichen können. Hier das Bild:
Anhang 18540
Meine Spannungsquelle im Boot wird also Spannungen bereitstellen die zwischen 24V, Akkuzellen leer und 39,6V, Akkuzellen voll, schwanken wird. daher plane ich für die Versorgung der Sensoren und der I2C-Busse Linearwandler einzusetzen, z. B. 7805 und 7812, bei den 3V werde ich vermutlich einen programmierbaren nehmen. Ich hoffe meinKonzept ist klar und ich denke es ist genau das was du vorschlägst Klebwax, nur nehme ich einen I2C 8:1 switch.
Deinen Vorschlag mit den Analogmultiplexern kannich allerdings an anderer Stelle nutzen. Ich werde, basierend auf dem LT6802-1, eine BMS, Battery Monitoring System, implementieren. Hier bin ich faul gewesen und hab mir den internen Balancer von Akkumatik dafür gekauft. Nun werde ich solche analogen Multiplexer dafür verwenden die Balancer-Leitungen zu multiplexen. Ich werde die Balancer-Karte im Modell als BMS einsetzen und kann diese gleichzeitig auch als Balancerkarte verwenden. So brauche ich nur die Leitung im Ladegerät vom internen Prozessor zur internen Balancerkarte umschalten und diesen Bus mit weniger Leitungen als ein 12S1p Akkupack ins Modell führen. Trotzdem möchte ich die Wahl haben den internen BMS/Balancer oder den externen im Ladegerät zu verwenden und so werde ich die Balancer-Leitungen analog multiplexen, vermutlich auch den internen Prozessor-Anschluss des Balancers in der Akkumatik. So kann ich wahlweise mit meinem setup, oder mit einem standard setup die Akkuzellen laden.