7セグメントLED表示制御回路 今回の回路では3つの7セグメントLEDを使用しています。これらのLEDはPICのI/Oポート数の制限と電力消費を少なくするために1つずつ点灯するように制御しています。左の図は100位の数字を表示する回路だけを描いています。10位、1位も同様な回路構成になっています。 TR4とTR5は点灯制御するLEDを選択する回路です。今回使用しているLEDは大型LEDで点灯電圧は12Vです。LED単体の点灯電圧は約2Vですが、1つのセグメントは5つのLEDが直列に接続され、セグメントの制御電圧を10Vから14Vになるようにしています。今回のLEDはアノードコモンタイプを使用しており、+電圧をかけるアノード端子は全セグメント共通です。LEDの選択回路は+電圧側に入れているので、制御トランジスタとしてはPNPタイプを使用しています。ここにNPNタイプのトランジスタを使用するとする場合、LEDのアノード端子にトランジスタのエミッタを接続することになります。その場合、ベースの電流制御が難しくなるので、PNPタイプを使用しています。 PICの出力にTR4を使用しているのはPICに+5Vまでの電圧しかかけられないためです。TR5をONにする場合はTR5のベース電圧を+12V以下にし、ベースに電流を流します。TR5をOFFにする場合にはベース電圧を+12Vにします。ですから、TR5のベースには約+12Vの電圧がかかることになり、TR5のベースをPICで直接駆動することはできません。 PICのRA0を0V(0状態)にするとTR4はOFFになります。そのため、TR5のベース電流は流れずTR5もOFFになります。すなわち、LED1は点灯しません。PICのRA0を+5V(1状態)にするとTR4にベース電流が流れ、TR4はONになります。TR4がONになるとTR5のベースにも電流が流れ、TR5もON状態になります。これによりLEDのアノードに+12Vがかかり、LEDが点灯可能な状態になります。 どのセグメントを点灯させるかを選択するのがセグメント選択回路です。セグメント選択回路はLEDと接地との間に入れているので制御用トランジスタをPICで直接制御できます。図ではaセグメントの回路を描いていますが、他のセグメント制御回路も同様です。PICのRB6を0V(0状態)にするとTR10はOFFになり、LEDのaセグメントには電流が流れず、aセグメントは点灯しません。PICのRB6を+5V(1状態)にするとTR10にベース電流が流れ、aセグメントに電流が流れ、aセグメントが点灯します。 種別表示制御回路 種別表示の制御回路も上記の7セグメントと同様な回路を使用しています。種別表示は文字としては1文字ですが、LEDをマトリクス状に並べて文字を表示しています。マトリクスは横方向に11列、縦方向に13行で構成し、点灯制御は列単位で行っています。列選択回路ではPICにより指定された列のLEDに電流が流れるように制御します。列は11あるのでPICで直接制御するのにはI/Oポート数の関係で難しく、デコーダ用ICを使用し、PICでは4ビットの信号で列の指定をしています。列選択回路の動作は7セグメントの場合と同様です。 上記の7セグメントLEDの場合、各セグメントが5つのLEDで構成されているので、電流制御用の抵抗器は不要でしたが、種別表示の場合、1つ毎に電流制御用の抵抗器が必要です。 LED選択回路は選択された列のうち、どのLEDを点灯させるかを制御する回路です。今回の回路では表示する文字は聖、典、プの3種類で、PICのRA3,RA4,RA5により選択しています。各文字毎に点灯するLEDが異なりますが、LEDから見ると全ての文字で点灯するもの、特定の文字の場合だけ点灯するものなどがあります。これを制御しているのがLED選択回路のダイオードです。 左の図の回路の場合、全ての文字で点灯するLEDの場合を示しています。ダイオードがTR1のコレクタに接続されているものだけで、TR2およびTR3に接続されているものが無い場合、そのLEDは聖という文字のときに点灯するLEDになります。LEDマトリクス上での表示文字パターンを決め、これらのダイオードの組み合わせをLED毎に決めることになります。 RS232C制御回路 制御装置と表示装置との情報伝達にはRS232Cというインタフェースを使っています。 このインタフェースはモデムとのインタフェースでも使用しているもので、制御装置との接続ケーブル上の信号電圧として約±9Vを使用し、比較的長距離な伝送を可能とするものです。規格では約15m長のケーブルを使用して伝送可能となっていますが、ケーブルの状況によってはそれ以上の距離にも使えるようです。短距離であればRS232Cインタフェースを使用しなくても、PICの+5V信号で直接伝送することもできます。今回は距離を確保するためと、RS232Cデバイスを使ってみることを目的に使用しました。 今回使用したANALOG DEVICES社のADM232AANには+5Vの電源から±10Vの電圧を作るDC-DCコンバータを内蔵しているので、回路は非常にシンプルです。 このデバイスでは制御装置側から送られる信号電圧(約±9V)を受け、TTL電圧(0V-5V)に変換します。 PICクロック回路 PICを動作させるためにはクロック発振器が必要です。 発振回路はPICに内蔵されており、外部に発振子を付けるだけです。発振子としては水晶発振子などを使って高精度発振をさせることもできますが、今回はそれほど精度の高い発振をさせる必要はないので安価なセラミック発振子(レゾネータ)を使用しています。PIC16F873の動作可能クロック周波数は20MHzですが、今回の装置では高速動作は必要ないので発振周波数は4MHzにしています。 通信速度などを4MHzで計算していますので、この装置を4MHz以外のクロック周波数で使用する場合には見直しが必要です。 電源回路 表示装置の電源はケーブルを通して操作装置から供給されます。供給される電圧は+12VでLED表示にはそのまま使用できますが、PICには+5Vの電源が必要です。+12Vから+5Vへの電圧変換には3端子レギュレータを使用しています。+5Vの電源はPICおよびデコーダ用ICで使用するだけなので100mAタイプのレギュレータで十分です。 |