0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于霍尔效应传感器的Fidget Spinner RPM 计数器(示意图+代码)

基于霍尔效应传感器的Fidget Spinner RPM 计数器(示意图+代码)

来源: 电路城
2021-12-06
类别:工业控制
eye 5
文章创建人 拍明

原标题:基于霍尔效应传感器的Fidget Spinner RPM 计数器(示意图+代码)

基于霍尔效应传感器的Fidget Spinner RPM计数器设计方案

一、前言

Fidget Spinner作为一种流行的手指陀螺,其转速的测量成为一些用户和爱好者关注的焦点。通过高精度的RPM(转速)计数器,可以实时跟踪Fidget Spinner的旋转速度,并以此为依据进行比较或分析。基于霍尔效应传感器的RPM计数器是一种简单且高效的方案,本设计将结合霍尔效应传感器、微控制器(MCU)、显示模块等器件,设计一个可以精确测量Fidget Spinner转速的计数器。

image.png

二、设计思路与方案概述

  1. 工作原理:霍尔效应传感器是基于霍尔效应的原理工作,能够感应到磁场变化,并输出相应的电压信号。Fidget Spinner在旋转时,磁铁会随着陀螺的旋转而经过霍尔效应传感器,从而产生一定的脉冲信号。通过计数这些脉冲信号,可以计算出Fidget Spinner的转速(RPM)。

  2. 核心元器件选择:选择合适的霍尔效应传感器、微控制器、显示模块等器件,对于方案的稳定性和准确性至关重要。

三、优选元器件型号

  1. 霍尔效应传感器:

    • 型号:A3144

    • 作用:该霍尔传感器能够检测磁场的变化,适合用于RPM计数的应用。它的工作电压范围为4.5V至24V,输出为数字信号(开关信号)。

    • 为何选择:A3144是市面上常见的霍尔传感器,具有高灵敏度、低功耗等特点,适合用于高频次的脉冲检测。

  2. 微控制器(MCU):

    • 型号:STM32F103C8T6

    • 作用:STM32系列的微控制器,采用ARM Cortex-M3核心,具有较强的运算能力、丰富的外设接口及较高的性能,适合用于信号的处理和转速计算。

    • 为何选择:STM32F103C8T6支持高速定时器和脉冲计数器,能够快速响应霍尔传感器的脉冲信号,并进行精确的转速计算。

  3. 显示模块:

    • 型号:1602 LCD(16x2字符液晶显示)

    • 作用:显示Fidget Spinner的当前转速(RPM)。

    • 为何选择:1602 LCD显示模块是低成本且易于操作的显示模块,适用于显示转速数值,且与微控制器的接口兼容。

  4. 电源模块:

    • 型号:AMS1117-5.0

    • 作用:提供5V的稳定电源,供给霍尔传感器、MCU及显示模块。

    • 为何选择:AMS1117具有较低的压差和较好的稳定性,适合为整个电路提供所需的稳定电压。

四、元器件功能与工作原理

  1. 霍尔效应传感器A3144:

    • 功能:检测旋转的Fidget Spinner上的磁铁经过时产生的磁场变化,输出脉冲信号。每次霍尔传感器检测到磁铁经过时,它会产生一个脉冲信号,MCU通过捕获这些脉冲信号来计算Fidget Spinner的转速。

    • 工作原理:霍尔效应传感器利用霍尔效应原理,当传感器靠近磁场时,会在其两端产生电压变化。该电压信号被转化为数字信号,作为MCU输入。

  2. 微控制器STM32F103C8T6:

    • 功能:作为整个系统的控制核心,负责读取霍尔传感器的脉冲信号,进行转速计算,并将结果输出到显示模块上。

    • 工作原理:MCU通过定时器中断或外部中断模式,捕捉到霍尔传感器的脉冲信号,并通过计算脉冲的频率来确定Fidget Spinner的转速。

  3. 显示模块1602 LCD:

    • 功能:显示实时的转速信息,以RPM为单位,方便用户查看。

    • 工作原理:1602 LCD模块通过I2C或并行接口与MCU连接,接收转速数据并显示在屏幕上。

  4. 电源模块AMS1117:

    • 功能:为整个电路提供稳定的5V电压。

    • 工作原理:AMS1117是低压差线性稳压器,它将输入电压(例如12V或9V)转换为5V稳定电压,供给MCU和其他组件。

五、电路设计

  1. 电路框图

 +------------------+     +---------------------+     +------------------+
|     Power        |---->|      STM32F103      |---->| 1602 LCD Display |
|   Supply (5V)    |     |       MCU           |     |  (RPM Output)    |
+------------------+     +---------------------+     +------------------+
        |                        |                        |
        v                        v                        v
  +--------------------+   +-------------------+   +-------------------+
  |   A3144 Hall       |   |    RPM Counting   |   |  RPM Calculation  |
  |   Effect Sensor    |<--|    and Processing |<--|   and Display     |
  +--------------------+   +-------------------+   +-------------------+
  1. 电路详细说明:

    • 霍尔效应传感器与MCU连接:霍尔效应传感器的输出端连接到MCU的外部中断引脚(例如PA0)。每当霍尔传感器检测到磁铁经过时,会触发中断,MCU开始计数。

    • MCU内部定时器:MCU的定时器会用于计算霍尔传感器输出的脉冲频率。通过定时器定期计算脉冲的数量,从而得出转速(RPM)。

    • 显示模块:在转速计算完成后,MCU通过I2C或并行接口向1602 LCD显示模块发送数据,并在LCD屏幕上显示实时的转速信息。

六、软件设计与代码实现

以下是基于STM32F103C8T6的简单代码实现,展示如何通过外部中断读取霍尔传感器信号并计算RPM。

#include "stm32f1xx_hal.h"
#include "lcd.h"  // 假设使用LCD库进行显示

volatile uint32_t pulse_count = 0;
uint32_t rpm = 0;
uint32_t last_time = 0;

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
    if (GPIO_Pin == GPIO_PIN_0) {  // 假设霍尔传感器连接在PA0引脚
        pulse_count++;  // 每次传感器输出脉冲,计数增加
    }
}

void calculate_rpm(void) {
    uint32_t current_time = HAL_GetTick();
    uint32_t time_diff = current_time - last_time;
    rpm = (pulse_count * 60000) / time_diff;  // 计算转速,单位RPM
    pulse_count = 0;  // 重置脉冲计数器
    last_time = current_time;  // 更新最后时间
}

int main(void) {
    HAL_Init();  // 初始化HAL库
    SystemClock_Config();  // 配置系统时钟
    MX_GPIO_Init();  // 初始化GPIO
    MX_LCD_Init();  // 初始化LCD显示
    HAL_TIM_Base_Start_IT(&htim2);  // 启动定时器中断
    
    while (1) {
        calculate_rpm();  // 计算转速
        LCD_Clear();
        LCD_SetCursor(0, 0);
        LCD_Printf("RPM: %d", rpm);  // 显示转速
        HAL_Delay(1000);  // 延时1秒更新一次转速
    }
}

七、总结

本设计方案通过霍尔效应传感器实现Fidget Spinner的RPM计数。霍尔传感器的选择、微控制器的处理能力、显示模块的使用都决定了方案的准确性与实时性。通过定时器中断计算脉冲频率,并将结果显示在LCD屏幕上,用户能够实时查看Fidget Spinner的转速。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告