Pyrometer GY-906 MLX90614: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 8: | Zeile 8: | ||
[[Datei:Simulink GY-906 Einstellungen.jpg|thumb|left|300px|Abb. 3: Einstellungen des I2C Controller Read-Blocks]] | [[Datei:Simulink GY-906 Einstellungen.jpg|thumb|left|300px|Abb. 3: Einstellungen des I2C Controller Read-Blocks]] | ||
Abb. 2 zeigt das Modell zum einlesen der Objekttemperatur. Die Umgebungstemperatur steht an der Position <code>0x06</code> im Sensorregister. Abb. 2 zeigt die kompletten Einstellungen des Sensorblocks. | Abb. 2 zeigt das Modell zum einlesen der Objekttemperatur. Die Umgebungstemperatur steht an der Position <code>0x06</code> im Sensorregister. Abb. 2 zeigt die kompletten Einstellungen des Sensorblocks. | ||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
== MATLAB Function == | == MATLAB Function == | ||
Version vom 4. Dezember 2025, 16:25 Uhr

Autoren: Marc Ebmeyer, Prof. Dr.-Ing. Schneider
Simulink Modell


Abb. 2 zeigt das Modell zum einlesen der Objekttemperatur. Die Umgebungstemperatur steht an der Position 0x06 im Sensorregister. Abb. 2 zeigt die kompletten Einstellungen des Sensorblocks.
MATLAB Function
Die Daten kommen im Format uint8 als Array ([LSB, MSB, PEC]). Die Bytes werden in der MATLAB Function Byte2Temp in einen Temperaturwert in °C umgerechnet.
function Temp_in_C = Byte2Temp(Data)
% Data: uint8 array, Länge 3: [LSB, MSB, PEC]
% Sicherheitsprüfung: Sind 3 Byte angekommen?
if numel(Data) < 2
Temp_in_C = NaN;
return;
end
LSB = uint16(Data(1));
MSB = uint16(Data(2));
% Little-Endian: LSB first
Rohwert = bitor(bitshift(MSB,8), LSB) % Rohwert = MSB<<8 | LSB
Rohwert = LSB+bitshift(MSB,8); % Rohwert = MSB<<8 | LSB
% Umrechnung in °C
Temp_in_K = double(Rohwert) * 0.02
Temp_in_C = Temp_in_K - 273.15;
end