git-svn-id: http://moon:8086/svn/projects/HendiControl@26 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
2019-02-27 17:18:31 +00:00
parent cc40be4a57
commit b11b8148ae
7 changed files with 21862 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
## Copyright (C) 2018 Jens Ahrensfeld
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
## @deftypefn {Function File} {@var{retval} =} vanDusen_eval (@var{input1}, @var{input2})
##
## @seealso{}
## @end deftypefn
## Author: Jens Ahrensfeld <ahrensfeld@w2ess001vm>
## Created: 2018-05-28
function [R, T] = vanDusen (R0, Tmin, Tmax, dT)
a = +3.90830e-03;
b = -5.77500e-07;
c = -4.18301e-12;
T = Tmin:dT:Tmax;
Rp0 = R0*(1 + a*T + b*T.^2);
Rm0 = Rp0 + R0*c*(T - 100).*T.^3;
for i=1:length(T)
if (T(i) < 0)
R(i) = Rm0(i);
else
R(i) = Rp0(i);
endif
end
endfunction
+33
View File
@@ -0,0 +1,33 @@
## Copyright (C) 2018 Jens Ahrensfeld
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
## @deftypefn {Function File} {@var{retval} =} vanDusen_eval (@var{input1}, @var{input2})
##
## @seealso{}
## @end deftypefn
## Author: Jens Ahrensfeld <ahrensfeld@w2ess001vm>
## Created: 2018-05-28
function vanDusen_eval (R0, Tmin, Tmax, dT)
[R, T] = vanDusen(R0, Tmin, Tmax, dT);
plot(T, R); grid; xlabel('T/°C'); ylabel('RTD/ohms'); legend('van Dusen');
%plot(T, R, T, R0*(1+a_IEC*T), 'r', T, R0*(1+a_SAMA*T), 'g'); grid; xlabel('T/°C'); ylabel('RTD/ohms'); legend('van Dusen','a_{IEC}','a_{SAMA}');
endfunction
+47
View File
@@ -0,0 +1,47 @@
## Copyright (C) 2018 Jens Ahrensfeld
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
## @deftypefn {Function File} {@var{retval} =} vanDusen_eval (@var{input1}, @var{input2})
##
## @seealso{}
## @end deftypefn
## Author: Jens Ahrensfeld <ahrensfeld@w2ess001vm>
## Created: 2018-05-28
function T = vanDusen_temp(R)
[Rlut, Tlut] = vanDusen(100, -200, 700, 1.0);
for i=1:length(Rlut)
if Rlut(i) > R
break;
end
end
% Linear interpolation
R0 = Rlut(i-1);
R1 = Rlut(i);
T0 = Tlut(i-1);
T1 = Tlut(i);
dR = R1 - R0;
dT = T1 - T0;
k = (R-R0)/dR;
T = T0 + dT*k;
endfunction