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

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

답변 (1개)

Toshinobu Shintai
Toshinobu Shintai 2022년 8월 6일

0 개 추천

「writePWMVoltage」は、Arduinoのデバイス操作の関数だと想定してお答えします。まず、「Simulink Support Package for Arduino Hardware」をインストールしてください。そうすると、Arduinoのデバイスを読み書きできるブロックが扱えるようになります。
ブロックの使い方は、こちらの動画が参考になると思います。

댓글 수: 3

KO
KO 2022년 8월 6일
参考動画までありがとうございます。
PWMといえどアナログ端子を使うのでしょうか?
参考動画内の添付写真のブロック図は、上下の繋がりが一見ないのにどうして上段の変数が下のアナログ入力のスコープに反映するのでしょうか。
また、PIN0とPIN2はそれぞれどこに対応しているのでしょうか。
立て続けに申し訳ございませんが、ご教授のほどよろしくお願い致します。
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対応なのかは疑問ですが。
実際にキットを組み立てて実装して確認してみようと思います。細かな疑問にお答えしてくださりありがとうございました。

댓글을 달려면 로그인하십시오.

카테고리

제품

릴리스

R2021a

태그

질문:

KO
2022년 8월 6일

댓글:

KO
2022년 8월 9일

Community Treasure Hunt

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

Start Hunting!