基于与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;//定时器4
  htim4.Init.Prescaler = 0;//预分配系数
  htim4.Init.CounterMode = TIM_COUNTERMODE_UP;//向上计数
  htim4.Init.Period = 654;//重装载值,一个技术周期时间:1/72*654=9.08us,约为110KHZ
  htim4.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模式1
  sConfigOC.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 Configuration
    PB9     ------> TIM4_CH4
    */
    GPIO_InitStruct.Pin = GPIO_PIN_9;//PB9
    GPIO_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.mfbz.cn/a/788407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java通过poi-tl导出word实战详细步骤

文章目录 与其他模版引擎对比1.引入maven依赖包2.新建Word文档exportWprd.docx模版3.编写导出word接口代码4.导出成果 poi-tl是一个基于Apache POI的Word模板引擎,也是一个免费开源的Java类库,你可以非常方便的加入到你的项目中,并且拥有着让…

自动化数据集成的BI工具,为你提供决策洞察力

传统的商业智能(BI)报表系统采用的是“业务提报表需求,IT进行开发”的模式。决策管理者和业务人员提出用报表等来展示经营管理数据的需求;接着IT响应需求,进行需求沟通、数据处理加工、报表开发等主体工作;…

企业化运维(7)_Zabbix企业级监控平台

官网:Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution ###1.Zabbix部署### (1)zabbix安装 安装源 修改安装路径为清华镜像 [rootserver1 zabbix]# cd /etc/yum.repos.d/ [rootserver1 yum.repos.d]# vim zabbix.r…

PageDTO<T>,PageQuery,BeanUtils,CollUtils的封装

一、PageDTO<T> import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonIgnore; import com.tianji.common.utils.BeanUtils; import com.tianji.common.utils.CollUtils; import com.tianji.common.utils.…

计算机网络——网络层(概念及IP地址划分)

目录 网络层概念 网络层向上层提供的两种服务 虚电路 网络提供数据报服务 虚电路服务与数据报服务的对比 网络层的两个层面 分组传送到路由器的运作 对网络层进行分层 网际协议IP 虚拟互联网络 IP地址 IP地址及其表示方法 IP地址的计算方式 IP地址的结构 …

【目标跟踪】CoTracker 环境配置

配置 CoTracker 环境 首先下载 conda&#xff0c;然后安装虚拟环境。 1.创建环境&#xff1a;如果环境不存在&#xff0c;你需要创建一个新的 conda 环境。可以使用以下命令创建名为 cotracker 的环境&#xff1a; conda create -n cotracker python3.x 其中 3.x 是你想要安…

欧姆龙安全PLC及周边产品要点指南

电气安全、自动化设备作业安全&#xff0c;向来是非常非常之重要的&#xff01;越来越多的客户在规划新产线、改造既有产线的过程中&#xff0c;明确要求设计方和施工方将安全考虑进整体方案中进行考虑和报价&#xff01;作为一名自动化电气工程师&#xff0c;尤其是高级工程师…

大话光学原理:4.散射:瑞利、拉曼、米氏和布里渊

这是一缕柔和的光&#xff0c;在空气的舞台上轻盈地跳跃。它悠然自得&#xff0c;在宁静的空间中缓缓前行。然而&#xff0c;一片细薄透明的介质挡住了它的脚步&#xff0c;它毫无预兆地撞上了这片障碍。在这短暂的接触中&#xff0c;它被分解成无数微小的粒子&#xff0c;被迫…

Python30 使用Gensim库实现Word2Vec对文本进行处理

1.Word2Vec Word2Vec 是一种将词语表示为向量的技术&#xff0c;能够捕捉词语之间的语义关系。它由 Google 的 Tomas Mikolov 等人在 2013 年提出&#xff0c;广泛应用于自然语言处理任务中。其核心概念主要包括&#xff1a; 词嵌入&#xff08;Word Embeddings&#xff09; …

【重大消息】报告称OpenAI的产品可经由微软的服务提供给中国客户

尽管OpenAI正在采取措施限制中国用户访问其平台&#xff0c;但一份最新报告称&#xff0c;中国用户仍可通过微软的Azure云计算平台访问该公司的产品。微软和OpenAI有着密切的合作关系&#xff0c;前者通过人工智能功能获得了独家产品访问权以拓展企业计算。最新的报道来自《The…

拓展神经网络八股(入门级)

自制数据集 minst等数据集是别人打包好的&#xff0c;如果是本领域的数据集。自制数据集。 替换 把图片路径和标签文件输入到函数里&#xff0c;并返回输入特征和标签 只需要把图片灰度值数据拼接到特征列表&#xff0c;标签添加到标签列表,提取操作函数如下&#xff1a; def…

25.无源蜂鸣器驱动设计

相对于有源蜂鸣器&#xff0c;无源蜂鸣器的成本更低&#xff0c;声音频率可控。而有源蜂鸣器因其内部 自带振荡源&#xff0c;只要加上适当的直流电源即可发声&#xff0c;程序控制较为方便。 &#xff08;1&#xff09;设计定义&#xff1a;设计一个无源蜂鸣器的驱动程序&…

基于泰坦尼克号生还数据进行 Spark 分析

基于泰坦尼克号生还数据进行 Spark 分析 在这篇博客中&#xff0c;我们将展示如何使用 Apache Spark 分析著名的泰坦尼克号数据集。通过这篇教程&#xff0c;您将学习如何处理数据、分析乘客的生还情况&#xff0c;并生成有价值的统计信息。 数据解析 • PassengerId &#…

ctfshow-web入门-文件上传(web164、web165)图片二次渲染绕过

web164 和 web165 的利用点都是二次渲染&#xff0c;一个是 png&#xff0c;一个是 jpg 目录 1、web164 2、web165 二次渲染&#xff1a; 网站服务器会对上传的图片进行二次处理&#xff0c;对文件内容进行替换更新&#xff0c;根据原有图片生成一个新的图片&#xff0c;这样…

EasyCVR视频汇聚平台:存储系统怎么选?分布式存储vs.集中式存储的区别在哪?

在当今的数字化时代&#xff0c;安防监控已成为维护社会秩序和公共安全的重要手段。随着监控设备的普及和监控数据的不断增加&#xff0c;如何高效、安全地存储和管理这些视频数据&#xff0c;成为了安防行业面临的重要挑战。EasyCVR视频存储系统凭借其卓越的性能和灵活的架构&…

综合安全防护

题目 1,DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问. 2,生产区不允许访问互联网,办公区和游客区允许访问互联网 3,办公区设备10.0.2.10不允许访问DMz区的FTP服务器和HTTP服务器,仅能ping通10.0.3.10 4,办公区分为市场部和研发部,研…

pnpm workspace使用教程【Monorepo项目】

目录 前言一、pnpm简介特点&#xff1a;对比 二、 创建项目添加文件 pnpm-workspace.yaml目录结构pnpm workspace: 协议修改配置文件执行 安装 三、命令解析执行包命令所有包操作命令 四、实例代码 前言 前面两篇&#xff0c;我们讲了 yarn workspace 和 lerna &#xff0c; …

局域网远程共享桌面如何实现

在局域网内实现远程共享桌面&#xff0c;可以通过以下几种方法&#xff1a; 一、使用Windows自带的远程桌面功能&#xff1a; 首先&#xff0c;在需要被控制的电脑上右键点击“此电脑”&#xff0c;选择“属性”。 进入计算机属性界面后&#xff0c;点击“高级系统设置”&am…

记录excel表生成一列按七天一个周期的方法

使用excel生成每七天一个周期的列。如下图所示&#xff1a; 针对第一列的生成办法&#xff0c;使用如下函数&#xff1a; TEXT(DATE(2024,1,1)(ROW()-2)*7,"yyyy/m/d")&" - "&TEXT(DATE(2024,1,1)(ROW()-1)*7-1,"yyyy/m/d") 特此记录。…

一文实践强化学习训练游戏ai--doom枪战游戏实践

一文实践强化学习训练游戏ai–doom枪战游戏实践 上次文章写道下载doom的环境并尝试了简单的操作&#xff0c;这次让我们来进行对象化和训练、验证&#xff0c;如果你有基础&#xff0c;可以直接阅读本文&#xff0c;不然请你先阅读Doom基础知识&#xff0c;其中包含了下载、动作…