PyMeasure を使って実験装置を自動制御する方法
現代の研究室では、精度・スピード・再現性 が求められます。I-Vスイープ、温度制御、光学測定など、実験を自動化できると大きな効率向上が見込めます。
PyMeasure は、Python で装置制御とデータ取得を簡単に行えるオープンソースライブラリです。この投稿では PyMeasure を使った自動測定の始め方をご紹介します。
🧪 PyMeasure とは?
PyMeasure は、GPIB、USB、シリアルなどのインターフェースを通じて実験装置を制御できる Python ライブラリです。
主な特徴:
- 実験手順 (
Procedure) の自動化 - リアルタイムでのデータ記録と可視化
- GUI(グラフィカルユーザーインターフェース)の構築
- Keithley、Tektronix、Keysight などの装置に対応
⚙️ ステップ 1: インストール
以下のいずれかの方法で PyMeasure をインストールできます:
# 推奨:conda 経由でインストール
conda install -c conda-forge pymeasure
# または pip 経由
pip install pymeasure
GPIB/USB 接続のためには NI-VISA または pyvisa-py バックエンドが必要です。
🔌 ステップ 2: 装置に接続
例として Keithley 2400 ソースメーターに接続してみましょう:
from pymeasure.instruments.keithley import Keithley2400
smu = Keithley2400("GPIB::24")
smu.apply_current(0.001, compliance_voltage=10)
print(f"Measured voltage: {smu.voltage} V")
このように、通常の Python オブジェクトのように装置を操作できます。
📈 ステップ 3: 自動測定スクリプトの実行
簡単な I‑V スイープ(電流-電圧の関係)を実行します:
import numpy as np
currents = np.linspace(-1e-3, 1e-3, 50)
voltages = []
for i in currents:
smu.source_current = i
voltages.append(smu.voltage)
print(f"I: {i:.6f} A, V: {voltages[-1]:.6f} V")
結果を CSV に保存して後で分析することもできます。
🧪 ステップ 4: Procedure クラスで手順を定義
from pymeasure.experiment import Procedure, IntegerParameter, FloatParameter
class IVSweepProcedure(Procedure):
start = FloatParameter("開始電流", units="A", default=-1e-3)
stop = FloatParameter("終了電流", units="A", default=1e-3)
steps = IntegerParameter("ステップ数", default=50)
def startup(self):
self.instrument = Keithley2400("GPIB::24")
def execute(self):
for i in np.linspace(self.start, self.stop, self.steps):
self.instrument.source_current = i
voltage = self.instrument.voltage
self.emit('results', {'current': i, 'voltage': voltage})
このクラスを使えば、再現性のある実験フローを自動実行できます。
🖥️ ステップ 5: GUI を追加する(オプション)
from pymeasure.display.windows import ManagedWindow
class IVApp(ManagedWindow):
def __init__(self):
super().__init__(
procedure_class=IVSweepProcedure,
inputs=["start", "stop", "steps"],
displays=["current", "voltage"],
x_axis="current", y_axis="voltage"
)
self.setWindowTitle("I-V 測定アプリ")
if __name__ == "__main__":
app = IVApp()
app.show()
GUI で操作すれば、技術者以外でも使いやすくなります。
🔌 対応装置の一部
- Keithley ソースメーター
- Tektronix オシロスコープ
- Keysight 計測器
- Thorlabs、NI 製品
- 他、多くの機器に対応
🧰 使用例
- 半導体デバイスの I‑V 特性測定
- ソーラーパネルの特性評価
- 温度センサーのリニアリティテスト
- ファイバー測定や RF 測定の自動化
✅ まとめ
PyMeasure は、Python ベースで実験装置を自動化し、再現性のある測定手順を実現できます。研究開発や製品テストの現場に最適です。
Get in Touch with us
Related Posts
- コンピュータビジョンのエッジ化と低リソース環境:日本企業における課題と新たな機会*
- Simplico — 企業向けAIオートメーション & カスタムソフトウェア開発(日本市場向け)
- AIによる予知保全 ― センサーから予測モデルまでの全体像
- 会計業務におけるAIアシスタント ― できること・できないこと
- なぜ中小企業はERPカスタマイズに過剰なコストを支払ってしまうのか — そしてその防ぎ方
- なぜ SimpliShop を開発したのか —— 日本の中小企業の成長を支えるための新しい EC プラットフォーム
- ファインチューニング vs プロンプトエンジニアリングを徹底解説 ― 日本企業がAIを活用するための実践ガイド ―
- 精密灌漑(Precision Irrigation)入門
- IoTセンサーよりも重要なのは「データ統合」―― スマート農業が本当に抱える課題とは
- モバイルアプリ開発提案書(React / React Native)
- AIバーティカル・インテグレーション:日本企業のDXを加速し、データ駆動型の高効率な組織へ
- 日本企業向け:AI導入を一歩ずつ進める実践ガイド 2025
- EVフリート管理は「AI最適化」が鍵
- 製造業とビジネスを変革する 7つの Machine Learning(機械学習)活用事例
- LSTMによる洪水・水位予測:日本の防災を強化するAIアプローチ
- SimpliMES Lite — 日本の中小製造業向け MES 提案書(日本語版)
- 介護ロボットとオープンソース技術 — 超高齢社会を支える未来のケアテクノロジー
- 中堅・中小製造業のためのスマートファクトリー入門
- 日本企業がAI搭載のカスタムシステムへ移行する理由
- なぜ成功しているオンラインストアは SimpliShop を選ぶのか — ビジネスを「作る・育てる・勝ち続ける」ための新しい標準













