雾化器库使用说明

更新时间:2023-08-06 19:14:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

雾化器库使用说明

本文档为赛元提供的雾化器库的使用说明,雾化器库支持1.7M频率和2.4M频率的雾化片,库提供了函数接口进行设置。其中1.7M雾化片适用于大功率加湿器(功率在15W以上),2.4M雾化片适用于小功率的香薰机(功率在6-12W)。雾化器库提供了自动追频、功率设置、雾化工作、触控检水功能。库共提供了11个函数接口供用户调用,实现雾化器功能。

一、雾化器库介绍:

雾化器Atomizer文件夹中包含:

SC91F832_C.H MCU头文件

Atomizer.h 包含雾化器外部调用接口函数

SOC_Atomizer_lib_V0.1.LIB 雾化器库文件

实现雾化器工作需要占用一定的系统资源,雾化器库资源占用:

ROM:1.8K DATA: 50BYTE XDATA:60BYTE

定时器:定时器0

PWM:PWM1

ADC:两路ADC

EEPROM: 4byte

Touch Key: 两路

二、雾化器的工作流程

三、雾化器库函数接口和接口说明

雾化器库共提供10个函数接口和3个全局变量:

变量:bit TrackFreqFlag; 变量说明:追频完成标志0:未完成;1:完成

变量:bit AjustPowerFlag; 变量说明:功率调整完成标志0:未完成;1:完成变量:bit Water_flag; 变量说明:水位检测输出结果0:缺水;1:有水

函数:bit SOCAPI_GetTrackFreqStaus(void);

函数功能:获取雾化器追频状态,返回1为已追频,0为未追频

函数:void SOCAPI_SetFreq(void) ;

函数功能:设置雾化器工作频率,当得到已追踪过频率可以调用该函数设置雾化器的频率

函数:void SOCAPI_Atomizer_Init(INT8U mode);

函数说明:雾化器初始化,设置PWM和定时器0;设置mode为0时雾化器的工作频率设置为1.7M;mode为1时为2.4M

函数:void SOCAPI_TrackFreq_Init(void);

函数功能:雾化器追频初始化,设置了追频所需的变量,需要在追频前调用

函数:void SOCAPI_TrackFreq(void);

函数功能:雾化器追频,该函数需要在SOCAPI_TrackFreq_Init之后在主程序中一直调用,直到TrackFreqFlag变量置1,追频完成后进入功率调整

函数:void SOCAPI_AtomizerSetPower(INT8U Power);

函数功能:设置雾化器工作时最大档功率,1.7M:设置范围15-21W;2.4M:设置范围6-12W

函数:void SOCAPI_AdjustPower(void);

函数功能:进行功率调整,将最大档功率调制到设定功率,需要在SOCAPI_AtomizerSetPower 之后调用

函数:void SOCAPI_AtomizerSetGear(INT8U Gear);

函数功能:设置档位,16档可调,0为低档,16为高档位,用户可以在当中选择任意档位作为目标功率

函数:void SOCAPI_AtomizerWork(void);

函数说明:雾化器雾化工作,该函数需要在主函数中无阻塞调用

函数: void SOCAPI_WaterLevelDetectorInit(INT16U Initial_Diff,int ThresholdTmp,INT8U Speed); 函数说明:水位检测初始化,设置水位检测参数

函数:void SOCAPI_WaterLevelDetector(void);

函数功能:水位检测,检测结果由Water_flag输出

四、雾化器库的具体使用

雾化器库使用准备:雾化器的检水功能需要使用到Touch Key,赛元提供触控库帮助用户使用赛元的触控功能,具体使用见触控库的使用说明或者联系赛元的工程师,在项目工程中添加触控库;采集TK通道的数据,设置main.h中以下三个参数:

#define CH_INITIAL_DIFF 668

参数说明:检测通道与参考通道的初始比例,采样通道无水时RAWdata/参考通道RAWdata*1000

#define WATERThresholdtmp 1300

参数说明:检测通道有无水差值*0.6,如完全覆的差值为2166,则设置为1300。

#define WATERCHECK_SPEED 20

参数说明:水位检测的确认次数,取值范围10-249 ,确认时间为10*Nms

通过函数SOCAPI_WaterLevelDetectorInit()进行设置;

本软件库适用于赛元的SC91F831和SC91F832芯片,用户使用时需将Atomizer文件夹添加到项目工程中,并在KEIL项目中添加Atomizer文件夹中的SOC_Atomizer_lib_V0.1.LIB,1、在工程主文件中调用雾化器库文件

#include "Atomizer\Atomizer.h" //包含雾化器外部调用接口函数

2、清除EEPROM空间

在主文件中加入INT8U code EE_Data[4]={0,0,0,0}; //清除EEPROM的空间

设置工程配置的BL51 Locate选项卡中的CODE为?CO?MAIN(0X1f00)

3、初始化雾化器工作

根据使用的雾化片频率调用函数SOCAPI_Atomizer_Init(0); 对雾化器进行初始化

4、水位检测初始化

调用以下函数对雾化器进行初始化,该函数需要在水位检测函数调用前进行设置

SOCAPI_WaterLevelDetectorInit(CH_INITIAL_DIFF,WATERThresholdtmp,WATERCHECK_SPEED);

5、查询是否追频

调用函数SOCAPI_GetTrackFreqStaus,返回是否已追踪过频率,若已追频则调用函数SOCAPI_SetFreq设置雾化器工作的频率,若未追踪过频率则进行追频

6、追踪频率

调用函数SOCAPI_AtomizerSetPower设置雾化器工作的最大档功率,建议加湿器设置为16-21W,香薰机设置为6-12W;设置雾化器的功率后调用SOCAPI_TrackFreq_Init()对追频进初始化;在主函数中无阻塞的调用函数SOCAPI_TrackFreq_Init直到TrackFreqFlag变量置1,追频完成后进入功率调整

7、功率调整

追频完成后将ADC切换到检测电流的ADC口,无阻塞调用函数SOCAPI_AdjustPower进行功率调整,将最大档的功能调整到设定值;由于器件差异,调整后功率误差在正负1W左右;

8、雾化器雾化

在主函数中无阻塞的调用函数SOCAPI_AtomizerWork()进行雾化工作,切勿在追频和调整功

率过程调用该函数

9、档位调整

在雾化器正常雾化过程可以调用函数SOCAPI_AtomizerSetGear进行设置档位,函数支持16吉档位设置,雾化器库将最大档均分成16级档位,用户可以根据所需的各档位功率选择合适的档位作为实际工作的档位。

10、检测水位

雾化器库已经在雾化时调用了水位检测函数,检测结果由Water_flag输出,若用户需要在雾化器不正常雾化下检水则需要在主函数中调用程序段:

if(SOCAPI_TouchKeyStatus&0x80) // Bit7:一轮按键扫描是否完成?

{

SOCAPI_TouchKeyStatus&=0x7f; // 清掉Bit7:一轮扫描完成标志

TouchKeyScan(); // 数据算法处理后,读取键值

SOCAPI_WaterLevelDetector(); // 水位检测

TouchKeyRestart(); // 启动下一轮扫

}

若在使用中有任何的疑问请联系赛元的工程师!

本文来源:https://www.bwwdw.com/article/huyj.html

Top