PIC利用波源駆動装置の製作(PIC16F877A利用)

1.はじめに

 汎用物理実験装置を水波投影装置に応用するときに,装置に内蔵したDDS(ダイレクトデジタルシンセサイザー)を利用しました。1Hzから16.7MHzまで周波数をデジタルで設定できますが6千円もするキットです。この実験に利用するには少々オーバースペックです。そこで一個110円のPICを利用してデジタルで周波数を設定できる正弦波発信回路を開発して利用しました。PIC16F877Aを使って制御回路を製作した駆動装置は汎用物理実験装置の予備の装置として製作しました。

2.水波投影装置

水波投影装置は波源に小型スピーカを,光源にPowerLEDを利用します。それぞれの駆動にオーディオアンプ,LEDをON・OFFするドライバー回路,波面をアニメーションさせるために2つの正弦波発信回路を使います。波面を静止させるだけならば,LEDドライバーだけを自作して,発信器・オーディオアンプは既存のものを使う方法もあります。

 今までの水波投影装置は大型で使いづらい点がありました。今回製作した装置はLEDを波源に同期して点滅させることで,今まで流れて見えなかった波面が観察できるようになりました。同時に波源としてスピーカを利用することで高い振動数を発生させることが可能になり,振動数の高い波つまり波長の短い波を利用して現象の観察ができるようになりました。このことが装置を小型にすることを可能にしました。

3.製作

(1)正弦波発信回路

 高価なDDSの代わりに,安価なPIC12F675を利用してデジタルで設定する正弦波発信回路を実現しました。0.5Hz500Hzまで,0.5Hz分解能で発信可能です。

 PIC12F675はリセットされると最初に発信周波数をシリアル通信で受け取り,その周波数でずっと発振を続けるように動作します。 発振周波数を制御する側は,リセットピンをLowレベルにして,次に発振周波数のデジタルデータを送信します。制御側はPIC,またはBASICStampで行います。動作テストはBASICStampで行いました。

(2)周波数コントロール回路
 発信器の周波数を設定する回路も
PICで製作しました。40ピンICPIC16F877Aを利用した高機能版と18ピンICPIC16F84Aを利用した簡易版の2種類のタイプを試作しました。

@高機能版 周波数コントロール回路
 PIC16F877A用に汎用に使える基盤をすでに製作してありましたので,これを利用することにしました。いろいろな用途に利用する目的でしたので,余計な部分もあるのですが,何かを試作する場合に便利です。

 この写真左は発信回路を周波数コントロール回路に接続して動作確認をしているときの様子です。電子回路をソフトウエアで制御しますので,きめ細かな動作をさせることが可能になります。しかし,実際に製作してみますと,はじめは期待する動作をしません。電子回路に問題があるのか,ソフトウエアのバグなのか問題を見つけるのに苦労します。

 写真右は440Hzで発信させたときの波形です。発信はPWM方式で振幅を変調しています。PWMの周波数は10数kHzです。ローパスフィルターをとおすときれいな正弦波が得られます。周波数の精度と安定度はPICに利用しているクロックに依存します。20MHzの水晶発振モジュールを利用する場合1Hzから1kHzの範囲を1Hz分解能で,10MHzの水晶を利用する場合0.5Hz〜500Hzまで,0.5Hz分解能で設定可能です。

(3)LEDドライバー回路

@スイッチング方式
  LEDに1Aの一定電流を流す回路です。スイッチング方式を採用しました。 スイッチング方式はエネルギー効率がよく,電源の選択の幅が広がりますので,手持ちの電源を流用したい場合に便利です。しかし自作することを考えるとおすすめはできません。

(4)パワーアンプ

 @ディスクリート回路

 波源であるスピーカを駆動するために必要になります。利用するのはいわゆるオーディオパワーアンプです。500円程度でキットが購入できるのでそちらの方が手軽です。但し最初は手持ちの部品があったので個別部品で製作しました。なお色々な実験に流用も可能です。

 自作したアンプは8Ω負荷で5W程度の出力です。電源を強化して,放熱板を大きくすれば10W程度の出力は余裕で対応できます。しかも直流まで増幅できますので,出力を電源としても利用できるようになります。なお回路シミュレーターで特性も検討しました

 ALM386パワーアンプ

 乾電池4本で動作させるためにLM386を使った小型パワーアンプを製作しました。電源電圧が低いのでBTL接続といって,2個のICを逆位相で動作させてぞれぞれの出力間にスピーカを取り付け,理論的に4倍の出力を取り出せる方式を採用しました。8Ω負荷で0.5W程度の出力が得られます。基盤は汎用基盤を利用しました。なおBTL接続とすることで出力のコンデンサーが不要になります。

(5)全体の回路構成

 それぞれの機能ブロックを複数パターン製作しましたので,最後にそれらを組み合わせて複数の水波投影装置を組み立てました。

@高機能タイプ

 高機能版周波数コントロール回路,電源・液晶表示器などをアルミケースに収めました。水波の実験で,波をON・OFFさせて波束の様にしますと,波の反射の実験でわかりやすいことが分かりましたので,自動的に波を断続させて発生させる機能も盛り込むことにしました。

操作方法は

OSC1,OSC2の周波数をボリュームで設定します。10Hz〜1020Hzの10Hz単位で設定します。
・スイッチ
OSC1-OSC2でOSCを選択し,UP,DOWNスイッチで1Hz単位で周波数を設定します。

・スイッチFREQ-VUをVUにセットしますと,パワーアンプの出力電圧がバーグラフで表示されます。

・スイッチCONT-BURSTをBURSTにセットするとボリュームONとOFFで設定した時間でOSC2の出力を断続します。なお現時点ではこの時間の表示値は参考程度の精度です。

この操作を実現するために必要としたプログラムの行数は約250行でした。

A簡易版周波数コントロール回路利用電池駆動タイプと小型水波投影装置

 とにかく小さくすることを目標にニッカド電池4本で動作する装置を製作しました。パワーアンプをLM386パワーアンプにして製作しました。なお,今までの装置はオーディオアンプを2ch内蔵し,うなりの実験にも利用できましたが,この装置では波源駆動用の1chにしました。

 100円ショップで購入した200mm×145mm×92mmの積み重ねコンテナを2段重ねにして,アクリルで作った250mm×200mm×40mmの水槽を乗せた小型水波投影装置を試作しました。装置は小型ですが,光源と水槽の距離が200mm程度で,天井には大きな波面が投影されます。40Hz程度の振動数の波を発生させれば十分な波面が表示され特に問題はありません。乾電池で駆動するアンプの出力は小さいので低い振動数では十分な振幅が得られません。余裕がないので少し出力をあげるとアンプがひずんで波面が汚れます。

 この程度の大きさになれば,持ち運びは大変容易です。暗幕があれば普通教室まで実験装置を持ち込んで実験ができると思います。水槽に張る水の量も1000mg程度ですみます。

 この写真は小型水波投影装置で投影した波面です。40Hzで波源を駆動しています。十分実用になると思います。また水槽が小さいので鏡で45度光を曲げて,スクリーンにプロジェクションテレビの用に投影するのも容易にできます。また,この大きさなら,保管も容易で,物理室の棚に置けるはずです。