MS-1005 Lecture time alarm [May, 2010]

 受注案件です。講演の主催者は、講師が時間通りに話を終えてもらうことに結構な神経を使います。会場の広さや講師の個性にも寄りますが、"あと何分"と大書した紙を掲げるような方式では、なかなか思うように講師の注意を喚起できないようです。
 設定した時間に警告音を出すアラームは各種市販されていますが、音を出して警告することに抵抗のある場面もあると聞き、もう少し穏やかな方式を採用しました。

 手前に写っている端末を主催者の席に置き、本体は演壇に設置、両者の間をLANケーブルで接続します。間違ってもPCやnetworkにつないではいけません。あくまで、長さの選択肢が広く、簡単に手に入るcableという理由で採用しただけのことです。

 本体はY社のISDN routerの残骸を加工したもので、電源部はそのまま流用しています。端末は赤外線keyboardの受光部だったもので、中身を全部外して追加の穴加工を施しました。
内部構造
 外枠の左側に元からついていた基板(左端に写っている緑の基板)の大半は表面実装部品が搭載されていました。高さのある部品は邪魔になるので撤去し、背面に出ているコネクタ類も流用するもの以外は撤去。
 この基板の上にICを並べた主基板を乗せています。

電源部は、ケースの底面付近に水平に実装されています。ここからはDC+15Vが出てくるので、順次12V→5Vを三端子regulatorで作り、振動モータに使う3Vは12Vから落としています。これらの追加回路は放熱板を兼ねるアルミ板に実装し、外枠の右側の壁に実装しています(ここには別の基板がついていましたが、そっくり撤去)。
 アルミ板は小さめのが別にあり、ここに振動motorを接着しました。これが振動して警報を出します。
 
見にくいですが、左に垂直に立っているのが15V電源。下の壁に貼りついているアルミ板のうち、左が三端子レギュレータを並べた電源部、右が振動motorを接着した振動部です。
基板群
右側が表示部。この基板は元からついていたもので、大半の部品を撤去しました。ケースの前面に裏から固定される構造をそのまま流用するための選択です。
7 segment LEDは基板を切り欠き、別の小さな基板に固定したものを接着することで前面板との間隔を適正に保っています。
その他のLEDは全部緑だったのを、一部を赤に交換。スイッチの跡地に実装したのは、黄色の自己点滅LEDで、警報の主役です。
 左が主基板で、今どき珍しいTTLで構成しています。手持ちがあったからと言う単純な理由で採用しました。ここで使わなければ確実に廃棄処分が待っていると思えるものです。スイッチのチャタリング吸収回路だけは時定数の設定の都合からCMOSを採用しています。
 基板の裏側
表示部の背面には小さな基板に組んだLED駆動部が隠れています。古めかしいdiode matrixを立体的に実装。

主基板の上に既存の基板を流用した1秒パルス発生部を乗せた状態が最終形です。
背面
 本体の背面にあるRJ45ジャックは四連の部品のため分割できなかったので、使わないジャックは隠しています。
 前面のLED部と同じ赤いplastic板ですが正体は100円ショップの下敷。

 その上のD-sub 9 pinは振動motorを外付する可能性に備えて残しました。
 回路の説明: まことに姑息な構成なので、改めて解説するのも気が引けますが、回路図を参照してお読みください。

(1) タイムベース: 京セラの発振モジュールから1kHzを取り出しました。モジュールの出力は1.2Vと4.5Vの間を振れる矩形波のため、comparatorでTTLに変換。もっと簡便な変換方法もありますが、ともかく手持ち部品の活用が最大の条件だったので、豪華な回路になっています。そこから10進と6進counterを重ねて1Hz(1秒)まで持ってくる回路は、ずっと昔に基板に実装したのを発掘。そっくり切り出して転用しました。

(2) Counter: 5分からdown-countするには、up-down counterのICがすぐに浮かびますが、手持ちがありませんでした。普通のup counterを使い、表示だけ4→3→2→1→0と下げて行くことで妥協。そのため、通常のBCD-7 segment decoderは使えないことになり、BCD-binary decoderとdiode matrixを組合せています。1970年代の技術という感じですが、その時代にTTLを学んだ人間としては、全く違和感がありません。
 当初は、time-upまでcountしたら、その信号をlatchし、alarm処理に移行することを考えていました。
思考実験の結果、alarmを出したままずっとそのままというのは大人げないと思い当たり、何らかの順序回路を組んで後始末をすることに変更。それなら、そのままcountを続けて、後始末も同じ時間軸で処理する方が簡単だと思いつきました(ここに至るのに、朝の通勤電車で考え込むこと一週間というのですから、思考回路の劣化は隠しようもありません)。結局、10進counterをそのまま走らせ、alarmは2分間継続、その後counterを停止してsleepという動作に落ち着きました。Alarm発出中でも、端末のresetを押せば、警報を解除して初期状態に戻ります。次の講演のときには、端末の"あと5分です"ボタンを押せば、count-downが始まります。組み上げた時点では、端末のresetを受けて待機している状態でも"4"が表示されました。これは不自然なのでgateを追加し、"あと5分"信号が来るまでは表示を消しています。

(3) Alarm回路:
 Alarmは二種類出していて、一つは振動motorによるブルブル。もう一つは本体の前面にあるLED計4個の点滅です。

(4) 使用部品: 端末からの接点信号はphoto couplerで受け、logicの入力が外からは見えないようにしています。
LEDやmotorの駆動にはuPA57を使っています。これは大変古いダーリントンTrアレイで、ずっと部品箱に眠っていました。74LS240はたくさんinverterが必要なのに、何故か74LS04の手持ちがなかったための起用です。Schmitt triggerの機能が必要なところは74HC14を入れていますから、LS240の必然性は全くありません。実装密度を稼いだと言い訳しておきます。
 動作中

 端末の"あと5分です"を押すとすぐ上にあるLEDが点灯して、本体が起動したことを示します。
これがないと、端末側で本体の動作が見えず、不安になると思いました。同時に表示部に4が点灯し、右隣の緑のLED3個(count down動作が始まったことの表示)もonになります。
 Alarm動作中

 7 segment LEDの左上にある自己点滅LEDが動作、これとは同期しないでケース右端の赤いLEDが点滅します。同時に振動motorも断続的にonになり、ブルブル言い出します。この状態が2分間続き、その後停止する仕掛けです。


 まとめ

 今どきTTL ICを並べてこんな回路を組む必然性は、全くありません。PICやAVRで簡単に片付く工作物です。
 手持ち部品を何とか活用したくて、74シリーズなら型番と機能が自動的に結びつくという時代の人間だから作ったと言えます(CMOSの4000シリーズはdatasheetがないと無理)。

 当初は555 timerやrelayなどを使った順序回路を考えていました。そのため、12V系の電源を用意しましたが、結果的にLEDの点灯にしか使っていません。それならLEDを直列につないで消費電力を押さえるのが筋ですが、基板の既存の配線を利用したために5V系でもこなせる回路になってしまっています。
 言い訳はあれこれあるものの、いつか使うかも知れないと保管していた部品が活用できたのが最大の収穫でした。
topに戻る。
Copyright(C) 2010/2012/2018/2019 CPU.BACH. All rights reserved.