simulink上で​PWMを生成するには​どうすれば良いですか​。

5 ビュー (過去 30 日間)
KO
KO 2022 年 8 月 6 日
コメント済み: KO 2022 年 8 月 9 日
初歩的な質問ですみませんが、下記のようなコードでデジタルピンからPWM出力をすることはmatlabでは容易ですが、simulinnkではどのように実装できるのでしょうか。
for j=0:255
writePWMVoltage(a,'D10',j*5/255);
end

回答 (1 件)

Toshinobu Shintai
Toshinobu Shintai 2022 年 8 月 6 日
「writePWMVoltage」は、Arduinoのデバイス操作の関数だと想定してお答えします。まず、「Simulink Support Package for Arduino Hardware」をインストールしてください。そうすると、Arduinoのデバイスを読み書きできるブロックが扱えるようになります。
ブロックの使い方は、こちらの動画が参考になると思います。
  3 件のコメント
Toshinobu Shintai
Toshinobu Shintai 2022 年 8 月 7 日
PWMをArduinoから出力するには「PWM」ブロック、Arduinoのアナログ入力ピンの数値を参照するには「Analog Input」ブロックを使います。
動画の6:22辺りをみていただければ分かりますが、アナログ入力ピンにはRC回路が接続されており、PWM波形にローパスフィルタがかけられたような波形が入力されることになります。つまり物理的にPWM出力ピンとアナログ入力ピンは繋がっています。
ブロックのピン設定とそれに対応するピンの位置は、Arduinoのボードに書かれている番号そのままに対応しています。詳しくはこちらと、Arduinoさんのドキュメントをご参照ください。
KO
KO 2022 年 8 月 9 日
ご丁寧にありがとうございます。
Arduinoのanalog 入力ピンにRC回路およびGNDが接続されているためそこに電流が流れ、そこにスコープを当てれば波形が観れるということがなんとなくわかりました。Pin2がPWM対応なのかは疑問ですが。
実際にキットを組み立てて実装して確認してみようと思います。細かな疑問にお答えしてくださりありがとうございました。

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeArduino Hardware についてさらに検索

タグ

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!