Top > 柏手スイッチ

#ad_banner(google_728x90.txt)
*音声スイッチ部 [#k097daf8]
#table(start)
#ref(kashiwa.gif)
#ref(kashiwa1.jpg)
#table(split)
2回路入りのオペアンプ(LM358)を用い、コンデンサマイクからの信号を一段目のオペアンプで増幅し、2段目のオペアンプ(比較器を構成)で波形整形を行っている。
抵抗、コンデンサの値は適当(笑)。
一応説明すると、抵抗(R1)でコンデンサマイクにバイアスを与え、コンデンサ(C1)で一段目のオペアンプに結合して、DC成分をカットしている。
抵抗(R2,R3)は動作点を決めていて、抵抗(R4,R5)は増幅率を決定している。
2段目のオペアンプに付いている抵抗(R6,R7)は比較器の基準となる電圧を決定している。
写真は、ブレッドボードでの実験風景
#table(end)

*PIC部 [#w688ebbc]
**回路の説明 [#f8ba721a]
#table(start)
#ref(kashiwa_pic.gif)
#ref(pic1.jpg)
#table(split)
回路は一番上の図の様に非常に単純なもの
5Vスタンバイ(+5VSB)は、電源が入るとダウンするため、+5Vもつないで、最後の釣り銭動作を行っている。D1,2はそれぞれ電流の逆流を防いでいる
R1は、賽銭スイッチ用プルダウン抵抗。
Soundは、音スイッチの出力がつながる。
C1はノイズをカットするバイパスコンデンサ。
Xtalは外部水晶発振子。R2〜R4はLED駆動用抵抗。
R5とトランジスタはリレー駆動用、D3は、逆起電力を除去するため。リレーは釣り銭を出すためのソレノイドを駆動する。
#table(end)
**動作の説明 [#y1c0cf60]
#table(start)
#ref(pic_kashiwa.jpg)
#table(split)
賽銭スイッチ、柏手(音声)スイッチからの信号を処理する。
まず、スリープして、賽銭スイッチからの信号を待つ。
賽銭スイッチからの信号を受けたらウエイクアップし、LEDを点灯する。そして、再びスリープして、音声スイッチからの信号を待つ。
音声スイッチからの信号を受けたらウエイクアップし、0.4秒待つ。これは、実際の拍手を波形整形すると複数のパルスになるため、最初以外のパルスを無視するためである。
ウエイトする時間は、1拍手の信号が消えるまでで良いが、人間が連続して拍手できる間隔を考えると数百ミリ秒にしておけばいいことになる。
で、2回の拍手を感知したら、電源スイッチの+側(Ra4)をグランドレベル(Low)にし、少し待って再びHiにする。これにより電源が入る
ここで、2回目の拍手を規定時間内(約30秒)に検知できなければ、プログラムの最初に戻る様にしてあり、ここでも誤動作を防いでいる。
その後、電源が立ち上がったら「釣り銭」を排出する。
最後に、電源のたち下がり(シャットダウン)を感知したら、プログラムをリセットする。
フリップフロップとロジック回路でも作製が可能だが、PICマイコンなら、一度作れば、問題があった場合、回路の大きな変更は必要なく、プログラムを書き直せば良いだけなので採用した。

一応プログラムを公開するが、適当でかっこわるいのをご了承いただきたい。
プログラム
#ref(kashiwa.0.0.3.asm)

写真は、テスト基板での実験風景
#table(end)
*完成した柏手スイッチ基板 [#m83a2af7]
#table(start)
#ref(作製記/kashiwa_pcb.jpg)
#table(split)
音声信号部とPICマイコン部を同一基板に集積して完成。
集積度が悪いが将来的に機能を増設することを考えるとちょうど良いかも。
基板に問題があってか、一つの基板にしたら誤動作をするようになった。
アース周り、プルダウンなどを改善して解決。
#table(end)
*動作実験 [#xc166488]
#table(start)
#ref(pcb_saisen.jpg)
#ref(pcb_kashiwa1.jpg)
#ref(pcb_kashiwa2.jpg)
#table(split)
動作実験を繰り返しながら、音声スイッチ部の半固定抵抗で感度を調整し最適な状態にする。
上の写真から、賽銭が投入された状態。一回目の拍手を検出した状態。2回目の拍手を検出した状態。
#table(end)
*動作確認 [#y08f18d4]
#table(start)
#ref(test.jpg)
#table(split)
実際に、賽銭スイッチ、電源、マザーボードなどと接続して、動作の確認を行う
賽銭スイッチを動作させ、手を二回叩くと電源が入る。実際に成功すると結構感動する。
#table(end)
*取り付けて完成 [#xc466fc5]
#table(start)
#ref(FrontPage/indicator.jpg)
#ref(sb.jpg)
#table(split)
本体正面に状態表示用LEDを取り付け、本体基板をフレームに取り付け、完成。
回路を駆動する電源は、ATX電源にあるスタンバイ(5VSB)ラインから取っている。そのため、電源ケーブルを一部改造した。
もしかしたら、他にスタンバイ電源を取れるところ(たとえばキーボード用PS2?)があるかもしれないが、情報が見つからなかった。
#table(end)

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes