
C4=0.1μF
R2=R3=R5=1KΩ
としておきR1を1KΩから4KΩまでかえて自作のLmeterで測定してみた。(ちなみにすべて1%精度のものを使った)
発振周波数というのは
自作Lmeterにつないだときの発振周波数である。
抵抗値 (KΩ) | 理論値 (mH) | 実測値 (mH) | | |
| 1 | 100 | 108 | 1.08 | 15.1 |
| 2 | 200 | 209 | 1.05 | 10.8 |
| 3 | 300 | 310 | 1.03 | 8.9 |
| 4 | 400 | 412 | 1.03 | 7.7 |
発振周波数が低いと実測値÷理論値が一定値に近づいているようだ。
発振周波数が高いとOPアンプのオープンループゲインの低下により動作に影響しているようだ。
今回はLF412を使ったが、もっと広帯域のOPアンプを使えばいいのかもしれない。
どうやら自作L meterは3%ほど高く表示されるようなので、ソフトで補正しておいた。
これでホントに完成・・・・かな?
2009-11-21(Sat) | 電子工作 | comment : 2 | Trackback : 0
以前作ったPSoC Lmeterだが、途中で計測方法を換えてしまったためちょっと表示が落ち着かなくなってる。
発振周波数を測るのにPSoC内蔵オシレータを分周してゲートタイムを作っていたのだが、設計を変えたためこれが問題になってしまった。
CPUクロックを外付けすればいいんだけど、使った基板がLCDをポート1につなぐようになってる。
外付けクロックはポート1_4につながないといけないのだがこれが出来ない。
やむなくゲートタイム用のクロックを外部から入れることにした。

手持ちにSPG8651Aがあったのでこれを使った。

空きスペースに両面テープで固定、不必要なピンはすべてカット。
これで表示が安定した。
やっと、完成か?
2009-11-11(Wed) | PSoC | comment : 0 | Trackback : 0
void main(void)
{
LCD_1_Start();
pos(0,0);
cprintf("%5.2f",20.0);
pos(1,0);
cprintf("%#5.2f",20.0);
}
とすると、表示は
20
20.00
となる。
下の書式だと、小数点の位置を固定できる。
上の書式だと
20
20.1
20.11
等と数値によって小数点が移動してしまい、見苦しい場合がある。
2009-11-06(Fri) | PSoC | comment : 0 | Trackback : 0
昨日の続き。
cprintf("%e",999999.0); は 9.99999e5 と表示される。
cprintf("%E",999999.0); なら 9.99999E5。
cprintf("%d",1234567); は -10617 となってしまう。
1234567は16進数で 12D687
-10617は符号付き2バイトで D687
cprintf("%u",1234567); は 54919 となる、これは符号無し2バイトで D687
う〜む、%d は int しか扱えないのか? long は無理なのか?
cprintf("%f",(float)1234567); とキャストすれば1234567と表示される。
cprintf("%f",1234567); では0になってしまった。
2009-11-06(Fri) | PSoC | comment : 2 | Trackback : 0

Generated Immitance Converter、Z1〜Z5に抵抗やキャパシタ、インダクタをつなぐと回路の等価インピーダンスをいろいろと換えられる。
Z=(Z1*Z3*Z5)/(Z2*Z4)
となる。
くわしくは
こちら、かなりスクロールしないとGICの解説にたどり着けないけど。

左図のように接続するとインダクタと等価になる。
Z=jω(R1*R3*R5*C4)/R2
インダクタLのインピーダンスはjωLだから
L=(R1*R3*R5*C4)/R2

R1=R2=R3=R5=1KΩ
C4=0.1μFとしてみた、計算上100mHのインダクタと等価になるはずである。
自作のLmeterで測定したところ109mHとなった。
さらにC4に0.47μFをパラってみた、すなわち0.57μFである。570mHと等価になるはず。
このときの測定値は615mHであった。
109/100=1.09
615/570=1.08
動作は正常なようだ。
欲張ってR2=200Ωにしてさらに大きな等価インダクタを作ろうとしたが、動作不安定となった。
OPampの出力を観ると高い周波数で発振している。
あまり欲張らない方がいいようだ。
極端な例だが
R1=R2=R3=R5=1MΩ
C4=1pF
とすると計算上は1Hとなるが、多分まともに動作しないだろう。
この回路の動作解析しないと・・・。
2009-11-01(Sun) | 電子工作 | comment : 0 | Trackback : 0
結局スイッチにはリレーを使うことにしました。
先の記事だとインダクタに直列にC3が入ります、この値が小さいと発振周波数に影響します。
かといって大きくすると今度はR2との時定数が問題となります。
リセット後やインダクタを換えた時などトランジスタのコレクタ電位が安定するのに時間がかかってしまうのです。

ここで使ったリレーは
オムロンのG6L-1Pです。
シリコンハウス共立で入手しました、270円也。

よく使われている
G5V-1より小さいんです。
ただコイル電流が36mAとG5V-1の30mAと比べて増えています。


測定中。
上の行、左側の数字はリレーON時の発振周波数(ただし単位は10Hz、ゲートタイムが0.1秒なので)。
右の数字はリレーOFF時の発振周波数です。
下の数字は(勿論)インダクタ値です。
表示が愛想無い(笑)のですが、自分で使う分にはこれで充分かと。
今頃になって気がついたのですが、あとコンデンサを一個追加すればLC meterが作れちゃうんですよね。
最初からそうすればよかった。
これでとりあえず、完成とします。
2009-10-28(Wed) | PSoC | comment : 0 | Trackback : 0
試作中のL meterはHCU04を使ったフランクリン発振回路を使ってます。
測定端子に200mHのインダクタをつないだときの波形です。
縦軸0.5V/div、横軸20μs/divです。

手持ちのLC meterはよく知られたLM311を使ったフランクリン発振回路を使ってますが、インダクタ測定モードにして、200mHのインダクタをつないだときの波形です。
縦軸0.5V/div、横軸20μs/divです。

はっきりと歪みがわかります。
どちらも発振周波数はほぼ同じなのですが、この歪みの理由がちょっとわかりません。
2009-10-28(Wed) | 電子工作 | comment : 0 | Trackback : 0
回路をちょっと変更しました。
リセットスイッチswとC3を追加しました。C3の値は暫定的です。

C3を付けることにより2SC2500のコレクタをプラスに保つことが出来ます。
C3が無いとLxをつないだ時のコレクタ電圧の直流電位はコイルの直流抵抗はせいぜい数Ωですから
ほぼ0Vです。
下図のVLxは0Vを中心にスイングします。トランジスタがカットオフの時は右図のように単なるダイオード接続と同じですから、ここでVLxがマイナスになると上側のダイオードが導通することがあるわけです。これは発振に影響を与えます。
C3を追加することにより、コレクタがマイナスになるのを防ぎます。

これによって測定精度は向上しました、と言うより悪化要因を一つ取り除けた事になります(多分^^;;)
2009-10-27(Tue) | PSoC | comment : 2 | Trackback : 0
このキットはだいぶ前に買ったのですが、引越の際に行方不明に(汗
先日出てきましたので、ケースに入れてみました。穴あけが面倒なので透明なプラケースに押し込みました。
電池が入りませんが、普段は蓋をしておき、使うときだけ蓋を外して電池をつなぐようにします。
そんなに使わないだろうから、これでいいでしょう。


手持ちの100mHを測ったところです、9桁も表示は必要ないかと・・・。

今PSoCで作ってるL meterはこれの簡易版みたいなものです。
2009-10-27(Tue) | 電子工作 | comment : 0 | Trackback : 0
Page Top▲