Hallo! Ich verwende den o.g. Sensor um Lade- und Entladeströme von und zu einem Akku zu messen, klappt prima. http://www.st.com/en/power-management/stc3100.html Die Idee, einen weiteren Sensor zu verbauen, scheitert (scheinbar) daran, dass der STC3100 eine feste I2C-Adresse besitzt, ich also am TWI-Bus des Atmega keinen weiteren (mit anderer Adresse) anschließen kann. Die Lektür des Datenblattes ergab zwar, dass jeder STC3100 eine einmalige ID besitzt- aber was nützt mir die, wenn sie alle bei Adresse 10h antworten?!
Stephan schrieb: > STC3100 eine feste I2C-Adresse besitz Und Stephan schrieb: > keinen weiteren (mit anderer Adresse) anschließen kann Ja was, die gleiche oder eine andere Adresse? Falls ein und der selbe Sensor mit fester Adresse verwendet werden sollen, gibt es spezielle i2c Multiplexer. Der Sinn eine feste Adresse zu vergeben bei I2C hat sich mir auch noch nie erschlossen.
Rene K. schrieb: > Ja was, die gleiche oder eine andere Adresse? (Ich ahnte bereits so eine Antwort) Weder noch. Die gleiche anschließen geht nicht und eine andere gibts nicht. Rene K. schrieb: > spezielle i2c Multiplexer Hab´ ich eigentlich kein Bock drauf :(
Stephan schrieb: > Die Lektür des Datenblattes ergab zwar, dass jeder STC3100 eine > einmalige ID besitzt- aber was nützt mir die, wenn sie alle bei Adresse > 10h antworten?! Das Ding ist für eine einzelne LiIon-Zellebene gedacht. Die ID ist für die Erkennung des jeweiligen Akkupacks wie eine Seriennummer gedacht. Will man mehrere der Akkupacks verwenden, braucht man einen I2C-Multiplexer. Die Parallelschaltung von LiIonen-Zellen ist relativ unproblematisch; interessant ist die Reihenschaltung - da der Sensor massebezogen misst, muss man bei einer Reihenschaltung eh den ganzen Kram entkoppeln. Der I2C-Bus würde ohne die Entkopplung nicht richtig funktionieren. Die Allupacks müssten alle an der gleichen Masse hängen.
Stephan schrieb: > Die Idee, einen weiteren Sensor zu verbauen, scheitert (scheinbar) > daran, dass der STC3100 eine feste I2C-Adresse besitzt Bits DevADDR0 to DevADDR2 are factory-programmable, the default device address value being 70h (AddrID0 = AddrID1 = AddrID2 = 0). Also anscheinend können diese programmiert werden, stellt sich die Frage nur wie. Sonst gäbe es ja kein default?! Ob es evtl. ein Register gibt, welches man beschreiben kann? hast du vllt. mal nach welchen geschaut die über Pull Ups / Pull Downs konfiguriert werden können. Bei Digi-Potis entsprechen dann diese 3 Pins den 3 Adressbits.
Adam P. schrieb: > Bits DevADDR0 to DevADDR2 are factory-programmable Ist das ein verstecktes Stellenangebot?
Nein ist es nicht... Mir ist schon klar, dass es "Werksseitig" bedeutet - aber könnte ja sein, dass die auch nur intern ein Register beschreiben, welches so nicht im Datenblatt aufgelistet ist.
Stephan schrieb: > Rene K. schrieb: >> spezielle i2c Multiplexer > > Hab´ ich eigentlich kein Bock drauf :( Es wird Dir wohl nichts anderes übrig bleiben. -> PCA9548A fchk
Adam P. schrieb: > Mir ist schon klar, dass es "Werksseitig" bedeutet - aber könnte ja > sein, dass die auch nur intern ein Register beschreiben, welches so > nicht im Datenblatt aufgelistet ist. Oder sie tauschen bei der Chipherstellung die Maske für einen Metall- Layer aus. Auch das wäre "factory programmable". Schau Dir mal an wie man I²C Busse multiplexen kann oder nimm einen µC mit mehr als einem I²C Bus - der Master ist außerdem noch einigermaßen ordentlich in Software implementierbar.
Du könntest auch mit einem Analogmux den Messpin umschalten und nur ein Device nutzen, oder auch die SDA-Leitung von zwei Devices. Schwaches Bild von ST - bei Maxim gäbe es die verschiedenen Adressvarianten direkt zu kaufen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.