PIC10F322内蔵のNCOを利用してピエゾスピーカを鳴らしてみる    nobcha@2012

  昨年新たに発表されたPIC10F3xxシリーズは8ピン(6ピン)マイコンながらミッドレンジの新しい機能モジュールを備えている高機能チップです。新しい機能とはCPLDみたいなロジックセルCLC、ハーフブリッジ駆動信号を出せるCWG、数値制御発振器NCO、そして内蔵温度センサーなどです。ここではそのうちからNCOを利用してピエゾスピーカをならしてみる実験に取り組みます。

 

  ここでは音階を発生させるためのインクリメント値をテーブルで用意しNCOに与え内部発振回路250kHzで逐次加算を行います。20ビットのアキュムレータがオーバーフローすると出力パルスが変化します。50%固定デューティサイクルの音階パルスを発生させてピエゾスピーカから音を出そうと言う計画です。

  内部発振回路周波数が250kHzの時にNCOへの設定値は次のようになります。

         

 

  回路図は次のようになります。 

           

  まずは簡単にドレミファを鳴らすプログラムを書きました。「ドレミファプログラム」

  次にラーメンタイマです。この場合は電源オン時にドとレの音を出し、SLEEP待ちに入ります。スイッチが押されるとポート立ち上がり割り込みによりSLEEPから起き上がり、1秒ごとに音を出し、3分後にチャルメラメロディーを2回鳴らしてSLEEPの戻ると言うものです。SLEEP待ち時には消費電流が10μA程度になり、動作時は2.7mAぐらいが流れます。「ラーメンタイマプログラム」 [PIC書き込み用HEXファイル」

 

  ドレミファ実験はブレッドボードで実験しました。このような感じの矩形波パルスがピエゾスピーカに加わりちょっと小さめの音が出ます。

  

  ラーメンタイマーはフリスクケースに入れました。ケース横に顔を出したスイッチを押すとピッ、ピッ、ピッとなり始め3分経つとチャルメラメロディーが2回演奏されます。バッテリーはコイン型電池を使用しました。

   

 

   開発はMicrochip社の開発環境を利用しました。MPLAB V8.73a, HI-TEC C PRO LITE V9.83(9.82以前はバグあります),PICKIT3を使っております。回路図は水魚堂のBSchを利用しました。提供元、開発者の方に感謝します。

 PIC10F322の機能概要はCQ出版社トラ技2012年3月号後閑さんの執筆された179ページの「デジタルIC探訪」「PIC10F32xファミリ内蔵新機能モジュール使用レポート」を参考にしました。

 本試作実験はnobchaの趣味の活動で実施しております。再現性や安全性に関して保障はできません。また本資料を初めとしてプログラムなどの創作物には著作権が有りますので、丸のままコピー引用は認められません。

 

 ホームページ目次  PIC10F目次 nobchaの電子回路日記ブログ

inserted by FC2 system