Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 6 months ago.
PwmOutの周期について FRDM-K64
PwmOutの設定について教えてください。 FRDM-K64Fを使って、クラシックCompilerです。
エンコーダ出力付きのDCモータを駆動します。 クラスリファレンスでは、pulsewidth()の説明に、「keeping same period」とあるので、period一定でパルス幅を設定すると理解しています。 PwmOut mot_enb(); mot_enb.period_us(100); 区間を100us=10KHzに設定
モータからのエンコーダ出力を割り込みで入れて、エンコーダパルスを時間計測(Timerクラスを使用)します。 パルス時間に応じてPwmOutのオン時間(pulsewidth)を変えようと思いますが、うまくいきません。 周期一定でパルス時間は変わっているのですが、pulsewidthを設定した瞬間だけ周期が変わってしまいます。
添付の絵はオシロ波形ですが、水色がPWM出力、黄色がモータからのエンコーダ入力です。 エンコーダの立下りエッジ2回に1回pulsewidthを設定しています。 pulsewidthを設定した瞬間、その時間が加算され、周期がくるってしまいます。
これは仕様なんでしょうか。