本教程主要介绍目前市场上流行直流变频风扇的设计思路,通过方案设计、硬件设计、涂鸦IoT平台DP设置、嵌入式开发,来讲解普通风扇智能化的研发流程。如果你也感兴趣,可以一起动手操作,制作出一款原型产品,了解物联网硬件产品的设备端开发。
硬件设计思路如下:
调用该函数tuya_iot_wf_gw_unactive()以进入配网模式,涂鸦模组SDK对于网络状态的定义有以下几种:
定时功能是基础的控制功能,对持续工作的设备有重要作用,尤其是风扇、空调、香薰机等设备。
本地定时功能简单的调用了一个软件定时器来实现:
VOID_Tfan_timing_cd(VOID_T){ fan_state.local_timing--; opSocSWTimerStop(SHUTDOWN_TIMER); if(fan_state.local_timing==0||fan_state.on_off==FALSE){ fan_turn_off(); }else{ PR_NOTICE("fan_state.local_timing========%d",fan_state.local_timing); write_flash_fan_state(); opSocSWTimerStart(SHUTDOWN_TIMER,(SINGLE_TIMING*1000),fan_timing_cd); fan_local_timing_led_set(fan_state.local_timing); }}VOID_Tfan_local_timing_shutdown(VOID_T){ fan_local_timing_led_set(fan_state.local_timing); if(fan_state.local_timing>4){//无定时 opSocSWTimerStop(SHUTDOWN_TIMER); return; } PR_NOTICE("runshutdowntimer"); opSocSWTimerStop(SHUTDOWN_TIMER); opSocSWTimerStart(SHUTDOWN_TIMER,(SINGLE_TIMING*1000),fan_timing_cd);}5:通电自动恢复自动恢复又称断电记忆,是指在设备断电并重新通电后,可以重新以之前的状态继续工作,无需人为干扰。
该功能依赖于Flash,每次改变状态后,都将当前设备信息存储到Flash中。在设备通电后,首先读取Flash中的数据对设备状态进行设定。
VOID_Terase_flash_fan_state(VOID_T){ INT_TopRet,i; UCHAR_Tfan_state_buffer[FAN_STATE_STORAGE_LEN]; fan_state.on_off=FALSE; fan_state.mode=NORMAL_MODE; fan_state.speed=1; fan_state_buffer[0]=FAN_DATA_HEAD; fan_state_buffer[1]=FALSE;//fan_state.on_off fan_state_buffer[2]=NORMAL_MODE;//fan_state.mode fan_state_buffer[3]=1;//fan_state.speed fan_state_buffer[4]=0xFF;//fan_state.local_timing fan_state_buffer[5]=get_crc_8(fan_state_buffer,(FAN_STATE_STORAGE_LEN-1)*SIZEOF(UCHAR_T)); for(i=0;i 在硬件设计阶段,为了方便您了解整体的操作流程,我们省略了大量的背景信息。您可以在本章节了解到更多细节,供您参考。 FU6832S芯片有6个指定引脚H_PU、H_PV、H_PW、L_U、L_V、L_W用于控制三相直流无刷电机,内置上拉电阻和下拉电阻,高电平最大值是VCC电压。 只要将芯片供电的输入电压和电机工作电压保持相同,就不需要再在这些引脚的外围增加电平转换电路,可直接用三颗驱动芯片AO4606驱动电机的U、V、W三个引脚,该芯片由一个Nmos和Pmos组成,通过引脚走线可设计成半桥驱动电路。 FU6832S芯片内置一个可配置增益的独立运算放大器,外围增加取样电阻,便可用于实现电机过流检测保护。 电机正反转监测电路,通过电阻分压后,进入FU6832S芯片14、15、16脚。 因为FU6832S芯片数字电路引脚的电平是5V,Wi-Fi模块的引脚电平是3.3V,因此两个通信间需要增加电平转换电路。