%TSU
%Sensorik 7. Semester
%PT100 Sensorfunktion
%Linearisierung
%Rainer Koller 28.02.2002

%zu wählender Temperaturbereich
Tu=-55;
To=175;
GesuchterTemperaturBereich = linspace( Tu, To, (To - Tu)+1);
%Mittlere Temperatur im gewünschten Bereich
Tm=round((Tu + To)/2)

%Widerstandes des Sensors in Funktion der Temperatur
GesamterTemperaturBereich  = linspace(-200, 849, 1050);
TuB = linspace( -200,   0, 200 );
ToB = linspace( 1   , 850, 850 );
RsensUntererBereich   = 100.*(1 + 3.9083e-3.*TuB - 5.775e-7.*TuB.^2 - 4.183e-12.*(TuB-100).*(TuB.^3));
RsensObererBereich    = 100.*(1 + 3.9083e-3.*ToB - 5.775e-7.*ToB.^2);
RsensGesamterBereich  = [RsensUntererBereich, RsensObererBereich];

RsensGesuchterBereich = RsensGesamterBereich( 1:1, (200+Tu) : (200+To) );

%Sensorwiderstand bei Tu, Tm und To
RTu = RsensGesamterBereich( 1,(200+Tu) );
RTm = RsensGesamterBereich( 1,(200+Tm) );
RTo = RsensGesamterBereich( 1,(200+To) );

%Linearisierungswiderstand berechnen
Rlin=((RTm*(RTu+RTo)-(2*RTu*RTo))/(RTu+RTo-(2*RTm)))

%Idealer Linearisierter Widerstand
RlinTu=1/((1/RTu)+(1/Rlin));
RlinTo=1/((1/RTo)+(1/Rlin));
Rideal=linspace(RlinTu,RlinTo,(To-Tu)+1);

%Linearisierungswiderstand berechnen
Rres = 1./((1/Rlin)+(1./RsensGesuchterBereich));

%Plot
subplot(3,1,1);
plot(GesamterTemperaturBereich,RsensGesamterBereich,'y');hold on;
plot(GesuchterTemperaturBereich,RsensGesuchterBereich,'m');hold on;
plot(GesuchterTemperaturBereich,Rres,'g');hold on;
plot(GesuchterTemperaturBereich,Rideal,'b');hold on;
title('Uebersicht über gesamten Bereich');
xlabel('Temperatur in °C');ylabel('Widerstand in Ohm');
grid;

subplot(3,1,2);
plot(GesuchterTemperaturBereich,RsensGesuchterBereich,'m');hold on;
plot(GesuchterTemperaturBereich,Rres,'g');hold on;
plot(GesuchterTemperaturBereich,Rideal,'b');hold on;
grid;
title('Widerstands-Kennlinien');
xlabel('Temperatur in °C');ylabel('Widerstand in Ohm');
%legend('Rlin','Rideal','Rsens','Rreal');

subplot(3,1,3);
plot(GesuchterTemperaturBereich,Rideal-Rres, 'c');
grid;
title('Differenz Rreal zu Rideal');
xlabel('Temperatur in °C');ylabel('Widerstand in Ohm');
%legend('Rlin','Rideal','Rsens','Rreal');

