2023-12-15 21:42:43 +08:00
|
|
|
#include "by_fan_control.h"
|
|
|
|
|
#include "zf_common_headfile.h"
|
2024-01-16 20:03:21 +08:00
|
|
|
#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);
|
|
|
|
|
}
|
2023-12-15 21:42:43 +08:00
|
|
|
|
|
|
|
|
void by_pwm_init(void)
|
|
|
|
|
{
|
2024-01-16 20:03:21 +08:00
|
|
|
pwm_init(Fan_pwm_up1, 50, 500); // 浮力风扇左
|
|
|
|
|
pwm_init(Fan_pwm_up2, 50, 500); // 浮力风扇右
|
2023-12-15 21:42:43 +08:00
|
|
|
|
2024-03-20 00:59:33 +08:00
|
|
|
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
|
2024-01-16 20:03:21 +08:00
|
|
|
// system_delay_ms(3000);
|
2024-03-20 00:59:33 +08:00
|
|
|
// // 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
|
2024-01-16 20:03:21 +08:00
|
|
|
// // 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);
|
2023-12-15 21:42:43 +08:00
|
|
|
}
|
|
|
|
|
|
2024-01-16 20:03:21 +08:00
|
|
|
void by_pwm_update_duty(uint32_t update_pwm_duty1, uint32_t update_pwm_duty2)
|
2023-12-15 21:42:43 +08:00
|
|
|
{
|
2024-03-04 22:33:43 +08:00
|
|
|
update_pwm_duty1=myclip(update_pwm_duty1, 500, 1000);
|
|
|
|
|
update_pwm_duty2=myclip(update_pwm_duty2, 500, 1000);
|
2024-01-16 20:03:21 +08:00
|
|
|
pwm_set_duty(Fan_pwm_up1, update_pwm_duty1);
|
|
|
|
|
pwm_set_duty(Fan_pwm_up2, update_pwm_duty2);
|
2023-12-15 21:42:43 +08:00
|
|
|
}
|
2024-03-02 16:05:24 +08:00
|
|
|
/**
|
|
|
|
|
* @brief
|
|
|
|
|
*
|
|
|
|
|
* @param power_pwm_duty_l1 左转向风扇
|
|
|
|
|
* @param power_pwm_duty_r1 右转向风扇
|
|
|
|
|
* @param power_pwm_duty_l2 左驱动风扇
|
|
|
|
|
* @param power_pwm_duty_r2 右驱动风扇
|
|
|
|
|
*/
|
2024-01-16 20:03:21 +08:00
|
|
|
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)
|
2023-12-15 21:42:43 +08:00
|
|
|
{
|
2024-01-16 20:03:21 +08:00
|
|
|
|
|
|
|
|
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);
|
2023-12-15 21:42:43 +08:00
|
|
|
}
|