3ch スイッチ(フタバ CPS-1 的なモノ)
前回、「PIC の I/O から出力できる電流は 25mA 程度だよ。」と書いた。ってことは最初に作った 3ch (AUX) スイッチは最大で 25mA 程度の機器しか接続できないということになる。25mA って LED 1個。これではちょっと寂しい。トランジスタのスイッチ使ってもう少し電流流せるように改良した回路と、ついでにバージョンアップしたソースコードを公開しておく。
まず最初に、使用部品は以下。
・ユニバーサル基盤 100円 小さいので十分 ・8pin IC ソケット 100円 2個入り ・1/4W カーボン抵抗 5.1KΩ 50円 10個入り ・トランジスタ 2SC1815 Y 80円 4個入り ・積セラ コンデンサ 0.1uF 130円 5個入り ・PIC12F629 120円 1個 ------------------------------------------------- 合計 580円 ※価格は福岡の某電子パーツ屋さん価格
当初、これを作ろうと思ったときに目指したのはフタバの CPS-1 という製品。買うと確か 3000円くらい。しかし、自分で作ればコレ相当なモノがわずか 580円!(工具やらハンダやらケーブルやらは余りが家にあるの前提。)大人のホビーを目指すなら是非自作してみて欲しい。
ただし、完全に CPS-1 互換というワケではない。トランジスタに 2SC1815 を選んでいるので、流せる電流は最大 150mA となっている。CPS-1 は 200mA とかなってた気がしたのでちょっと少ない。
ちなみに、2SC1815 は増幅度 120~240 の Y を選択。ベース電流を約 1mA にしているので、増幅度が最低の 120 だったとしたら 1mA x 120 = 120mA となり、その程度の電流で抑えておくのが良いんだろうと思われる。LED だったら 20mA x 6 個。足りないなら別のトランジスタ使うといい。
参考までに 2SC1815 のベース電流 1mA というのは... 6V(受信機電圧) - 0.6(ベースエミッタ抵抗分) / 5.1kΩ = 約 1mA となっている。PIC の最大電圧は 5.5V だけど 受信機からの 6V そのまま入れてるってのは前回の回路図と同じ。ってことで回路図は以下。
渡り線使えばもう少し基盤を小さくできるが、作りやすさを重視した。これでも 15m x 25m くらいと十分小さいと思われる。
受信機からのパルス信号を GP3 で受け、Hi/Lo を確認して GP2 をオンオフしている。GP2 はトランジスタのベースに繋がっているので... GP2 がオンじゃないとトランジスタの先に繋げる機器に電気が流れない。0.1uFの積セラコンデンサが PIC12F629 の VDD と VSS に接続されているが... IC に対して 0.1uF の積セラを接続するというのは定石らしい。誤動作防止のおまじないになるとかなんとか。
そしてこの基盤に乗せる PIC12F629 用のプログラムソースは以下。対応する MPLAB IDE 8.60 以上、HI-TECH C は 9.81 をターゲットとしている。
そう言えば前回のソースも HI-TECH C 9.81 用なので、未満のバージョンを使っているとコンパルエラーになる。HI-TECH C は 9.80 と 9.81 で PIC の各種レジスタ用の定数名が変更になっているのよね。なぜ 0.01 程度のマイナーバージョンアップでこれだけ大がかりな変更をしたのかは謎だけれども... 過去の資産なんてない身分の人は素直に 9.81 用の定数名を使っておいた方がいいと思われる。
さらにいうと、このソースはアナログ付きの PIC12F675 がターゲットでもそのままコンパイルできるようになっている。PIC12F675 を使う場合は I/O のアナログをオフにする(デジタルにする)必要があるので、#ifdef _12F675 で ANSEL = 0x00; が実行されるようにしている。PIC12F675 が余ってる人もそのまま使って欲しい。
この回路は I/O 6ピン の PIC の 2ピン しか使っていない簡単な回路。プログラムも簡単だし C 言語だからアセンブラより理解しやすい(と、思う)。ラジコンユーザーのマイコン・電子工作入門としては最適なんじゃないかと思ったり思わなかったりする。
そして、前回のソースコード分の回路図はまた今度。
| 固定リンク
| コメント (1)
| トラックバック (0)
最近のコメント