ラズベリーパイでシーケンス制御入門! 24Vリレーを動かしてみた

本サイトはアフィリエイト広告を利用しています。
PLC(シーケンサ)

今回はラズベリーパイ(raspberry pi)でソフトウェアPLC「CODESYS」とNPNトランジスタを使って簡単なシーケンス制御を組んでみました。

実際の工場で使われるPLC(シーケンサ)のように24Vリレーを動作させていきます。

 

スポンサーリンク

シーケンス制御とリレーの基礎

シーケンス制御でリレーが何処に使われるというと主には「出力」です。リレーを使うことによりポンプ・モータ・アクチュエータなど動かすことができます。

 

下記はオムロンのミニパワーリレーですが、同類のリレーが世界中の工場で出力として動作しています。良く使われている電圧はDC24Vです。

 

リレーの動作・使い方は簡単!

リレーを動かすことは簡単で指定の端子に24Vを入れるだけです。実際に24Vの安定化電源を使ってリレーを動かした記事は下記になります。

テスターでオムロン製のリレーとタイマーの電流を測定してみた。
前回にテスターでヒューズを交換した記事を書きましたが、その続きで電流測定をしたので「テスターでオムロン製のリレーとタイマーの電流を測定してみた。」を紹介します 前回の記事はこちらからです オムロンのリレー(MY24)とタイマ(H3Y)の電流...

 

またUSB5Vから昇圧させた24V電源でもリレー動作させた記事もあります。

USB5Vからの昇圧型DC24V電源に負荷をかけてみる
今回は前回・前々回と紹介した12V24V電源の記事についての続きです。 「24V電源として実際の使用例」を紹介したいと思います 最初から記事を読みたい方はこちらからお願いします USB電圧電流チェッカーを使ってみた 今回は単に負荷をかけても...

 

今回はラズベリーパイの環境でシーケンス制御による24Vリレーを動作させていきます。

 

ラズベリーパイのGPIOで5V/12V/24Vを駆動する方法

シーケンス制御に移る前に一つ問題を解決させておきます。下図のようにラズベリーパイのGPIOは基本3.3Vです。5V/12V/24Vは直接駆動できず、24Vリレーも直接は動作できません。

 

そのため今回は下記イメージのようにトランジスタを使って24Vをドライブさせます。

 

今回使うトランジスタはNPNトランジスタの2SC1815です。オムロンのミニリレーの電流は36.3mA程度でしたので2SC1815のスペック(電流増幅率・定格電圧)で十分に対応可能です。

 

過去には実際にトランジスタの電流増幅率を測定した記事もありますのでよろしければご覧ください

テスターでトランジスタの直流電流増幅率(hFE)を測定してみる
今回は「テスターでトランジスタの直流電流増幅率(hFE)を測定した」を紹介します。 トランジスタの重要な特性である電流増幅率ですがテスターの種類によっては測定可能です。 実際にNPNトランジスタ2SC1815で測定してみます。

 

レベルシフトICで5V/12V/24V変換・リレー駆動させない理由

書く必要も無いかもしれませんが、以前の下記記事のように電圧レベルシフトIC(バッファ)で対応しない理由を記載しておきます。

RS232CとUARTの違いをアナライザで確認してみた
今回は筆者が持っているラズベリーパイとRS232Cを接続して「RS232CとUARTの違いをアナライザで確認してみた」を紹介します RS232CとUART通信の差を比較するまでの手順を紹介しています。「自分でRS232Cを色々解析してみたい...

 

前回使ったTC74HC4050P含めて基本汎用のレベルシフトICはドライブできる電流が少ないです。また電圧が24Vまで対応していません

※…と思ったらICメーカ回答としてTC74HCは最大35mA流せるので「電流は」ギリギリ行けたかもしれません。メーカ回答リンク先はこちらから

 

手の込んだICを使えば動作可能かもしれませんがレベルシフトICの電圧変換は基本信号変換用でリレー・モータなどの電圧駆動には使わないケースの方が多々だと思います

 

そのため、今回はトランジスタでリレー駆動させます

 

今回のシーケンス制御でリレー動作させる回路図

NPNでトランジスタ駆動させるため、今回の回路図は下記となります。シーケンス制御のラダーについては後に記載しますが、簡単なリセット付き自己保持回路です。

 

少し入力回路・出力回路を色を付けると下記イメージです。GPIO17が出力、GPIO22,GPIO27を入力としています。

 

トランジスタを駆動する回路は、結構適当に作っています。(マージン・最悪条件など全く考えていないので参考レベルでお願いします)

 

※電流増幅率が約300ぐらいあるため、リレーの電流36.3mAを満たすためにベースに約121uA流せばいいはず。⇒R1=(3.3V-Vbe[約1.0V])/121uA=約19kΩ以下ならば大体OK?と言ったレベルで計算しています。

 

今回のシーケンス制御の配線

今回のシーケンス制御の配線の全体像は下記となっています。基本回路図通りです。

 

大きな分類としては「ラズベリーパイ」「入出力回路」「24V電源」の構成です。(細かいジャンパー・ケーブルなどは省略)

※今回は特別にリレーONOFF判断するためにLEDを追加しています。

 

24V電源に関しては下記記事で使ったものを流用しています

オムロン(OMRON)製のスイッチング電源(DC24V電源)を使ってみた
今回は前回選定したオムロン製のスイッチング電源を実際に使ってみた記事「オムロン(OMRON)製のスイッチング電源(DC24V電源)を使ってみた」を紹介します 前回記事はこちらから。 オムロン製スイッチング電源の入出力端子 今回使うスイッチン...

 

リレー以外の入出力回路はブレッドボード上で配線しています

 

ここまでくれば後はラダー回路作成してラズベリーパイを設定するだけです。

シーケンス制御のソフトをダウンロード・インストールする

今回使うソフト「CODESYS」のダウンロード・インストール方法に関しては記事「PLC(シーケンサ)・ラダーがフリーで使える!おススメ入門ソフト」に記載しましたのでリンク先から参照をお願いします

PLC(シーケンサ)・ラダーがフリーで使える!おすすめ入門ソフト
ラズベリーパイをPLC(シーケンサ)として使う準備編の記事です。 「PLC(シーケンサ)・ラダーがフリーで使える!おすすめ入門ソフト」を紹介します。 フリー(無料)でラダーのプログラムを実際に動かす手順を解説しています。 「無料でPLC(シ...

 

シーケンス制御をラズベリーパイで使う方法

「CODESYS」のラズベリーパイで使う方法に関しては記事「ラズベリーパイでPLC(シーケンサ)・ラダーの使い方を学んでみた」に記載しましたのでリンク先から参照をお願いします

ラズベリーパイでPLC(シーケンサ)・ラダーの使い方を学んでみた
ラズベリーパイをPLC(シーケンサ)として使う実践編です。 無料かつラズベリーパイでラダーのプログラムを実際に動かす手順を紹介しています。 「自分でPLC(シーケンサ)・ラダーを触ってみたい!」という方におすすめな記事です。 ラズベリーパイ...

 

今回のシーケンス制御で使うラダープログラム

今回のプログラム内容は記事「入門編!簡単なPLC・ラダーのプログラムの例を作って動かしてみた」の最後で動かしたプログラム(ラッチ(自己保持)回路 リセット付き)を使います。

そのためシーケンス制御のラダー回路については前記事と同じプログラムになりますのでリンク先から参照をお願いします

入門編!簡単なPLC・ラダーのプログラムの例を作って動かしてみた
ラズベリーパイをPLC(シーケンサ)として使う実践編で「入門編!簡単なPLC・ラダーのプログラムの例を作って動かしてみた」を紹介します ラズベリーパイでラダーのプログラムを実際に数例動かして紹介しています。「自分でPLC(シーケンサ)・ラダ...

今回のシーケンス制御の実例・動作

今回のシーケンス制御の動作としては下記となります。

プログラム動作開始時(SW1を押していない状態)ではリレー動作していませんOFF状態です。

 

・入力_SW1を押すと出力_24VリレーがONします(ラッチしてONし続けます)

 

・入力_SW2(リセットSW)を押すと出力_24VリレーがOFFします

 

今回の動画は下記です。動画だと「LEDのON・OFF」「24VリレーのON・OFF音」がありシーケンス制御の動作が分かりやすいと思います

 

まとめ・感想

如何でしたでしょうか。工場で使われるPLC(シーケンサ)のように24Vリレーを動作できました。

「自宅でシーケンス制御・ラダー回路の勉強・デバッグをしてみたい!」という人には今回のように簡単にシーケンス制御が体験できます。

よろしければ皆様もぜひトライしてみてください

 

次の記事ではPythonでPLC(シーケンサ)と通信してデータを読み出す方法を紹介しています。よろしければご覧ください

PythonでPLC(シーケンサ)と通信してデータを読み出す方法
PythonでPLC(シーケンサ)のプログラム・データと通信しました。 「ラズベリーパイ(raspberry pi)」+「CODESYS」上で動作・デバッグしています。 誰でも簡単に実行することができます。 PythonのスクリプトでCOD...

 

 

コメント

  1. 大矢隆生 より:

     初心者向けに良い記事ですね。
     1点だけ、この回路では、リレーはD2タイプを使用しないと、OFF時のサージ電圧でトランジスタが破損する恐れがあります。追記して頂いた方がよいかもです。
     PLCのトランジスタ出力に繋ぐリレーでは、例えばMY4ならMY4N-D2(表示ランプ+サージ防止ダイオード付き)が割と標準採用されます。最近はPLCのトランジスタ出力回路側にサージ防止ダイオードがついているものも多いです。