62 lines
2.2 KiB
C
62 lines
2.2 KiB
C
#ifndef __PTZ_HEAT_RESISTOR_H_
|
|
#define __PTZ_HEAT_RESISTOR_H_
|
|
|
|
#include "gd32f4xx.h"
|
|
|
|
//两个加热电阻的型号阻值都是一模一样的
|
|
#define PTZ_HEAT_RESISTOR_A_PORT GPIOE
|
|
#define PTZ_HEAT_RESISTOR_A_PIN GPIO_PIN_0
|
|
|
|
#define PTZ_HEAT_RESISTOR_A_ON (gpio_bit_set(PTZ_HEAT_RESISTOR_A_PORT, PTZ_HEAT_RESISTOR_A_PIN))
|
|
#define PTZ_HEAT_RESISTOR_A_OFF (gpio_bit_reset(PTZ_HEAT_RESISTOR_A_PORT, PTZ_HEAT_RESISTOR_A_PIN))
|
|
|
|
#define PTZ_HEAT_RESISTOR_B_PORT GPIOE
|
|
#define PTZ_HEAT_RESISTOR_B_PIN GPIO_PIN_1
|
|
|
|
#define PTZ_HEAT_RESISTOR_B_ON (gpio_bit_set(PTZ_HEAT_RESISTOR_B_PORT, PTZ_HEAT_RESISTOR_B_PIN))
|
|
#define PTZ_HEAT_RESISTOR_B_OFF (gpio_bit_reset(PTZ_HEAT_RESISTOR_B_PORT, PTZ_HEAT_RESISTOR_B_PIN))
|
|
|
|
#define PTZ_HEAT_RESISTOR_R 24.0 //电阻阻值 单位: 欧姆 Ω
|
|
#define PTZ_HEAT_RESISTOR_I_MAX 1.0 //电阻允许通过的最大电流 单位:安培 A
|
|
|
|
#define PTZ_HEAT_RESISTOR_V_MAX 24.0//电阻两端最大的电压 单位:伏 V
|
|
|
|
#define PTZ_HEAT_RESISTOR_PWM_T 20 //加热PWM的总周期 单位:毫秒 ms
|
|
|
|
#define PTZ_HEAT_RESISTOR_TEMP 30.0//25.0//加热电阻能够被打开的最高温度
|
|
//即云台内部温度超过PTZ_HEAT_RESISTOR_TEMP
|
|
//就自动关闭加热或者无法打开加热功能
|
|
//关闭加热
|
|
#define PTZ_HEAT_RESISTOR_OFF_0 0
|
|
#define PTZ_HEAT_RESISTOR_OFF_1 1
|
|
//打开加热
|
|
#define PTZ_HEAT_RESISTOR_ON 2
|
|
//打开加热并输入PWM波
|
|
#define PTZ_HEAT_RESISTOR_ON_PWM 3
|
|
|
|
//#define PTZ_TMP75_COLLECT_NUM 5
|
|
|
|
|
|
//云台电阻加热
|
|
/*加热电阻*/
|
|
typedef struct _HeatResistor_
|
|
{
|
|
//加热电阻1
|
|
unsigned char heat_switch; //加热开关
|
|
unsigned short int pwm_t; //电阻PWM控制周期
|
|
unsigned short int pwm_power_on_t;//PWM电源打开时间
|
|
unsigned short int pwm_power_off_t;//PWM电源关闭时间
|
|
float pwm_duty_cycle;//占空比
|
|
float pwm_duty_cycle_max;//允许的最大占空比
|
|
unsigned short int heat_timer_min;//加热总时间计时,单位分钟
|
|
unsigned short int heat_timer_s;//加热总时间计时,单位秒
|
|
unsigned short int heat_timer_ms;//加热总时间计时,单位毫秒
|
|
float resistor_v;//电阻两端电压
|
|
float resistor_i;//通过电阻两端电流
|
|
|
|
}HeatResistor;
|
|
|
|
|
|
void ptz_heat_resistor_switch(PTZ_DATA_PACK *pack);
|
|
void init_heat_resistor_module();
|
|
#endif |