USB制御できる電源 PW8-3ATPを購入

概要

今持っている自動計測用機材だと1V以下の電圧出力ができないので、KENWOOD PW8-3ATPを購入しました。かなり古い電源ですが使いやすかったです。

製品

上記の製品になります。3出力あり、+8V/3Aと+8V/3Aと+18V/1.5Aが出力できます。残念ながらマイナス電源にはなりませんが、今のところマイナス電源は利用しないので十分な性能になります。

そしてKENWOODの電源になります!

KENWOODは菊水さんと並び、プロ仕様でしっかりした電源ですよね。菊水さんの電源ももっていますが、これは外部制御ができないタイプなので自動計測の実験には使えません。

今回購入した電源にはIFボードが搭載されています。USBだけあればよかったのですが高いGP-IBが使えるタイプです。このボードだけ転売すると今回購入した本体代金より高いような気がします。

PW-A Series  多出力直流安定化電源 - 直流安定化電源 - 製品詳細 - 株式会社テクシオ・テクノロジー
1台で2~4chの出力が可能。ドロッパ方式による低ノイズ高分解能な多出力直流安定化電源

ちなみにKENWOODさんの電源部門はTEXIOさんに取り込まれていて、PW-A Seriesとして販売中になります。そのためドキュメントなども公開されていて情報が取得しやすかったです。

GitHub - ponta0/TEXIO_TMI_Api_Wrapper
Contribute to ponta0/TEXIO_TMI_Api_Wrapper development by creating an account on GitHub.

今回は自動計測をPythonから行うので上記のまぐにあさんのライブラリを使わせてもらいました。内部的にはTEXIOさんのWindows向けライブラリをPythonから呼び出す形式のようでした。

しかし情報取得系は動くのですが、設定系が動かない。。。

import time
from TMI_Api import TMI_Api

TMI_Api = TMI_Api()

delay = 1

print("電源に接続します")
DeviceId = TMI_Api.TMI_HandleOpen("PW-A", "USB:1:1")
time.sleep(delay)

if DeviceId > 0:
    print(f"hID: {DeviceId}")

    print("機種名を表示します")
    ret, name = TMI_Api.TMI_ModelNameQ(DeviceId)
    print(f"ret: {ret}")
    print(f"Model: {name}")
    time.sleep(delay)

    print("電圧, 電流設定値を表示します")
    ret, data = TMI_Api.TMI_AllPresetQ(DeviceId)
    print(f"ret: {ret}")
    print(list(data))
    time.sleep(delay)

    print("出力オールOFF")
    ret = TMI_Api.TMI_Out(DeviceId, "SW0")
    ret = TMI_Api.TMI_Out(DeviceId, "OA 0")
    ret = TMI_Api.TMI_Out(DeviceId, "OB 0")
    ret = TMI_Api.TMI_Out(DeviceId, "OC 0")

    print("プリセット4")
    ret = TMI_Api.TMI_Out(DeviceId, "PR0")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("プリセット4 電圧設定")
    ret = TMI_Api.TMI_Out(DeviceId, "VA3.000")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("プリセット4 電流設定")
    ret = TMI_Api.TMI_Out(DeviceId, "AA0.100")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("メインアウトプットON")
    ret = TMI_Api.TMI_Out(DeviceId, "SW1")
    time.sleep(delay)

    print("出力CHAのアウトプットセレクトをONに設定")
    ret = TMI_Api.TMI_Out(DeviceId, "OA 1")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("出力CHAをLEDディスプレイに表示")
    ret = TMI_Api.TMI_Out(DeviceId, "DS1")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("出力CHAのアウトプットセレクトをOFに設定")
    ret = TMI_Api.TMI_Out(DeviceId, "OA 0")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("メインアウトプットOFF")
    ret = TMI_Api.TMI_Out(DeviceId, "SW0")
    print(f"ret: {ret}")
    time.sleep(delay)

    print("リモート状態をローカルに戻す")
    ret = TMI_Api.TMI_RemoteLocal(DeviceId)
    print(f"ret: {ret}")
    time.sleep(delay)

    print("通信を切断します")
    ret = TMI_Api.TMI_HandleClose(DeviceId)
    print(f"ret: {ret}")
    print("電源との通信を切断しました")
else:
    print(f"エラーコード: {DeviceId}")

てなことで、TMI_Out関数を利用してマニュアルにあるコマンドを直接送付することで操作ができました。KENWOOD時代の製品だからなのかわかりませんが、マニュアルに直接的なコマンドが書いてあったのでこれでいきたいと思います。

まとめ

1mV単位で設定ができて、3出力あるのでいろいろテストには良さそうです。ただし、かなり大きくて重くて、ファンがうるさいので普段はあまり使わない気がします。。。

ただし、PPK2とか小型の電源って0.8V以上と1V以下が設定できないものが多い気がします。ALIENTEKさんのDP100だと0Vから30Vまでなので大丈夫なんですけれどね。あの端末もこちらと同じくWindows用のライブラリを呼び出す形式であれば自動制御が可能ははずです。

コメント