regarding pwm issue in stm32f4 discovery board

hi all,

   i am using the stm32f4 discovery board to drive my stepper motor in the rpm of between 0.001 to 500 RPM. for this i am using pwm. my clock frequency is 32MHZ and prescale for ABP1 is divided by 2 of my clock frequency. in this i cant make my pwm to act below the frequency of 250Hz because according to the time period calculation the timer over flow value is more than 65535. i need to set my frequency range of 3.33khz to .00667Hz.  some body please assist me.

Parents
  • hi,

    i used the formula

    time period = sys_clk_freq/pwm_freq;

    if my sys_clk_freq=16MHZ;

    pwm_freq=10KHZ

    so, time period = 16000000/10000;

    time period=1600;// this is below 65535 so there is no problem to obtain my pulse

    if my pwm freq is 240hz;

    time period = 16000000/240;

    time period=66666.66;// this is above 65535 so i calculated my pre scale value

    prescaler= 66666/65535;

    prescaler=1.017;

    tme period= 65535;

    i dont know whether this formula is wrong or right. but from this one i can obtain my pwm freq from 250hz to 2khz. i cant able to go more or less than that.

    note: i know my clk and pwm frequency i need to calculate only my time period. please assist for that

Reply
  • hi,

    i used the formula

    time period = sys_clk_freq/pwm_freq;

    if my sys_clk_freq=16MHZ;

    pwm_freq=10KHZ

    so, time period = 16000000/10000;

    time period=1600;// this is below 65535 so there is no problem to obtain my pulse

    if my pwm freq is 240hz;

    time period = 16000000/240;

    time period=66666.66;// this is above 65535 so i calculated my pre scale value

    prescaler= 66666/65535;

    prescaler=1.017;

    tme period= 65535;

    i dont know whether this formula is wrong or right. but from this one i can obtain my pwm freq from 250hz to 2khz. i cant able to go more or less than that.

    note: i know my clk and pwm frequency i need to calculate only my time period. please assist for that

Children
No data