2020年01月27日

ニコタワープチ・VT02P-D24T2のUSB接続



USB接続対応のパトライトは価格が若干高いので

日恵製作所のニコタワープチ 「VT02P-D24T2」USBシリアルI/F IC FT232RL を組み合わせてみました。
(2端子だけなのでパラレルI/Fは使わず、シリアルの制御端子を利用)

日恵製作所 「VT02P-D24T2」の接続図


USBシリアルI/F IC FT232RL との接続


Visual Basic では上記回路と下記のようなコードでOn/Off制御できます。

 SerialPort1.Open()
 SerialPort1.RtsEnable = True
 SerialPort1.RtsEnable = False
 SerialPort1.DtrEnable = True
 SerialPort1.DtrEnable = False

今回は緑赤の2色でしたが、3色以上は別途工夫が必要です。

  




2017年10月21日

ノートPC充電80%制御

ノートPCに使用されるリチウムイオン電池の寿命を延ばす手法として、「80%程度までの充電」 「充電回数を減らす」 などがあります。
充電容量を指定して満充電にならないようなアプリが入ったノートPCもありますが、そうでないものもあります。
今回、ノートPCの充電容量を指定充電範囲に保持する制御システムを試作してみました。

【ポイント】
1: 充電容量を”SystemInformation.PowerStatus”で取得する。
2: USBシリアルにOn/Off信号を出す。
3: 電子リレーでAC電源をOn/Offする。
4: マイコンは使用しない。



制作したPC用アプリ(下記)は充電容量を監視して、指定充電範囲(例:80%~20%)なるようにAC電源のOn/Off信号を出力します。



設定ファイル(ini)でシリアルポート、充電上限下限の設定を行います。
(例)
[PARA]
;シリアルポート番号
Com=5
;充電下限容量
Low=20
;充電上限容量
High=80


確認のため約10分ごとに充電容量を保存してグラフ化してみましたが問題なく動作してそうです。


  




2015年04月27日

Tektronixオシロスコープ制御

Tektronixオシロスコープ: TBS 1052B を制御用のアプリケーションを作ってみました。



ベースとしたのは、通信用ライブラリTekVISAをインストールした際にサンプルとして用意されていたVC++のプロジェクト(下記フォルダ下)です。

C:\Program Files (x86)\IVI Foundation\VISA\WinNT\TekVISA\VisaSamples\simple

これを参考にテキストファイルを読み込んでコマンドを実行できるようにしました。

コマンドは、ユーティリティとして用意されている「OpenChoice Talker Listener」であらかじめ動作確認してテキストファイルに保存しておくだけです。
コマンドについては 「TekVISA Programming Manual」(英文)を参考にしたり、「テクトロニクス社/ケースレーインスツルメンツ社 お客様コールセンター」でアドバイスをいただけます。

<参考:OpenChoice Talker Listenerの画面>


テキストファイル例は下記のようにほとんどがVISAのコマンドそのものを記述したものなります。
USB::0x0****::0x0***::C0******::INSTR
' 波形情報計測用
FACtory
ACQUIRE:STATE STOP
LOCk ALL
HEADer OFF
CH1:PROBE 10
SELECT:CH1 ON
SELECT:CH2 OFF
CH1:SCALE 1E0
CH1:POS -3E0
HORIZONTAL:MAIN:SCALE 5E-4
'
TRIGger:MAIn:EDGE:SOUrce CH1
TRIGger:MAIn:EDGE:SLOpe FALL
TRIGger:MAIn:EDGE:COUPling DC
TRIGger:MAIn:LEVel 2.0E0
TRIGger:MAIn:MODe NORMal
ACQUIRE:STATE RUN
*OPC?
ACQUIRE:STATE STOP
'
MEASUrement:MEAS1:SOURCE1 CH1
MEASUrement:MEAS1:TYPe FREQuency
MEASUrement:MEAS2:TYPe PK2PK
*OPC?
MEASUrement:MEAS1:VALue?
READ
MEASUrement:MEAS2:VALue?
READ


(1行目のデバイスID指定や 「’」、 「READ」 などはアプリケーションで機能追加)

これを今回制作したコンソールアプリケーションで呼び出して実行するとコンソール画面に下記のように出力されます。



実行後は結果のみが下記のようなフォーマットのテキストファイルとして保存されるため、これを読みだして利用できます。
(今回の結果は周波数とピーク値)
1.0080650024414E3
5.0799999237E0

APIを使って直接制御する方法もありますが、今回のようなコマンドスクリプトを使うことで、テキストファイルを任意に書き換えることで計測手順、結果を操作させました。
  




2015年03月06日

デジタルI/O USBX-I16 使用感



テクノウェーブ社が販売している「USBX-I16」を使ってみました。
(http://www.techw.co.jp/USBX-I16/usbx-i16b_desc1.htm)

このモジュールはUSB接続により下記の機能が使えます。
 ・デジタルI/O - 絶縁入力端子、出力端子をそれぞれ16点、非絶縁出力端子を8点
 ・32ビットパルスカウンタ
 ・ADコンバータ
 ・DAコンバータ
 ・シリアル通信

メーカが用意しているAPIを使用して簡単にアプリケーションを作成できます。
USB1本で制御できるので最近のPCでの利用に最適です。

今回はVisualBasic2010(サンプルはVB6ですが、2010でも可)で基板検査装置の開発に利用しました。
デジタル出力、デジタル入力、DAC機能を使用しましたが、特に使い勝手や使用方法に問題は感じられませんでした。
ADやDACなどは内部のマイコン機能で動作しているため若干精度が気になるかもしれません。

PCとのインターフェースはUSBのみなので、小型のPCやノートPCが使えます。
今後、安価な計測システムはこの製品でまかなえるものと思われます。