MENU
4,897

6146Bで50Wリニアアンプを作ろうと思っています。

6146Bシングルで7MHzの50Wリニアアンプを作ろうと思っています。
何か参考になる回路図とかありませんでしょうか?。

引用して返信編集・削除(未編集)

r2spice関数でのエラー

お世話になります。初めて投稿させていただきます。
8012を用いた真空管アンプのシミュレーションを行いたく思い、
中林様のRで書かれた関数を用いて、Spiceモデルを作成しようと思っています。
8012のデータシートをWebからDLして、Eg、Ep、IpのCSVファイルを作成し、
Ip.cal関数を実行しました。その後、r2spice関数を実行しましたが、
添付画像のようなエラーが起こってしまい、作成できませんでした。
何か操作上で問題があるのでしょうか?アドバイスを頂戴できれば、幸甚です。
よろしくお願い申し上げます。

引用して返信編集・削除(未編集)

tsu-3様

ハンドルネームを間違いてしまい、大変失礼いたしました。
どうか、ご容赦ください。

tsu-3様がご使用になっているR(バージョン4.1.2)に戻して、
もう一度実験してみました。

するとpctube.rの文字コードを変更せずに、ロードできました。
しかし、やはりr2spiceではエラーが出てしまいました。
ただ、エラーメッセージにはp$alphaは存在せず、
オブジェクトは表示されませんでした。

ということは、p<-Ip.sub()の実行結果は戻されていない、
つまりIp.sub関数で不具合が発生しているということだと思います。

pctube.rを見てみましたがよくわからないので、
中林さんのWebページのモデルの理論から勉強してみます。
いろいろアドバイスをいただき、ありがとうございました。
何か進展がありましたら、再度投稿させていただきます。

引用して返信編集・削除(未編集)

8/23に回答したtsu-3です(中林さん本人ではありません)。
pctube.r作成者ではなく、Rにも詳しくないため、適切なアドバイスができなく申し訳ありません。

さて、オブジェクトが正しくできているようなので、Ip.calは正しく実行できていると推測されます。
また、
> ちなみに今年の初めに実行したときは問題なくモデルを作成できました。
とのことなので、r2spiceの実行方法に誤りはないと思われます。
今年の初めには問題なかった状況が、現在は再現できないということだと思いますので、
やはりPC環境が怪しいですね。
私の環境は、Windows 10 Home バージョン22H2 で、
Rは、R x64 4.1.2 です。文字コードの変更などはしていません。

あとは、スクリプトpctube.rのどこでエラーになっているかがわかれば解決の糸口に
なるかもしれません。
ちなみに、私が調べたところ、スクリプトpctube.rで、
`r2spice` <-
function(p, mn, fn, mode="triode", ...)
のところで、r2spiceを実行。
ここのfunction定義で、パラメータpに指定したオブジェクト名が代入され、
14-15行下の
a <- 1/(1 - p$alpha)
から各モデルパラメータに値を代入、
という感じです。

引用して返信編集・削除(未編集)

お世話になります。
昨日の実験結果について、ご報告します。

R(バージョン4.3.1 Windows版)を再インストールして、pctube.r(タイムスタンプは2016/03/31)を
ロードしようとしても、マルチバイトのエラーが出てロードできませんでした。
そこでterapadでputube.rの文字コードをSHIFT-JISからUTF8に変換したところロードできました。
(改行はCR+LFにしました。)
昨日と同様に、Ip.calでPlateSample.csvは読み込むことができ、Ep-Ipグラフも表示されました。
しかしr2spiceを実行すると昨日と全く同じエラーが出てしまいました。
Rをインストールしていない別のPCにR環境を構築して同じ実験をやってみましたが、
結果は同様でした。

原因の可能性として、
1.文字コードを変更したこと。
2.Rのバージョンが異なること。
3.OS(現行はWindows10 Pro バージョン22H2)の違い
などが考えられると思います。

ちなみに今年の初めに実行したときは問題なくモデルを作成できました。
小生、Rはわからないのですが、どのような方針で解決したらよろしいでしょうか?
アドバイスを頂戴出来れば嬉しいです。
よろしくお願い申し上げます。

引用して返信編集・削除(未編集)

中林様

お世話になります。ご回答、ありがとうございました。

> まず、Ip.cal実行時に指定したオブジェクト(txxx)ができているかどうか確認してみてはどうでしょうか。

ls()を実行したら、Ip.calで入力したオブジェクト名が表示されました。
さらに当該オブジェクトのデータを表示すると、$alphaが表示されました。
しかしr2spiceでは以前と同じエラーが出ました。

そこで、PlateCharaSample.csvをDLして同様の実験を行いましたら、
このデータでもr2spiceで同様のエラーが起こりました。
操作方法が悪かったため、Rまたはpctube.rが壊れたのかもしれません。
Rの再インストール、pctube.rの再DLして、やり直してみます。
結果は後日報告させていただきます。

お忙しいところ、大変ありがとうございました。
今後ともよろしくお願いします。

引用して返信編集・削除(未編集)

Ip.calはエラーなく実行でき、r2spiceでエラーになったということですね。
まず、Ip.cal実行時に指定したオブジェクト(txxx)ができているかどうか確認してみてはどうでしょうか。
> ls()
ですべてのオブジェクトがリストされますので、その中にあるかどうか確認します。
あれば、そのオブジェクトのデータを確認します。
> txxx
例えば、t12AX7の場合、
> t12AX7
$G
[1] 0.0007121151

$muc
[1] 88.4138

$alpha
[1] 0.4345514

$Ego
[1] 0.5983668

$Cgp
[1] 1.7e-12

$Ci
[1] 1.6e-12

$Co
[1] 4.6e-13

$Vp
[1] 300

$Pp
[1] 1

$Ik
[1] 0.008

$remark
[1] "Philips"

$err
[1] 0.03654938

$code
[1] 0

のように数値データが確認できます。
> t12AX7$alpha
とすればalphaの値だけ確認できます。
リストになければオブジェクトができていないことになります。
私はRについて詳しくありませんが、p$alphaでエラー ということは、
pという原子ベクター(r2spice実行時に指定するオブジェクト名)が正しくできていない可能性があります。

オブジェクトが正しくできているにもかかわらずエラーになる場合は、
サンプルデータ(PlateCharaSample.csvなど)でエラーなくできるか確認してみてはどうでしょうか。

引用して返信編集・削除(未編集)

> "Jackie Mac"さんが書かれました:
> お世話になります。初めて投稿させていただきます。
> 8012を用いた真空管アンプのシミュレーションを行いたく思い、
> 中林様のRで書かれた関数を用いて、Spiceモデルを作成しようと思っています。
> 8012のデータシートをWebからDLして、Eg、Ep、IpのCSVファイルを作成し、
> Ip.cal関数を実行しました。その後、r2spice関数を実行しましたが、
> 添付画像のようなエラーが起こってしまい、作成できませんでした。
> 何か操作上で問題があるのでしょうか?アドバイスを頂戴できれば、幸甚です。
> よろしくお願い申し上げます。

画像上のエラーメッセージは以下のようになっています。

p$alphaでエラー : $ operator is invalid for atomic vectors

またCSVファイル等が必要でしたら、ご連絡ください。
アドバイス、よろしくお願い申し上げます。

引用して返信編集・削除(未編集)

引き続き

よろしくお願いします。

引用して返信編集・削除(未編集)

8 nabe氏の高品質な低電圧ヘッドホンアンプの
図 162: 試作したnabeアンプの回路図ですが、
「発振防止用Zobelフィルタ」が付いていないので、別回路です。

引用して返信編集・削除(未編集)
合計10件 (投稿3, 返信7)

ロケットBBS

Page Top