タイトルの通りです。
前回の投稿でpcDuino3 nano用に製作したカーブトレーサシールドをPythonで動かします。
まずはpcDuino3 nanoのPython2.xからSPIを使えるようセットアップを行います。
次にシールド上のDACとpcDuino3 nano内蔵のADCを利用するプログラムを作成し、その後、実際に何種類かのダイオードを使って順電流If-順電圧Vf特性を測定します。
***** SPIの用意 *****
...はここの解説の通りです。
全くの受け売りですが、一応日本語でも書いておきます。
PythonからSPIを利用するには2つのソフト、Python-devとSPI-pyをインストールする必要があります。
(1)Python-devをインストールする
Python-devはubuntuのリポジトリにあります。
デスクトップからSynapticを起動して(パスワードはubuntu)、Python-devを探してインストールするか、コンソールを開いて
apt-get install Python-dev[Enter]
とタイプしてインストールします。
Python-devが何をするものなのかは知りません。
でもきっと必要なんでしょう。
(2)SPI-Pyをインストールする
SPI-PyはGithubにあります。
PC Duino3 nanoの Webブラウザで以下のアドレスを開きます。
https://github.com/lthiery/SPI-Py
"Code"の部分をクリックし、表示された選択肢の中から"Download ZIP"をクリックします。
以下の場所にZIP形式で保存されます。
/home/ubuntu/Downloads
LXTerminalを開き
cd Downloads[Enter]
でダウンロードフォルダに移動します。
unzip SPI-Py-master[Enter]
でダウンロードしたzipファイルが解凍されます。
cd SPI-Py-master[Enter]
で解凍されたフォルダに移動し
sudo python setup.py install[Enter]
でインストールされます。下の画面を参考にしてください。
***** インストールが完了したら *****
あとはPythonから
import spi[Enter]
と打てばSPIが利用できます。
***** プログラムの説明 *****
こちらにPythonのソースを置いておきます。コンソールから
python Main.py[Enter]
と打って実行するか、SpyderなどのIDEで読み込んでMain.pyを実行してください。
実行すると順電流Ifを0から1.2mAまでスイープさせた時の順方向電圧Vfの値がだらだらっと表示されます。
ファイルに保存したい場合は
python Main.py >ファイル名[Enter]
と打つと、テキストで保存されます。
例えば
python Main.py >TestData1.csv[Enter]
と打てば TestData1.csv という名前で保存されます。
その間10秒くらい、画面には何も表示されませんので、あわてずに待っていてください。
***** 実験 *****
次の4種類のサンプルを用意して順方向電流If vs 順方向電圧Vf特性を測ってみました。
(1) 赤色LED OSR5JA3Z74A
(2) 小信号用ダイオード 1S2076A
(3) 小信号用SBD SD103A
(4) 抵抗 10kΩ +/-0.1%
(3)はショットキーバリアダイオードです。(4)の抵抗は回路の動作確認用です。たまたま部品箱に高精度のものがあったので使いました。
測定の様子はこんな感じです。
結果をMS-Excelで読み込んでグラフにしたものが下の図です(Gnumericを使うと思った?)。
まず10kΩ抵抗ですが、電流が低いところでは順方向電圧Vfが理論通り一直線に上昇していますが、3Vに達したところで飽和しています。
これは今回電源電圧の制約が非常に厳しい中で設計したため、仕方がありません。
次に赤色LEDのOSR5JA3Z74Aですが、順方向電圧Vfはおよそ1.7~1.8Vとなりました。
データシートによるとVfは2.1V(typ)ですが、これはIf=20mAの時の値ですので、今回の測定結果は妥当なところです。
1S2076AとSD103Aは構造の違いが良く表れています。1S2076Aは一般的なPN接合のダイオードでVfがおよそ0.6Vなのに対し、SD103AはショットキーバリアダイオードなのでVfが0.2~0.3Vと低くなっています。
なお、両者とも今回の測定電流は小さいため、データシート記載のVfより低めの値となっています。
というわけで、あけましておめでとうございます。
ダイオードの電気的特性を測りたい時にpcDuino3 nanoは有益であるということが証明されたところで、今年もよろしくお願いいたします。
おわり
※コメント投稿者のブログIDはブログ作成者のみに通知されます