リレー切替基板もIR対応にしてみる!の巻き。 2021.1.28
電子ボリュームを赤外線リモコン対応(その1 その2)したところ、リレー切替基板についても赤外線対応に
できないかとの問い合わせもあり、すこし考えてみることにしました。
リレー切替基板での切替方法はスイッチあるいは可変抵抗器を外付けすることを基本としていますが、
基板端子のポートも多くでているので対応は可能です。それに、搭載しているPICも28Pinのものなので
容量的にも余裕があります。
ただ、PICの改造検討にはこの基板が必要なのですが、製作したものはすでにEVC72320Tとともの実機に組み込んでしまっているので、
それを使うことはできません。PIC単体でのプログラム検討もできますが、電源電圧の監視機能なども入っているので、
やはり実際の基板がないと動作の確認がうまくできない可能性があります。
ということで、もう1枚作ってみましょう。
リレー切替基板です(関連検討記)
こんな感じで実機にいれています。
もう1枚つくる・・
リレー切替基板の特徴としては、動作モードが4つありスイッチで切替える場合や、抵抗器で切替える方法
をとることが可能です。これは、できるだけ配線数を減らして接続できることを意識したためです。
そのため、ある基板端子は動作モードによっては、基板端子が出力モードになったり、入力モードになったりします。
各種の動作モードの確認のたびに、配線しなおすのはとても面倒です。
基板端子を出力モードで使用(選択したリレー番号をLEDで示します)
基板端子を入力モードで使用(動作させるリレーをロータリースイッチ等で選択します)。
そのため、端子にLEDとスイッチの両方を取り付けておけば、いいのでは?と思い下記の
ような回路を考えてみました。LEDにあるていど電流を流すために抵抗値は1kΩとしていますが、
端子を入力モードにするとPIC内部のプルアップ抵抗値が高いので、LEDのVf(約2V)程度に端子電圧が落ちてしまいます。
そうなれば、端子はLOWかHIGHのどちらかきまらず不定になってしまう可能性があります.
なお、PICを5Vで動かした場合のHIGHレベルは4V以上、LOWレベルは0.8V以下が要求されます。
そこで、LEDを2連にしてVFをかさ上げすれば入力レベルを4V以上にできそうです。
この回路だと端子を入力定義とした場合に、端子電圧が2Vになりレベル不定になりかねません。
LEDを2連にしてVFをかさ上げすれば、端子電圧を4V以上にできそうです。
念のため確認・・・・
上記のようなことを考えていますが、実態がよく分かっていないのがPIC内部のプルアップ抵抗がどのくらいかと
いうことと、入力端子のHIGH/LOWレベルの閾値がどこのあたりにあるかということです。これらの値によっては
ひょっとしてLEDも1個だけでよかったりします。
そこで、簡単に調べてみました。
まずは、PICのI/Oを入力モード(プルアップ有)として、外部に47kΩの抵抗を接続したところ、入力端子の
電圧は2.68Vになりました。このことから、PIC内部のプルアップ抵抗値はおよそ40.7kΩになります。
おもったより低い値でした.Weak PULLUPとあったので、弱いのかな〜と感じましたが普通ですね.
つぎに、入力電圧を可変したときのH/Lの判定を調べてみましたが、下図のようになりました。カタログでは
H,Lともそれぞれ4V以上あるいは0.8V以下となっていますが、実際には電源電圧によらず1.2V以上でHレベルで、
それ以下がでLレベルと判定されるみたいです。
これは意外でした.電源電圧の1/2が閾値になるかと思っていたのですが.。
でも、この閾値が1.2Vであればダイオード1個でもHighレベルとなるには十分なようです.
およそ1.2VがHighとLowの境界値のようです(5V動作時)
電源電圧が3.3Vのときも、およそ1.2VがHighとLowの境界値です.
基板を作成しましょう!
今回はリレーの代わりにLEDをとりつけました。というのもリレーだとどれが動いたか分からないからです。
そのためにLEDをとりつけるなら、最初からLEDにしてしまえということです。それに、チップ抵抗とチップLEDを
使えば、基板上のパターンをつかってうまく取り付けることもできます。
そして入出力が切り替わるピンの部分にはすこしVFの高い紫色のLEDをとりつけて、入力定義のときに
ピン端子電圧が2.7V以上になるようにして確実にHIGHレベルになるようにしておきます。
リレー駆動のFETのところの2012サイズの部品用のパターンを利用して
チップ抵抗とチップLEDをとりつけました..
チップ抵抗はテープ(100個単位)で買うと、砲弾LEDより安く買えます.
入出力ピンのところにもLEDをとりつけました.ここは少しVFの大きい(2.7V)の
紫色のLEDをつかいました.
PICプログラムの改造用の基板が完成しました。
プログラム改造にかかりましょう 2021.1.29
プログラムについては以前につくったものをベースにするのではなく、白紙からの作成です。
というのは、この基板用のPICプログラムを書いたのが9年前になり、ちょうどPICプログラムを始めたころです。
そのころから比べると、プログラムの作法もだいぶ変わってきたこともあり、過去のモノをベースにするより
白紙から作った方が早くできそうだからです。もちろん、白紙といってもひな型になるベースはありますけどね。
色々とできるな〜
プログラムを書きながら、色々と思うことがでてきました。
単純にたくさんあるリモコンのキーに選択するリレーチャンネルの1〜6を割り当ててもいいのですが、ひょっとして
リモコンのキーの余りが少ない場合も考えられます。私の場合は、スピーカ切替用にリモコンキーを全部で18個も
割り当てています。当然のことながらテンキーはすべて予約済です。 それを考えるとを
リモコンキーの割り当ては1個だけにして、1回押すとシーケンシャルにチャンネルが変わる
ようにできると便利かもしれません。
また、基板自体は6チャンネルの切替ができますが、実際には6チャンネルも使わないこともあるでしょう。
たとえば4チャンネル分しか必要ない場合でも、シーケンシャルに変更する場合に使わない5,6チャンネルも
経由しなればならないのも操作量が増えてしまいます。これを考えると、最大チャンネル数も指定できるように
するのも便利かもしれません。
で、どうやって設定するか?
基板上に設定用のジャンパーがたくさんあれば、基板上で設定できますがジャンパーピンは2つしかありません。
どちらも動作モード設定につかいますから予備はありません。そこで、リモコンの学習時にキーの押し方に情報を
与えるようなことをしてやりましょう。
基本的には6チャンネルのリレー用に6個のキーを割り当てるわけですが、例えば下記のようなことを考えてみましょう。
パターン1: 学習にすべて異なる6個のリモコンキーを押す → それぞれチャンネル1〜6の選択に割り当てる。
パターン2: 学習時に2回同じキーを押す → シーケンシャルでチャンネルが変わるキーとする。
パターン3: 学習は最初の4回は異なるキーを割り当て、5回目は4つの目と同じキーを押す。→最大チャンネル数を4に設定する。
なんとかできそうな気もしますが、なんかややこしくなるかな?
まあ、とりあえず基本となる部分ををつくってから機能は追加していきましょう。
夜な夜なプログラムを書きかき・・・・ 2021.1.31
この週末でできるかな?と思いましたが、休日はだらけちゃうな〜。
必要なI/O(LED、赤外線受光モジュール、スイッチ)を取り付けてICSPでプログラム開発です。
完成! 2021.2.4
ようやくソフトが完成しました。結局のところ赤外線リモコンの学習については1回の操作で
済むようにしました。
1)6chのすべてを使い、個別選択とシーケンシャル切替も可能にする。
すべて異なる7つのキーを学習させます。例えばtリモコンのキーで順番にA〜Gと順に7回押せば、
A・・ch1選択
B・・ch2選択
C・・ch3選択
D・・ch4選択
E・・ch5選択
F・・ch6選択
G・・シーケンシャル切替
と設定します。
2)使用するチャンネルを4ch(1〜4)に限定し、個別選択とシーケンシャル切替も可能にする。
無視するチャンネルのときは、前と同じキーを押します。たとえばA→B→C→D→D→D→Gの順に学習させると
A・・ch1選択
B・・ch2選択
C・・ch3選択
D・・ch4選択
G・・シーケンシャル切替
と設定します。なお使用するチャンネル数は1〜6で任意に設定可能です(1の設定は意味がありませんが・・・)。
3)使用するチャンネルを4ch(1〜4)に限定して、シーケンシャル切替のみ使用する。
たとえばリモコンに割り当てるキーの数が限定される場合などの設定です。ch1選択のキーとシーケンシャル切替
のキーを同じにすれば個別選択は無視されて、シーケンシャル切替のみになります。
たとえば、A→B→C→D→D→D→A と押せば使用するチャンネルがch1〜ch4のみとなり
Aキーがシーケンシャル切替キーとなります。
なお、ちょっと面倒なのがチャンネル数を制限は赤外線リモコンの学習で行うので、赤外線リモコンを使わない場合は
デフォルトの6ch使用となります。チャンネル数を設定してから、赤外線受光モジュールを取り外すということも可能ですが、
これってあまり意味がないでしょう。
操作マニュアルをつくっておきましょう! 2021.2.5
いつものマニュアルの形式にまとめました。単に、前のマニュアルをすこし変更しただけですが・・・・
ここ → RELAY6_IR_Manual.pdf
いままでのPICとは違うことがわかるようにラベルに”IR”を入れました。
リリースは週末日曜日の夜に行う予定です。
#週末は大阪へ宿泊出張〜〜。自宅から1時間弱の場所ですが、たまにはホテルでのんびり・・・・です。
リリース 2021.2.9
もうすこし早くリリースしようと思っていましたが、追加でちょっとだけ手を入れることになり若干遅くなりました。
何を手を加えたかというと、MUSES72323をつかった電子ボリュームも検討しようかと思っていますが、
おそらく入力切替にはこの基板が使わえる可能性もあるので、基板間の連携が可能なように
すこしだけ鼻薬を添加しました。もちろん、これは仕様には未記載の部分です。
リリース名称は
基板込みが「リレー切替基板(対応版)」
PICのみが「リレー切替IRR版用PIC」
としています。いつもの頒布のコーナのアクセサリのコーナに追加しました。
(一旦お開き)