今回は、マイクロコントローラのI/Oポートを3個使用して12個のLEDを駆動する回路を紹介する。
図1に示したのは、エンジンのタコメーター(回転速度計)に使用する直線状配列または環状配列のLED群を駆動する簡便な回路である。この回路では、マイクロコントローラのI/Oポートをわずか3個だけ使用して12個のLEDを駆動する。
互いに極性を逆にして並列接続された3組のLED(D2とD3、D4とD5、D6とD7)には、マイクロコントローラIC1のポートから電流制限抵抗R5、R6、R7を介して駆動電流が供給される。ほかの2組のLED(D8とD9とD10、D11とD12とD13)は、それぞれIC1のポートと2個の分圧回路で生成される基準電圧VREF1およびVREF2との間に接続されている。
抵抗R5、R6、R7の値を変化させることにより回路中央部の6個のLED(D2〜D7)の輝度を調整することができ、抵抗R1、R2、R4の値によって外側の6個のLEDの輝度を調整できる。一般化すると、この回路構成では、マイクロコントローラのI/OポートをN個使用した場合に(N(N−1)+2N)個のLEDを駆動できる。
図1の回路では、IC1としてMicrochip Technology製の小型/低価格マイクロコントローラ「PIC10F200」を使用した。この製品には端子が6本あり、そのうちの3本がI/O端子、電源/グラウンド端子が各1本、残り1本が入力専用端子である。3本のI/O端子(GP0、GP1、GP2)によって、4個の黄色LED、4個の緑色LEDおよび4個の赤色LEDの計12個を駆動してバーグラフを表示する。
エンジンの回転速度の表示は、点灯するLEDの数を変化させるバーグラフ方式や1個か2個のLEDを点灯させるドット方式で対応できる。図2に示すバーグラフによる表示では、黄色が速度不足を、緑が標準的な速度、赤色が速度超過であることを表す。
マイクロコントローラの入力専用端子GP3には、イグニッションコイルの1次側からのパルスが入力される。その入力パルスは抵抗R3とダイオードD1によりコンディショニングされ、さらにソフトウェア処理によってリンギングの影響が除去される。
ここで、R3を390kΩの高抵抗にすることで、高電圧のスパイク入力に対するIC1のラッチアップ発生を防いでいる。GP3はほかのポートとは異なり、内部に保護ダイオードを備えている。この保護ダイオードは電流容量が20mAで、負電圧に対しても保護機能が有効に働くようになっている。
この保護回路の動作は信頼できるが、外付けの保護ダイオードを使用することでラッチアップ対策を強化することが可能である。その場合には、ダイオードのアノードをグラウンドに、カソードをGP3端子に接続するとよい。
Copyright © ITmedia, Inc. All Rights Reserved.