% Lab 2, uppgift 3
% Linjärisering av NTC-motstånd

%Celcius to kelvin conversion
c2k = @(x) x + 273.15;

roomtemp = c2k(25)

% Konstanter
alpha = 3977;   %kelvin
R25   = 2.2e3;  %ohm
TA    = 293;    %kelvin
TB    = 313;    %kelvin
TC    = 333;    %kelvin
T     = TA:TC;  % Temp. intervallet vi vill linjärisera.

% NTC resistans vid TA, TB & TC.
R_TA = R25*exp(alpha * ((1 / TA) - (1 / 298))) 
R_TB = R25*exp(alpha * ((1 / TB) - (1 / 298))) 
R_TC = R25*exp(alpha * ((1 / TC) - (1 / 298))) 

% Resistans R_lin som ger ett approx. linjärt område.
Rlin = (R_TA*R_TB + R_TB*R_TC - 2*R_TA*R_TC) / (R_TC + R_TA - 2*R_TB)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Grafer
hold off

% Beräkna alla resistanser inom temp.intervallet
R_T =  R25.*exp(alpha .* ((1 ./ T) - (1 ./ 298)));
 
hold on

subplot(2,1,1)
plot( T, R_T, 'k')
title('R_T vs. Temp')
grid on

subplot(2,1,2)
plot( T, (Rlin ./ (Rlin + R_T)).*5, 'k')
title(['U_R vs. Temp (efter linjärisering med R_{lin} = ' num2str(Rlin,'%.1f') 'ohm)'])
xlabel('20°C <= Temp. <= 60°C')
grid on