【STM32-HAL库】自发电型风速传感器(使用STM32F407ZGT6)(附带工程下载链接)

server/2024/10/9 15:19:45/

一、自发电型风速传感器介绍

自发电型风速传感器,也称为风力发电型风速传感器或无源风速传感器,是一种不需要外部电源即可工作的风速测量设备。这种传感器通常利用风力来驱动内部的发电机构,从而产生电能来供电测量风速的传感器部分。以下是自发电型风速传感器的组成、原理及应用:

组成:

  1. 风力涡轮机:用于捕捉风能并将其转换为机械能。
  2. 发电机:将风力涡轮机产生的机械能转换为电能。
  3. 风速感应部分:可以是传统风杯或风翼结构,风速变化会导致感应部分的速度变化。
  4. 信号处理电路:将发电机产生的电能进行处理,并转换为与风速成比例的信号。

原理:

  1. 风力发电:当风吹动风力涡轮机的叶片时,叶片旋转带动发电机内部的线圈在磁场中旋转,从而产生交流电能。
  2. 风速检测:风杯或风翼的旋转速度与风速成正比。通过测量旋转速度,可以推算出风速。
  3. 信号转换:产生的电能通过信号处理电路转换为可用的电信号,这个信号可以是模拟的也可以是数字的,通常与风速成线性关系。

特点:

  • 无需外部电源:适合安装在偏远或难以布线的区域。
  • 环境适应性:能够在恶劣环境中稳定工作,如高山、海洋等。
  • 维护成本低:由于没有电池等易耗部件,维护成本相对较低。

应用:

  • 气象监测:用于气象站、风力发电场等场合的风速监测。
  • 农业:监测农田的风速,用于指导灌溉和农作物保护。
  • 环境监测:在环境监测站用于监测风速,作为气候变化的数据之一。

注意事项:

  • 启动风速:自发电型风速传感器通常有一个最小启动风速,风速低于这个值时,传感器可能无法正常工作。
  • 风速范围:传感器的风速测量范围应符合应用场合的风速变化范围。
  • 环境因素:由于传感器暴露在户外,需要考虑防尘、防水、防腐蚀等环境适应性设计。

二、cubeMX配置

1、新建工程

可以参考我的新建工程系列教程

stm32-HAL库+cubeMX新建工程教程(以F103C8T6为例)icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/136637881?fromshare=blogdetail&sharetype=blogdetail&sharerId=136637881&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link【STM32-HAL库】立创梁山派新建工程并点灯(GD32F470ZGT6)cubeMX+HAL库+keil5icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/136637881?fromshare=blogdetail&sharetype=blogdetail&sharerId=136637881&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link【STM32-HAL库】立创梁山派天空星版新建工程并点灯(GD32F407VET6)icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/137161558?fromshare=blogdetail&sharetype=blogdetail&sharerId=137161558&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

2、配置ADC

3、配置串口

 可以参考我的文章,配置串口教程以及如何重定向串口。重定向串口之后即可直接使用【printf】函数直接向串口发送数据

【STM32-HAL库】串口配置、printf函数重定向icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/136638229?fromshare=blogdetail&sharetype=blogdetail&sharerId=136638229&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

三、编写代码

风力传感器已经给出了计算公式

feng.c

#include "feng.h"float ADC_ValueToVoltage(uint32_t adcValue) {const uint32_t maxAdcValue = (1 << 12) - 1;const float vRef = 3.3f;float voltage = (float)adcValue * vRef / maxAdcValue;return voltage;
}float Readfeng(){HAL_ADC_Start(&hadc1);    HAL_ADC_PollForConversion(&hadc1,1);uint32_t adcValue;float voltage;adcValue = HAL_ADC_GetValue(&hadc1);voltage = ADC_ValueToVoltage(adcValue);float fengvalue=voltage*25;return fengvalue;}

feng.h

#ifndef __FENG_H__
#define __FENG_H__#include "main.h"
#include "adc.h"
#include "usart.h"
#include "gpio.h"float ADC_ValueToVoltage(uint32_t adcValue);
float Readfeng();#endif

main.c中代码

引入头文件

/* USER CODE BEGIN Includes */#include "feng.h"/* USER CODE END Includes */

主循环中

/* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */                        printf("风速 = %.2f M/s \r\n",Readfeng());HAL_Delay(200);}/* USER CODE END 3 */

四、运行效果

当我用手轻轻转动风速传感器时串口输出数据如下

下载工程

通过百度网盘分享的文件:feng.zip 链接:https://pan.baidu.com/s/1d88CW2lrnzc6k1u_UGsQfw 提取码:6666icon-default.png?t=O83Ahttps://pan.baidu.com/s/1d88CW2lrnzc6k1u_UGsQfw


http://www.ppmy.cn/server/126131.html

相关文章

相互作用感知的 3D 分子生成 VAE 模型 - DeepICL 评测

DeepICL 是一个基于相互作用感知的 3D 分子生成模型&#xff0c;能够在目标结合口袋内进行相互作用引导的小分子设计。DeepICL 通过利用蛋白质-配体相互作用的普遍模式作为先验知识&#xff0c;在有限的实验数据下也能实现高度的泛化能力。 一、背景介绍 DeepICL 来源于韩国科学…

图论系列(dfs岛屿) 9/26

一、统计封闭岛屿的数目 二维矩阵 grid 由 0 &#xff08;土地&#xff09;和 1 &#xff08;水&#xff09;组成。岛是由最大的4个方向连通的 0 组成的群&#xff0c;封闭岛是一个 完全 由1包围&#xff08;左、上、右、下&#xff09;的岛。 请返回 封闭岛屿 的数目。 输…

【设计模式-中介者模式】

定义 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;通过引入一个中介者对象&#xff0c;来降低多个对象之间的直接交互&#xff0c;从而减少它们之间的耦合度。中介者充当不同对象之间的协调者&#xff0c;使得对象之间的通信变得简单且…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-30

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-30目录1. Proof Automation with Large Language Models概览&#xff1a;论文研究背景&#xff1a;技术挑战&#xff1a;如何破局…

矩阵的特征值和特征向量

矩阵的特征值和特征向量是线性代数中非常重要的概念&#xff0c;用于描述矩阵对向量的作用&#xff0c;特别是在矩阵对向量的线性变换中的表现。它们帮助我们理解矩阵在某些方向上的缩放或旋转效果。 1. 特征值和特征向量的定义&#xff1a; 给定一个 n n n \times n nn 的…

每天五分钟玩转深度学习框架pytorch:多种定义损失函数的方法

本文重点 再编译神经网络的时有两个必要的元素,其中一个是损失函数,另外一个是优化器。前面的专栏我们已经介绍了优化器,本节课程我们介绍损失函数。损失函数属于神经网络训练的第5步。 nn.Module 和 nn.functional的损失函数 我们前面介绍过nn.Module和nn.functional的区…

ArcGIS与ArcGIS Pro去除在线地图服务名单

我们之前给大家分享了很多在线地图集&#xff0c;有些地图集会带有制作者信息&#xff0c;在布局制图的时候会带上信息影响出图美观。 一套GIS图源集搞定&#xff01;清新规划底图、影像图、境界、海洋、地形阴影图、导航图 比如ArcGIS&#xff1a; 比如ArcGIS Pro&#xff1a…

网络编程,tcp,守护进程化,前后台任务,bash与shell,会话

上篇&#xff0c;我们讲解了udp服务器与客户端的功能&#xff0c;这篇我们将使用tcp协议来进行编程&#xff1b;tcp服务器相比较与udp要更加稳定与安全&#xff0c;tcp服务器是面向连接的数据传输&#xff1b; 1. tcp服务器与客户端 下面是我实现的完整代码可以辅助下面的讲解…