Alternative Externe Temperatur gesteuerte Lüfterreglung

Begonnen von MaikLommatzsch, 12. Januar 2022, 19:59:07

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

MaikLommatzsch

Hallo, ich möchte jetzt mit dem Projekt alternative Lüftersteuerung für die PS3 anfangen. Der Hintergrund ist eine Defekte original Lüftersteuerung die nicht mehr zu reparieren ist.

Ich möchte das mit einen Arduino Nano Every ( Aktuell bei Amazon 12,99) verwirklichen.  Das ist ein Frei Programmierbarer Mikroprozessor Controller  mit sehr kleinen Abmessung die hoffentlich auch ins PS3 Gehäuse passen.
Die PS3 die genutzt wird ist einen CECH C04 (V2)
Mein erster Plan:

Ich möchte den Originalen Temperatursensor vom Cell nutzen, das ist der das ist der IC1101, warum den)? Weil die Cell Heißer wird als der RSX ( Es kann auch der RSX Sensor oder sogar beide genutzt werden). Sollten die originalen Sensoren nicht genutzt werden können, gehe ich auf externe Temperatursensoren, wir werden sehen.
benötigt werden an daten der Norminalwiederstand. (der Wiederstand der bei ca 25°C Raumtemperatur herrscht und den Beta Coefficient.Das ist eine Materialkonstante (B25)

Der Arduino soll mit 5V vom Ps3 Netzteilversorgt werden und einschalten beim anlegen der Netzspannung.

Es soll der originale Lüfter verwendet werden der auch weiterhin von der Ps3 mit den 12V versorgt wird. (Der Arduino kann das ohne weiters nicht, muss er auch nicht) Zu beachten ist das wir eine Programmierung finden oder erstellen die ohne Tachosignal arbeitet, da der PS3Lüfter das Signal nicht bietet. Ansonsten können wir uns denke ich an 4Pin PC Lüfter orientieren. wie geschrieben der PS3 Lüfter Arbeiten wie ein 4 Pin PC Lüfter nur ohne Tachosignal. ( 3 Pin PC Lüfter nutzen kein PWM Signal, bitte nicht verwechseln.)

Mein anstreben ist es erstmal die Originale Lüfterkurve zu übernehmen.

Ich hoffe das ich da schon das richtige gefunden hab, wenn nicht bitte nicht mit Infos Geizen:-)

Zum Schluss, möchte ich gern noch in meinen fall eine Doppeldiode verbauen die im Normalbetrieb Blau leuchtet und so bald eine bestimmte Temperatur erreicht ist dann Rot leuchtet. (im Idealfall noch bevor die PS3 die Überhitzungswarnung bringt.

Ich denke das wars erstmal für den Anfang,  ich bin im Thema Arduino 0 drin, muss mich da also erst noch komplett schulen, wenn da jemand schon Erfahrung hat, und mir helfen möchte bitte bitte bitte gern :-).

Ich freue mich Tierisch auf dieses Projekt.

Takeshi

#1
Zitat von: MaikLommatzsch am 12. Januar 2022, 19:59:07
Das ist ein Frei Programmierbarer Mikroprozessor Controller [...]

Kleine Anmerkung dazu. Es gibt keinen "Mikroprozessor Controller", nur einen "Mikroprozessor" und einen "Mikrocontroller". Die unterscheiden sich darin, dass der Mikroprozessor nur die CPU enthält. Der Cell ist damit ein Mikroprozessor, genau so der Pentium 1 und der AMD Ryzen. Es gibt aber auch kleine Vertreter für wenige Euro und Watt. Mikrocontroller beinhalten neben der CPU noch alles andere, was man so braucht: RAM, Programmspeicher und verschiedene Ein- und Ausgabemodule (ADC, Schnittstellen wie UART, SPI und I²C).
Das, was du rausgesucht hast, ist ein Mikrocontroller.

Zitat von: MaikLommatzsch am 12. Januar 2022, 19:59:07
Ich möchte das mit einen Arduino Nano Every ( Aktuell bei Amazon 12,99) verwirklichen.
[...] ich bin im Thema Arduino 0 drin, muss mich da also erst noch komplett schulen, wenn da jemand schon Erfahrung hat, und mir helfen möchte bitte bitte bitte gern :-).

Ich muss direkt sagen, ich habe noch nie in meinem Leben mit Arduino gearbeitet. Die Plattform ist für Laien konzipiert (anfangs Studenten), nicht für den "professionellen Bereich". Ich habe Mikrocontroller bisher nur in C programmiert, aber auch noch keine von Atmel (jetzt Mikrochip). Das heißt bei der mikrocontrollerspezifischen Programmierung kann ich dir nicht helfen, aber bei der Hardware und dem Rest der Software, sprich Regelung, Messwertverarbeitung usw.

Für dich ist das aber sicherlich eine gute Wahl, da die Anforderungen an die Software in dem Projekt sehr gering sind. Das schafft die Arduino-Plattform und du musst dich mit dem komplizierten Kram nicht herumschlagen, den du ohnehin nicht brauchst.

Die Arduino-Sprache soll C sehr ähnlich sein. Ich schreibe die Ideen einfach in C. Entweder es passt, oder du musst es geringfügig anpassen, aber das Prinzip ist trotzdem klar.

Zitat von: MaikLommatzsch am 12. Januar 2022, 19:59:07
Der Arduino soll mit 5V vom Ps3 Netzteilversorgt werden und einschalten beim anlegen der Netzspannung.

Ich würde eher 3,3 V vom Mainboard verwenden. Der Mikrocontroller läuft sowieso mit 3,3 V, dann kannst du dir die Wandlung der Versorgungsspannung (Verluste = Wärme) sparen und noh viel wichtiger, der Mikrocontroller arbeitet an den Ein- und Ausgängen mit 3,3 V. Das hilft dir dann, wenn du an Signale gehst, die ebenfalls mit 3,3 V arbeiten. Mit 5 V besteht die Gefahr, dass du etwas beschädigst. Auf dem Mainboard arbeitet zwar viel mit kleineren Pegeln, aber auch einiges mit 3,3 V und zufällig das, wo du dran arbeiten möchtest. Ich glaube das PWM-Signal an den Lüfter hat einen Pegel von 3,3 V und die ICs zur Temperaturmessung ebenfalls.

Du sparst dir damit ebenfalls zu messen, ob die PS3 an ist. Es ergibt schließlich keinen Sinn die Temperatur zu messen, wenn die PS3 im Standby ist. Der Lüfter wird sowieso nicht versorgt. Mit 3,3 V versorgt würde der Mikrocontroller immer dann starten, wenn auch die PS3 startet und der Lüfter laufen muss.

Zitat von: MaikLommatzsch am 12. Januar 2022, 19:59:07
Ich möchte den Originalen Temperatursensor vom Cell nutzen, das ist der das ist der IC1101, warum den)? Weil die Cell Heißer wird als der RSX ( Es kann auch der RSX Sensor oder sogar beide genutzt werden). Sollten die originalen Sensoren nicht genutzt werden können, gehe ich auf externe Temperatursensoren, wir werden sehen.
benötigt werden an daten der Norminalwiederstand. (der Wiederstand der bei ca 25°C Raumtemperatur herrscht und den Beta Coefficient.Das ist eine Materialkonstante (B25)

Ich würde beide auswerten, schadet nicht. Du kannst immer den höheren der beiden Werte verwenden, dann bist du auf der sicheren Seite. Geht ganz simpel:
// temp_cell enthält die Temperatur des Cell
// temp_rsx enthält die Temperatur des RSX
// temp_max enthält die höhere der beiden Temperaturen

temp_max = temp_cell;
if(temp_rsx > temp_max)
{
    temp_max = temp_rsx;
}


Die Auswertung des vorhandenen Sensors ist aber sportlich. Ich habe keine Ahnung, was für eine Art von Sensor drin verbaut ist, ob das ein PTC oder NTC ist, oder etwas ganz anderes. K-Fühler schließe ich mal aus, das wäre kaum umsetzbar. Die verwendeten ICs geben aber eventuell einen Hinweis darauf.

Am Cell ist der AD51/067ARMZ-R (IC1101) verbaut, am RSX laut Manual ADT7461A0002RMZR (IC2101), ich tippe mal der ADT7461ARMZ-R ist identisch. Vielleicht ist das eine kleine Spezialversion für Sony mit einer anderen Standard-Adresse oder so.

Wenn ich mir das Datenblatt ansehe, dämmert es wieder. Da wird die Kennlinie eines Transistors benutzt, die sich mit der Temperatur verschiebt. Auf Seite 8 im Datenblatt dargestellt. Das wird schwer das auszulesen. Ich nehme an der Cell macht das genau so, nur hat der Transistor eine andere Kennlinie und deshalb wird ein anderes IC verwendet.

Da ist es einfacher die Daten des ICs abzufischen, das den Sensor schon ausgewertet hat. Laut dem Datenblatt verwendet das IC SMBus, wobei SMBus auf I²C basiert und größtenteils kompatibel sein soll. Im Service Manual der PS3 steht sogar I²C im Signalnamen.
Hintergrund: Du findest eher einen Mikrocontroller, der für I²C spezifiziert ist, als für SMBus. Der von dir kann aber auch kein I²C, wenn ich mich verlesen habe.

Auch hier muss ich sagen, ich habe I²C noch nie selbst verwendet, kenne es nur in der Theorie. Der SysCon wäre auf jeden Fall der Master (IC4002, Pin T8 und T9). Der Mikrocontroller wäre ein Slave, genau so wie diese ICs. Die senden in jedem Paket ihre Adresse mit.
Ob es möglich ist ein I²C-Modul eines Mikrocontrollers so zu konfigurieren, dass es die Daten mitliest, weiß ich nicht. Eventuell
- fühlt sich der Mikrocontroller wegen der falschen Adresse im paket nicht angesprochen.
- speichert er aber auch das ganze Paket und es obliegt dem Programmierer zu entscheiden, ob ihn die Daten interessieren.

Wenn das allerdings klappt, hast du die optimalen Messwerte und kannst wirklich 1:1 die Lüftersteuerung der Konsole nachbauen.

Sollte das alles nicht klappen, bleibt noch mein erster Vorschlag: PT100 am IHS montieren, Temperatur dort mit einem Mikrocontroller messen und dann damit die PWM generieren.

MaikLommatzsch

Danke das du meine nicht fachlichen Ausdrücke korrigiert hast👍 Hab mich gerade 20 mal selbst in den Hinteren getreten weil ich da so ein Stuss geschrieben habe 🤣. Die ICs vom Cell/RSX haben an pin 2 und 3 ihre Temperatur Meldung. D+ und D-, da plane ich dran zu gehen. Bei Raumtemperatur hab ich da so 7,5 Mohm gemessen, kurz mit dem Heissluftföhn drüber hab ich um die 10 Mohm gemessen. Müsste Dan die PTC Eigenschaft sein.

3,3 V ist auch ne möglichkeit, ich hatte aber wenn es um Details geht vor das abzusichern und noch eine Sperrdiode einzusetzen. Um die PS3 Hardware zu schützen.

Hier habe ich eine Schaltung und Programmierung gefunden auf die sich vielleicht aufbauen lässt.

http://www.scynd.de/tutorials/arduino-tutorials/3-luefter-steuern/3-4-temperaturgesteuerter-l%C3%BCfter.html

Takeshi

Zitat von: MaikLommatzsch am 12. Januar 2022, 23:38:35
Danke das du meine nicht fachlichen Ausdrücke korrigiert hast👍 Hab mich gerade 20 mal selbst in den Hinteren getreten weil ich da so ein Stuss geschrieben habe 🤣.

Ach was, das ist ja kein Thema. Wollte da nur drauf hingewiesen haben, nicht dass das mal bei einer Suche zu Problemen führt.

Zitat von: MaikLommatzsch am 12. Januar 2022, 23:38:35
Die ICs vom Cell/RSX haben an pin 2 und 3 ihre Temperatur Meldung. D+ und D-, da plane ich dran zu gehen. Bei Raumtemperatur hab ich da so 7,5 Mohm gemessen, kurz mit dem Heissluftföhn drüber hab ich um die 10 Mohm gemessen. Müsste Dan die PTC Eigenschaft sein.

"PTC" und "NTC" ist mehr als nur "fallendes" und "steigendes" Verhältnis aus Spannung zu Strom. Die Charakteristik ist wahrscheinlich völlig anders und der Widerstand bewegt sich in einem höheren Bereich. Bei 10 MOhm wird es schwierig mit einer Messung.

Zitat von: MaikLommatzsch am 12. Januar 2022, 23:38:35
3,3 V ist auch ne möglichkeit, ich hatte aber wenn es um Details geht vor das abzusichern und noch eine Sperrdiode einzusetzen. Um die PS3 Hardware zu schützen.

Wofür? Was bringt es dir mit 5 V zu arbeiten? Ich sehe nicht einen Vorteil.

Zitat von: MaikLommatzsch am 12. Januar 2022, 23:38:35
Hier habe ich eine Schaltung und Programmierung gefunden auf die sich vielleicht aufbauen lässt.

http://www.scynd.de/tutorials/arduino-tutorials/3-luefter-steuern/3-4-temperaturgesteuerter-l%C3%BCfter.html

Die Funktion map() kenne ich nicht, ich kann nur mutmaßen, dass der Rückgabewert von 0 bis 255 entsprechend der Temperatur und dem Temperaturbereich skalliert wird.

Das ist nicht gerade so, wie ich eine Lüftersteuerung umsetzen würde, aber das sollte noch gar nicht das Thema sein. Ein Schritt nach dem anderen. Als erstes musst du die Temperatur einlesen und eine PWM ausgeben können, um den Lüfter zu steuern (nicht regeln). Die Schnittstellen müssen stimmen. Wenn das läuft, kannst du dir Gedanken um die Regelung machen.

MaikLommatzsch

Alles gut mit den 3,3V. Nichts dagegen einzuwenden👍

Takeshi

Zu der Sache mit PTC und NTC wollte ich noch etwas nachreichen. Nach der Argumentation ist faktisch alles ein PTC oder ein NTC, jede Diode, jeder Kondensator, jede Spule.
Das Problem hierbei ist, dass es sich um einen Transistor handelt. Dioden und Transistoren sind vom Verhalten her immer Temperaturabhängig, was bei der normalen Anwendung stört. Hier verwendet man nicht die normale Funktion des Transistors, sondern nutzt nur den sonst ungewollten Effekt der Temperaturabhängigkeit. Das heißt aber nicht, dass es kein Transistor mehr ist.
Vereinfacht bei einer Diode kannst du ebenso eine Widerstandmessung durchführen und wirst feststellen, dass dieser sich mit der Temperatur ändert. Noch stärker ändert sich der Widerstandswert jedoch mit der Spannung! Die kannst du am Multimeter nur nicht einstellen, weshalb dir der Effekt verborgen bleibt. Außerdem haben Dioden (und auch Transistoren) eine recht große Streuung. Während du bei der einen Diode vielleicht 10 MOhm misst, ist es bei der anderen nur 8 MOhm, bei gleicher Temperatur.

Hier kommt erschwerend hinzu, dass der Transistor noch verstärkt. Der Strom ist damit nicht nur abhängig von der Differenz der beiden angelegten Spannungen, sondern auch der absoluten Höhe gegenüber GND. Du musst also genau wissen, was du da tun musst, um einen brauchbaren Messwert zu erhalten. Normalerweise sagt dir das der Hersteller, hier jedosch schweigt er, wir haben keinerlei Informationen. Dadurch wird das noch mal viel schwieriger hier einen ordentlichen Messwert zu erhalten. Das IC verwendet übrigens eine Messbereichsumschaltung. Es legt einen Konstantstrom an, deren Größe umgeschaltet wird, je nach Messwert. Das machen die nicht ohne Grund.
Du kannst einen Glücksgriff landen, du kannst aber auch ewig im Dunklen tappen. Überlege dir also gut, ob du darauf setzen willst.

Ich hatte vergessen zu den LEDs zu antworten. Wenn du eine mehrfarbige LED benutzt, nimm eine mit gemeinsamer Anode. Die kannst du dann an 3,3 V oder auch einer höheren Spannung anschließen, an den beiden Kathoden dann den Widerstand anshließen und das mit einem kleinen Transistor schalten, der vom µC (Mikrocontroller) angesteuert wird. Wenn du die LED direkt ansteuern möchtest, musst du die LEDs mit 3,3 V versorgen, sonst wird die Spannung am µC zu groß.
Achte bei der Wahl der LED unbedingt darauf, dass du ein ordentliches Datenblatt dazu bekommst, sonst kannst du nur herumraten und wenn was nicht richtig geht, kann man nicht mal nach der Ursache suchen.
Eine LED mit Blau und Rot wird schwer zu finden sein. Entweder du nimmst eine RGB-LED, oder aber zwei getrennte LEDs. Ein paar solcher LEDs gibt es aber natürlich.

MaikLommatzsch

Das Bild mit den Lüfterstufen, scheint wohl von Webman ( hack) zu sein, das Bild  ist jetzt ja nur ein kleiner Teil von was Größeren, ggf steht da ja noch mehr ?!  Ich habe nur das Ganze Bild nicht.
Oder ist es möglich sich die Daten aus den Syscon zu ziehen?

Ich möchte es ja auch nur versuchen mit dem zu Arbeiten was schon da ist. sollte es nichts bringen, setzen wir auch eigene Temperatursensoren.

Darum schrieb ich : In meinen fall eine BlauLED .... und Rote LED für........ :-) Das mit der Blau/Roten Doppel LED ist kein Problem, die habe ich da, sogar in beide Richtungen mit gemeinsamen Minus oder mit gemeinsamen Plus.  Die hatte ich gebraucht als ich meine XBOX classic gemoddet hatte.   Mir hat die Grüne LED im Laufwerksknopf nicht gefallen und tauschte die gegen Blau/Rot anstand Grün/Rot.

Takeshi

Zitat von: MaikLommatzsch am 13. Januar 2022, 11:14:26
Das Bild mit den Lüfterstufen, scheint wohl von Webman ( hack) zu sein, das Bild  ist jetzt ja nur ein kleiner Teil von was Größeren, ggf steht da ja noch mehr ?!  Ich habe nur das Ganze Bild nicht.
Oder ist es möglich sich die Daten aus den Syscon zu ziehen?

Falls du meinen Kommentar "würde ich nicht so machen" meintest, ich bezog mich auf das Arduino-Beispiel.

Ich bin mir ziemlich sicher, Sony hat dafür gesorgt, dass man den nicht auslesen kann.

Zitat von: MaikLommatzsch am 13. Januar 2022, 11:14:26
Ich möchte es ja auch nur versuchen mit dem zu Arbeiten was schon da ist. sollte es nichts bringen, setzen wir auch eigene Temperatursensoren.

Gut, ich wollte es nur gesagt haben, da es dir wichtig schien, dass die Arduino-Platine nur 13 € kostet. Na dann mal sehen, vielleicht klappt es ja.
"Mit dem arbeiten was schon da ist" kann halt auch bedeuten die I²C-Daten auszuwerten ;)

Gut, dann geht es im ersten Schritt darum die Sensoren auszulesen. Hast du was vor Augen, wie du das beschalten möchtest? Mein Vorschlag für den ersten Schritt wäre die Platine zu kaufen und den Eingangswiderstand der ADCs zu messen. Es gibt Mikrocontroller, da haben einige Pins 100 kOhm, andere liegen über 10 MOhm.

Dann könntest du versuchen eine Kennlinie des Sensors aufzunehmen, heißt bei Raumtemperatur verschiedene Spannungen anlegen und Strom messen und gucken, ob es linear ist (vermutlich nicht). Und das bei verschiedenen Temperaturen wiederholen, diese möglichst genau messen.

MaikLommatzsch

#8
[
Zitat von: Takeshi am 14. Januar 2022, 00:06:15

Falls du meinen Kommentar "würde ich nicht so machen" meintest, ich bezog mich auf das Arduino-Beispiel.

Das habe ich schon verstanden, ich bezog mich auf das erste Bild im Startpost. Dort ist eine Webman Lüfterstufung zu sehen. Man kann ja über cfw die Lüfterregelungen beeinflussen und vielleicht lässt sich darüber noch mehr herausfinden.
Zitat
Ich bin mir ziemlich sicher, Sony hat dafür gesorgt, dass man den nicht auslesen kann.

Ok dann hat sich das wohl erledigt
Zitat
Gut, ich wollte es nur gesagt haben, da es dir wichtig schien, dass die Arduino-Platine nur 13 € kostet. Na dann mal sehen, vielleicht klappt es ja.
Nein nicht so wichtig wie es vielleicht rübergekommen ist oder du denkst. Aber Geld verbrennen möchte ich auch nicht. Der Arduino hat mich halt überzeugt und er kann Lüfter antreiben und hat die benötigte kleine Baugröße. Ich möchte auch nicht das wir eine Hightech Lüftersteuerung bauen die den Wert so mancher Ps3 übersteigt. Wäre es keine V2 würde ich das sicherlich nicht machen. Aber es ist nunmal eine V2 und von daher alles Gut.

Zitat
"Mit dem arbeiten was schon da ist" kann halt auch bedeuten die I²C-Daten auszuwerten ;)

Richtig

Zitat
Gut, dann geht es im ersten Schritt darum die Sensoren auszulesen. Hast du was vor Augen, wie du das beschalten möchtest?

Ich hätte 3,3v und GND auf den IC gegeben und an D+ und D- hätte Ich mein Multimeter gehangen und geschaut was mit dem Wiederstand passiert wenn ich den Cell erwärme.

Nachtrag: Hab nochmal auf PS3 Developer wiki
Nachgelesen das der eigentliche sensor im Cell/RSX sitzt und der jeweilige IC nur als Tempmonitor fungiert. Gehe ich recht mit der Annahme das wir den IC ignorieren können? Dann bräuchten wir ja nur den norminalwiederstand von CELL/RSX sensor rausmessen. Ggf den ic an einen schottboard auslötten. (2 Schrott cok002 hätte ich ja da)
Zitat
Mein Vorschlag für den ersten Schritt wäre die Platine zu kaufen und den Eingangswiderstand der ADCs zu messen. Es gibt Mikrocontroller, da haben einige Pins 100 kOhm, andere liegen über 10 MOhm.

Der Arduino ist heute angekommen
Weiss aber nicht genau was du meinst.
Zitat
Dann könntest du versuchen eine Kennlinie des Sensors aufzunehmen, heißt bei Raumtemperatur verschiedene Spannungen anlegen und Strom messen und gucken, ob es linear ist (vermutlich nicht). Und das bei verschiedenen Temperaturen wiederholen, diese möglichst genau messen.
Dazu fehlt mir das Temperaturmessgetät um das zu können.
Nachtrag: Wenn die Arduino Software auch ne Art Monitor Funktion bietet, das also gelesene Daten auch in der Arduino Software angezeigt werden, könnte ich das mit einen IR Thermometer abgleichen.

Takeshi

Ich habe gerade erst gemerkt, du hattest das etwas falsch verstanden, aber jetzt stimmt's. Der Sensor sitzt im Prozessor, denn nur Dort ergibt es Sinn. So bekommst man die Temperatur direkt im Die, wo der Grenzwert nicht überschritten werden darf. Das IC wertet den Fühler aus und gibt die Temperatur über I²C raus. Der Fühler im Prozessor ist wie gesagt sehr speziell, aber das IC ist genau darauf ausgelegt und wird den Fühler genauer auswerten, als wir es selbst jemals könnten. Und as IC gibt es dann digital heraus, da kommt es nicht mehr zu Abweichungen.

Wenn du direkt am Sensor messen möchtest, musst du das IC auslöten. Das hatte ich nur noch nicht vorgeschlagen, weil du es wieder einlöten müsstest, wolltest du das IC doch verwenden.

Zitat von: MaikLommatzsch am 14. Januar 2022, 01:44:49
ZitatMein Vorschlag für den ersten Schritt wäre die Platine zu kaufen und den Eingangswiderstand der ADCs zu messen. Es gibt Mikrocontroller, da haben einige Pins 100 kOhm, andere liegen über 10 MOhm.

Der Arduino ist heute angekommen
Weiss aber nicht genau was du meinst.

Auch in den analogen Eingang des Mikrocontrollers fließt ein Strom, wenn du eine Spannung anlegst. Der ist meistens sogar sehr linear, das heißt für alle Spannungen ist das Verhältnis zumindest nahezu gleich. Damit verhält sich der Eingang wie ein normaler ohm'scher Widerstand. Bei manchen wie einer mit 10 MOhm, bei anderen wie einer mit 100 kOhm. Den Widerstand kannst du mit einem Multimeter messen. Du steckst deinen Arduino an USB, so dass er versorgt ist. Dann mit der schwarzen Leitung an GND und mit der roten Leitung am ADC-Eingang eine Widerstandsmessung durchführen. Falls dein Multimeter eine Bereichseinstellung hat, auf den höchsten Bereich einstellen.

Wenn du mit dem Sensor und einem Festwiderstand einen Spannungsteiler aufbaust, dann ist der Eingangswiderstand eventuell relevant. Wenn du zu einem 10-MOhm-Widerstand einen 100 kOhm (Mikrocontroller) parallelschaltest, dann merkst du eine Änderung auf 8 MOhm nicht mehr wirklich. Und selbst wenn, musst du den Widerstandswert mit einberechnen.
Ein handelsübliches Multimeter hat übrigens 10 MOhm Innenwiderstand bei der Spannungsmessung.

Zitat von: MaikLommatzsch am 14. Januar 2022, 01:44:49
Dazu fehlt mir das Temperaturmessgetät um das zu können.
Nachtrag: Wenn die Arduino Software auch ne Art Monitor Funktion bietet, das also gelesene Daten auch in der Arduino Software angezeigt werden, könnte ich das mit einen IR Thermometer abgleichen.

Ein IR-Thermometer wäre ja schon mal ein Temperaturmessgerät. Wenn die Arduio-Software keine Möglichkeit bietet dir Werte im Betrieb anzusehen, kannst du abhängig vom Messwert einen digitalen Ausgang umschalten. Den misst du und weißt dann zumindest, wenn eine Grenze über- oder unterschritten wurde.

MaikLommatzsch

#10
Moinsen,
Ich habe mal ein wenig weiter gemacht. An D+ und D- vom Cell hab ich Prüfkabel angelötet um mein Multimeter daran sicher anschließen zu können.
Bei ca 21°C liegen wir so tatsächlich bei ca 8 MOhm, erwärme ich den Cell bis auf ca 55°C singt der Wiederstad auf unter 3 MOhm. Beim abkühlen kann man auch beobachten wie der Wiederstad wieder steigt. Sogar schön gleichmäßig.
Was mich aber nervt ist, fasst man nur das board an zeigt das Multimeter schon 10 MOhm, oder wenn es nicht gerade liegt haben wir dort auch andere Werte.
Na Punkt um, nachdem ich die Prüfkabel angelötet hab und gemerkt hab das es doch sehr nervig ist wenn das Lötzinn da hin läuft wo es nicht hinsoll und in Anbetracht das ich keine weiten Infos zum Temperatursensor des Cells gefunden hab und ich eigentlich eine fast Jedermannslösung haben möchte, denke ich das wir auch externe Tempsensoren nehmen solten.
Eigentlich kosten die nicht die Welt und es stehen alle benötigten Daten zu Verfügung.

Takeshi du darfst jetzt schreiben : Ich hab es doch gesagt  ;D

Wo bauen wir die Sensoren hin?  Auf der Rückseite vom Cell wo wir die Öffnung im Board haben, da kommen wir sehr nah dran, den die NTCs habe ja auch eine gewisse Baugröße.
Welchen Sensor nehmen wir? Ich hab mal ein bisschen geschaut und bin irgendwie an den hängen geblieben NTC MF52 10K https://pdf.indiamart.com/impdf/23139658333/MY-8985295/ntc-mf52-103-3950-thermistor-10k-ohm.pdf
Was meint Ihr?

Takeshi

Ich hab es doch gesagt ;D

Ich hätte einen dünnen Schlitz oben in den IHS gefräst und nahe der Mitte einen PT100 oder NTC mit Wärmeleitpaste eingesetzt. Der von dir verlinkte NTC scheint mir dafür zu dick zu sein.

Gut geeignet wäre zum Beispiel der NB-PTCO-160 (PTFC-Gehäuse) mit einer Dicke von maximal 1,25 mm.
Durch den PT100 schickst du einen Konstantstrom mit einem LM317. Ausgang und ADJ mit einem Widerstand verbinden, ADJ mit dem PT100 verbinden, andere Seite des PT100 mit GND. Der Strom entspricht 1,2 V durch dem eingesetzten Widerstand. Der PT100 hat bei 80 °C ca. 130,8 Ohm. Wenn du mit 3,3 V arbeitest, kommen aus deiner Stromquelle maximal 3,3 V - 1,2 V = 2,1 V heraus. Mit 2 V und 130 Ohm beträgt der Strom 15,4 mA. Dafür muss der Widerstand am LM317 78 Ohm sein. Das gibt es nicht. Der nächst höhere Wert ist 82 Ohm. Damit beträgt der Strom 1,2 V / 82 Ohm = 14,63 mA. Bei 0°C hast du am PTC 1,463 V anliegen, bei jedem °C mehr 5,634 mOhm mehr. Bei 80 °C bist du dann bei 1,914 V.

Die Methode hat einige Nachteile.
- Es wird nur ein kleinere Bereich des ADCs abgedeckt, nur rund 15%. Mit einem 10-Bit-ADC hast du aber schon 1024 Werte und mit 15% noch rund 150 verschiedene Werte. Das heißt deine Temperaturazflösung liegt bei ungefähr 0,5°C, das reicht locker für den Zweck.
- Der Strom der Stromquelle schwankt mit der Toleranz der Ausgangsspannung des LM317 und mit der Toleranz des Widerstands. Die Referenzspannung (eigentlich Ausgangsspannung) schwankt gern um 5 bis 10%, das heißt damit liegst du schon im einer Größenordnung deines Messbereichs. Die Toleranz des Widerstands kommt noch hinzu. Da es sich aber nicht um ein Serienprodukt handelt, spielt das keine große Rolle, denn du kannst die Software auf die konkrete Toleranz abstimmen. Du kaufst dir einfach einen sehr genauen Widerstand mit 100 Ohm. Den schaltest du statt des PT100 in Reihe und misst die Spannung, kannst du auch mit dem Mikrocontroller machen. Dann weißt du die Spannung bei 0°C und dir kann egal sein, wie sich der Strom ergibt, wie groß er genau ist und wie stark er bei einem weiteren Aufbau abweichen würde. Über Dreisatz kommst du dann auf die Spannungen bei anderen Temperaturen.

NTCs sind für die Aufgabe eigentlich besser geeignet, da sie zwar nicht linear sind, aber sich der interessante Bereich in Hardware leicht linearisieren lässt (mit nur einem Widerstand statt Konstantstromquelle) und du dann einen größeren Bereich des ADCs nutzt und dazu noch die Toleranzen viel geringer sind. Leider finde ich keine passenden NTCs in ähnlicher Bauform, weil für exakte Messungen mit beliebigem Schaltungsaufwand PT100 besser geeignet sind.

Du hast auch die Möglichkeit die Stromquelle zu kalibrieren. Dann nimmst du keinen 82 Ohm, sondern einen 91 Ohm und schaltest einen großen Widerstand parallel, bis der Strom deinem Sollwert entspricht. Dazu brauchst du aber entweder ein Widerstandssortiment, damit du genau den richtigen da hast, oder du musst zwei mal Widerstände kaufen. Dann misst du erst mit den 91 Ohm und berechnest daraus den benötigten Widerstand.

MaikLommatzsch

Ich mach nochmal was ganz anders.
Ich benutze einen KY-013. Der ist schon für einen
Arduino konzipiert. NTC mit 10K Wiederstand und ich brauche kein weiteres Zeugs. Wenn ich das richtig verstanden habe. Den NTC kann man ja von der Platine wieder auslösen und mit Kabeln dort hinbringen wo er hinsoll.

Takeshi, genau davon hab ich schon ein paar TUTs gesehen, zum Teil verstehe ich das auch. Aber gaaanz ehrlich, nur zum Teil. Gib mir einen Schaltplan und die Bauteile und ich Bau dir das zusammen, aber da hört es bei mir leider auf. Berechnen und so ist leider nicht drin bei mir. 😩

Takeshi

Zitat von: MaikLommatzsch am 18. Januar 2022, 15:16:43
Ich benutze einen KY-013. Der ist schon für einen Arduino konzipiert. NTC mit 10K Wiederstand und ich brauche kein weiteres Zeugs.

So wie ich das sehe, ist das genau das, was ich mit dem NTC beschrieben habe, einfach nur der NTC und ein Festwiderstand in Reihe. Damit bekommst du im Bereich von 20C bis 50°C einen ziemlich linearen Verlauf und bis so 70...80°C noch passabel linear. Das ist deshalb, wie gesagt, auch der bessere Ansatz, nur fand ich auf die Schnelle keinen NTC, der mechanisch in Frage kommt.

Es ist immer schön, wenn es was Fertiges gibt, aber es ist Käse, wenn man dir nicht sagt, was es ist. Du kannst es so lange verwenden, wie es wie vorgesehen eingesetzt wird und auch problemlos funktioniert. Ist das nicht der Fall und du musst irgendwie Hand anlegen, hast du ein Problem. Ich erachte es als recht sinnlos die Platine zu kaufen, um den NTC herunterzulöten, denn es gibt zwei Möglichkeiten:
1. Die genaue Typbezeichnung des NTCs ist nicht bekannt, damit bekommst du keine Daten und kannst nicht so viel damit anfangen.
2. Die genaue Typbezeichnung ist bekannt, dann kannst du das Bauteil vermutlich auch einzeln für kleineres Geld kaufen.

Auf EasyEDA wird mein Verdacht bestätigt. Es ist eine Reihenschaltung aus dem NTC und einem Festwiderstand, mehr nicht. Hat auch seine Berechtigung, wenn man keinen Lötkolben besitzt und was basteln möchte. Aber die Platine willst du ja gar nicht verwenden. Die Typbezeichnung steht dabei: NTCLE100E3103JB0
Das Teil ist 3 mm dick und damit zu dick, um dafür eine Kule in den IHS zu dremeln. Da landest du nämlich auf dem Die.

Hab mich noch mal auf die Suche begeben und sogar etwas gefunden.
- Vishay NTCLE305E4103SB: 1,6 mm
- TDK/Epcos B57541G1103F005: 1,4 mm
- TDK/Epcos B57550G1103F000: 1,3 mm
- TDK/Epcos B57540G1103F000: 0,8 mm

Leider ist der mit 0,8 mm schon recht teuer, kostet knappe 3 € das Stück.

IHS habe ich übrigens zu Genüge da. Da kann ich dir welche geben, um damit herumzuexperimentieren und kann dir ggf. auch so eine Nut dort reinmachen.

Zitat von: MaikLommatzsch am 18. Januar 2022, 15:16:43
Takeshi, genau davon hab ich schon ein paar TUTs gesehen, zum Teil verstehe ich das auch. Aber gaaanz ehrlich, nur zum Teil. Gib mir einen Schaltplan und die Bauteile und ich Bau dir das zusammen, aber da hört es bei mir leider auf. Berechnen und so ist leider nicht drin bei mir. 😩

Ich hab das auch nur schnell zusammengeschrieben, da ich keine Zeit hatte für ein Schaltbild. Das kann ich dir aber später noch machen.
Berechnung ist auch nicht so schwer, du brauchst nur das ohm'sche Gesetz und Dreisatz, das war's. Das bekommt jeder hin, der eine Schule von innen gesehen hat ;) Du musst nur wissen, was du warum berechnen musst, wie du von einem auf den anderen Wert kommst. Das erkläre ich ja.

MaikLommatzsch

Ich möchte schon das ganze Bauteil nutzen, der NTC wird nur runtergelötet um Kabel dran zu machen, denn die ganze Platine wird im Cell Bereich kein Platz finden. IHS hab ich auch ein paar über, daran soll es nicht scheitern 😉 Ist es unabdingbar das der Sensor im IHS montiert wird? Unter der Cell in der Öffnung im Mainboard geht nicht?