概要
リレーは、小さな制御信号(電気)で大きな電力を持つ回路のON/OFFを切り替えるスイッチデバイスです。「電磁リレー」と呼ばれる場合は、電磁石の力でメカニカルな接点を開閉するデバイスを指します。これに対し「ソリッドステートリレー(SSR)」は半導体素子(トライアック・MOSFETなど)で電力回路を切り替える電子的なデバイスです。
マイコン(MCU)のGPIO出力は通常3.3V/5V・数mAの微弱な信号しか出力できません。リレーを使うことで、このような微弱な制御信号から100V/200VAC・数十〜数百Aの電力回路を安全に制御できます。制御側(低電圧)と被制御側(高電圧・大電流)は電気的に絶縁されているため、高電圧が制御回路に逆流するリスクがありません。
組み込みシステムでのリレーの典型的な用途は、家電の電源制御(スマートコンセント)、ヒーター・ポンプのON/OFF制御、工場の機械の起動/停止制御などです。近年のスマートホームデバイスやESP32ベースのIoT機器では、リレーモジュールとセットでの販売が多く見られます。
歴史・背景
リレーの歴史は電磁気学の発展と密接に結びついています。最初の実用的な電磁リレーは1835年にジョセフ・ヘンリーが電磁石で遠くの鈴を鳴らす実験で示した原理に基づき、1840年代にサミュエル・モールスが電信(テレグラフ)の信号中継装置として実用化しました。電信ケーブルは距離が長くなると信号が減衰するため、リレーで信号を増幅・中継する必要があったのです。
20世紀前半には電話交換機に数千〜数万個のリレーが使われ、初期のコンピューター(ハーバード・マーク1など)もリレーで論理回路を構成しました。1940〜50年代にトランジスタが登場し、コンピューターの論理回路はリレーから半導体に置き換わりましたが、高電力の切り替えデバイスとしてのリレーは現在も広く使われています。
ソリッドステートリレー(SSR)は1970年代に登場し、電磁リレーの機械的な欠点(接点寿命・動作音・チャタリング)を解決しました。現在では産業用途ではSSRが主流になりつつありますが、電気的絶縁の確実性・コスト・対応電圧範囲の広さから電磁リレーも根強く使われています。
技術仕様
電磁リレーの主要スペック
| パラメータ | 説明 | 代表値 |
|---|---|---|
| コイル電圧 | 励磁コイルに印加する電圧 | 5V / 12V / 24V DC |
| コイル電流 | 励磁時の消費電流 | 50〜150mA |
| 接点形式 | NO/NC/COM の構成 | SPDT(1c接点), DPDT(2c接点) |
| 接点定格電圧 | 接点側の最大電圧 | AC250V / DC30V |
| 接点定格電流 | 接点側の最大電流 | 5A / 10A / 16A |
| 接点過渡電流 | 突入電流(誘導負荷等) | 定格の5〜10倍(瞬間) |
| 動作時間 | コイル励磁からONまでの時間 | 数ms〜20ms |
| 復帰時間 | コイルOFFからOFFまでの時間 | 数ms〜10ms |
| 機械的寿命 | 無負荷での開閉回数 | 1000万〜1億回 |
| 電気的寿命 | 定格負荷での開閉回数 | 10万〜100万回 |
| 絶縁耐圧 | コイル-接点間の絶縁電圧 | 1kV〜5kV |
接点形式の種類
SPST(1a: 通常開): COM─────NO
コイルOFF: 開 コイルON: 閉
SPST(1b: 通常閉): COM─────NC
コイルOFF: 閉 コイルON: 開
SPDT(1c):
コイルOFF: COM─NC(閉), COM─NO(開)
コイルON: COM─NC(開), COM─NO(閉)
DPDT(2c): SPDT × 2 を同時動作
大電流用・AC/DC両用・冗長回路に使用
ソリッドステートリレー(SSR)の比較
| パラメータ | 電磁リレー | SSR(交流用) | SSR(直流用) |
|---|---|---|---|
| スイッチング素子 | 機械接点 | トライアック / SCR | MOSFET |
| 動作音 | あり(カチッ) | なし | なし |
| 接点寿命 | あり(機械的摩耗) | 半永久的 | 半永久的 |
| 動作速度 | 遅い(数ms) | 速い(数μs〜ms) | 非常に速い(μs) |
| 発熱 | 少ない(接点抵抗小) | あり(通電損失) | あり(通電損失) |
| ゼロクロスON | なし | あり(ノイズ低減) | なし |
| コスト | 安い | 中 | 中 |
| 耐電圧 | 高い(250VAC〜1kV+) | 高い(600VAC) | 中(〜200VDC) |
動作原理
電磁リレーの動作
電磁リレーの構造:
制御側:
+VCC ─[コイル電流制限抵抗]─[コイル]─ GND
フライバックダイオード(必須):
コイル両端に逆接続のダイオード
(コイルOFF時の逆起電力からトランジスタを保護)
スイッチング素子(トランジスタ/MOSFETで電流増幅):
MCU GPIO(3.3V, 数mA) → NPN Tr Vbe=0.7V → コイル100mA
被制御側(接点側):
AC100V / 10A の負荷を安全に開閉
マイコンのGPIO出力電流(数mA)では直接リレーコイルを駆動できないため、通常はNPNトランジスタ(例:2N2222、BC337)またはN-MOSFET(例:2N7000)でコイル電流を増幅します。
フライバックダイオードの重要性
コイルは電磁エネルギーを蓄えるため、電流を急に遮断すると逆向きの高電圧パルス(逆起電力)が発生します。これを保護しないとトランジスタ・マイコンを破壊します。
// 動作原理の説明:
// コイルON時: L×(dI/dt)の電圧でエネルギー蓄積
// コイルOFF時: E = -L×(dI/dt) → 瞬間的に数十〜数百Vのスパイク発生
// フライバックダイオード: この逆電圧をダイオードで短絡・吸収
// コイル並列に 1N4007(または高速ダイオード1N4148)を
// カソードをVCC側に向けて逆接続する
ゼロクロスSSRの動作
交流負荷用SSRの多くはゼロクロス(電圧ゼロ点)でのみスイッチングします。突入電流・EMIノイズを最小化し、誘導負荷の保護にも効果的です。
ゼロクロスSSRの波形:
制御信号: _____|_____________|_____
交流電圧: ~~~|/-- /-- /-- /--|~~~
<OFF> <ON(ゼロクロスで開始)> <OFF>
ゼロクロスあり: 電圧ゼロ時に切り替え → ノイズ少ない
ゼロクロスなし: 即時切り替え → 過渡電流大 → EMI多い
(位相制御が必要な調光等に使用)
用途・ユースケース
スマートホーム・IoT電力制御
ESP32やRaspberry Piに5V/12Vリレーモジュールを接続し、AC100V家電(照明・ファン・ヒーター等)をスマートフォンやクラウドから制御します。MQTTでコマンドを受信し、GPIOでリレーをON/OFFするシンプルな実装でスマートコンセントを自作できます。
// ESP32 + リレーモジュール + MQTT のスマートコンセント例
void on_mqtt_message(const char* topic, const char* payload) {
if (strcmp(topic, "home/outlet/1/command") == 0) {
if (strcmp(payload, "ON") == 0) {
digitalWrite(RELAY_PIN, HIGH); // リレーON → コンセントON
} else if (strcmp(payload, "OFF") == 0) {
digitalWrite(RELAY_PIN, LOW); // リレーOFF → コンセントOFF
}
}
}
農業IoT・自動灌漑システム
土壌水分センサーで乾燥を検知したとき、電磁バルブ(ソレノイドバルブ)をリレーで開放して水を供給します。タイマー制御と組み合わせることで全自動の灌漑システムを構築できます。
産業機器・安全回路
非常停止回路(安全リレー)は、安全規格(IEC 62061/ISO 13849)に準拠した強制ガイド接触機構を持つ安全リレーで構成します。接点の溶着(融着)を機械的に防止し、電源断時にフェールセーフ(安全側で停止)する設計が求められます。
電気自動車・EV充電
EVの高電圧バッテリー(400V/800V)の接続・切断には大電流メカニカルリレー(接触器)が使われます。安全のため、プレチャージ回路(突入電流防止)と組み合わせて使用します。
暖房・冷却制御システム
ビル管理システム(BMS)でエアコン・ヒーター・コンプレッサーをリレーでON/OFF制御します。温湿度センサーの計測値に基づいてリレーを制御するPID制御や温度バンド制御が使われます。
実装・開発のポイント
NPN Trを使ったリレー駆動回路
回路図(リレー駆動の標準回路):
MCU GPIO(3.3V/5V)
|
[1kΩ] ← ベース電流制限抵抗
|
B(ベース) NPN Tr(2N2222等)
C(コレクタ) ─── リレーコイル + ─ フライバックD ─── VCC
E(エミッタ) ─── GND
フライバックダイオード(D):
リレーコイル両端に逆接続(カソード=VCC側)
コイルOFF時のスパイク電圧からTrを保護
ベース電流の計算:
I_coil = 100mA(リレーコイル電流)
hFE(電流増幅率)= 100(2N2222の最小値)
I_base = I_coil / hFE × 安全係数(3倍)
= 100mA / 100 × 3 = 3mA
ベース抵抗:
R_base = (V_gpio - V_be) / I_base
= (3.3V - 0.7V) / 3mA = 866Ω → 1kΩ選択
STM32でのリレー制御(HAL)
#include "stm32f4xx_hal.h"
#define RELAY1_PIN GPIO_PIN_5
#define RELAY1_PORT GPIOA
typedef enum {
RELAY_OFF = 0,
RELAY_ON = 1
} RelayState_t;
void relay_set(GPIO_TypeDef *port, uint16_t pin, RelayState_t state) {
HAL_GPIO_WritePin(port, pin,
state == RELAY_ON ? GPIO_PIN_SET : GPIO_PIN_RESET);
}
void relay_pulse(GPIO_TypeDef *port, uint16_t pin, uint32_t duration_ms) {
relay_set(port, pin, RELAY_ON);
HAL_Delay(duration_ms);
relay_set(port, pin, RELAY_OFF);
}
// 例: 5秒間だけリレーON
void example_timed_relay(void) {
relay_pulse(RELAY1_PORT, RELAY1_PIN, 5000);
}
チャタリング防止と接点保護
電磁リレーの接点は開閉時に微小なバウンス(チャタリング)が発生します。誘導負荷(モーター・コイル等)はアーク放電による接点摩耗が激しいため、スナバ回路(RC直列回路を接点並列)で保護します。
交流負荷のアーク保護(スナバ回路):
接点 ─────────── 負荷
|
[R:100Ω]─[C:0.1μF/250V以上]
|
GND
直流誘導負荷:
フライホイールダイオード(逆起電力吸収)
TVSダイオード(高速過渡吸収)
リレーのアクティブHigh/Lowの確認
市販のリレーモジュールには「アクティブHigh(HIGH=ON)」と「アクティブLow(LOW=ON)」の2種類があります。特に中国製の安価なリレーモジュールはアクティブLowの場合が多く、誤動作を防ぐために確認が必要です。
// アクティブLow(マイコン起動時にリレーが誤動作しないよう初期化)
void relay_init_active_low(void) {
// 初期状態: GPIO HIGH → リレーOFF(安全側)
HAL_GPIO_WritePin(RELAY1_PORT, RELAY1_PIN, GPIO_PIN_SET);
}
void relay_on_active_low(void) {
HAL_GPIO_WritePin(RELAY1_PORT, RELAY1_PIN, GPIO_PIN_RESET); // LOW=ON
}
void relay_off_active_low(void) {
HAL_GPIO_WritePin(RELAY1_PORT, RELAY1_PIN, GPIO_PIN_SET); // HIGH=OFF
}
他技術との比較
電磁リレー vs ソリッドステートリレー(SSR)vs MOSFET/トライアック直接駆動
| 比較項目 | 電磁リレー | SSR | MOSFET/トライアック |
|---|---|---|---|
| 絶縁 | 機械的絶縁(接点分離) | 光学的絶縁(フォトカプラ) | なし(回路共通) |
| 信頼性 | 機械寿命あり | 半導体劣化 | 半導体劣化 |
| 対応電圧 | 非常に高い(数kV可) | AC600V / DC200V | 電圧に応じた品種 |
| 発熱 | 少ない(接点は低抵抗) | あり(飽和電圧損失) | あり(Rds_on損失) |
| 動作音 | あり | なし | なし |
| スイッチング速度 | 遅い(〜20ms) | 中(ms〜μs) | 速い(μs〜ns) |
| コスト | 非常に安い | 中 | 安〜中 |
| 主な用途 | 家電・一般制御 | 産業ヒーター・AC負荷 | 低電圧DC負荷 |
リレーのNO(常開)vs NC(常閉)の選定
| 状況 | 推奨 | 理由 |
|---|---|---|
| 電源ON時にデバイスをOFF | NC接点 | 電源断でフェールセーフ(デバイスOFF) |
| 電源ON時にデバイスをON | NO接点 | 通常動作でコイル励磁不要(省電力) |
| 安全回路・非常停止 | NC接点 | 断線・コイル故障時にフェールセーフOFF |
| 警報・通知 | NO接点 | 通常はOFF、異常時にON |
| 省電力(常時ON不要) | NO接点 | コイルへの連続通電なし |