宿題をやっつけるぞ!!

大晦日で忙しいはずなんだけど、正月休みに酒のあてとして残ってた宿題をひとつやることにした。それがPICでUSBデバイスの作成だ。pic18aspを製作したとき秋月で余分に買ったPIC18F14K50で、何か作ろうと本まで買って勉強したつもりだったけど参考にと購入した本がダメダメだったため挫折した因縁の代物である。リベンジを期して改めて後閑さんの「改訂新版PICで楽しむUSB機器 自作のすすめ」という少し分厚い書籍を購入したのだ。

USBの話は分量あるのだけどUSBの仕様とフレームワークライブラリィの使い方などを中心に書かれていてすっきりとしてる。しかもPICでUSBを動かすにはMicrochip提供のフレームワークライブラリィをインストールする必要があるが、これが邪魔くさくぱっと見ただけでは何がなんだか分からない状態で、しかも多種のMCUに対応するようにフレームワークライブラリィが書かれてるので、条件付きのプリプロセッサ文だらけで、読みにくいことこの上ないのだが、後閑さんの例題は整理されてて読みやすくGOODである。

後閑さんの例題を参考に

まずは何かを作ってみたいところだけどPIC初心者なので自在には作れない。そこで簡単なものということで、後閑さんの例題の「温湿度計」をベースに、J.Sugitaさんの「USB充電 電力計」をアレンジしてUSBデバイスとして作ることにした。

J.Sugitaさんが設計された回路を参考にした。シャント抵抗の電圧をオペアンプで増幅し消費電力を計算するというシンプルなシステムだ。

作った回路がこれである。

USB電力計の回路図

USB電力計の回路図

ブレッドボードでのテスト

秋月PIC18F14K50のブレイクアウトボードを使って簡単に回路を組んでみた。
テストとしてmp3プレーヤーを繋いで充電してみた。

ブレッドボードでテスト回路を組んだ

ブレッドボードでテスト回路を組んだ

後閑さんのPCプログラムで、オペアンプで52倍に増幅されたシャント抵抗の電圧を表示してみた。

PCのソフトで電圧表示

PCのソフトで電圧表示

ざっと計算してみると176mAの電流が流れてるみたいだ。

この回路は問題がなさそうである。

考慮中

USB HIDデバイスとして作成するのでPCと接続するのが前提。PC上のソフトは作り込めるのでLCDは不要ではないかと考慮中。そもそも小さなPIC18F14K50でLCDサポートしてソフトを書いて容量内に収まるかどうか不安だ。