KENWOOD GP-610Aで電圧制御電源を制御する

投稿日 2012/03/24

 

 

Kenwoodの電源をGPIBで制御する装置GP-610Aを入手したので、さっそく使ってみました。

 

GP-610Aは、KenwoodのPA-Aシリーズの電源を電圧制御するための装置で、GPIBでコントロールできます。

GP610A_CMS50-1_1.jpg

写真1 Kenwood GP-610A とメトロニクス0-50V 1A電源 CMS50-1

 

±10Vを0.0275%の精度で電圧出力できるチャネルが2チャネル(A,Bチャネル)と、+10Vを0.22%の精度で電圧出力できるチャネルが1チャネル(Cチャネル)装備しています。

 

A,Bの2つのチャネルで2台の電源を制御できますが、1台の電源の電圧と電流を制御することも可能です。

 

Kenwoodに限らず、電圧で制御できる電源は0から10Vの電圧で制御するようになっている電源が多いようです。(ほとんどの場合、抵抗値ででも制御することもできるようになっています。)

GP610A_CMS50-1_2.jpg

写真2 CMS50-1 バックパネル コネクタピン配置 ピン1(+), ピン2(-)で電圧制御(0-10V)できる

 

実際手持ちのメトロニクス 50V 1A電源も0から10Vの制御電圧で、0から50Vを出力することができます。

 

問題は、GP-610Aのマニュアルを見ると、GPIBコマンドがKenwoodのPA-Aシリーズにある電源の電圧対応(8, 36, 56, 110Vなど)になっていることです。

 

実際KenwoodのPA-Aシリーズ電源には56Vのモデルはありますが、50Vのモデルはありません。

 

このため、このままではGPIBコマンドで56Vを指示すると、10Vを出力します。最大50VのCMS50-1では出力が低くなってしまいます。

 

これではまずいので、50Vを指示したときに10Vを出力するようにしなければなりませんが、GP-610Aのフロントパネルにある電圧調整ネジ(半固定抵抗)を調整して、むりやり?合わせます。

 

FS COARSEとFS FINE(微調整)がありますが、FS COARSEでおおまかに50Vに調整し、細かくはFS FINEで調整します。

 

FS COARSEを回すと幸い大きく動いてくれるので、50Vを指示したとき10Vを出力するように調整できました。

 

GP-610Aはときどきオークションで出回ってますが、マニュアルが入手できないかも知れませんので、GPIBコマンド例を以下に示します。

 

CHAVQ56 Aチャネルの電圧設定 最大56Vを指示する(実際は50Vに調整してある)

 

CHAG Aチャネル出力オンを指示する

 

CHAV25.0 Aチャネルに25.0V出力を指示する

 

CHAC Aチャネル出力オフを指示する

 

これでGP-610AのAチャンネルの制御出力電圧が約5.0Vになり、それによって制御されるCMS50-1は25.0Vを出力します。

 

Bチャネルの場合は以下のようになります。

 

CHBVQ56 Bチャネルの電圧設定 最大56Vを指示する

 

CHBG Bチャネルの出力オンを指示する

 

CHBV20.5 Bチャネルに20.5V出力を指示する

 

CHBC Bチャネル出力オフを指示する

 

今回は試していませんが、Bチャネルで電流制限を行う場合は、

 

CHBAQ56 Bチャネルの電流設定指示する

 

CHBA0.5 Bチャネルの電流制限0.5Aに指示する

 

という感じです。

 

easyGPIBで記述すると以下のようになります。
2台のGP-610AそれぞれのAチャネルで2台のCMS50-1の電圧を設定しています。
GPIBアドレスは17,18です。

GP610A_CMS50-1_3.jpg

写真3 GPIBから13.8Vを設定

 

Sub GP610A()

 

eg.CardOpen
eg.Delimiter = eg.DELIMs.CrLf

 

Do

Vout = InputBox("出力電圧を指定してください(0で設定して終了)", "出力電圧" )
eg.ActiveAddress = 17
eg.AsciiLine = "CHAVQ56"
eg.AsciiLine = "CHAG"
eg.AsciiLine = "CHAV" & str(Vout)

eg.ActiveAddress = 18
eg.AsciiLine = "CHAVQ56"
eg.AsciiLine = "CHAG"
eg.AsciiLine = "CHAV" & str(Vout)

Loop Until Vout = 0

 

eg.CardCLose
End Sub



 

(JF1VRR)