What should be the sample time of the input pin to read the PWM signals?

3 ビュー (過去 30 日間)
Vallabh
Vallabh 2024 年 8 月 3 日
コメント済み: Vallabh 2024 年 8 月 21 日
I used a Arduino Mega to generate PWM pulses with varying duty cycles and frequency 100Hz.
This is the following output on a external logic analyzer connected to the 3, 5 pins. It shows a duty cycle of 20%
I configured an ESP32 WROOM(30 pin) to read the same PWM input using the digital pins with sample time = 0.005. I'm not getting the same input as expected.
Also the PWM inputs appear discontinuous in the simulink logic analyzer
What frequency should I configure such that I get the same input PWM as in the external logic analyzer?

採用された回答

Finn
Finn 2024 年 8 月 21 日
I think the best way to go would be to configure your ESP32 with external interrupts on your digital Pins
  1 件のコメント
Vallabh
Vallabh 2024 年 8 月 21 日
Yes, this is the best possible way for any board.
I have used interrupts for every rising and falling edge and sample the signal at that interrupt.

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

その他の回答 (1 件)

Umar
Umar 2024 年 8 月 5 日
Hi @ Vallabh,
You should configure the frequency of the PWM signal on the ESP32 WROOM to match that of the Arduino Mega, which is 100Hz in this case. By setting the frequency to 100Hz on the ESP32 WROOM, you should be able to synchronize the duty cycle readings between the two devices effectively. Remember to adjust the sample time in your ESP32 WROOM code to match the desired frequency for capturing the PWM input. By aligning the frequency settings, you can achieve a consistent and accurate representation of the PWM signals across different devices.

カテゴリ

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

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by