#author("2023-05-12T21:48:11+09:00","","") [[FrontPage]] * 「ArduinoとMATLABで制御系設計をはじめよう!」について [#n1dd97d9] 目次 #contents **はじめに [#ec033f9f] 「ArduinoとMATLABで制御系設計をはじめよう!」に関する非公式なフォローアップページです。 出版社が提供するオフィシャルなフォローアップページは下記となります。誤植情報や本書で作成したプログラムのダウンロードが行えます。 http://books.techshare.co.jp/ 誤植などにお気づきの際は,著者までEmailでお寄せください。Emailアドレスは, 著者ホームページのトップページにあります。ご質問などについては,本務が多忙のため,個別にはお答えできないかもしれません。ご了承願います。なお,読者の皆様へ有益と思われるものについては,オフィシャルなフォローアップページや本ページを通じてお伝えしたいと思います。 **ArduinoIOのインストール方法(2019-01-13) [#o8e1562c] 現在,SimulinkモデルをArduinoで実行する方法は,本書の第8章で解説したRun on Target Hardware(RoTH)によるもののみとなりました。第7章までの内容を実行するために必要なArduinoIOは,サポートが終了しましたが,手動でインストールすれば現在でも問題無くArduinoIOが使用できます。具体的なインストール方法を以下のPDFファイルにまとめました。参考にしてください。 -&ref(Install_R2014b.pdf); (R2018bでも動作確認しています) なお,本書の第8章で説明したRoTHを使用する場合は,MATLABのコマンドラインから >> targetinstaller(最近のバージョンではsupportPackageInstaller) によりターゲットインストーラ(アドオンエクスプローラ)を起動し 「Simulink Support Package for Arduino Hardware」 を選択して,説明に従ってインストールを実行してください。 ** 誤植情報 [#bb9653e6] ご指摘いただいた読者の方々に感謝いたします。 *** P56, 図4.3,図4.4について [#f08a5440] モータの位置が誤っていました。通常,モータはVccとドレイン間に入れます。正しい回路図を以下に示します(該当部分のみ)。また,回路図に合わせて実態配線図の修正も必要ですが,こちらは,準備ができ次第修正版を掲載します。 #ref(motor_fixed.png); 本書に掲載している実験結果については,修正後の正しい回路で実施しています。誤った回路でも動作しますが,制御対象のゲインが小さくなります(およそ60%になる)ので,実験結果が異なります。ただし,著者が試した限りにおいては,本書の説明が成り立たなくなるほどの結果の変化はありませんでした。なお,誤った回路では,FETが飽和領域で動作しない恐れがあるので,FETの発熱が過大になることが心配されます。 ---- **著者からの補足コメント [#q27c428d] ***新しいバージョンのMATLAB/Simulinkでのサポートパッケージインストール方法(2016-05-27) [#n4d730d6] R2015a, R2015bでのArduino用サポートパッケージのインストール方法は以下が参考になります。 http://jp.mathworks.com/matlabcentral/answers/258663-arduino ***速度制御実験で使用しているモータについて(2013-01-10) [#i51fc3e9] 本実験では,マブチモーター製のFA-130RA-2270を使用しています。 これはいわゆる130モータと呼ばれるものですが,カタログを見ると,FA-130RA-2270とFA-130RA-18100の2種類あることがわかります。前者は公称電圧が1.5V,後者は3.0Vです。単品で販売されているもの多くは前者ではないかと思います。 ちなみに,型番末尾の2270や18100には意味があって,2270の場合,最初の2ケタが巻線の線径が0.22mmであることを表しており,後の2ケタが巻線のターン数が70であることを表しています。同様にして,18100の方はより細い0.18mmの巻線が100回巻いてあることがわかります。 参考)~ http://www.mabuchi-motor.co.jp/ja_JP/cat_files/fa_130ra.pdf (カタログ)~ http://www.mabuchi-motor.co.jp/ja_JP/technic/t_0302.html (機種表示とその意味について) ***速度制御系の回路(図4.3)について [#a94c809a] -回路作成の敷居を低くし,誰もが速度制御実験を簡単に試せるように,必要最小限の回路にしています。したがって,汎用性はあまり考えられていません。 -駆動用モータにあるダイオードは還流ダイオードなどと呼ばれ,FETがOFFになった際に電流をバイパスする役割をしています。 -タコメータにあるダイオードは,誤ってタコメータを逆転させた際に,Arduinoに負の電圧がかからないようにするためのものです。ただし,Arduinoに使われているマイコン(ATmega)の入出力端子にも保護用ダイオードが内臓されており,もともと,壊れにくくなっています。 -モータ端子間のコンデンサはノイズ除去用です。なお,ラジコンなどでは,混信を避けるため,端子間だけでなく,モータのケースと端子の間にもコンデンサを入れることがあります。 -本回路では,ローパスフィルタのコンデンサをArduinoの入端子に直付けしています。入出力端子に保護回路が内蔵されていないマイコンでは,電源OFF時にコンデンサにたまっていた電荷が端子に流れ込み,マイコンが壊れるものがあるかもしれません。したがって,本回路を流用する際には注意が必要です。Arduinoの場合は,保護回路により,そう簡単には壊れないでしょう(あくまで,著者の意見です)。 ***位置制御系の回路(図5.6)について [#p0cde5ae] -モータドライバにTA7291Pを使用しています。これは,とにかく,超安価で,入手も用意であることから採用しています。しかし,損失が大きく,スイッチングも速くありません。私の周りでは,TB6612FNGの評判が良いようです。本回路を応用する際の参考にしてください。~ http://masato-ishikawa.blogspot.jp/2011/07/tb6612fng.html~ http://ichiro-maruta.blogspot.jp/2012/04/arduino_30.html~ http://www.switch-science.com/products/detail.php?product_id=236