Forum: Mikrocontroller und Digitale Elektronik über SM-Bus Daten auslesen


von steffen (Gast)


Lesenswert?

Hallo,
Habe folgendeFunktion um den Batteriestatus über Sm-bus aus einem Slave 
zu lesen.

"unsigned int SM_Read_BatteryStatus(SlaveAdress, SM_BATTERY_STATUS)

könnte mir evtl einer sagen wie dann die Daten vom Slave wieder 
zurückkommen und wie die dann aussehen? Das die als high- und low Byte 
zurückkommen und man die danach miteinander verodert weiß ich schonmal.
Wäre nett wenn mir jemand weiterhelfen könnte
Danke schonmal

von Jörg S. (joerg-s)


Lesenswert?

Da musst du uns schon ein wenig mehr verraten.

von Frank B. (frankman)


Lesenswert?

Schau dir mal das Datenblatt vom BQ20Z90 von Texas Instruments an...

von steffen (Gast)


Lesenswert?

Ein Bauteil von TI hab ich auch. Die SMBUS- Anbidung ist auch schon 
komplett fertig.Versteh halt überhaupt nicht wie ich die Daten auslesen 
kann.
schick ja folgendes Kommando an den Überwachungsbaustein:
   SM_Read_BatteryStatus(SlaveAdress, SM_BATTERY_STATUS)

Wie bekomme ich denn dann die Daten vom Ü-Baustein ausgelesen?
Die kommen ja Byteweiße.Erst high dann low Byte. Wie verkuttelt man die 
dann?

>Jörg S. schrieb:
>Da musst du uns schon ein wenig mehr verraten.
Was für Angaben bräuchtest du denn genau um mir weiterhelfen zu können?

von Jörg S. (joerg-s)


Lesenswert?

>Ein Bauteil von TI hab ich auch.
Und wie heisst das genau? Datenblatt vorhanden?

>Versteh halt überhaupt nicht wie ich die Daten auslesen kann.
Anscheinend hast du doch schon ne Funktion (SM_Read_BatteryStatus) die 
das macht, oder wie?

>Wie bekomme ich denn dann die Daten vom Ü-Baustein ausgelesen?
Die Funktion aufrufen würde ich mal sagen :)

von Dirk W. (diwo)


Lesenswert?

Hallo Leute,

ich habe gerade das gleiche "Problem" wie ihr. Ich habe vor rund 1 1/2 
Jahren eine MTB-LED-Lampe mit 7 High-Brightness-LEDs gebaut, ähnlich der 
heutigen Betty von Lupine. Ich hatte damals Cree XR-E 7090 nur in 
Binning P3 und P4 zur Verfügung gehabt. Mit 700mA betrieben erhellt die 
Lampe den Trail trotzdem mit rund 1000 Lumen. Die Lampe läßt sich per 
PWM über einen Mehrstufenschalter dimmen. Die Einzeloptiken sind 
wechselbar, um die Ausleuchtcharakteristik verändern zu können.

Die Lampe wird durch einen Li-Ion-Notebook-Akku versorgt (zwei 
unterschiedliche Packs zur Alternative). In dem einen Pack steckt das 
Lade- und Überwachungs-IC bq2060 von ti, in dem anderen Pack der MAX1782 
von Maxim. Von ersterem gibt es auf der Herstellerseite ein Datenblatt, 
von zweitem nicht (nur auf Anfrage, aber noch ohne Erfolg). Bisher hatte 
ich die Akkuüberwachung mit eine analoge Spannungskomparator-Schaltung 
realisiert, der einer Mehrfarb-LED a la Ampel (rot - gelb - grün) 
ansteuert. Wie ihr euch denken könnt, funktioniert dies eher bescheiden, 
da die Akkuentladekennlinien von einer Reihe von Parametern wie 
Temperatur, Entladestrom, Alterung etc. abhängen.

Mir schwebt jetzt vor, den SMBus, den die Notebook-Akkupacks haben, 
anzuzapfen und entweder die Restakkukapazität oder besser noch die 
Akkurestlaufzeit auszulesen. Anzeige wäre dann auch über eine 
Mehrfarb-LED. Die Aufgabe sollte für Elektronik-Spezis einigermaßen 
leicht mit einem PIC oder ATtiny zu erledigen sein. Unglücklicherweise 
habe ich keine große Ahnung von µC und frage hier, ob jemand solch ein 
Projekt schon mal realisiert hat und sowohl einen kleinen µC ausgewählt 
hat, als auch ein handliches Programm dafür geschrieben hat. Ich hätte 
in der Lampe Platz für einen 14poligen µC im DIP Gehäuse, also etwa für 
einen ATtiny44, der sogar über eine universelle serielle Schnittstelle 
verfügt, die ggf. für die SMBus-Kommunikation nützlich sein könnte. Die 
Schalterabfrage für die Dimmstufen sowie die PWM-Erzeugung und die 
Temperaturüberwachung würde ich dann evtl. auch von analog auf µC 
umstellen. Mit den vorhandenen Eingängen, ADC und Komparator wohl auch 
kein Problem für den Kleinen.

Wer hat konkrete Lösungen oder kann mich praktisch unterstützen?

Diwo

von Manfred K. (gagamehl2008)


Lesenswert?

nachdem der thread ein wenig stillgelegen hat, versuch ich ihn mal 
wiederzubeleben...
der BQ2060 hat 5 LED-Treiber eingebaut, die den momentanen Akkustatus 
anzeigen (per Knopfdruck). Schau mal ins Datenblatt... Ich hab mir 
inzwischen ebenfalls eine Fahrradleuchte mit 3W-LEDs gebaut, die von 
Notebookakkus betrieben wird. Da sind BQ2040 und BQ2060 drin, deren 
Statusanzeige ich nutze. Wen du wissen willst, welche Kapazität der Akku 
aktuell noch hat, einfach mal den SMBus mit "Smart Battery Workshop" 
auslesen. Dafür genügt die Demo...

Bis denne..

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
Noch kein Account? Hier anmelden.