工場IOTツールラズベリーパイピコを使った改善事例
どうもこんにちは。
まぶちでございます。
現場のIOT改善
今日は工場のIOTということでラズベリーパイピコ端末をつかった改善についてお話したいと思います。
シート貼り現場の困りごと。
シート貼り現場では、投入者が入れたタイミングで、ハリを開始しますが途中で止めなければなりません。
そのタイミングを投入者が目視にて行っています。都度その進捗状況を確認しないと行けないので、大変な作業となってしまいます。
こうした現場の痛みをIOTツールをつかって改善します。
Raspberrypiピコ※以下PICOは安価なマイコンで、価格は700円くらいで手に入ります。
プログラムを組むと電源を入れた瞬間からバックグラウンドでプログラムが走ります。
Raspberrypi4などは1万円以上するので、こうしたPICO端末を使うことでより安くなります。
ただしWIFIが使えないので、組み込み型マイコンとして活用します。
※たとえば洗濯機などのように機械にいれたマイクロコンピュータです。
動作としては非常に単純で、このコロコンベアの上をボードが流れてきたとき、リミットスイッチが動作し、16番にセンサーが入力されます。
リミットスイッチはASKULでこの4個入を購入しました。
リミットスイッチの先端には、3Dプリンタ製の延長バーをつけています。
ボードが来るとスイッチが入ります。
その信号をひろったPICOが今度は、15番へ3.3vの電圧を流します。
そうするとつながっていたブザーがなる。という単純な仕組みです。
単純な仕組みにIOTツールをつかう理由
しかしただたんにリミットスイッチをたたいたときにブザーを鳴らすだけなら
わざわざ組み込みマイコンをつかう必要がありません。
それは特殊事情があるからです。
このコンベアには板が常時乗っているときもあれば、のらないときもあります。
常時乗りっぱなしの板に対してピーピーと音がなればただたんにうるさいだけになります。
最初にながれてきたときだけ、アラームを発し後は静かにしてくれている。というのがベストな状態なのです。
というわけで最初だけ2秒間だけアラームを発する。
以後常時おいてある状態では黙っておく。
ラズパイであれば、こうした論理式を実装できます。
というプログラムを組むことによってただのブザーとは違った動きを出すことができます。
またオペレータが2秒では気づかないという場合、これを4秒にしたり、5秒にしたりできます。
またブザーのタイミングも、タイマーを使って遅延させることで、時間をずらすことも可能です。
以下ソースコードです。
MicroPython
from machine import Pin#マシンモジュールをインポート
import time#時間を使うためタイムモジュールをインポート
SW_PIN = 15#スイッチピンを15番に指定
sw = Pin( SW_PIN, Pin.IN, Pin.PULL_DOWN )
#スイッチピンをSWとし、入力ピンとして定義内部プルダウン抵抗を入れる。
#プルダウン抵抗は、微細な電気的逃げ道を設定し、ノイズなどでご動作をおこさないようにする。
bz = machine.Pin(16, machine.Pin.OUT)
#ブザーを16番として指定、出力ピントして定義
sw_old = 0
#これは状態を変えるための変数
#以下while文としてループさせる。
while True:
if (sw_old == 0) and (sw.value() == 1):
#もしsw_oldが0(初期状態)でスイッチに入力があったら以下を実行
bz.value(1)
#ブザーを1(HIGH)にして鳴らす。
print( "ON." )
#printでオンと表示させる。PC設定時にわかりやすくするだけ。
time.sleep(2)
#ブザーを2秒流す。
else:
#上記に当てはまらない場合は以下を実行
bz.value(0)
#ブザーを0、LOWにして音を消す。すなわち、sw_oldが1の場合や、スイッチ入力がない場合
print( "OFF." )
sw_old = sw.value()
#sw_oldの数値をここで切り替えて、再発を防止。
time.sleep( 0.5)