概要
この投稿は電子工作でよく使われるマイコンボード「Arduino」とモデルベース開発環境「MATLAB、Simulink」を使い、「Lチカのモデル」の作り方、動作確認方法について書いています。
モデルのファイルについて
この連載で紹介しているモデルのファイルをGitHubで公開しました。必要に応じて活用ください。
・GitHub URL
gitを使える方はgitクライアントソフトより活用ください。
gitって何?よくわからない方は上記GitHub URLにアクセスし、下記の操作をしてファイルをダウンロードしてください。
・ページ右側の【Clone or download】ボタンを押下し【Download ZIP】を選択する。zipファイルがダウンロードできる。
拡張子*.slxがSimulinkのモデルです。MATLAB, Simulinkを持っていない方は拡張子*.htmlを参照下さい。Webブラウザでこの連載で作るモデルが確認できます。
今回のLチカモデルの対象ファイルは下記になります。
- led_switch/led_switch.slx
- led_switch/led_switch.html
想定する読者
・モデルベース開発とはどのような開発手法なのかざっくり知りたい人
・MATLAB, Simulinkの基本的な使い方を知りたい人
・Arduinoでモデルベース開発する手順を知りたい人
・その他、興味ある人全般
投稿者について
投稿者の技術的な背景を紹介します。
・従来の開発手法(C言語)で組込みソフトウェア製品開発に関わり17年。
・モデルベース開発の設計を実務で担当した経験なし。自動車サプライヤーでモデルベース開発の作業補助(ちょっとしたモデル修正、検証)をしたことはある。
・2018年12月にMATLAB、Simulinkを個人で買えるライセンス(Homeライセンス)で購入し、自己学習を始めた。
・Arduino、Simulinkで外部機器を制御することができたので、そのノウハウを共有したく投稿した。
モデルベース開発とは???
モデルベース開発全体概要が分かりやすい資料がWebにあるので紹介します。
モデルベース開発概要参考資料リンク
モデルベース開発を推進する背景、従来の開発手法との違いを図解で説明していてわかりやすいです。
わかりやすいと思っていたWebページのリンク、切れていました。
開発環境について
今回の使用するツールは下記です。
モデリングツール
- MATLAB バージョン 9.7 (R2019b)
- Simulink バージョン 10.0 (R2019b)
- Simulink Support Package for Arduino Hardware バージョン19.2.3(※) ※Simulinkがサポートしているハードウェアのパッケージ のこと。今回使用するArduino以外のハードウェアとしては下記がある。
Raspberry Pi、Android、iPhone、LEGO MINDSTORMS EV3、etc・・・
マイコンボード
- Arduino MEGA Arduino UNOの方が安いですが、後述するシミュレーションができないためArduino MEGAを選択します。
モデル作成の流れ
モデル作成は下記の手順で作業を行います。
- 部品(ブロック)を配置する。
- ブロック同士を接続する。
- ブロックの設定をする。
- シミュレーション・または実機動作確認する。
シミュレーション:
マイコン基板とPCをUSB接続し、モデルの動作をPCで確認する。
実機動作確認:
マイコン基板とPCをUSB接続しない。マイコン基板に外部電源を供給し動作させる。
モデルの概要
- スイッチ押下でLED点灯・消灯する。
ハードウェアの要件
実習する場合、下記の機材を準備し、ブレッドボード配線図の通りに配線します。
実習する場合に必要な機材
- Arduino MEGA
- ブレッドボード
- ジャンパー線(オス-オス)
- タクトスイッチ
- 抵抗 10kΩ、510Ω
- LED
- USBケーブル
- AC-DCアダプタ12V ※実機動作確認する場合に必要。
ブレッドボード配線図
モデル作成手順
MATLAB, Simulinkの起動
ハードウェア設定
モデル作成
-
ライブラリブラウザを選択する。
-
Simulink Support Package for Arduino HardwareのCommonからDigital Input、Digital OutputをSimulink画面にドラッグ&ドロップする。
-
ライブラリブラウザのSimulink/Sinks からDisplay・ScopeをSimulink 画面にドラッグ&ドロップする。
以上でモデル作成は完了です。お疲れ様でした。次はシミュレーションしてみます。
シミュレーションの確認手順
シミュレーションの説明でした。次はPCを接続せずArduinoに電源供給し単体で動かしてみましょう。
実機動作の確認手順
-
実機動作確認時はUSBケーブルをArduinoとPCに接続し【ビルド、配布及び開始】を実行する。
これでモデルをArduinoに書き込みます。 -
USBケーブルを取り外し、ACアダプタで12VをArduinoに供給する。
シミュレーションと同じ動作をしていればOKです。
最後に
Arduinoとモデルベース開発によるLチカは如何でしたでしょうか?
少しでもモデルベース開発についてイメージが湧けば嬉しいです。
最後まで読んでいただきありがとうございました。