PWM Principles
Pulse width modulation
Pulse width modulation ą¹ąø£ąøµąø¢ąøąøŖąø±ą¹ąøą¹ąø§ą¹ąø² PWM ą¹ąøą¹ąøąøąø²ąø£ą¹ąø”ąøąø¹ą¹ąø„ąøąø±ą¹ąøąøąø§ąø²ąø”ąøąø§ą¹ąø²ąøąøąø±ąø„ąøŖą¹ ąøąøµą¹ąøąø¹ąøąøąø³ąø”ąø²ą¹ąøą¹ą¹ąøąøąø²ąøąøąø£ąø°ąø¢ąøøąøąøą¹ąø«ąø„ąø²ąø¢ąøą¹ąø²ąø ąøąø±ąø§ąøąø¢ą¹ąø²ąøą¹ąøą¹ąø ąøąø²ąø£ąøŖąø·ą¹ąøąøŖąø²ąø£ąøąø“ąøąø“ąøąøąø„(digital communication), ąøąø“ą¹ąø„ą¹ąøąøąø£ąøąøąø“ąøąøŖą¹ąøąø³ąø„ัภ(power electronics), ąøąø²ąø£ąøąø§ąøąøąøøąø”ąøąø§ąø²ąø”ą¹ąøą¹ąø”ą¹ąøŖąøąøąøąøą¹ąøąøąøąøąøąø±ąøą¹ąøąø”ąø±ąøąø“ (street lighting), ąøąø²ąø£ąøąø§ąøąøąøøąø”ąøąø§ąø²ąø”ą¹ąø£ą¹ąø§ąøąøąøąø”ąøą¹ąøąøąø£ą¹ DC ą¹ąø„ąø°ąøąø²ąø£ąøŖąø£ą¹ąø²ąøąøŖąø±ąøąøąø²ąøąøąøąø²ąø„ą¹ąøąøąøąø²ąøąøŖąø±ąøąøąø²ąøąøąø“ąøąø“ąøąøąø„ąøą¹ąø§ąø¢ PWM ąøąøµą¹ą¹ąøąø£ąøąø±ąøą¹ąøą¹ (ADC) ą¹ąø„ąø°ąøąø²ąø£ ą¹ąøąø„ąøąøąø“ąøąø“ąøąøąø„ą¹ąøą¹ąøąøąøąø²ąø„ą¹ąøąø (DAC) ą¹ąøą¹ąøąøą¹ąø ąøąø¶ą¹ąøą¹ąøąøąøąø“ąøą¹ąøąøąø²ąø£ąøŖąø£ą¹ąø²ąøąøŖąø±ąøąøąø²ąø PWM ąø”ąøµąøąø¢ąø¹ą¹ąøą¹ąø§ąø¢ąøąø±ąø 2 ąø§ąø“ąøąøµ ąøąø·ąøąø§ąø“ąøąøµąøąø²ąøąøąø“ąøąø“ąøąøąø„ą¹ąø„ąø°ąø§ąø“ąøąøµąøąø²ąøąøąøąø²ąø„ą¹ąøąø
PWM ąøąø°ąøąø³ąøąø²ąø£ąøŖąø£ą¹ąø²ąøąøąø„ąø·ą¹ąøąøŖąøµą¹ą¹ąø«ąø„ąøµą¹ąø¢ąø” (square wave) ą¹ąøąø¢ąøŖąø²ąø”ąø²ąø£ąøąøąø§ąøąøąøøąø”ąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ąøą¹ąø²ąøŖąø±ąøąøąø²ąøąøąø¶ą¹ąø/สูภ(up หรืภhigh) ą¹ąøąøŖąø±ąøąøąø²ąø PWM ą¹ąøąø¢ąøą¹ąø²ą¹ąø£ąøąøąø±ąøąøą¹ąø³ąøŖąøøąøą¹ąø„ąø°ąøŖąø¹ąøąøŖąøøąøąøąø°ą¹ąøą¹ąøąøą¹ąø²ąøąøµą¹ąøąø³ąøąø±ąøąøąø²ąø£ąøąø·ą¹ąøąøąøµą¹ąøąøąøąøąø„ąø·ą¹ąø (waves oscillation space) ą¹ąø£ąøµąø¢ąøąø§ą¹ąø² "ąøąø§ąø²ąø”ąøŖąø¹ąøąøąø„ąø·ą¹ąø - Amplitude" ąøŖąø³ąø«ąø£ąø±ąøąø£ąøąøąøąøąøąøąø„ąø·ą¹ąøą¹ąøąø·ą¹ąøą¹ąøąø“ąøą¹ąøą¹ąø”ąø£ąø¹ąøą¹ąøąøąøąøąøąøą¹ąø§ąøą¹ąø§ąø„ąø²ąøąø±ą¹ąø ąøąø°ą¹ąø£ąøµąø¢ąøąø§ą¹ąø² "ąøąø²ąøą¹ąø§ąø„ąø² - Time period" ą¹ąøąø¢ąøąøµą¹ time period ąø”ąøµąøą¹ąø²ą¹ąøą¹ąø²ąøąø±ąø
ąøąø§ąø²ąø”ąøąøµą¹ąøąøąø PWM
ąøą¹ąø²ąøąø§ąø²ąø”ąøąøµą¹ (frequency) ąøąø·ąøąøąø³ąøąø§ąøąø„ąø¹ąøąøąø„ąø·ą¹ąø (cycle) ąøą¹ąø 1 ąø«ąøą¹ąø§ąø¢ąøąø²ąøą¹ąø§ąø„ąø² (time peroid) ąøąø±ąø§ąøąø¢ą¹ąø²ąøą¹ąøą¹ąø ą¹ąøąøąø²ąøą¹ąø§ąø„ąø²ąøąøąøąøŖąø±ąøąøąø²ąø 20ms ąøąø°ąø”ąøµąøąø³ąøąø§ąøąø„ąø¹ąøąøąø„ąø·ą¹ąø 50 คูภหรืภ50Hz

Duty cycle
Duty Cycle ąøąø·ąøąø«ąø„ąø±ąøąøąø²ąø£ąøŖąø³ąøąø±ąøąøąøµą¹ąøąø¹ąøą¹ąøą¹ą¹ąø PWM ą¹ąøąø·ą¹ąøąøąøąø²ąøąø”ąø±ąøąøąø°ą¹ąøą¹ąøąøąø±ąø§ą¹ąøąøąøąøąøąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ąøąøµą¹ąøŖąø±ąøąøąø²ąøąøąø¢ąø¹ą¹ą¹ąøąøŖąøąø²ąøąø° high ą¹ąøąø¢ąøąøµą¹ąøŖąø¹ąøąø£ą¹ąøąøąø²ąø£ąø«ąø²ąøą¹ąø² duty cycle ąøąø±ąøąøąøµą¹

ąøąø²ąø£ąøąø³ąøąø§ąøąøą¹ąø² Voltage ąøąøąøąøŖąø±ąøąøąø²ąø PWM
ą¹ąøąø·ą¹ąøąøąø³ąøąø§ąøąø«ąø²ąøą¹ąø² duty cycle ą¹ąø£ąø²ąøąø°ąøą¹ąøąøąø£ąø¹ą¹ąø§ą¹ąø²ąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ą¹ąøąøąøąø°ąøąøµą¹ąøŖąø±ąøąøąø²ąøąø”ąøµąøą¹ąø² high ąøąø²ąøą¹ąøą¹ąø²ą¹ąø ąøąø±ąø§ąøąø¢ą¹ąø²ąøą¹ąøą¹ąø ąøą¹ąø²ą¹ąø£ąø²ąøąø£ąø²ąøąø§ą¹ąø²ąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ą¹ąøąøąøąø°ąøąøµą¹ąøŖąø±ąøąøąø²ąøąø”ąøµąøą¹ąø² high ą¹ąøą¹ąøąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø² 6ms ą¹ąø„ąø°ąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ą¹ąøąøąøąø°ąøąøµą¹ąøą¹ąø²ąøŖąø±ąøąøąø²ąø low ą¹ąøą¹ąøąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø² 4ms ąøąø¶ą¹ąøąøąø³ą¹ąø«ą¹ąø£ąø§ąø”ąø£ąø°ąø¢ąø°ą¹ąø§ąø„ąø²ąøąø±ą¹ąøąø«ąø”ąøąøąø·ąø 10ms ąøąø±ąøąøąø±ą¹ąøąøą¹ąøŖąø²ąø”ąø²ąø£ąøą¹ąøą¹ąøŖąø¹ąøąø£ąøą¹ąø²ąøąøą¹ąøąø«ąø²ąøą¹ąø² duty cycle ą¹ąøą¹ąøąø±ąøąøąøµą¹
ąøąø²ąøąøąø²ąø£ą¹ąøą¹ąøŖąø”ąøąø²ąø£ąøąø°ą¹ąøą¹ duty cycle ą¹ąøą¹ąø²ąøąø±ąø 0.6 ąøąø¶ą¹ąøą¹ąø”ą¹ąø”ąøµąø«ąøą¹ąø§ąø¢ ąøąø±ąøąøąø±ą¹ąøą¹ąø£ąø²ąøąø¶ąøąø”ąø±ąøąøąø°ąø§ąø±ąø duty cycle ą¹ąøą¹ąøąø«ąøą¹ąø§ąø¢ąøąøąøą¹ąøąøąø£ą¹ą¹ąøą¹ąøąøą¹ (%) ąøąøąøąøąø²ąø£ąøąøµą¹ąøŖąøąø²ąøąø°ąøąøąøąøŖąø±ąøąøąø²ąøąøąø¢ąø¹ą¹ą¹ąøąøą¹ąø² high ąøąø±ą¹ąøą¹ąøąø

Amplitude of PWM
ą¹ąøąøąø£ąøąøµąøąøąøąøŖąø±ąøąøąø²ąøąøąø“ąøąø“ąøąøąø„ ą¹ąø£ąøąøąø±ąøąøą¹ąø³ąøŖąøøąøąøŖą¹ąø§ąøą¹ąø«ąøą¹ąøąø°ą¹ąøą¹ąøąøØąø¹ąøąø¢ą¹ ąøąø±ąøąøąø±ą¹ąøąøąø§ąø²ąø”ąøŖąø¹ąøąøąø„ąø·ą¹ąø (Amplitude) ąøąø°ą¹ąøą¹ąøą¹ąø£ąøąøąø±ąøąøŖąø¹ąøąøŖąøøąøąøąøąøąøŖąø±ąøąøąø²ąø ąøąø±ąø§ąøąø¢ą¹ąø²ąøą¹ąøą¹ąø ąøąø²ąøąø£ąø¹ąøąøą¹ąø²ąøąø„ą¹ąø²ąø PWM ดี duty cycle ąøąø¢ąø¹ą¹ąøąøµą¹ 50% ą¹ąø„ąø°ąø£ąø°ąøąø±ąøą¹ąø£ąøąøąø±ąøą¹ąøąøą¹ąø²ąøąø¢ąø¹ą¹ąø£ąø°ąø«ąø§ą¹ąø²ąø 0 ąøąø¶ąø 5 ą¹ąø§ąø„ąøą¹ ąøąøµą¹ąøą¹ąø²ąø¢ą¹ąø«ą¹ąøąø±ąø LED ąøąø±ąøąøąø±ą¹ąøąøą¹ąø²ą¹ąø£ąøąøąø±ąøąøąø²ąøąøąøąøąø°ąøąø¢ąø¹ą¹ąøąøµą¹ 2.5 ą¹ąø§ąø„ąøą¹ą¹ąøą¹ąø²ąøąø±ą¹ąø

ą¹ąøąøąø²ąø£ą¹ąøąø£ą¹ąøąø£ąø” PSoC ą¹ąøąø·ą¹ąøąøŖąø£ą¹ąø²ąøąøŖąø±ąøąøąø²ąø PWM ąøąøąøąøą¹ąø²ąøąøąø²ąøąøąøą¹ąø”ą¹ąøąø£ąøąøąøą¹ąøąø£ą¹ąø„ąøąø£ą¹ąøąø°ą¹ąø£ąøµąø¢ąøą¹ąøą¹ąøąø±ąøąøą¹ąøąø±ąø cyhal_pwm_init ąøąøąøąøąø²ąøąøąø±ą¹ąøąøąø²ąø£ąøąø±ą¹ąøąøą¹ąø² clock ąøąø°ąøą¹ąø²ąøąøąø“ąøąøŖąø±ąøąøąø²ąøąøąø²ąø¬ąø“ąøąø²ąø«ąø„ąø±ąøąøąøąøą¹ąø”ą¹ąøąø£ąøąøąøą¹ąøąø£ą¹ąø„ąøąø£ą¹ ą¹ąø„ąø°ąøąø³ąø«ąøąøąøą¹ąø² duty cycle ąøą¹ąø²ąøąøąø±ąøąøą¹ąøąø±ąø cyhal_pwm_set_duty_cycle ąø«ąø„ąø±ąøąøąø²ąøąøąøµą¹ąøąø³ąø«ąøąøąøą¹ąø²ą¹ąø£ąø“ą¹ąø”ąøą¹ąøąøą¹ąø²ąøą¹ą¹ąø£ąøµąø¢ąøąø£ą¹ąøąø¢ą¹ąø„ą¹ąø§ ąøą¹ąøąø°ą¹ąø£ąø“ą¹ąø”ąøŖąø£ą¹ąø²ąøąøŖąø±ąøąøąø²ąø PWM ą¹ąøąø¢ą¹ąø£ąøµąø¢ąøą¹ąøą¹ąøąø±ąøąøą¹ąøąø±ąø cyhal_pwm_start ąøąø±ąøąøąø±ąø§ąøąø¢ą¹ąø²ąøą¹ąøąø£ą¹ąøąø£ąø”ąøą¹ąø²ąøąø„ą¹ąø²ąø
cy_rslt_t rslt;
cyhal_pwm_t pwm_obj;
// Initialize PWM on the supplied pin and assign a new clock
rslt = cyhal_pwm_init(&pwm_obj, P0_0, NULL);
// Set a duty cycle of 50% and frequency of 1Hz
rslt = cyhal_pwm_set_duty_cycle(&pwm_obj, 50, 1);
// Start the PWM output
rslt = cyhal_pwm_start(&pwm_obj);
Last updated
Was this helpful?