電子工作73 – 振動を検知して無線で受信器に送るワイヤレスアラームの製作

 

 

概要

   電波で離れたところにあるリレーをON/OFF出来る小さい送受信モジュールが比較的安価に入手できることを知りいろんなことに使ってみたくなった。今回は振動センサで検知した"振動が加わった"という情報を30mとか50mといった離れた場所の受信器で受け取る実験を送受信モジュールを使って行ってみた。例えばこんなことに利用できるかも; 部屋の外に止めてある自転車に振動センサ付きの送信器を取付けて置き、自転車を動かすと部屋の中に置いてある受信器に信号が入りLEDを点滅させたり、ブザーを鳴したりさせる - 盗難防止。

 

製作にあたって考えていたこと

1) 送受信モジュールの使い方を学ぶ。

2) PICマイコン(12F629)と割込みを使って送信部の電力消費を極力抑える方法をつくる。

3) プログラムは出来るだけ簡単にする。

 

材料

1)     送信器: 315MHz/2CH  S-RC2260AR4-2CH625   入力キーA,B  8ビットアドレスコード設定可  電池DC12V内蔵  秋葉原aitendoにて¥500で 購入

2)    受信器: 315MHz/3V RX315-K1L4-3V  DC3Vリレー1個付き  キー入力の学習機能付き  LatchまたはToggleの選択可―今回はLatchに固定  aitendoにて¥450

3)    振動(傾斜)スイッチ(センサ): SW-18010P  検出方向は全方向  反応時間は約0.1ms  静止時は導通なし 完全密閉式  aitendoにて¥100

4)    その他の材料: 電池ケース  12F629  3Vリチウムコイン電池  電子ブザー  基板  合計約¥600

 

回路図

下図は送信側(ワイヤレスアラームセンサ部)の配線図を示している。外から軽い衝撃が加わると振動スイッチ(センサ)が一瞬(約0.1ms)導通し、12F629へ割込み信号を送り、PICをSleep状態から覚醒させ、メインプログラムのルーチンを実行し、ホトモスリレーの内部LEDを点灯させて送信器のキーAを押したと同じように導通させる。そして電波が飛び出す。今回使った振動スイッチは通常の傾斜スイッチと違い、全方位の振動に反応し、静止状態では導通していない。そのため、電源に直列にテスターを入れてシステム全体の電流消費を測ってみると静止状態では0.1microA以下と非常に小さいこの電流消費値だとリチウムコイン電池で1年以上も持つ計算になる。一方、普通のボールを用いた方向性のある傾斜センサだと、ボールが内部で端子に接触しているか、どうかによって、電流消費が0.1microAか70microAとかに変化する。70microAは容量165mAh程度のリチウムコイン電池にとっては無視できない消費電流である(それでも2ヶ月位は持つ計算になる)。組み込んである送信器の12V電池はどれ位持つか不明。

 

  下図は受信側(ワイヤレスアラーム受信部)の配線図である。送信側から送られて来た信号は500ms間内蔵の緑色LEDを点灯させ、同時に内蔵のDC3VリレーをONにして電子ブザーを鳴らす(SWがあるので切ることも可能)。点滅LEDは通電していることを示すために設置した。システム全体の待機時の電流消費が実測で3.5mAとかなり大きい。電源は外に持ち出し短期間使う場合のため単3アルカリ又はニッケル水素充電池を組込め、また室内で固定して使う場合のためにACアダプタ(DC3V)もつなげるようにしてある。 DCジャックを差込むと自動的に電池からACアダプタ電源に替わる。なお電源電池の電圧が約2.8V以下になると正常に動作しなくなる。今回は動作モードをLatch(送信側からの信号が入っている時だけON,、その他の時間はOFF)を選択しハンダで固定した。

 

送信部: 送信器を組込んだ、振動を検知してワイヤレスで送る装置。左下の筒状の黒いのが振動スイッチ、その右に3Vのリチウムコイン電池が見える。左中央部には12F629とホトモスリレーが見える。   Size: W60xL70xH15 mm  (Photo 1)

 

受信部: 受信器は右下に見える。受信中はモジュール上の緑色LEDが点灯する。上の丸いものは電子ブザーである。信号の到着を光と音で知らせてくれる。点灯中の赤色点滅LEDは電源が供給されていることを示す。左の黒いケースには単3電池が2本入っている。現在はACアダプタからDC3Vが供給されている。

Size: W50xL70xH25 mm (Photo 2)

 

送信器の内部からキーAの裏面端子に2本の線をハンダ付けして外に出している。これらを使ってPICとホトモスリレーで端子間を導通させキーAを押したと同じ動作をさせる。

(Photo 3)

 

写真左は受信器モジュールの表面を示す。左の黒い箱はDC3Vリレー、その右の白いものは入力キー学習機能スイッチで、押して緑色LEDが点灯中に送信器の入力キーを押すとそのキーのコードが記憶される。写真右では、左上方にハンダ付けされている2本の線は3Vの電源用。右手の緑の2本の線はDC3Vリレーにつながれている。通常は非導通、信号が入ると導通しブザーを鳴らす。

(Photo 4)                                                                                                (Photo 5)

 

振動スイッチ各種: 左の2つは内部にボールが入っていて傾くとある角度で内部端子に接触して導通するタイプ、チルトスイッチ/センサなどとも呼ばれる。一番右手のものは今回使った優れもので、全角度の振動に反応し、しかも静止時は完全に非導通になる。この点が重要で12F629がSleep状態にある時電流消費量が0.1microA以下になり、コイン電池でも充分持つことにつながる。

(Photo 6)

 

追加回路図(2014.12.26): 送信部からの振動を受けてブザーが鳴る受信部に3Vの小型リレーを装着して電子工作66(簡易タイマ)のリセットスイッチを閉じさせる機能を持たせた。この簡易タイマは冬場に800Wの電気ヒーターに接続して使う。予め簡易タイマで選択した時間が終了するとヒーターの電源が切れる。安全目的である。再スタートさせるにはリセットスイッチを押す必要がある。この動作を無線で遠隔操作しようというものである。送信部に振動を与えるとブザーがなって簡易タイマにリセットがかかる。

 

リレー付き受信部を簡易タイマにつないだ写真: 写真上部の小型プラスチックボックスにリレーを組込んだ受信部が入っている。下のアルミボックスは簡易タイマ(電子工作66)、その下の大型のプラスチックボックスには16AのSSR(電子例レー)が入っている。リレーは発熱するので5Vの小型ファンで冷やしている。そのためのファン駆動用電源も入っている。電線を含め15A(1500W)まで耐えられるように作製してある。この写真では1時間にセットしてあり時間が経つと通電が停止する。ボックス上のリセットSWを押すか、離れたところにある無線の送信部をたたいて振動を与えて受信部を通じて無線でリセットがかけられる。便利!モノグサには最高!

 

結果&コメント

1)     送信器側のユニットに軽い振動を加えると、受信器側のLEDが点灯し、ブザーがなる。結構しっかりと動作する。

2)     何といっても今回使ったような新しいタイプの振動センサ(スイッチ)を見つけたのは大きい。 これでコイン電池を使ったいろんな省エネプロジェクトが出来そう。

3)     材料費の合計は¥2000弱。

4)     無線モジュールの扱い方が少しずつ慣れてきて楽しい。

5)     送信器側の駆動電流は極小に抑えられた。受信器側が3.5mAと大きいので何とかしないといけない。

6)     何に応用するか?

7)     上記のように追加回路図と写真を新たに追加した(2014.12.26)

 

プログラム

このプログラムは発信器側に搭載した12F629用のものである。軽い衝撃で振動スイッチからの短い導通ON/OFF信号が割込みとして入ると、メインのプログラムに飛んで500msの長さの信号をホトモスリレーを通じて搭載の発信器に送る(ここから受信器側に電波が飛ぶ)。そして終了したら12F629を超低電流消費のSleep状態にし、次の割込み待つ。

'****************************************************************

'Name of program: WirelessAlarm1

'WirelessAlarmSensor

'Using 12F629 and PicBasic Pro V2.50A

'2014/08/21

'********Pin connection********

'Pin 1: Vdd (3V) coin battery

'Pin 8: Vss (GND)

'Pin 7: GPIO.0 - Vibration SW

'Pin 6: GPIO.1 - Photo relay

'Pin 4: GPIO.3 - Reset

'********Program************

VibrationSW var GPIO.0

PhotoRelay var GPIO.1

 

TRISIO=%001001

CMCON=7  'Comparator disabled

WPU=%000001 'Weak Pull-up for GPIO.0

OPTION_REG.7=0  'Weak Pull-up enabled    'これ以下の8行が割込みを発生させる要の部分

IOC.0=1  'Detect input at GPIO.0

INTCON.3=1  'Enable port input-level change interrupt

SleepLoop:

PhotoRelay=0  '?

INTCON.0=0  'Clear GPIF

@Sleep  'Assembler command  'このアッセンブラーコマンドで超低電流消費のSleep状態にする

INTCON.0=0  'Clear GPIF

'*******Routine to turn on Photo relay********

High PhotoRelay      'これ以下の4行で長さ500msの信号を作成し、送信器に送って発信させる

Pause 500  '500 ms

Low PhotoRelay

Goto SleepLoop

'*****End of Program******

'Note:

'melabs U2 Programmer's configurations for 12F629:

'Oscillator - INTOSC, WDTE - Distable, PWRTE - Disable, MCLR - Reset, BODEN - Disable, CD - Disable, CDP - Disable

 

 

Wireless Vibration Alarm (English version of the above Electronics Project 73 in Japanese)

  Recently I could get a set of small transmitter and receiver modules, which can transmit and receive radio waves within a distance of 30 - 100 meters using 315 mHz band. In this project I built a wireless vibration alarm using these modules. In this alarm system, the transmitter when a vibration is added to the shake switch (sensor) mounted on the transmitter board transmits a radio signal to the receiver kept 30 – 100 m away from the transmitter, lighting up the green LED and beeping the buzzer on the receiver board to inform the arrival of vibration signal. A 12F629 is used to read an interrupt signal from the shake switch on the transmitter board and then generate a signal to conduct between two terminal pins of Key A on the transmitter (a similar action as directly pressing Key A). The length of the signal produced by 12F629 is 500 ms this time, which can be changed simply by changing the part of its in-built program. The power consumption of this transmitter board is very low and therefore a 3V lithium-ion coin button cell is enough to drive the system for more than one year.

  The power consumption of the receiver board is high or 3.5 mA. The onboard AA-size alkaline or rechargeable batteries can be used only for a short period of time (about 10 days) while AC adapter (DC3V) is suit for indoor use. The flashing LED indicates the power is being supplied.

 

Circuit diagrams

Transmitter-side circuit

 

Receiver-side circuit

 

(Photo 7)

Left: Transmitter board               Right: Receiver board

 

Explanation of Photo 1 – 6 shown above in the section written in Japanese that may be unable to read due to garbled characters:

Photo 1: Enlarged photo of Transmitter board (of Photo 7)

Photo 2: Enlarged photo of Receiver board (of Photo 7). The lighting green LED indicates Receiver is receiving a signal from Transmitter.

Photo 3: This shows the backside of the transmitter's circuit board equipped with two entry keys A and B. Two cables are soldered to two terminals of Key A and they are connected to Pins 4 and 6 of PhotoMOS relay. 12F629’s program makes these two pins of Key A conduct each other electrically when the internal LED of PhotoMOS relay lights up.

Photo 4: The black box shown in the lower left is DC3V mechanical relay while the white key in the bottom center can read and learn individual entry key codes.

Photo 5: This shows the backside of the receiver’s circuit board. The red and black cables shown in the upper section are used for DC3V power supply from batteries or AC adapter while the two green cables are connected to the DC3V relay, which is used to drive an electronic buzzer.

Photo 6: These are called shake (or vibration) switches (or sensors). The two from the left side are contact ball type shake switches, which can close or open internal contact terminals by the movement of ball due to tilt angles. The one shown on the extreme right is used in this project. Its sensing does not depend on the angle, that is, a slight shake to this shake switch closes its internal contact terminals for about 0.1ms and then keeps opening the contact terminals. Because of this unique characteristic unlike the previous two contact ball type shake switches, its power consumption is as low as less than 0.1 microA when no shake is given. Meanwhile, the contact ball type shake switches consume less than 0.1 microA when their ball is opening the contact terminals while it consumes as much as 70 microA when their ball is closing the contact terminals. Therefore, the ball settling position decides the magnitude of power consumption.

 

Comments and conclusions

1)       Giving a slight vibration to the transmitter board will send a 500-ms signal to the receiver board kept more than 30 meters away, lighting up its green LED and beeping its buzzer.

2)       This system can be used to remotely detect a small vibration. Applications capable of using such mechanism may include a door-knock sensor, various burglar alarms, etc.

3)       All the main components were purchased from aitendo in Akihabara, Tokyo; transmitter module 315MHz/2CH S-RC2260AR4-2CH625 with two entry keys, receiver module 315MHz/3V RX315-K1L4-3V with a DC3V relay, shake switch SW-18010P (non-directional)

4)       The total cost is slightly less than 2000 yen.

5)       The shake switch I found and used this time is significantly contributing to the reduction of the transmitter's power consumption.

 

Program

  Though this program for 12F629 on the transmitter board is short and simple, it uses the interrupt to be triggered by the external shake switch and the following sleep function. Therefore, the transmitter board consumes a very little power. The program produces a 500-ms signal and sends it to the transmitter via photoMOS relay whenever an interrupt occurs.

'****************************************************************

'Name of program: WirelessAlarm1

'WirelessAlarmSensor

'Using 12F629 and PicBasic Pro V2.50A

'2014/08/21

'********Pin connection********

'Pin 1: Vdd (3V) coin battery

'Pin 8: Vss (GND)

'Pin 7: GPIO.0 - Vibration SW

'Pin 6: GPIO.1 - Photo relay

'Pin 4: GPIO.3 - Reset

'********Program************

VibrationSW var GPIO.0

PhotoRelay var GPIO.1

TRISIO=%001001

CMCON=7  'Comparator disabled

WPU=%000001 'Weak Pull-up for GPIO.0

OPTION_REG.7=0  'Weak Pull-up enabled

IOC.0=1  'Detect input at GPIO.0

INTCON.3=1  'Enable port input-level change interrupt

SleepLoop:

PhotoRelay=0  '?

INTCON.0=0  'Clear GPIF

@Sleep  'Assembler command

INTCON.0=0  'Clear GPIF

'*******Routine to turn on Photo relay********

High PhotoRelay

Pause 500  '500 ms

Low PhotoRelay

Goto SleepLoop

'*****End of Program******

'Note:

'melabs U2 Programmer's configurations for 12F629:

'Oscillator - INTOSC, WDTE - Distable, PWRTE - Disable, MCLR - Reset, BODEN - Disable, CD - Disable, CDP - Disable

 

 

Menu Pageへ戻る

Topへ戻る