{"id":4194,"date":"2019-05-15T21:48:20","date_gmt":"2019-05-15T20:48:20","guid":{"rendered":"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/?p=4194"},"modified":"2021-02-22T08:41:31","modified_gmt":"2021-02-22T07:41:31","slug":"diodenkennlinie-mit-sourcemeter-und-matlab-aufnehmen","status":"publish","type":"post","link":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/2019\/05\/15\/diodenkennlinie-mit-sourcemeter-und-matlab-aufnehmen\/","title":{"rendered":"Diodenkennlinie mit Sourcemeter und Matlab aufnehmen"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4194\" class=\"pvc_stats all  \" data-element-id=\"4194\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p style=\"text-align: justify\"><a href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075744.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-4201 alignleft\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075744-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075744-300x225.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075744-768x576.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075744-1024x768.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Dieses Mal gibt es hier keinen Bericht \u00fcber die Restauration oder die Vorstellung eines alten Ger\u00e4tes. Im Rahmen meiner beruflichen T\u00e4tigkeit muss ich immer wieder Messaufbauten realisieren und diese nach M\u00f6glichkeit automatisieren, um die Messzeiten zu minimieren. Auch die Datenauswertung und das Postprocessing m\u00f6chte ich immer gerne automatisieren. Daf\u00fcr gibt es sehr viele unterschiedliche L\u00f6sungsans\u00e4tze. Der Grundansatz ist aber immer gleich. Ein, oder mehrere Messger\u00e4te sind \u00fcber eine Schnittstelle mit einem Rechner oder Controller verbunden. Auf dem Rechner oder Controller l\u00e4uft eine Software, die das Messger\u00e4t steuert und die gemessenen Daten an den Rechner zur\u00fccksendet. Auf dem Rechner werden die Daten dann gespeichert, den Anforderungen entsprechend aufbereitet und ausgegeben.<\/p>\n<p style=\"text-align: justify\"><a href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075736.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-4200 size-medium\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075736-e1557901850733-300x147.jpg\" alt=\"\" width=\"300\" height=\"147\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075736-e1557901850733-300x147.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075736-e1557901850733-768x376.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075736-e1557901850733-1024x501.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Die Schnittstellen zwischen Rechner und Messtechnik k\u00f6nnen je nach Ausstattung des Messger\u00e4tes dabei RS232, GPIP, IEEE1394, USB oder LAN sein. Bei vielen Ger\u00e4ten wird der einfache SCPI-Befehlssatz im ASCII Code zum Befehle senden und empfangen \u00fcber das entsprechende Protokoll der gew\u00e4hlten Schnittstelle verwendet. Die Software am Rechner oder Controller muss in der Lage sein die Hardware anzusprechen und schon kann eine Datenkommunikation hergestellt werden. Als Software oder Skriptsprache kann hier beispielsweise NI-LabVIEW, Matlab, C-Code, C++ Code, C#, Python, etc. verwendet werden. Und die Rechner- oder Controllerhardware kann ein Windows, Mac, oder LinuxPC sein, aber auch ein einfacher Arduino, RaspberryPi, oder ein programmierter Mikro-Controller, der eine der ben\u00f6tigten Schnittstelleninterfaces besitzt.<\/p>\n<p style=\"text-align: justify\">Bei meiner Arbeit wird das gerne mit Matworks Matlab gemacht (bzw. ich mache es gerne mit Matlab, weil ich Programme und Skripten lieber tippe als sie zu zeichnen \ud83d\ude00 ), einer skriptorientierten Software. Im konkreten Beispiel habe ich ein SOURCEMETER des Herstellers Keithley, das Keithley2400 \u00fcber die RS232 Schnittstelle an einem WIN10 PC mit Matlab 2017b angesteuert. Das Sourcemeter hat die Aufgabe eine Diodenkennlinie aufzunehmen. Das Sourcemeter ist imstande einen Strom zu sourcen, also eine steuerbare Stromquelle zu sein und gleichzeitig den gesourcten Strom und die an den Klemmen anliegende Spannung zu messen. Umgekehrt wiederum kann es auch als steuerbare Spannungsquelle eingesetzt werden, die Spannung an den Klemmen und den Strom durch den DUT (Device Under Test) messen.&nbsp; Und das geht in allen vier Quadranten, also Stromquelle oder -Senke, oder Spannungsquelle oder -Senke sein.<\/p>\n<p style=\"text-align: justify\"><a href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075754.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-4202 alignleft\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075754-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075754-300x225.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075754-768x576.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/IMG_20190515_075754-1024x768.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Genau das ben\u00f6tigte ich in diesem supereinfachen Beispiel um die Kennlinie eines PN-\u00dcberganges aufzunehmen und zwar vom Diffusionsbereich bis in den Durchlassbereich und nat\u00fcrlich auch wenn der PN-\u00dcbergang unter Photonenbeschuss steht \ud83d\ude42<\/p>\n<p style=\"text-align: justify\">Die folgenden beiden Matlab-Skripten erm\u00f6glichen diese einfache Kennlinienaufnahme. Der Messaufbau selbst besteht lediglich aus einer, an die Klemmen des K2400 angeschlossenen Diode (in diesem Fall eine Photozelle). Dabei stellt das erste Skript eine gesteuerte Stromquelle dar und im zweiten Skript wird die Spannungsquelle durchgesteuert und jeweils die Daten aufgezeichnet und zum Schluss als Plot dargestellt.<\/p>\n<p>&nbsp;Matlab Code stromgetrieben:<\/p>\n<div style=\"background: #f8f8f8;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #408080;font-style: italic\">% IV Logger PN Kennlinie<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% 2.05.2019 ingmarsretro<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% der supereasysimple-code<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% drive current and measure voltage<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% with sourcemter \u00fcber RS232 <\/span>\r\n\r\n serialObject = serial(<span style=\"color: #ba2121\">'COM4'<\/span>,<span style=\"color: #ba2121\">'BaudRate'<\/span>,<span style=\"color: #666666\">19200<\/span>, <span style=\"color: #ba2121\">'DataBits'<\/span>,<span style=\"color: #666666\">8<\/span>);   \r\n\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% Sourcemeter 2400 setup                             %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% serial config: 8N1, 19200, termchar CR+LF          %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  <\/span>\r\n    fopen(serialObject)\r\n    s.InputBufferSize = <span style=\"color: #666666\">6000<\/span>;\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">'*RST'<\/span>);\r\n    \r\n    mincurr = <span style=\"color: #666666\">-15E-3<\/span>;  <span style=\"color: #408080;font-style: italic\">% maximaler negativer strom (load an der Zelle) <\/span>\r\n    maxcurr = <span style=\"color: #666666\">10E-4<\/span>;   <span style=\"color: #408080;font-style: italic\">% maximaler positiver strom <\/span>\r\n    step = <span style=\"color: #666666\">1E-5<\/span>;       <span style=\"color: #408080;font-style: italic\">% schrittweite<\/span>\r\n    \r\n\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% Messgeraet einstellen  %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% SOURCING -&gt;  CURRENT<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%fprintf(serialObject,':INIT:CONT OFF;:ABOR');<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':FORM:DATA ASCII'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:FUNC CURR'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:CURR:MODE FIX'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:CURR:RANG 10E-2'<\/span>); <span style=\"color: #408080;font-style: italic\">% -&gt; 000.000mA<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:CURR:LEV 0.0'<\/span>); <span style=\"color: #408080;font-style: italic\">% -&gt; Starteinstellung 0 A<\/span>\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">% MEASUREMENT -&gt; Spannung <\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:FUNC \"VOLT:DC\"'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:VOLT:PROT 8'<\/span>);     <span style=\"color: #408080;font-style: italic\">% -&gt; compliance 8V<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:VOLT:RANG 10E-1'<\/span>); <span style=\"color: #408080;font-style: italic\">% -&gt; 0.00000 V<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':TRIG:COUN 1'<\/span>);\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">%fprintf(serialObject,':CONF:VOLT:DC');<\/span>\r\n    \r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':OUTP ON'<\/span>);\r\n\r\n        <span style=\"color: #408080;font-style: italic\">%% Messen und Daten abholen<\/span>\r\n    count = <span style=\"color: #666666\">1<\/span>; \r\n    v(<span style=\"color: #666666\">1<\/span>)=<span style=\"color: #666666\">0<\/span>; <span style=\"color: #008000\">i<\/span>(<span style=\"color: #666666\">1<\/span>)=<span style=\"color: #666666\">0<\/span>;  <span style=\"color: #408080;font-style: italic\">%init der arrays <\/span>\r\n   \r\n       <span style=\"color: #008000;font-weight: bold\">for<\/span> curr = mincurr:step:maxcurr\r\n           \r\n          strom=num2str(curr);\r\n          command = strcat(<span style=\"color: #ba2121\">':SOUR:CURR:LEV '<\/span>,{<span style=\"color: #ba2121\">' '<\/span>},strom);\r\n          fprintf(serialObject,char(command));\r\n         \r\n\r\n          fprintf(serialObject,<span style=\"color: #ba2121\">':READ?'<\/span>);\r\n          data=fscanf(serialObject);  <span style=\"color: #408080;font-style: italic\">% gesamten buffer des device einlesen<\/span>\r\n          c = strsplit(data,<span style=\"color: #ba2121\">','<\/span>);          <span style=\"color: #408080;font-style: italic\">% gelesenen string nach ',' in zellen zerlegen<\/span>\r\n          <span style=\"color: #008000\">i<\/span>(count) = str2num(cell2mat(c(<span style=\"color: #666666\">2<\/span>)));                 <span style=\"color: #408080;font-style: italic\">% stromzelle <\/span>\r\n          v(count) = str2num(cell2mat(c(<span style=\"color: #666666\">1<\/span>)));                 <span style=\"color: #408080;font-style: italic\">% spannungszelle<\/span>\r\n        \r\n\r\n        count = count <span style=\"color: #666666\">+1<\/span>;\r\n       <span style=\"color: #008000;font-weight: bold\">end<\/span>\r\n   \r\n    \r\n    figure(<span style=\"color: #666666\">1<\/span>);\r\n    plot(v,<span style=\"color: #008000\">i<\/span>);\r\n    grid on; hold on;\r\n    xlabel(<span style=\"color: #ba2121\">'voltage [V]'<\/span>); ylabel(<span style=\"color: #ba2121\">'current [A]'<\/span>)\r\n    title(<span style=\"color: #ba2121\">'IV - Kennlinie '<\/span>);\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">%% instrument in local mode schalten<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':OUTP OFF'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">'SYSTEM:LOCAL'<\/span>);\r\n    fclose(serialObject);\r\n<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Matlab Code spannungsgetrieben:<\/p>\n<div style=\"background: #f8f8f8;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #408080;font-style: italic\">% IV Logger PN Kennlinie<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% 3.05.2019 ingmarsretro<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% der supereasysimple-code<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% drive current and measure voltage<\/span>\r\n<span style=\"color: #408080;font-style: italic\">% wit sourcemter \u00fcber RS232 <\/span>\r\n\r\n serialObject = serial(<span style=\"color: #ba2121\">'COM4'<\/span>,<span style=\"color: #ba2121\">'BaudRate'<\/span>,<span style=\"color: #666666\">19200<\/span>, <span style=\"color: #ba2121\">'DataBits'<\/span>,<span style=\"color: #666666\">8<\/span>);   \r\n\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% Sourcemeter 2400 setup                             %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% serial config: 8N1, 19200, termchar CR+LF          %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  <\/span>\r\n    fopen(serialObject)\r\n    s.InputBufferSize = <span style=\"color: #666666\">6000<\/span>;\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">'*RST'<\/span>);\r\n    \r\n    minvolt = <span style=\"color: #666666\">-1<\/span>;      <span style=\"color: #408080;font-style: italic\">% maximale negative spannung  <\/span>\r\n    maxvolt = <span style=\"color: #666666\">0.5<\/span>;       <span style=\"color: #408080;font-style: italic\">% maximale positive spannung<\/span>\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">%mincurr = -20E-3;  % maximaler negativer strom (load an der Zelle) <\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%maxcurr = 10E-4;   % maximaler positiver strom <\/span>\r\n    \r\n    step = <span style=\"color: #666666\">1E-2<\/span>;       <span style=\"color: #408080;font-style: italic\">% schrittweite<\/span>\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">% <\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% Messgeraet einstellen  %<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%%%%%%%%%%%%%%%%%%%%%%%%%%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">% SOURCING -&gt;  VOLTAGE<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%<\/span>\r\n    <span style=\"color: #408080;font-style: italic\">%fprintf(serialObject,':INIT:CONT OFF;:ABOR');<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':FORM:DATA ASCII'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:FUNC VOLT'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:VOLT:MODE FIX'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:VOLT:RANG 10E-0'<\/span>);    <span style=\"color: #408080;font-style: italic\">% -&gt; 00.0000 V<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SOUR:VOLT:LEV 0.0'<\/span>);       <span style=\"color: #408080;font-style: italic\">% -&gt; Starteinstellung 0 V<\/span>\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">% MEASUREMENT -&gt; CURRENT <\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:FUNC \"CURR:DC\"'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:CURR:PROT 40E-3'<\/span>);     <span style=\"color: #408080;font-style: italic\">% -&gt; compliance 10.0000 mA<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':SENS:CURR:RANG 10E-2'<\/span>);     <span style=\"color: #408080;font-style: italic\">% -&gt; 0.00000 mA  (muss kleiner als complience sein)<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':TRIG:COUN 1'<\/span>);\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">%fprintf(serialObject,':CONF:VOLT:DC');<\/span>\r\n    \r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':OUTP ON'<\/span>);\r\n\r\n\r\n        <span style=\"color: #408080;font-style: italic\">%% Messen und Daten abholen<\/span>\r\n    count = <span style=\"color: #666666\">1<\/span>; \r\n    v(<span style=\"color: #666666\">1<\/span>)=<span style=\"color: #666666\">0<\/span>; <span style=\"color: #008000\">i<\/span>(<span style=\"color: #666666\">1<\/span>)=<span style=\"color: #666666\">0<\/span>;  <span style=\"color: #408080;font-style: italic\">%init der arrays <\/span>\r\n   \r\n       <span style=\"color: #008000;font-weight: bold\">for<\/span> volt = minvolt:step:maxvolt\r\n           \r\n          spannung=num2str(volt);\r\n          command = strcat(<span style=\"color: #ba2121\">':SOUR:VOLT:LEV '<\/span>,{<span style=\"color: #ba2121\">' '<\/span>},spannung);\r\n          fprintf(serialObject,char(command));\r\n           \r\n\r\n\r\n          fprintf(serialObject,<span style=\"color: #ba2121\">':READ?'<\/span>);\r\n          data=fscanf(serialObject);  <span style=\"color: #408080;font-style: italic\">% gesamten buffer des device einlesen<\/span>\r\n          c = strsplit(data,<span style=\"color: #ba2121\">','<\/span>);          <span style=\"color: #408080;font-style: italic\">% gelesenen string nach ',' in zellen zerlegen<\/span>\r\n          <span style=\"color: #008000\">i<\/span>(count) = str2num(cell2mat(c(<span style=\"color: #666666\">2<\/span>)));                 <span style=\"color: #408080;font-style: italic\">% stromzelle <\/span>\r\n          v(count) = str2num(cell2mat(c(<span style=\"color: #666666\">1<\/span>)));                 <span style=\"color: #408080;font-style: italic\">% spannungszelle<\/span>\r\n        \r\n        \r\n\r\n        count = count <span style=\"color: #666666\">+1<\/span>;\r\n       <span style=\"color: #008000;font-weight: bold\">end<\/span>\r\n   \r\n    \r\n    figure(<span style=\"color: #666666\">1<\/span>);\r\n    plot(v,<span style=\"color: #008000\">i<\/span>);\r\n    grid on; hold on;\r\n    xlabel(<span style=\"color: #ba2121\">'voltage [V]'<\/span>); ylabel(<span style=\"color: #ba2121\">'current [A]'<\/span>)\r\n    title(<span style=\"color: #ba2121\">'IV - Kennlinie '<\/span>);\r\n    \r\n    <span style=\"color: #408080;font-style: italic\">%% instrument in local mode schalten<\/span>\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">':OUTP OFF'<\/span>);\r\n    fprintf(serialObject,<span style=\"color: #ba2121\">'SYSTEM:LOCAL'<\/span>);\r\n    fclose(serialObject);\r\n<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Das Ergebnis der beiden Skripten ist der folgende Kennlinienverlauf:<\/p>\n<p><a href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4199 size-large\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie-1024x761.jpg\" alt=\"\" width=\"474\" height=\"352\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie-1024x761.jpg 1024w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie-300x223.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie-768x571.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2019\/05\/diodenkennlinie.jpg 1265w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4194\" class=\"pvc_stats all  \" data-element-id=\"4194\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Dieses Mal gibt es hier keinen Bericht \u00fcber die Restauration oder die Vorstellung eines alten Ger\u00e4tes. Im Rahmen meiner beruflichen T\u00e4tigkeit muss ich immer wieder Messaufbauten realisieren und diese nach M\u00f6glichkeit automatisieren, um die Messzeiten zu minimieren. Auch die Datenauswertung und das Postprocessing m\u00f6chte ich immer gerne automatisieren. Daf\u00fcr gibt es sehr viele unterschiedliche L\u00f6sungsans\u00e4tze.&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/2019\/05\/15\/diodenkennlinie-mit-sourcemeter-und-matlab-aufnehmen\/\">Weiterlesen<\/a><\/p>\n","protected":false},"author":86,"featured_media":4201,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[57],"tags":[1238,1239,1241,1235,1236,1244,1245,1247,964,1243,1242,1237,1246,344,977,1248,1240],"class_list":["post-4194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elektronikbastler","tag-c-code","tag-c","tag-diodenkennlinie","tag-gpip","tag-ieee1394","tag-keithley-2400","tag-keithley-sourcemter","tag-kennlinie-schreiben","tag-matlab","tag-matlab-diodenkennlinie","tag-matlab-sourcemter","tag-ni-labview","tag-photozelle-messen","tag-python","tag-rs232","tag-scpi-sourcemeter","tag-sourcemeter"],"a3_pvc":{"activated":true,"total_views":143,"today_views":0},"_links":{"self":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts\/4194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/comments?post=4194"}],"version-history":[{"count":0,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts\/4194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/media\/4201"}],"wp:attachment":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/media?parent=4194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/categories?post=4194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/tags?post=4194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}