www.mikrocontroller.net

Forum: PC-Programmierung WinBond Chip auslesen


Autor: programmer(TR) (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend !

Ich bin mir nicht sicher, ob das jetzt hier rein passt, aber ich denke 
das einige von euch eventuell mir weiter helfen können.

Ich versuche gerade eine Application zu schreiben, mit der ich meinen 
WinBond Chip auf meinem Motherboard auslesen kann. Der WinBond Chip ist 
ein Super I/O Chip und hat Hardware Monitoring futures, also z.B. 
Temperatur der CPU, HDD, RPM der Kühler und die Spannungen, also +-12V 
und +-5V zu messen. (der Chip hat ein 8 Bit AD Wandler)

Ich habe es geschaft die Temperatur und RPM des Kühlers auszulesen, aber 
mit den Spannungen klappt das irgendwie nicht. Wenn ich die Spannung 
auslese bekomme ich als Wert 188 und 187.. es schwankt ab und zu. Diesen 
Wert muss man doch noch in "V" umwandeln oder nicht ? Die Temperatur 
bekommt man jedoch direkt als fertigen Wert.... Wie muss ich das 
umwandeln ?

Ich habe mir das Datenblatt so oft angeguckt, aber irgendwie werde ich 
bei einigen Stellen nicht schlau. Das Datenblatt ist im Anhang.


Ich benutze die "inpout32dll".

Also _input und _output Befehle wie in C oder C++.
Zugriff habe ich mittels der giveio.sys Datei erreicht.


Bedanke mich für jeden Hinweis !

Schönen Abend,

programmer(TR)

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf den Seiten 101-102 steht doch alles, oder?

"8bit ADC with 16mV LSB" -> würde in deinem Fall so etwas
wie 3V bedeuten, wenn man mal davon ausgeht, das keine
Spannungsteiler vor dem ADC sind.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ich grad noch sehe, hast du wohl die 5V Leitung gemessen.
Die hat intern noch nen Spannungsteiler, um auf unter 4.096V zu kommen.
Steht auf S.101 unten.

Autor: programmer(TR) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank ARM Fan !

Hast du ein anderes Datenblatt ? Auf Seite 101 und 102 ist bei mir etwas 
anderes.

Wie hast du denn diese 187 bzw. 188 umgewandelt in 3V ?

0V = 0
5V = 255
...

Autor: Gast (ein anderer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Reader ist es auf Seite 110

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte dir wirklichen Seitenzahlen, wie sie in der Fußzeile stehen.

Wie ich das umgewandelt habe, stand doch schon oben.

1 LSB ^= 16mV

Du hattes nen Wert von 188 ausgelesen.
Also 188 * 16mV = ~3V

Die ADC Eingänge vertragen aber nur 4.096 V max (^= 255).
Deshalb sind bei Spannungen darbüber, Spannungsteiler vorzusehen.
Auf der 5V-Schiene ist dieser wohl schon im Chip eingebaut.
Werte und Formeln stehen auf den angegebenen Seiten.

Autor: programmer(TR) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das stimmt, er benutzt wohl einen anderes Programm.

Nur wie rechne ich denn mit diesen 8 Bit 16mV ?

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du machst es einem nicht leicht...

Du liest doch mit deinem Programm irgendwie diese 188 aus, oder?
Nimm diese Zahl und multipliziere sie mit 0.016 (float) und gut ists.
Das Ergebnis ist die Spannung in Volt, die am ADC anliegt.
Eventuelle Spannungsteilerfaktoren mußt du natürlich auch noch
berücksichtigen.

Nun klar?

Autor: programmer(TR) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ARM FAN erstmal vielen dank für deine Hilfe.

Als erstes kannst du mein Posting um 27.09.2007 22:40 ignorieren, denn 
ich habe es gepostet bevor ich deine Narchicht um 27.09.2007 22:39 
gelesen habe.
1 min differenz. Tut mir leid, habe nicht aktualisiert.

Ich habe das schon verstanden.

Zum Test habe ich meine Werte mit fertigen Monitoring Programmen 
verglichen.
Die Abweichung war sehr gerring.

         Mein Programm:          SpeedFan:
VCOREA:  1,69                    1,70
VCOREB:  1,79                    1,79..

alles stimmt soweit gut.

Nur bei +5VIN bekomme ich 3V als Ergebnis und nicht 5,03V. Hat das was 
mit dem Spannungsteiler zu tun ?

Danke

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, auf Seite 102 oben steht die Formel zur Umrechnung.

Vin = VCC * (50k / (50k + 34k))

Wobei Vin die Spannung am ADC ist.
VCC sind die 5V.

Stell die Formel nach VCC... et voilà.

Autor: programmer(TR) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmals danke !

Jetzt guck ich mir nur noch an wie ich die Formel für die Negativen 
Spannungen umformen muss.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird schon :-)

Autor: programmer(TR) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also.. umformen musste man da nicht.. außer bei +12V aber alles hat 
geklappt.
Die Werte ab teil kleine abweichungen, aber das liegt eventuell an 
Rundungsfehler mit dem Taschenrechner....

Ich bedanke mich nochmals für deine Hilfe ! Hatte schon vor einigen 
Jahren versucht dieses Programm zu realisieren, aber da ich noch jünger 
war hat mir einiges an Wissen gefehlt.. jetzt fehlt mir auch noch was, 
aber net so viel :P.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.