獣医さんの電子工作とパソコン研究室 |
28-2.ピンク電話課金信号発生器の製作 |
|
ピンク電話(公衆電話)を引くためには、専用の回線(課金信号が乗ってくる回線)が必要です。ビジネスホンやISDN回線などでは課金信号がないため、それらのアナログ電話機の接続口に接続してもピンク電話が使えません。 そこで、いろいろ研究と実験を重ね、最終的に実用になるものを製作いたしました。 ピンク電話の課金信号については28-1で紹介しております。 以下の機器を、公衆回線に接続いたしますと法律違反となりますのでご注意ください。 |
1.全体回路 全体的な構成は図のようになっております。 主要なコントロールをする部分に秋月電子より販売されているPIC-BASICモジュールを使用しました。 |
|
インタプリタで動作するBASICですので、動作速度や割り込みがないなどの問題はあるものの、N88-BASICの時代から慣れ親しんだ言語であるということ、デバックが楽に出来るということ、PIC16F877を使用しているのでI/Oピン数が多いということで選んでいます。あまりHP上にも情報がないですが、最近参考文献4の本が出ましたのでご参照ください。結構なことが出来ます。 |
制御部回路図 (図をクリックで拡大) | CPU部回路図 (図をクリックで拡大) |
1-1.制御部
課金信号制御部ですが、それほど複雑な回路ではありません。 RL1、RL2は2回路のリレーでOMRON G5V-2を使用しました。局線とピンク電話を直接繋ぐか反転制御をするか切り替えるためのものです。最初はこのバイパス回路をつけなかったため、ピンク電話からの発信では正常に動作したのですが、着信時にベルが鳴らないということが起きてしまいました。 反転制御側の回路ですが、最初に回線の極性が反転したことを検知するフォトカプラがあります。 実験で電流制限用の抵抗だけでやってみたのですが、うまく動作せず、手元にあった9Vのツェナーダイオードで定電圧にして使用し、逆電圧防止のダイオードを入れました。 28-1の実験では、この極性検出回路を切離すリレーを使いましたが、必要ないことが実験でわかりましたので、入れてありません。極性が反転するとフォトカプラがONになりRA.Bit1はLowとなります。 次にある、ブリッジダイオードですが、28-1の実験時にはありませんでした。CPU基板を製作し、実験したところ、どうしても回線側の極性が反転する際に28-1で紹介した回路では一瞬ピンク電話側にかかる電圧が反転しており、これが災いして正常に動作しませんでした。そこで、回線側の極性が反転してもピンク電話側の極性は反転しないようにブリッジダイオードを入れました。 RL3(RA.Bit3)とRL4(RA.Bit4)は課金信号を作り出す1回路のリレーです。OMRONのG5V-1を使用しました。28-1では2回路のリレーを使用して一発で反転していましたが、コインが返却口に戻ってしまうため、うまく行かなくて色々実験している段階でこのような形に落ち着きました。 RA.Bit0につながっているフォトカプラは電流検出回路です。受話器を上げ、回路が接続されると電流が流れますので、それを検出しています。 4.7μF 50Vのコンデンサが変わった使い方をしていますが、電解コンデンサを無極性で使用する場合の方法です。 DTMFの検出回路ですが、何にもわからないのでHP上でみつけた電話録音アダプタの回路を応用しました。これでよいのかは不明ですが、動作しています。22μF 50Vの電解コンデンサもで無極性としてあります。また、実験でスパイク状の電圧が観察されていたので、心配なためダイオードによるクリッピングを行っています。 1-2.DTMF CPU基板上のDTMFレシーバー(デコーダー)は定番のLC7385を使用しています。現在では廃止品種となり入手が難しかったので、TAのジャンクに付いていたものを外して使用しました。DIPタイプではない面実装のICで、ピン間が1.27mmでしたので、ユニバーサル基板の裏面のホール穴をカッターで半分に切り、そこへはんだ付けし、ポリウレタン線で各ピンを引き出しました(変換基板を使えばよかったのですが、すぐに実験したかったのでアマチュア的にやってみました)。 |
|
|
はんだ付けはルーペで見ながらの作業でした。X'tal等はICとは反対面につけてあります。 | |
DTMFレシーバーICは他に、 LC7387, LC73872, MC145436, HT9170, LR4102, CF8223Aなどがありますが、いずれも入手が難しそうです。 |
1-3.CPU部 CPU部の回路はオーソドックスなものです。電源には5Vのスイッチングレギュレーター型ACアダプタを使用しておりますので、基板上に電源回路はありません。 また、I2Cを使った外部EEP-ROMのソケットもありますが、通話ログを保存しておくのに使おうかと思い回路図上には書いてありますが、今回の機能の中では使用しておりません。 |
|
1-4.RS232C外部レベルコンバーター内臓ケーブル CPU基板上にはRS-232Cのレベル変換部分は載せず、ジャンクのケーブルの途中に変換部があるものを改造して使用しております。 |
|
|
Konicaのデジカメ用データリンクケーブルと思われるものを吉野電装さんで以前購入しました。 (Model No. DT-QM-3501) 中間のケースの中にPICと232Cレベルコンバーターが入っています。 改造後の回路図です。↓ |
2.ソフトウェア 下の写真のように、CPU基板を作ってから、さらにいろいろ実験しながらソフトウェアを開発しました。 BASICですので説明するまでもなく簡単です。 それほどシーケンス的には複雑なものではないのでプログラムリストを見ていただければすぐにわかると思います。 しかし、実験してみるとタイミングのとりかたなどで思ったようにピンク電話が働いてくれなかったり、回線が切断されなかったりと、実用になるまでには制御部回路と含めて試行錯誤でかなり時間がかかりました。 |
プログラムフローチャート (クリックで拡大) |
|
|
課金単位時間の設定方法ですが、ダイアルする電話番号の上3桁で判断するようにしてみました。1桁目がゼロか1で市外通話で、2〜9で市内通話という判定にしました。電話番号の上3桁の数字をPIC-BASICの内部EEP-ROM(256バイト)のアドレスとしても足りるデータ数です。そのアドレスのデータが課金時間(秒数)です。市外局番によって算定基準をもっと細かく設定することも出来ますが、面倒なので課金データ書込みプログラムではNTTのマイラインプラスの電話料金に設定してみました。 課金データの書込みにはテキストデータを読み込むなど特別なプログラムを用意していません。PIC-BASICのデバッグモードで書き込み用プログラムを編集走らせます。もちろん、その後に本体のプログラムを再書込みする必要があります。 経過時間の測定には 参考文献4 に出ているストップウォッチの製作例でPICのTMR2を使う方法がありましたので試したのですが、SLEEPでタイミングを取っても同じなので、あえてTMR2を使いませんでした。SLEEPでのウエイト数は、参考文献4に出ている方法で時間を計測し、数値を決定しています。 正確な秒数ではありませんが、ほぼ近い秒数で課金信号が送出されます。 |
|
|
|
|
|
これらプログラムファイル拡張子はPIC-BASICの .pb となっていますが、 テキストファイルですので、テキストエディタなどで見ることが出来ます。 |
|
実験中の様子です。 |
|
3.製作・実装 ちょうどジャンク箱の中にあった、昔DDIより支給された電話会社選択アダプターのプラスチックケースに組み込みました。 どのような形で実装するかを考えるのはとても楽しいですね。 今回もPテレホンの下に置く形も考えたのですが、ちょうど良い大きさのケースが見つからなかったので、ジャンクケースを流用しました。 内部はユニバーサル基板がぴったりの大きさで、LCDディスプレイの穴もありますし、中のプラスチックの出っ張りを切り取る程度で、穴あけ加工などはほとんどせずに済みました。 |
|
|
|
CPU部基板 |
制御部基板。 何度かの回路変更でジャンパーが多くなりました 部品もTAなどのジャンクより流用しました。 |
回路図にはありませんが、局線側、ピンク電話側ともモジュラジャックとしましたので、極性切替用のスイッチを設けてあります。 |
|
|
動作の様子 | |
待機中の表示 参考文献4を参考にして、LCDディスプレイのCGRAMにハンドセットの絵柄を登録して使ってみました。 |
|
ダイアルしているところ DTMFをしっかり解析している |
下段左に単位課金秒数、 右に経過時間を表示 |
4.PテレホンU | |
ACアダプタ(8V 400mA)が外付けでうっとうしいので、内部に隙間がありましたので内蔵するとともに、接続用のコードをモジュラにしてしまいました。 | |
別に今回の内容とは関係ありませんが、Pテレホン内部の様子です。 | |
|
|
ネジ3本で全てバラバラにできてしまいます。 よくできていますね。 |
|
5.まとめ |
考案・計画より既に何年かたち、やっと出来上がりました。 実際に動作した時は嬉しかったですね。 理論はかんたんなのですが、ちょっとしたことでうまく行かない部分が多々ありました。 この程度の回路ですから、Pテレホンの内部に内蔵してしまうことも可能だと思います。 今回の製作では当初の目的が達成されたのでつけていませんが、CPU周りにスイッチを追加して、課金情報を本体だけで変更できるようにしたり、I2C EEPROMを使用して、通話データを保存したりすることも簡単に出来ると思います。 秋月PIC-BASICの感想ですが、たいへん開発に便利です。 私のようなフローチャートを書かずにカット&トライで実験する人間にはうってつけです。 開発者様、ぜひタイマー割り込みの部分を追加して下さい。 そうすれば応用範囲がすごく広がると思います。 |
|
■ 主に参考にさせていただいた本・サイト ■ | |
*1 |
CQ出版 トランジスタ技術SPECIAL No.8 特集:データ通信技術のすべて |
|
New release 2006/3/13 Up date 2006/3/17 |
|