電子工作etc
■LC発振(PIC内蔵コンパレータ使用)
★概要
コンパレータを内蔵したPIC16F88を使用して、LC発振回路の実験をして見ました。
用途としては、LCメータ等への応用が考えられます。
★実験内容
コイルとコンデンサを並列に接続したときの、共振周波数は、次式で求めることが出来ます。
<共振周波数(F)を求める計算式>
<コイル(100uH)とコンデンサ(1000pF)>
※このコイルとコンデンサの共振周波数は、503,292Hzになります。
PIC16F88は、コンパレータを2個内蔵しており、モード設定することにより、コンパレータの入力(+、−)
および出力の3端子を、PICのピンに外出しにすることができるので、これを使用します。
<モード設定後の回路>
※今回は、コンパレータ(C2)を使用します。
・コンパレータの入力(+) → PIC16F88のRA2ピン(1ピン)
・コンパレータの入力(−) → PIC16F88のRA1ピン(18ピン)
・コンパレータの出力 → PIC16F88のRA4ピン(3ピン)
<プログラム>
※処理としては、内蔵モジュールの設定をするだけです。
|
OSCCON = 0b01110000; //クロックを8Mhzに設定する。 |
|
ANSEL = 0b00000000; //A/D変換は使用しない。 |
|
CMCON = 0b00000110; //コンパレータを使用する。 |
|
TRISA = 0b11101111; //I/Oポートを設定する。 |
比較のために、手持ちのオペアンプ(コンパレータ)「LM339」でも、同様の実験をしてみました。
<LM339の概観とブロックダイアグラム>
★回路図
★実験結果
PIC内蔵コンパレータを使用したときの結果です。
L=100uH、L=1000pF
発振周波数(実測)=503,555Hz、発振周波数(計算上)=503,292Hz、誤差=0.05%
PIC内蔵コンパレータを使用したときの結果です。
L=100uH+3.3uH、L=1000pF
発振周波数(実測)=495,374Hz、発振周波数(計算上)=495,188Hz、誤差=0.04%
PIC内蔵コンパレータを使用したときの結果です。
L=100uH+100uH、L=1000pF
発振周波数(実測)=355,524Hz、発振周波数(計算上)=355,881Hz、誤差=0.1%
PIC内蔵コンパレータを使用したときの結果です。
L=100uH+240uH、L=1000pF
発振周波数(実測)=273,840Hz、発振周波数(計算上)=272,948Hz、誤差=0.3%
比較のために、オペアンプ(コンパレータ)を使用したときの結果も掲載します。
L=100uH、L=1000pF
発振周波数(実測)=507,983Hz、発振周波数(計算上)=503,292Hz、誤差=0.9%
PIC16F88に、更に、周波数カウンタの機能を搭載して発振周波数を求め、その得られた周波数からコイルの
インダクタンスを求める計算式を組み込めば、コイルのインダクタンスを自動的に求めることが出来ます。
L=1/(4×π×π×F×F×C)
例えば、上記の結果で、(100uH+3.3uH)の時の発振周波数の実測値は(495,374Hz)なので、これを
上記の数式に当てはめると、103.2uHとなり、ほぼ正確な結果を得ることが出来ます。
103.2uH≒1/(4×3.1416×3.1416×495,374Hz×495,374Hz×1000pF×(10^−12))
この時に、100uHに直列に接続した、3.3uHのコイルが未知のコイル(Lx)であった場合には、
Lx=L−100uH
3.2uH=103.2uH−100uH
として求めることが出来ます。
如何ですか?
今回の実験結果から、「高精度Lメータ」の実現性が高くなりましたね!{^_^}!
電子工作etc
|