最近の電気業界では、PLC/シーケンサを使ったシーケンス制御を扱えるエンジニアが引っ張りダコらしいです。
学生のころリレーを使ったシーケンス制御を教科書レベルで学んだ記憶がぼんやりとありますが、PLCの知識は皆無です。
そんな事情から、PLCを使ったシーケンス制御を学んでみようと思いましたが、PLCは、それなりに高価です。なんとか安価にできる方法がないかと探してみると、PLCのように、Arduinoをラダー図で制御できる「SoapBox Snap」というツールを発見しました。
以下、SoapBox Snapの導入手順です。
■PCの準備
次の手順で、PCに必要なソフトウェアをインストールします。
①Phidgets Driver Libraryをダウンロードしてインストールします。
・Phidgets Driver Library 32 Bit Installer Download
・Phidgets Driver Library 64 Bit Installer Download
②SoapBox Snapをダウンロードしてインストールします。
※必要に応じてインストール中に、.NET Framework 4が自動的にダウンロードされます。
※Windows 8またはWindows 10の場合は、.NET 3.5もインストールされていることを確認してください
■Arduinoの準備
次の手順で、Arduino IDEおよびArduino をセットアップします。
①「Timer1 Library」ライブラリをダウンロードして、インストール(インクルード)します。
②次のフォルダ内にある「Arduino Firmware.ino」(SoapBox Snap Arduino Firmware)を開いて、ボードに書き込みます。
C:\Program Files (x86)\SoapBox Automation\SoapBox Snap\ArduinoFirmware\
または
C:\Program Files\SoapBox Automation\SoapBox Snap\ArduinoFirmware\
ファームウェアが正常に機能していれば、ボード上のピン13に接続されているLEDは、1秒ごとに1回短い点滅で点滅します。
●補足 コマンドの送信
シリアルモニターのボーレートを115200、改行コードをCR/LFに設定します。
・「status」と入力して[Enter]キーを押してください。「Running = False」、次に 「EOM」と表示されます。
・入力のステータスを読むことができます。「read b0」は入力ピン3のステータスを読み、「read b1」は入力ピン4のステータスを読みます。「read n0」はアナログ入力A0などの値を読み込みます。
・「device-config」コマンドは、I/O構成のリストが読み込みます。
・デフォルトでは、すべての個別ピンが入力として設定されていますが、ピンを出力に変更することができます。たとえば、ピン8を出力にしたい場合は、「config-output 8」コマンドを送信します。ピン9をアナログ(PWM)出力にしたい場合は、 「config-pwm 9」コマンドを送信してください。すべて入力に戻すには、「config-reset」コマンドを使用します。
■初期設定とラダー図のダウンロード
●初期設定
①SoapBox Snapを起動します。
②「New Program」をクリックします。
③「Solution Explorer」の「Runtime」を右クリックし、「Properties」をクリックします。
④[Type]ドロップダウンリストから 「SoapBox Snap Arduino Runtime」をクリックします。
⑤[Address]テキストボックスにArduinoのCOMポートを入力します。
⑥必要に応じて、[Configuration ]テキストボックスにI / O設定情報を入力します。たとえば、ピン7と8を出力したい場合、最初の行に 「config-output 7」と次の行に「 config-output 8」と入力します。PWMピンの1つをアナログ(PWM)出力(たとえばピン9)として構成するには、「config-pwm 9」と入力します。
⑦[OK]ボタンをクリックします。
●ラダー図と設定のダウンロード
ラダー図と設定をダウンロードするには、次のように操作委します。
①「Solution Explorer」の「Runtime」を右クリックし、「Connect」をクリックします。
②未保存の場合、「Save」ダイアログボックスが表示されるので、[はい(Y)]ボタンをクリックし、ファイル名を入力し、保存先を選択し、[保存(S)]ボタンをクリックします。
③「Upload/Download」 ダイアログボックスが表示されるので、「Download」を選択し、[OK]ボタンをクリックします。
ダウンロード後、ランタイムは自動的にラダーロジックプログラムを開始します。この時点では、プログラムが空であるため何もしません。
●デバイス設定の表示
ソリューションエクスプローラのランタイム項目の下には、「デバイス設定」項目があります。「デバイス設定」を表示するには、次のように操作します。
①「Device Configuration」を右クリックし、「Read Device Configuration」を選択します。
②接続中の場合、警告ダイアログボックスが表示されるので、[はい(Y )]を選択いします。
③「Local I/O」という名前の新しい項目が表示されます。各アイテムの横にあるプラス(+)または矢印アイコンをクリックして、Local I/Oアイテムとすべての子アイテムを展開します。
■簡単な例(LEDの点灯/消灯)
●配線図
LEDとプッシュボタンを次のように配線します。
●ラダー図
上記ラダー図を作成するには、次のように操作します。
①「Instructions」から「Normally Open Contact」をラング(横線)の上にドラッグ&ドロップします。
②ラング上の「Normally Open Contact」の「False」と表示されている部分をクリックし、表示された[…]ボタンをクリックします。
③「Device Configuration」→「Arduino」→「Discrete Inputs」の順に展開し、プッシュボタンが接続されているピン(ここではpin2)を選択し、[Ok]ボタンをクリックします。
④「Instructions」から「Coil」をラングの上にドラッグ&ドロップします。
⑤名前(「New Coil」と表示されている部分)をクリックし、任意の名前(ここでは「M1」とします)を入力します(入力確定は[Enterキー])。
⑥エディタの空白部分を右クリックし、[Insert at Bottom]→[Ladder Logic]を選択します。
⑦「Instructions」から「Normally Open Contact」を追加したラングの上にドラッグ&ドロップします。
⑧ラング上の「Normally Open Contact」の「False」と表示されている部分をクリックし、表示された[…]ボタンをクリックします。
⑨「Logic」→「Main」の順に展開し、「M1」を選択し、[OK]ボタンをクリックします。
⑩「Instructions」から「Coil」を追加したラングの上にドラッグ&ドロップします。
⑪名前(「New Coil」と表示されている部分)をクリックし、任意の名前(ここでは「LED」とします)を入力します(入力確定は[Enterキー])。
⑫「Local I/O」の「Discrete Outputs」の「pin7」を展開し、「False」と表示されている部分をダブルクリックします。
⑬「Logic」→「Main」の順に展開し、「LED」を選択し、[OK]ボタンをクリックします。
⑭「Runtime」を右クリックし、「Connect」をクリックします。
⑮未保存の場合、「Save」ダイアログボックスが表示されるので、[はい(Y)]ボタンをクリックし、ファイル名を入力し、保存先を選択し、[保存(S)]ボタンをクリックします。
⑯「Upload/Download」 ダイアログボックスが表示されるので、「Download」を選択し、[OK]ボタンをクリックします。
ダウンロード後、ランタイムは自動的にラダーロジックプログラムを開始します。プッシュボタンのオン/オフで、LEDが点灯/消灯することを確認してください。
IoT Dev.
2017年2月10日金曜日
2017年1月14日土曜日
Android Things始めました。
とりあえずハードウェアにRaspberry Pi 3を使用して、サンプルコード(Lチカ)を実行するまでの手順を説明します。
※PC環境は、Windows10を前提に説明しています。
●必要なモノ
◇ソフトウェア
※Android 7.0 (API 24)以上、SDK Toolバージョン24以上
◇ハードウェア
・Raspberry Pi 3
・SDカード(8G以上)
・HDMIケーブル、LANケーブル、Micro USBケーブル(電源用)
●Raspberry Piのセットアップ
次のように操作して、Raspberry Piをセットアップします。
◇Android Thingsシステムイメージの書き込み
◇起動とWifiの設定
①システムイメージを書き込んだSDカードを挿入し、ケーブル類を接続して電源を入れます。
②Android Thingsの画面上に表示されているIPアドレスを確認します。
③コマンドプロンプトから、次のコマンドを入力してRaspberry Piに接続します。
adb connect <IPアドレス>[Enter]
|
※<IPアドレス>には②で確認したIPアドレスを入力します。
④コマンドプロンプトから、次のコマンドを入力します。
adb shell am startservice -n
com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid
<SSID> -e passphrase <Passcode>
|
※<SSID>にはWifiのSSID、<Passcode>にはWifiのパスワードを入力します。
Wifi接続されると、SSIDとIPアドレスが画面上に表示されます。
以降、Wifiで接続されるので、LANケーブルは外して構いません。
●サンプルの実行
◇LEDの配線
次のようにRaspberry PiにLEDを接続します。
◇サンプルの実行(デプロイ)
サンプルを実行するには、次のように操作します。
※インポートの際にSDKやSDK Toolのバージョンが異なる場合は、インストールやアップデートを促すメッセージが表示されるので、メッセージに従って操作して、インストールおよびアップデートを実行してください。
②コマンドプロンプトから、次のコマンドを入力してRaspberry Piに接続します。
adb connect <IPアドレス>[Enter]
|
※<IPアドレス>にはRaspberry PiのIPアドレスを入力します。
③「blink」を選択し、[RUN]ボタンをクリックします。
④ターゲットを選択し、[OK]ボタンをクリックします。
このとき、「Connected Devices」に「<none>」または「IPアドレス:5555[OFFLINE]」と表示された場合は、[キャンセル]ボタンをクリックし、コマンドプロンプトから次のようにコマンドを入力して、再度③④の操作を行います。
adb devices[Enter]
adb connect <IPアドレス>[Enter]
|
※<IPアドレス>にはRaspberry PiのIPアドレスを入力します。
2016年12月26日月曜日
冬休みの電子工作 - Bluetoothスピーカー
Bluetoothスピーカーを作成してみました。
・使用部品
1
|
|
2
|
|
1
|
|
1
|
|
5
|
|
1
|
|
2
|
・回路図
・ケースのデザイン
各パーツの個別のデザインは、以下のURLとなっています。
Front:https://tinkercad.com/things/2pqQ1itYLj3
2016年12月10日土曜日
実験・評価ーBluetoothオーディオレシバーモジュール
CSR8645を使用したBluetoothオーディオレシバーを購入しました。
オーディオアンプ付きなので、スピーカーと電源をつなぐだけで使えます。
回路の接続例は、次の図のとおりです。
回路の接続例は、次の図のとおりです。
実際に届いたモジュールは、V3.2で、引き出されて端子が異なっていました。大きな変化としては、I2Sの端子が引き出されています。
電源とスピーカーを接続し、aptX対応のスマホとペアリングすれば、aptX機器として認識されます。
2016年12月1日木曜日
実験・評価ーワイヤレス受電モジュール
中華製のワイヤレス受電(給電)モジュールを試してみました。
送信側の回路図
※受信側の回路定数は、現物とは異なります
使用されているICのデータシートは見つけることができなかったので、ICの詳細は不明です。
とりあえず、送信側に12Vを給電し、コイルを重ねると、受信側から5Vが出力されました。
5V給電にするには、R1を3K、R2を30k、R3を100kに変更すればよいみたいです。
2016年10月29日土曜日
DCモータードライバーIC制御用のArduinoライブラリ
BluetoothやWiFiで制御するリモコンカー、ドローン、ロボットなど作ろうから思い、Aliexpressで購入したDCモータードライバーモジュール用のライブラリを書いてみました。(L298N用のライブラリを修正)
ICの名前は、削られているのか、読み取ることはできませんでした。品名、商品説明にはL298Nという表記がありますが、EN(イネーブル)はなく、制御信号2本で1つのモーターを制御する仕様になっています。
モード
|
IN1
|
IN2
|
IN3
|
IN4
|
|
モーターA
|
正転
|
H/PWM
|
L
|
||
逆転
|
L
|
H/PWM
|
|||
スタンバイ
|
L
|
L
|
|||
ブレーキ
|
H
|
H
|
|||
モーターB
|
正転
|
H/PWM
|
L
|
||
逆転
|
L
|
H/PWM
|
|||
スタンバイ
|
L
|
L
|
|||
ブレーキ
|
H
|
H
|
以下のモータードライバICなどでも使用できます。
2016年10月24日月曜日
電子工作まめ知識-lipoバッテリーの外形寸法
lipoバッテリー(リチウムイオンポリマー電池)の外形寸法は、本体に印刷されている6桁の番号で分かります。(6桁の番号が印刷さていない場合もあります。)
まれに、厚さも1ミリ単位で表記されている場合があるようです。
ドローン用のlipoバッテリーも同様ですが、ワイヤーの部分を含まないことに注意してください。
数字が見えにくいですが「862540」(厚さ8.6mm、縦25㎜、横40㎜)と記載されています。
登録:
投稿 (Atom)