PICマイコンを使って測定ツールを作ってみよう(2) ―― クロック周波数やモータの回転数を測れるカウンタを作る(後編)
tag: 組み込み 電子回路 ディジタル・デザイン
エレキ系DIY 2009年9月28日
前編では,2,500円程度の低予算で組める計測用基板を紹介した.今回は,前編で述べた不可解な現象の原因説明と,PICマイコンのプログラム作成に必要な開発環境「MPLAB」の使用方法,そしてプログラム本体のおおまかな説明を行う.開発環境の説明のところは冗長な部分もあるので,MPLABを知っている人は読み飛ばしていただいてもかまわない.「PICマイコンって何?」と思っている初心者の方は,じっくりと読んでいただきたい.(筆者)
前回の不可解な現象の原因は,PIC18F2550のデータシートをよく読めばすぐに分かることでした.PICマイコンを使い慣れた方は,初歩的なミスだと笑っていらっしゃることでしょう.
原因は,PICマイコンの基本クロックを水晶発振器の発振周波数の1/4と誤解したことにあり,正しくは48MHzでした.PIC18Fシリーズから内部にPLL(Phase-locked Loop)が追加され,USBインターフェースを使用する場合,基本クロックは48MHzに固定されています.USBクロックはこの倍の96MHzに固定されています.よって,カウンタ値は48MHz÷20MHzで,正確に2.4倍となります.
分かってしまえば簡単なことで,人騒がせな話ではありますが,PIC16Fシリーズに慣れた人ほど陥りやすい罠(わな)でもあります.もちろん,PLLを使わないコンフィグレーションも設定できますが,USBインターフェースが使用できなくなります.USBケーブルを接続したときに「ピコン」という音がしなくなり,いくら待ってもホスト・パソコンになんの応答もでてきません.
USBインターフェースについては,今後,機能を追加するにつれて,さまざまな測定結果をホスト・パソコンに転送し,表示できるようにする必要があります.また,USBインターフェース経由でパソコンから細かい設定を行いたい場合もでてくるでしょう.スタンドアローンで使ったほうが初心者には理解しやすいのですが,徐々に高機能な使い方を習得していくと,実戦で役に立つと思います.
今回,感光基板が出来上がってきたので,ご紹介します(写真1).前回紹介したユニバーサル基板と比べると,タクト・スイッチやLEDの部分が変わっています.感光基板を注文したい方は筆者(sales@nslab.jp)までメールをください.