当前位置:   article > 正文

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

基于与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);//定时器引脚与时钟配置

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

  定时器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 */
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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)
{

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

4.运行效果

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/806834?site
推荐阅读
相关标签
  

闽ICP备14008679号