这是我设计的雾化片驱动一体化板。使用5V的电源供电,接口是Type-C。上电后MCU工作输出PWM信号给栅极驱动器,通过栅极驱动器驱动MOSFET升压,Boost升压电路提供后级Class-E功放电路的电源,22V左右,同时还提供栅极驱动器和MCU的工作电源。
电路启动后,MCU除了不断进行PID运算调整占空比稳定Boost电路输出电压,还进行LED的控制,及按键扫描水位检测等任务任务.MUC的程序中设定了一个定时器中断,每768个时钟周期进入中断一次,中断中使用ADC对Boost电路输出电压检测,随后调用PID算法计算最新的占空比值并更新,然后更改LED呼吸灯的驱动占空比,最后进行按键扫描并输出按键事件值。在main函数中进行三个任务循环:任务一负责对水位进行检测,如果处于低水位状态则关闭Class-E功放电路的激励以保护雾化片(实际该功能未使用);任务二对按键事件进行处理,根据按键长按和短按的行为调整系统状态,开关机,雾化量调节。雾化量的调节是通过改变低频PWM信号的占空比,控制栅极驱动器使能端使得后级Class-E功放电路的输出时有时无达到雾化量调整功能。同时当雾化量改变后,还将最新的雾化量挡位写入Flash供下次上电时使用。任务三负责看门狗喂狗。
电路启动后,MCU除了不断进行PID运算调整占空比稳定Boost电路输出电压,还进行LED的控制,及按键扫描水位检测等任务任务.MUC的程序中设定了一个定时器中断,每768个时钟周期进入中断一次,中断中使用ADC对Boost电路输出电压检测,随后调用PID算法计算最新的占空比值并更新,然后更改LED呼吸灯的驱动占空比,最后进行按键扫描并输出按键事件值。在main函数中进行三个任务循环:任务一负责对水位进行检测,如果处于低水位状态则关闭Class-E功放电路的激励以保护雾化片(实际该功能未使用);任务二对按键事件进行处理,根据按键长按和短按的行为调整系统状态,开关机,雾化量调节。雾化量的调节是通过改变低频PWM信号的占空比,控制栅极驱动器使能端使得后级Class-E功放电路的输出时有时无达到雾化量调整功能。同时当雾化量改变后,还将最新的雾化量挡位写入Flash供下次上电时使用。任务三负责看门狗喂狗。