1980年代に筆者はSTD-BUS式の工業用コンピュータの製造メーカーに勤務していた。このタイプのコンピュータは、間もなくシングルボードコンピュータに進化したのだが、そのメーカーで最初に手掛けた重要なプロジェクトがA-D/D-Aコンバータを組み込んだマルチポートI/Oボードの機能を向上させることだった。具体的には、A-Dコンバータのビット数を12ビットから14ビットに変更することだった。A-Dコンバータの変換速度は100kHzのオーダーとし、その制御には「Intel 8051」と64KバイトのEEPROM、32KバイトのSRAMを用いた。
いくつかの問題を乗り越えて、何とかプロトタイプ基板の完成にこぎつけた。しかし、その動作は、機嫌が良いときは12ビット精度の出力が得られるが、ほとんどは11ビット精度のデータを出力するというありさまだった。苦労した末、A-D変換が行われている間にマイクロプロセッサが異常動作を起こすという事実を突き止めた。8051をCMOSバージョンに変更するとともに、A-D変換が行われている間はデジタル処理部の動作をスリープ状態にし、変換完了信号によってマイクロプロセッサの動作を復帰させるように変更した。その結果、入力範囲全体にわたって13〜14ビット精度の出力を得るに至り、その製品のうたい文句である「業界最高の特性」を裏切らないものができた。その結果、注文が相次ぎ、営業部門は大満足した。
ここまでの状況は上々だった。だが、それも最初のロットとして25枚の基板を製造し、必要な性能試験と校正を終えるまでのことだった。営業担当者たちの笑顔が怒りに変わる時がきたのだ。試験の結果、不具合があると判定された基板を前に、開発チームの面々は、顕微鏡で観察し、計測器を使いこなし、部品を交換し、基板レイアウトパターンを追跡するといった作業を行った。しかし、すべての作業が無駄に終わった。結果として、製造したもののすべてが使い物にならないという状況だった。
その基板では、入力チャンネルの選択に、アナログマルチプレクサ「4051」相当の部品を使用し、チャンネル間でのゲイン調整用として10kΩの抵抗を使用していた(当時の使用部品はスルーホール型であった)。この抵抗値は、チャンネル選択用スイッチの抵抗値が変動しても影響を受けない程度に十分に大きく、抵抗から発生するサーマルノイズが問題にならず、また消費電流による自己発熱も問題にならない程度に十分に小さい値であった。
「ピン!」と来たのは、正常な基板と不具合のある基板を交互にじっと見つめていたときだった。10kΩの抵抗のカラーコードは、電気技術者なら誰もが知っているように、茶、黒、橙の順に帯状に着色されており、その後に精度を表す色が並んでいる。なんと、不具合の発生していた基板では、10kΩと300Ωの抵抗が入り混じって使われていたのだ。
追跡調査の結果、このような事態に陥った経緯が把握できた。基板の組み立て作業者は抵抗のカラーコードについて理解していなかったのだ。作業時、使用する抵抗は部品箱の表示に従って選択されていた。各部品箱に収納されている部品は、入庫検査表に従って倉庫係が分別することになっていた。抵抗の納入業者は信頼できる業者だったのだが、単価が2米セントより高い場合にしか入庫検査結果は保存されないことになっていた。問題の部品箱に保管されていた抵抗の値を確認した結果、6対4の割合で10kΩと300Ωの抵抗が混在していた。筆者は、納入業者、技術担当者、製造担当者らと率直な話し合いを行った上で、この問題への対策を完了した。
筆者は、カラーコードについて誰かに教える必要があるなどとは思ってもいなかった。もちろん、その後は関係者全員がカラーコードによる抵抗の識別を行えるようになった。
Copyright © ITmedia, Inc. All Rights Reserved.