これまでの私の作品の多くは、動作の大部分をマイコンのプログラムに任せて、回路は簡単なデジタル動作の回路だけ、という構成でした。しかし、今回は、アナログ的な動作の回路も含んだ、比較的複雑な回路構成になっています。
せっかくですので、ちょっと難しいですが詳しく説明させていただきます。
金属探知機の作り方はインターネットで検索してみると、たくさん見つかります。
・村田製作所「電子工作探偵団」
・momo3さん(?)「金属探知機の製作」
基本的な動作原理はどれも同じです。ちょっと専門用語が入って難しくなりますが、次のようなしくみです。
・エナメル線を直径5cmくらいのリング状にグルグル巻いて探知用のコイルを作る
・探知コイル(L)にコンデンサ(C)を接続し、LC共振回路を作る。
・そのLC共振回路に何らかのアクティブ回路を接続し、LC発振回路を作る。
・探知コイルに金属を近づけるとコイルのインダウタンスが変化し、発振周波数が変化する。
・この発振周波数の変化を何らかの方法で検知して金属を探知する。
この動作原理の中の、LC発振回路の方式と、発振周波数の変化を検知する方式の違いで、何種類かの方式があります。
私が採用した方式は次のとおりです。
LC発振回路: コンパレータを使ったフランクリン発振回路
発振周波数検知: マイコンによる周波数カウント方式
発振回路としてフランクリン発振回路を選択した理由は、私がよく使っているPICマイコンに内蔵されているコンパレータを利用できるからです。
PICマイコンの内蔵コンパレータを使ったフランクリン発振回路のアイデアは、やはりいくつかのサイトで紹介されています。ただ、金属探知機に応用されているものは見つかりませんでした。
・「LC発振(PIC内蔵コンパレータ使用)」
・nobchaの電子回路日記「PIC16F648AでLCメータ試作(内蔵コンパレータ使用)」
私の回路の中の、発振回路部分の回路図は次のとおりです。
この回路の中のコンパレータはPIC内蔵のコンパレータです。さらに、真ん中あたりの、電源電圧を2分割している抵抗分圧回路(R(DAC)=80kΩ)も、PIC内蔵のDACを利用しています。
このように、PICの内蔵モジュールを利用することで、使用する部品数を削減し、全体として作製する回路を簡単にしています。
そんなわけで、全体の回路図はこちらです。
私がwebで調べて限りでは、最もシンプルな回路構成の金属探知機ではないかと自負しています。
使用している電子部品はこちらです。
マイコン | PIC16F1823 |
LED | 赤または黄、計4個 |
圧電スピーカー | PKM13EPYH40000-A0 |
抵抗 | 470Ω×4本 100kΩ×2本 |
コンデンサ (セラミック) | 1000pF×1個 1μF×2個 |
タクトスイッチ | DTS-6 |
エナメル線 | φ0.3×10m |
ブレッドボード | EIC-301など |
電池ケース | 単3×2本 |
ブレッドボードの配線図はこんな感じです。
探知用のコイルは直径0.3っm程度のエナメル線(ポリウレタン銅線)長さ約10mを、直径5cm程度のリング状にグルグルと巻いて作ります。このコイルの作り方などについては、次回、」「金属探知機の作り方(2)で説明させて頂きます。
完成品はこんなのです。
マイコンのソフトはこちらです。
<金属探知機のマイコンのソフト>
今回のソフトの開発は、MicrochipのMPLAB Xを使っています。コンパイラはXC8です。
<使い方>
タクトスイッチを押すと電源が入ります。そのまま、金属に近づけない状態で、じっとして数秒待ちます。すると、電源LEDが点灯します。
この状態で準備完了です。
金属に近づけると、音が鳴って、探知LEDがいくつか点灯します。
金属の検知度合いが強いほど、音が高くなり、探知LEDが多く点灯します。
タクトスイッチを押すと、電源OFF(スリープ)です。
<注意>
このページで紹介している金属探知機の作り方は、部品を買い集めただけでは作れませんのでご注意下さい。マイコンへのプログラムの書き込みが必要になります。
(2013/8/9追記)
回路図が間違っていましたので修正しました。
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。
このコメントは投稿者によって削除されました。
返信削除気になることがあります。
返信削除DACを参照電圧として発振させましたところ、一見するとオシロでも発振しているように見えました。しかしながら、この発振はLCの組み合わせに依存しておらず、実際に、LC部分を切り離しても同じ周波数で発振しています。つまり、オペアンプマイナスに形成しているRC発振回路による発振であることがわかりました。
DAC参照電圧に設定すると、CxIN+ pinに接続している電圧がまったく用いられません。回路図からもCxIN+ pinかDACかどちらを参照電圧にするかの二択になっていますので、この場合はそこで、DAC参照ではなく、CxVP connects to CxIN+ pinを用いないとだめなようです。CxPCH=00にする必要があります。
すると、やはり、分圧抵抗を消すことはできません。このようにすれば、問題なくLC発振回路として働きます。ご確認ください。
toshi様
返信削除コメントありがとうございます。
確かに私のプログラムではC1PCH=01即ちDAC参照にしていますが、私の作った回路ではなぜかLC発振回路として動作していました。工作教室で何人かの子供にも作ったもらいましたが、みんな無事、金属探知機として動作していたようです。
この回路の実験をしたのがかなり昔のことなので記憶が残ってないのですが、当時はいろいろ試して、この設定にたどり着いたように思います。
今、すぐには再実験する時間がないのですが、また機会があればC1PCH=00の設定での動作も確認してみます。