はじめに
本記事はソレノイドを初めて動かす、電子工作初心者に向けた記事です。
なお、対象のソレノイドは電子工作で扱いやすいタカハ機工 5Vソレノイド「SSBC-0830」としますが、他のソレノイドにも応用は可能です。
以下の記事では、小電流のソレノイドを用いた制御方法が分かりやすく紹介されています。
記事内で用いているソレノイド(12V 300mA)は、タカハの5Vソレノイド(5V 600mA or 1200mA)に比べて電流が低いです。
そのため、電流条件を考慮せずにSSBC-0830へ置き換えてしまうと、回路に過大な負荷がかかる可能性があります。本記事では、消費電流の大きいソレノイドを安全に制御する方法を説明します。
タカハ機工 5Vソレノイドについて
スマホの充電器(USB充電器)やモバイルバッテリーに接続するだけ!
と、公式ページにもあるように、特別な電源を必要とせず動作させることが可能です。
そのため、電子工作の入門としてオススメです。
SSBC-0830は以下の2種類があります。
| 品番 | 通電率 | 電流 |
|---|---|---|
| SSBC-0830-01 | 連続通電 | 600mA |
| SSBC-0830-02 | 50% | 1200mA |
電流が多く必要なソレノイドの方が吸引力が強いです。ただし、通電率にもあるように電流が多く流れると連続通電ができません。
(通電率50%の場合、使用時間の50%は未通電状態にしなくてはならないです)
制御回路設計
以下が回路図および部品リストになります。
マイコンの出力がHIGH(3.3V~5Vを想定)の場合に、ソレノイドに導通し動作します。
| 部品 | 型番 | 電気特性 | 補足 |
|---|---|---|---|
| 電源 | -(汎用品) | 5V/2.4A | - |
| ソレノイド | SSBC-0830 | 5V/1.2A | - |
| FET | 2SK4017 | 60V/5A | https://akizukidenshi.com/catalog/g/g107597/ |
| ダイオード | UF2010 | 1000V/2A | https://akizukidenshi.com/catalog/g/g100124/ |
| 抵抗 | 100Ω、10kΩ | 1/2W | https://akizukidenshi.com/catalog/c/ccarbonrg/ |
①電源について
ソレノイドの電流は1200mAですが、電源は少なくとも2A以上が望ましいです。ソレノイドに通電した瞬間は突入電流が発生し一時的に1200mA以上の電流が流れます。
ソレノイドの動作が安定すると1200mAに落ち着くのですが、電源は最悪値を想定する必要があります。
(ソレノイドの他にマイコンやセンサ、アクチュエーターを用いる場合は、電源の容量にその分の電流も上乗せする必要があります)
②FETについて
ほとんどのマイコンはGPIOの最大電流が数mA~数十mAと低く、ソレノイドを直接駆動させることはできません。そのためマイコンとソレノイドの間にかませを入れる必要があります。
FETはゲートに電圧を加えることで、ソレノイドへの電流をスイッチとしてON/OFFできる半導体です。今回はマイコンのGPIO出力電圧でオーソドックスな3.3Vで動作するFETを選択しています。
FETの原理や、ゲート抵抗などの説明はマルツの解説ページを参照してください。
③ダイオードについて
ソレノイドに電流が流れると芯が動作するように、反対の動作(芯を動作させる)で電流が発生します。
そのため、ソレノイドに流す電流を遮断し、ばねの力で芯が戻る際にも電流が発生するのですが、その電流が大きいとFETを破壊します。
それを防止するために、発生した電流を逃がすためのダイオードを接続します。
ダイオードの容量はソレノイドの動作電流以上である必要があります。(欲を言えば動作電流の2倍くらいあった方が安心です)
今回は手持ちのダイオードの問題で1000V 2Aのダイオードを使用していますが、40V以上 3A以上のダイオードだとなお良いです。
ソフトウェア設計
以下がソレノイド駆動用のサンプルプログラムとなります。
サンプルでは、回路図の「マイコン出力」部分がArduinoのD3ピンと仮定しています。また、設計の注意はコメント内に記載しています。
/*
SSBC-0830 (5Vソレノイド) 駆動サンプル
- Arduino想定
- D3ピンでFETゲートを駆動(回路図の通り「HIGHで導通してソレノイドON」)
- ON 1秒 / OFF 4秒(デューティ20%)
※SSBC-0830-02(通電率50%)でも超えないように余裕を持たせています。
※連続通電不可の型番を使う場合、ON時間とOFF時間の比率に注意してください。
*/
constexpr uint8_t SOLENOID_PIN = 3;
// ON/OFF時間(ミリ秒)
constexpr unsigned long ON_MS = 1000; // 1秒 ON
constexpr unsigned long OFF_MS = 4000; // 4秒 OFF
void setup() {
pinMode(SOLENOID_PIN, OUTPUT);
// 起動時は安全のためOFFから開始
digitalWrite(SOLENOID_PIN, LOW);
}
void loop() {
// ソレノイドON(ゲートHIGH → FET導通 → ソレノイドに電流)
digitalWrite(SOLENOID_PIN, HIGH);
delay(ON_MS);
// ソレノイドOFF
digitalWrite(SOLENOID_PIN, LOW);
delay(OFF_MS);
}
おわりに
今年もタカハ機工の「ソレコン(タカハソレノイドコンテスト)」の時期がやってまいりました。本記事の執筆時も、第13回ソレコンの受付期間が始まっております。
ソレコンを機に電子工作を始める方は、ソレノイドという部品を制御したことがない方も多いと思いますので、どのような部品を選定するべきかを記事にまとめました。
今回はソレノイドの制御回路を自作しましたが、回路作成が面倒くさい方は、タカハ機工から制御基板付きの5Vソレノイドが販売されているので、そちらを使用するという手もあります。
