基于与STM32的加湿器之雾化片驱动

基于与STM32的加湿器之雾化片驱动

  加湿器是一种由电力驱动,用于增加环境湿度的家用电器。加湿器通过特定的方式(如蒸发、超声波振动或加热)将水转化为水蒸气,并将这些水蒸气释放到空气中,从而增加空气中的湿度。主要功效是改善室内环境的湿度,减少因空气干燥带来的不适,如皮肤干燥、喉咙不适等。同时,加湿器还能在一定程度上减少空气中的浮尘,去除异味,并创造更舒适的居住环境。

1.工作原理

  根据工作原理的不同,加湿器主要分为以下几类:

  蒸发式加湿器:利用风机的作用使水蒸发并扩散到空气中,达到加湿的目的。这种加湿器使用方便、无噪音,适合在需要安静环境的场所使用。
  超声波加湿器:通过高频震荡将水雾化为超微小颗粒,并通过小风扇将水雾扩散到空气中。超声波加湿器的加湿效果好,能快速提高空气湿度,但可能会产生一定的噪音。
  加热加湿器:通过加热将水转化为水蒸气并释放到空气中。加热加湿器不仅能增加空气湿度,还能杀死空气中的细菌和病毒,改善室内空气质量。但加热加湿器需要较高的能耗,并在加热过程中可能产生噪音。

2.市场与发展

  随着人们生活水平的提高和对居住环境舒适度的要求增加,加湿器的市场需求不断增长。市场上出现了各种品牌、型号的加湿器产品,以满足不同消费者的需求。未来加湿器产品将更加智能化、便捷化。例如,通过智能控制实现自动调节湿度、与智能家居系统联动等功能。同时,随着环保意识的提高和技术的进步,节能、环保的加湿器产品也将受到更多消费者的青睐。

3.加湿器雾化片驱动

  加湿器雾化片是加湿器中的核心部件,负责将水分子雾化成微小的颗粒,并释放到空气中,从而增加空气湿度。
  加湿器雾化片,也称为超声波雾化片或换能片,是一种利用超声波振动原理将液态水转化为气态水雾的装置。通过高频振动将水分子打散成微小颗粒,形成水雾,并随着空气流动扩散到室内,达到加湿的效果。
  随着加湿器市场的不断扩大和消费者需求的多样化,加湿器雾化片的生产和研发也在不断进步。目前市场上已经出现了多种类型的雾化片产品,如超声波雾化片、压电陶瓷雾化片等。

  本次采用的加湿器雾化片为超声波雾化片,采用5V工作电压,工作频为110KHZ,工作电流大约300mA,2.0接线端子。硬件实物如下图所示:
在这里插入图片描述
  加湿器雾化片硬件电路设计如下图所示:
在这里插入图片描述
  使用NMOS管实现PWM输出110KHZ频率,外加三脚升压电感升压实现雾化片驱动。利用电感的互感特性,将初级电能转化为磁能,磁能感应到次级时,次级将磁能再转换成电能,一系列的电磁转换过程,只要将初级设计成一个小感量,次级设计成一个大感量,当电感器流过一个交变的电流,就可以达到一个升压的效果。三角电感实物图和封装如下图所示:
在这里插入图片描述
  本次设计采用的三脚电感参数为6*8(25uH+800uH)。
在这里插入图片描述

3.加湿器雾化片驱动

3.1 HAL库配置PWM模式

  本次雾化片驱动引脚为PB9,可通过TIM4_CH4通道进行驱动。使用HAL库配置信息如下:
在这里插入图片描述
在这里插入图片描述

3.2 PWM代码生成

  TIM4_CH4初始化代码如下:

void MX_TIM4_Init(void)
{/* USER CODE BEGIN TIM4_Init 0 *//* USER CODE END TIM4_Init 0 */TIM_ClockConfigTypeDef sClockSourceConfig = {0};TIM_MasterConfigTypeDef sMasterConfig = {0};TIM_OC_InitTypeDef sConfigOC = {0};/* USER CODE BEGIN TIM4_Init 1 *//* USER CODE END TIM4_Init 1 */htim4.Instance = TIM4;//定时器4htim4.Init.Prescaler = 0;//预分配系数htim4.Init.CounterMode = TIM_COUNTERMODE_UP;//向上计数htim4.Init.Period = 654;//重装载值,一个技术周期时间:1/72*654=9.08us,约为110KHZhtim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;//无时钟分频因子htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;//自动重装载允许if (HAL_TIM_Base_Init(&htim4) != HAL_OK)//定时器初始化{Error_Handler();}sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;//时钟源if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK){Error_Handler();}if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)//初始化定时器{Error_Handler();}sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK){Error_Handler();}sConfigOC.OCMode = TIM_OCMODE_PWM1;//PWM模式1sConfigOC.Pulse = 0;//占空比sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;//有效电平为高电平sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;//快速比较使能if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)//TIM4_PWM初始化{Error_Handler();}/* USER CODE BEGIN TIM4_Init 2 *//* USER CODE END TIM4_Init 2 */HAL_TIM_MspPostInit(&htim4);//定时器引脚与时钟配置}

  定时器4通道4硬件引脚配置和启动代码示例:

void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
{GPIO_InitTypeDef GPIO_InitStruct = {0};if(timHandle->Instance==TIM4){/* USER CODE BEGIN TIM4_MspPostInit 0 *//* USER CODE END TIM4_MspPostInit 0 */__HAL_RCC_GPIOB_CLK_ENABLE();//开启PB时钟/**TIM4 GPIO ConfigurationPB9     ------> TIM4_CH4*/GPIO_InitStruct.Pin = GPIO_PIN_9;//PB9GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;//复用推挽输出GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;//响应速度HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);/* USER CODE BEGIN TIM4_MspPostInit 1 */HAL_TIM_PWM_Start(timHandle,TIM_CHANNEL_4);//初始化通道4/* USER CODE END TIM4_MspPostInit 1 */}
}

3.3 主函数和启动加湿器

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_DMA_Init();MX_TIM4_Init();MX_USART2_UART_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */printf("串口初始化完成\r\n");TIM4->CCR4=327;//设置占空比,高低电平各占一半
/* USER CODE END 2 */
while(1)
{}

4.运行效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法训练 | 图论Part5 | 107. 寻找存在的路径

目录 107. 寻找存在的路径 并查集法 107. 寻找存在的路径 题目链接&#xff1a;107. 寻找存在的路径 文章讲解&#xff1a;代码随想录 并查集法 代码一&#xff1a;并查集 #include <iostream> #include <vector> using namespace std;int n; // 节点数量 v…

中医四大经典之 No.1

且行且行 ID&#xff1a;九日尧三石 2024710 菜菜狗不知第几篇小笔记 四大经典之《内经》 1. 素问*痿论 治痿独取阳明&#xff0c;其次&#xff0c;冲脉、带脉、督脉也可。 2. 素问*汤液醪醴论 神不使&#xff1a;精神涣散、神机丧失 去宛&#xff08;瘀血&#xf…

中职网络安全wire0077数据包分析

从靶机服务器的FTP上下载wire0077.pcap&#xff0c;分析该文件&#xff0c;找出黑客入侵使用的协议&#xff0c;提交协议名称 SMTP 分析该文件&#xff0c;找出黑客入侵获取的zip压缩包&#xff0c;提交压缩包文件名 DESKTOP-M1JC4XX_2020_09_24_22_43_12.zip 分析该文件&…

移动互联安全扩展要求测评项

安全物理环境-无线接入点的位置选择 应为无线接入设备的安装选择合理位置&#xff0c;避免过度覆盖和电磁干扰。 无线接入设备的安装位置选择不当&#xff0c;易被攻击者利用&#xff0c;特别是攻击者会通过无线信号过度覆盖的弱点进行无线渗透攻击&#xff0c;因此要选择合理…

利用 Selenium 自动化抓取 Web of Science 论文数据:以 IEEE SENSORS JOURNAL 为例

在当今数字化时代,科研工作者面临着海量学术信息的挑战。有效地收集、筛选和分析相关领域的最新研究成果,对于保持科研竞争力至关重要。然而,手动检索和整理学术文献不仅耗时耗力,还容易出现疏漏。为了解决这一问题,我们可以借助自动化工具来提高文献检索的效率和准确性。…

JavaSE 面向对象程序设计进阶 IO流 字节流详解 抛出异常

input output 像水流一样读取数据 存储和读取数据的解决方案 内存中数据不能永久化存储 程序停止运行 数据消失 File只能对文件本身进行操作 不能读写文件里存储的数据 读写数据必须要有IO流 可以把程序中的数据保存到文件当中 还可以把本地文件中的数据读取到数据当中 分…

计算机未来大方向

选专业要了解自己的兴趣所在。 即想要学习什么样的专业&#xff0c;如果有明确的专业意向&#xff0c;就可以有针对性地选择那些专业实力较强的院校。 2.如果没有明确的专业意向&#xff0c;可以优先考虑一下院校。 确定一下自己想要选择综合性院校还是理工类院校或是像财经或者…

闭眼投!IF逐年上涨,国人录用率超高,无预警风险,平均8周录用!

本周投稿推荐 SCI • 能源科学类&#xff0c;1.5-2.0&#xff08;25天来稿即录&#xff09; • CCF推荐&#xff0c;4.5-5.0&#xff08;2天见刊&#xff09; • 生物医学制药类&#xff08;2天逢投必中&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09…

Linux--网络设置

目录 一、测试网络连接 1、查看网络接口信息 1.1 ifconfig 命令---查看网络接口信息 1.1.1 ifconfig 网卡 #单独查看某个网卡 1.1.2 ifconfig -a #显示所有活动及非活动的连接 二、修改网络配置文件 三、设置网络接口参数 3.1 启用、禁用网络接口配置 3.2 hostn…

电脑故障排除

一、硬件故障 1. 电源问题 故障表现&#xff1a;电脑无法开机&#xff0c;电源指示灯不亮。 解决方法&#xff1a;首先检查电源线是否插紧&#xff0c;电源插座是否有电。如果问题没有解决&#xff0c;可能是因为电源已经损坏&#xff0c;应该购买并安装一个新的电源。 2. …

C++ 先排序后查找。

先排序后查找。 #include <stdio.h> #include <string.h> #define N 100 typedef struct Stu {char name[20];int score; } STU;void Input(STU stu[], int n); void SelectiveMethod(STU stu[], int n); void Print(STU stu[], int n); int BinarySearch(STU stu[…

Lianwei 安全周报|2024.07.09

新的一周又开始了&#xff0c;以下是本周「Lianwei周报」&#xff0c;我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件&#xff0c;保证大家不错过本周的每一个重点&#xff01; 政策/标准/指南最新动态 01 《数字中国发展报告&#xff08;2023年&#xff09…

设计模式之工厂模式(简单工厂、工厂方法、抽象工厂)

写在前面&#xff1a;本文是个人在学习设计模式时的所思所想&#xff0c;汇总了其他博主及自己的感悟思考&#xff0c;可能存在出入&#xff0c;请大家理性食用~~ 工厂模式 在工厂模式中&#xff0c;父类决定实例的生成方式&#xff0c;但并不决定所要生成的具体的类&#xf…

[终端安全]-7 后量子密码算法

本文参考资料来源&#xff1a;NSA Releases Future Quantum-Resistant (QR) Algorithm Requirements for National Security Systems > National Security Agency/Central Security Service > Article Commercial National Security Algorithm Suite 2.0” (CNSA 2.0) C…

领域驱动设计DDD

为什么要DDD 传统MVC 传统的MVC模型框架拆分成了三层&#xff1a;显示层、控制层、模型层。显示层负责显示用户界面&#xff0c;控制层负责处理业务逻辑、而模型则负责与数据库通信&#xff0c;对数据进行持久化的操作。从代码角度来看&#xff0c;这样的框架结构每个模块职责…

自从Transformer模型诞生之后,新的深度学习模型有哪些?

自从Transformer模型诞生之后&#xff0c;新的深度学习模型有哪些&#xff1f; 自2017年Transformer模型问世以来&#xff0c;它彻底改变了自然语言处理&#xff08;NLP&#xff09;领域的范式。Transformers不仅在许多NLP任务中达到了前所未有的性能&#xff0c;还被广泛应用…

【漏洞复现】WordPress插件Recall CVE-2024-32709 SQL注入漏洞

0x01 产品简介 WordPress是一款免费开源的内容管理系统(CMS)&#xff0c;最初是一个博客平台&#xff0c;但后来发展成为一个功能强大的网站建设工具&#xff0c;适用于各种类型的网站&#xff0c;包括个人博客、企业网站、电子商务网站等&#xff0c;并逐步演化成一款内容管理…

小白学c嘎嘎(第二天)入门基础下

温馨提醒&#xff1a;本篇文章起&#xff0c;文章内容排版将更新&#xff0c;层层深入 基础知识 回顾 引用的语法格式&#xff1a;类型& 引⽤别名 引⽤对象; 引用特性 1. 引⽤在定义时必须初始化 2. ⼀个变量可以有多个引⽤ 3. ⼀旦引⽤⼀个实体&#xff0c;再不…

STM32(二):STM32工作原理

0、参考1、寄存器和存储器基本概念&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;主要区别&#xff08;3&#xff09;联系&#xff08;4&#xff09;实际应用中的案例&#xff08;5&#xff09;总结&#xff08;6&#xff09;一些名词解释 2、STM32指南者板子-存…

ArcGis将同一图层的多个面要素合并为一个面要素

这里写自定义目录标题 1.加载面要素的shp数据 2.点击菜单栏的地理处理–融合&#xff0c;如下所示&#xff1a; 3.将shp面要素输入&#xff0c;并设置输出&#xff0c;点击确定即可合并。合并后的属性表就只有一个数据了。