Clear Filters
Clear Filters

how to convert pwm_change_duty() function used in pic uC to a pwm code

7 views (last 30 days)
pwm_change_duty() is an already built in function used in pic microcontroller to change duty cycle. how do i convert it into a matlab formula.

Accepted Answer

Uladzimir
Uladzimir on 3 Jul 2014
Edited: Uladzimir on 3 Jul 2014
function output = pwmoutput(tctnr,q,Tcntr)
% q - pwm duty assignment 0...1
% Tcntr - pwm counter period
% tau - pwm duty
% tcntr - current pwm counter condition 0...Tcntr
tau = q*Tcntr;
output = tcntr <= tau;
  2 Comments
Uladzimir
Uladzimir on 3 Jul 2014
Pwm timer counts from 0 to timer period. And moment of pwm pin switching is defined by the function pwm_change_duty(). tcntr - is the current value of timer counter. It increments from 0 to Tcntr. Tcntr is maximal quantity of pwm timer clocks. q is the duty factor, which defines the duration of impulse. So output goes high when tcntr is equal tau = q*Tcntr, e. g. tau is the moment of switching.

Sign in to comment.

More Answers (0)

Communities

More Answers in the  Power Electronics Control

Community Treasure Hunt

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

Start Hunting!