Raspberry Pi用のリレーを試す

Pocket

Raspberry Pi用のリレーを試してみたかったので、次の製品をAmazonで購入しました。

Kuman リレーボード Raspberry Pi用電源リレーボード 250V AC/5A 30V DC/5A負荷 拡張ボード モジュールキット Raspberry Pi A+/B+/2b/3b用リモートコントロール K82

Amazonの説明文に次のように書いてあります。

完全なマニュアルの情報を提供する(wiringPi、WebioPi、shell、python、 bcm2835と他のチュートリアルを含む)。

ですが、どこにもマニュアルが見当たりません。製品の箱には紙類が入っていませんし、ネットで検索してもドキュメントは見当たりません。海外のレビュー等を見ても、マニュアルが無いとみんな言っています。

たぶんここが公式のマニュアルの掲載ページで、「ここに無かったらメールで聞いてね」と書いてあるので聞けば良いのでしょうが、家電製品を買ったら説明書を読む前にまず電源を入れちゃう私としては、気づいたときにはラズパイにつないで電源をONにしているわけです。

基板のシルクを見ればだいたい仕様はわかります。想像した仕様とあっているかを確かめます。今回使用したのはRaspberry Pi 3 Model Bです。

テスターを導通していたらブザーが鳴るモードにして、リレーに繋ぎます。

そして次のようなコマンドを実行して、GPIOの出力状態を変えてブザーが鳴るかどうかを確かめます。

pi@raspberrypi:~ $ sudo echo 19 > /sys/class/gpio/export
pi@raspberrypi:~ $ sudo echo out > /sys/class/gpio/gpio19/direction
pi@raspberrypi:~ $ sudo echo 1 > /sys/class/gpio/gpio19/value
pi@raspberrypi:~ $ sudo echo 0 > /sys/class/gpio/gpio19/value

だいたい仕様がわかったので、認識が合っているか確かめる目的が半分、遊びが半分の回路を組んでみます。こんな感じです。

次のコマンドでPythonでGPIOの制御を行うライブラリをインストールします。

pi@raspberrypi:~ $ sudo pip install RPi.GPIO

次のような感じでプログラムを作ってみました。

#!/usr/bin/python
# coding: utf-8

import RPi.GPIO as GPIO
import time

CH1 = 19
CH2 = 26
CH3 = 20
CH4 = 21
COUNT = 5
SLEEP = 0.3

GPIO.setmode(GPIO.BCM)

GPIO.setup(CH1, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(CH2, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(CH3, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(CH4, GPIO.OUT, initial=GPIO.LOW)

try:
    time.sleep(5)

    for i in range(0, COUNT):
        GPIO.output(CH1, GPIO.HIGH)
        time.sleep(SLEEP)
        GPIO.output(CH1, GPIO.LOW)
        time.sleep(SLEEP)

    for i in range(0, COUNT):
        GPIO.output(CH2, GPIO.HIGH)
        time.sleep(SLEEP)
        GPIO.output(CH2, GPIO.LOW)
        time.sleep(SLEEP)

    for i in range(0, COUNT):
        GPIO.output(CH3, GPIO.HIGH)
        time.sleep(SLEEP)
        GPIO.output(CH3, GPIO.LOW)
        time.sleep(SLEEP)

    for i in range(0, COUNT):
        GPIO.output(CH4, GPIO.HIGH)
        time.sleep(SLEEP)
        GPIO.output(CH4, GPIO.LOW)
        time.sleep(SLEEP)


    for i in range(0, COUNT):
        GPIO.output(CH1, GPIO.HIGH)
        GPIO.output(CH2, GPIO.HIGH)
        GPIO.output(CH3, GPIO.HIGH)
        GPIO.output(CH4, GPIO.HIGH)
        time.sleep(SLEEP)
        GPIO.output(CH1, GPIO.LOW)
        GPIO.output(CH2, GPIO.LOW)
        GPIO.output(CH3, GPIO.LOW)
        GPIO.output(CH4, GPIO.LOW)
        time.sleep(SLEEP)

    time.sleep(5)

finally:
    GPIO.cleanup()

実行権限を付けて実行します。

pi@raspberrypi:~ $ chmod +x relay.py
pi@raspberrypi:~ $ ./relay.py

動いている様子はこんな感じです。

リレーなのでカチカチ言います。

今回はリレーの動作確認のためにこの回路とプログラムを作りました。LEDを点灯させる電源もラズパイから取っており、リレーを使う必要性はありません(GPIOの出力でLEDを点灯できるため)。

このリレーはもっと大きな電力が必要なものを制御したり、別系統の回路や交流電源のON/OFF等をラズパイで行いたい場合に活躍します。

Amazonに書いてあった内容を信じるならば、定格は250V AC/5A、30V DC/5Aらしいので、白物家電やヒーターなどのON/OFFにも使えそうです。ただ、この製品を使う場合、リレーの定格は現物の品番から自分で調べた方が良いと思います。Amazonの文章を鵜呑みにするのは怖いですし、ロット違い等でリレーが違う場合もあるかもしれません(そもそも本物と信じて良いのか…)。

2020/05/14 追記
コメントでご指摘頂いたのですが、リレー本体に定格が印刷されていました。定格はAC125V 20A、DC14V 20Aが正解のようです。Amazonの記載が間違っていますね。

AC100Vをかける場合は細心の注意を払ってください。私は怖がりなのでAC100Vには繋ぎませんし、大きな電流が流れる用途にも使いません。

Pocket

Raspberry Pi用のリレーを試す” への2件のコメント

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください