feat 更新角度闭环相关功能
This commit is contained in:
@@ -1,28 +1,58 @@
|
||||
#include "by_fan_control.h"
|
||||
#include "zf_common_headfile.h"
|
||||
#define Fan_pwm_up1 TIM8_PWM_MAP0_CH1_C6
|
||||
#define Fan_pwm_up2 TIM8_PWM_MAP0_CH2_C7
|
||||
#define Fan_pwm_power1 TIM4_PWM_MAP1_CH3_D14
|
||||
#define Fan_pwm_power2 TIM4_PWM_MAP1_CH4_D15
|
||||
#define Fan_pwm_power3 TIM4_PWM_MAP1_CH2_D13
|
||||
#define Fan_pwm_power4 TIM4_PWM_MAP1_CH1_D12
|
||||
|
||||
uint32_t myclip(uint32_t x, uint32_t low, uint32_t up)
|
||||
{
|
||||
return (x > up ? up : x < low ? low
|
||||
: x);
|
||||
}
|
||||
|
||||
void by_pwm_init(void)
|
||||
{
|
||||
pwm_init(TIM4_PWM_MAP1_CH1_D12, 10000, 0); // 浮力风扇左
|
||||
pwm_init(TIM4_PWM_MAP1_CH2_D13, 10000, 0); // 浮力风扇右
|
||||
pwm_init(Fan_pwm_up1, 50, 500); // 浮力风扇左
|
||||
pwm_init(Fan_pwm_up2, 50, 500); // 浮力风扇右
|
||||
|
||||
pwm_init(TIM4_PWM_MAP1_CH3_D14, 10000, 0); // 动力风扇左
|
||||
pwm_init(TIM4_PWM_MAP1_CH4_D15, 10000, 0); // 动力风扇右
|
||||
pwm_init(Fan_pwm_power1, 50, 500); // 动力风扇左1
|
||||
pwm_init(Fan_pwm_power2, 50, 500); // 动力风扇右1
|
||||
pwm_init(Fan_pwm_power3, 50, 500); // 动力风扇左2
|
||||
pwm_init(Fan_pwm_power4, 50, 500); // 动力风扇右2
|
||||
// system_delay_ms(3000);
|
||||
// // pwm_init(Fan_pwm_power1, 50, 1000); // 动力风扇左1
|
||||
// // pwm_init(Fan_pwm_power2, 50, 1000); // 动力风扇右1
|
||||
// // pwm_init(Fan_pwm_power3, 50, 1000); // 动力风扇左2
|
||||
// // pwm_init(Fan_pwm_power4, 50, 1000); // 动力风扇右2
|
||||
// // system_delay_ms(5000);
|
||||
// pwm_set_duty(Fan_pwm_power1, 600);
|
||||
// pwm_set_duty(Fan_pwm_power2, 600);
|
||||
// pwm_set_duty(Fan_pwm_power3, 600);
|
||||
// pwm_set_duty(Fan_pwm_power4, 600);
|
||||
// while(1);
|
||||
}
|
||||
|
||||
void by_pwm_update_duty(uint32_t update_pwm_duty)
|
||||
void by_pwm_update_duty(uint32_t update_pwm_duty1, uint32_t update_pwm_duty2)
|
||||
{
|
||||
if (4000UL < update_pwm_duty) {
|
||||
update_pwm_duty = 4000UL;
|
||||
}
|
||||
pwm_set_duty(TIM4_PWM_MAP1_CH1_D12, update_pwm_duty);
|
||||
pwm_set_duty(TIM4_PWM_MAP1_CH2_D13, update_pwm_duty);
|
||||
// pwm_set_duty(TIM4_PWM_MAP1_CH3_D14, update_pwm_duty);
|
||||
// pwm_set_duty(TIM4_PWM_MAP1_CH4_D15, update_pwm_duty);
|
||||
update_pwm_duty1=myclip(update_pwm_duty1, 500, 900);
|
||||
update_pwm_duty2=myclip(update_pwm_duty2, 500, 900);
|
||||
pwm_set_duty(Fan_pwm_up1, update_pwm_duty1);
|
||||
pwm_set_duty(Fan_pwm_up2, update_pwm_duty2);
|
||||
}
|
||||
|
||||
void by_pwm_power_duty(uint32_t power_pwm_duty_l, uint32_t power_pwm_duty_r)
|
||||
void by_pwm_power_duty(uint32_t power_pwm_duty_l1, uint32_t power_pwm_duty_r1, uint32_t power_pwm_duty_l2, uint32_t power_pwm_duty_r2)
|
||||
{
|
||||
pwm_set_duty(TIM4_PWM_MAP1_CH3_D14, power_pwm_duty_l);
|
||||
pwm_set_duty(TIM4_PWM_MAP1_CH4_D15, power_pwm_duty_r);
|
||||
|
||||
power_pwm_duty_l1=myclip(power_pwm_duty_l1, 500, 900);
|
||||
power_pwm_duty_r1=myclip(power_pwm_duty_r1, 500, 900);
|
||||
power_pwm_duty_l2=myclip(power_pwm_duty_l2, 500, 900);
|
||||
power_pwm_duty_r2=myclip(power_pwm_duty_r2, 500, 900);
|
||||
|
||||
pwm_set_duty(Fan_pwm_power1, power_pwm_duty_l1);
|
||||
pwm_set_duty(Fan_pwm_power2, power_pwm_duty_r1);
|
||||
pwm_set_duty(Fan_pwm_power3, power_pwm_duty_l2);
|
||||
pwm_set_duty(Fan_pwm_power4, power_pwm_duty_r2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user