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

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

回答(1 个)

0 个投票

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

3 个评论

KO
KO 2022-8-6
参考動画までありがとうございます。
PWMといえどアナログ端子を使うのでしょうか?
参考動画内の添付写真のブロック図は、上下の繋がりが一見ないのにどうして上段の変数が下のアナログ入力のスコープに反映するのでしょうか。
また、PIN0とPIN2はそれぞれどこに対応しているのでしょうか。
立て続けに申し訳ございませんが、ご教授のほどよろしくお願い致します。
PWMをArduinoから出力するには「PWM」ブロック、Arduinoのアナログ入力ピンの数値を参照するには「Analog Input」ブロックを使います。
動画の6:22辺りをみていただければ分かりますが、アナログ入力ピンにはRC回路が接続されており、PWM波形にローパスフィルタがかけられたような波形が入力されることになります。つまり物理的にPWM出力ピンとアナログ入力ピンは繋がっています。
ブロックのピン設定とそれに対応するピンの位置は、Arduinoのボードに書かれている番号そのままに対応しています。詳しくはこちらと、Arduinoさんのドキュメントをご参照ください。
KO
KO 2022-8-9
ご丁寧にありがとうございます。
Arduinoのanalog 入力ピンにRC回路およびGNDが接続されているためそこに電流が流れ、そこにスコープを当てれば波形が観れるということがなんとなくわかりました。Pin2がPWM対応なのかは疑問ですが。
実際にキットを組み立てて実装して確認してみようと思います。細かな疑問にお答えしてくださりありがとうございました。

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Simulink でサポートされているハードウェア 的更多信息

产品

版本

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!