0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >电源管理 > 基于 ATmega328p 的哑铃重复计时计数器

基于 ATmega328p 的哑铃重复计时计数器

来源: 电路城
2021-11-02
类别:电源管理
eye 4
文章创建人 拍明

原标题:基于 ATmega328p 的哑铃重复计时计数器

基于ATmega328P的哑铃重复计时计数器详细设计

一、项目背景与需求分析

在家庭健身场景中,哑铃训练是常见的力量训练方式,但传统哑铃缺乏智能化功能,用户难以精确记录训练次数、组间休息时间及训练强度。针对这一痛点,设计一款基于ATmega328P微控制器的哑铃重复计时计数器,通过加速度传感器检测动作,结合定时器实现精准计数与计时功能,并通过无线模块将数据传输至接收端显示,可有效提升训练效率与数据可追溯性。

image.png

本设计需满足以下核心需求:

  1. 动作识别与计数:通过加速度传感器检测哑铃的上下摆动动作,实现重复次数计数。

  2. 组间计时:记录每组训练的休息时间,支持用户自定义时长。

  3. 数据传输与显示:通过无线模块将计数与计时数据发送至接收端(如手机APP或独立显示屏)。

  4. 低功耗与便携性:采用电池供电,优化电路设计以延长续航时间,外壳需轻量化且便于夹持。

二、核心元器件选型与功能解析

1. 微控制器:ATmega328P-AU(TQFP-32封装)

选型理由

  • 性能与成本平衡:ATmega328P是8位AVR微控制器,拥有32KB Flash、2KB SRAM和1KB EEPROM,主频16MHz,足以处理传感器数据采集、定时器中断及无线通信任务,且价格低廉(约1.5-2.5美元)。

  • 成熟生态系统:作为Arduino Uno的核心芯片,ATmega328P拥有丰富的开发资源(如Arduino IDE、库函数)和社区支持,可大幅缩短开发周期。

  • 低功耗特性:支持多种睡眠模式(如空闲模式、掉电模式),配合外部晶振可实现微安级电流消耗,适合电池供电场景。

关键功能

  • 定时器/计数器:利用Timer1的输入捕获功能检测加速度传感器信号的脉冲宽度,实现动作识别;通过Timer0生成精确的1ms中断,用于组间计时。

  • ADC采样:读取加速度传感器的模拟输出,结合数字滤波算法(如移动平均)提高数据稳定性。

  • SPI/I2C接口:与无线模块(如NRF24L01)通信,实现数据传输。

2. 加速度传感器:ADXL355(LGA-14封装)

选型理由

  • 高精度与低噪声:ADXL355是三轴MEMS加速度计,量程±2g/±4g/±8g可选,噪声密度低至25μg/√Hz,可精确捕捉哑铃的微小振动。

  • 低功耗设计:工作电流仅150μA(测量模式),支持自动睡眠模式,进一步降低功耗。

  • 数字输出:通过SPI接口输出16位数据,简化与ATmega328P的接口设计,避免模拟信号受干扰。

关键功能

  • 动作检测:监测哑铃在Z轴(垂直方向)的加速度变化,通过阈值判断上下摆动动作。

  • 数据滤波:采用滑动平均滤波算法消除高频噪声,提高动作识别准确率。

3. 无线通信模块:NRF24L01+(QFN-20封装)

选型理由

  • 高速率与低功耗:支持2Mbps数据速率,工作电流仅12.3mA(发射模式),适合短距离数据传输。

  • 集成度高:内置2.4GHz天线、功率放大器(PA)和低噪声放大器(LNA),无需额外射频电路设计。

  • Arduino兼容性:可通过RF24库实现与ATmega328P的无缝对接,简化开发流程。

关键功能

  • 数据传输:将计数与计时数据发送至接收端(如手机或独立显示屏),支持多设备组网。

  • 自动重传:内置自动ACK机制,确保数据可靠传输。

4. 电源管理模块:TPS77633DR(SOT-23-5封装) + AAP2154OIR1(QFN-16封装)

选型理由

  • 线性稳压器(TPS77633DR)

    • 输入电压范围2.7V-5.5V,输出固定3.3V,最大输出电流500mA,满足ATmega328P及外围电路供电需求。

    • 低压差(典型值130mV),提高电池能量利用率。

    • 静态电流仅17μA,适合低功耗场景。

  • 充电控制器(AAP2154OIR1)

    • 支持单节锂离子电池(3.7V)充电,最大充电电流1A,可通过微型USB端口充电。

    • 集成充电状态指示(LED驱动),简化电路设计。

关键功能

  • 电池充电:通过微型USB接口为锂离子电池充电,支持边充边用。

  • 电压调节:将电池电压稳定至3.3V,为整个系统供电。

5. 晶振与负载电容:16MHz晶振 + 22pF陶瓷电容(0603封装)

选型理由

  • 16MHz晶振:为ATmega328P提供外部时钟源,确保系统时钟精度(±10ppm),满足定时器中断的毫秒级精度需求。

  • 22pF负载电容:根据晶振规格书(CL=18pF)计算,Cload=(C1·C2)/(C1+C2)+Cstray(杂散电容约3-5pF),选择C1=C2=22pF可满足要求。

关键功能

  • 时钟信号生成:为ATmega328P提供稳定的时钟源,确保系统正常运行。

6. 微型USB接口:MX-4P(SMT贴片式)

选型理由

  • 紧凑设计:尺寸仅6.5mm×4.5mm,适合PCB布局,减少空间占用。

  • 兼容性强:支持标准USB 2.0协议,可与大多数充电器或电脑USB端口连接。

关键功能

  • 充电与调试:通过USB接口为电池充电,同时可作为SPI编程接口(需配合CH340等USB转串口芯片)。

7. 接收端显示屏:4位7段数码管(共阴极)

选型理由

  • 低成本与高可读性:4位7段数码管可同时显示计数与计时数据,成本低且亮度高,适合室内使用。

  • 驱动简单:通过ATmega328P的GPIO直接驱动(需限流电阻),或配合74HC595移位寄存器减少引脚占用。

关键功能

  • 数据显示:实时显示当前组数、重复次数及组间休息时间。

三、硬件电路设计要点

1. 电源电路设计

  • 电池充电路径:微型USB接口连接AAP2154OIR1充电控制器,通过BAT引脚为锂离子电池充电,CHG引脚驱动LED指示充电状态。

  • 稳压电路:电池正极连接TPS77633DR的IN引脚,OUT引脚输出3.3V,为ATmega328P及外围电路供电。

  • 去耦电容:在AVCC(模拟电源)与GND之间并联100nF陶瓷电容,在VCC(数字电源)与GND之间并联10μF钽电容,降低电源噪声。

2. 传感器接口设计

  • ADXL355连接

    • SCLK(时钟)、MOSI(主出从入)、MISO(主入从出)、CS(片选)引脚连接ATmega328P的SPI接口(PB1-PB4)。

    • INT1引脚连接ATmega328P的外部中断引脚(PD2),用于动作检测中断。

  • 信号调理:在ADXL355的输出端串联10Ω电阻,并联0.1μF电容,构成RC低通滤波器,抑制高频噪声。

3. 无线通信电路设计

  • NRF24L01+连接

    • CE(片选)、CSN(SPI片选)、SCK(时钟)、MOSI、MISO引脚连接ATmega328P的SPI接口。

    • IRQ引脚连接ATmega328P的外部中断引脚(PD3),用于数据接收中断。

  • 天线匹配:在NRF24L01+的ANT1和ANT2引脚之间连接22nF电容,并串联1.8pF电容至天线,优化阻抗匹配。

4. 定时器与中断配置

  • Timer1输入捕获

    • 配置Timer1为CTC模式,TOP值由ICR1设定,用于捕获ADXL355信号的脉冲宽度。

    • 启用输入捕获中断,在上升沿触发时记录TCNT1值,计算脉冲宽度以判断动作类型。

  • Timer0毫秒中断

    • 配置Timer0为CTC模式,预分频64,OCR0A=249,生成1ms中断。

    • 在中断服务程序中递增计时变量,实现组间计时功能。

四、软件算法设计

1. 动作识别算法

  • 阈值判断:设定加速度阈值(如0.5g),当Z轴加速度超过阈值时触发动作检测。

  • 脉冲宽度分析:通过Timer1输入捕获记录动作信号的脉冲宽度,若宽度在合理范围内(如100ms-500ms),则判定为有效重复。

  • 防抖处理:采用状态机逻辑,连续检测到两次有效动作后递增计数器,避免单次抖动误触发。

2. 组间计时算法

  • 按键触发:通过外部中断检测用户按下“开始/暂停”按键,启动或暂停Timer0计时。

  • 超时提醒:当计时达到预设值(如60秒)时,通过蜂鸣器或LED闪烁提醒用户。

3. 数据传输协议

  • 帧格式定义

    • 头部:0xAA(起始标志)

    • 数据:计数(2字节) + 计时(2字节) + 组数(1字节)

    • 校验:CRC8校验和

  • 发送逻辑:每500ms发送一次数据帧,若接收端未回复ACK则重传3次。

五、测试与优化

1. 硬件测试

  • 电源稳定性测试:使用示波器观察TPS77633DR输出电压纹波,确保小于50mV。

  • 传感器精度测试:通过逻辑分析仪捕获ADXL355输出信号,验证动作识别准确率。

2. 软件优化

  • 低功耗优化:在空闲模式下关闭ADXL355和NRF24L01+,通过WDT(看门狗定时器)定期唤醒检测动作。

  • 算法优化:采用查表法替代浮点运算,减少ATmega328P的运算负担。

六、方案元器件采购找拍明芯城

拍明芯城(http://www.iczoom.com)提供型号查询、品牌、价格参考、国产替代、供应商厂家、封装、规格参数、数据手册等采购信息查询,支持PDF数据手册中文资料及引脚图功能下载,助力快速完成元器件选型与采购。

核心元器件清单

元器件型号品牌封装数量用途
ATmega328P-AUMicrochipTQFP-321主控微控制器
ADXL355Analog DevicesLGA-141加速度传感器
NRF24L01+NordicQFN-201无线通信模块
TPS77633DRTISOT-23-51线性稳压器
AAP2154OIR1AAPQFN-161充电控制器
16MHz晶振NDKHC-49/US1系统时钟源
22pF陶瓷电容Murata06032晶振负载电容
4位7段数码管Kingbright共阴极1接收端显示屏

通过合理选型与优化设计,本方案可实现高精度的哑铃重复计时计数功能,兼具低功耗与便携性,适用于家庭健身场景。


责任编辑:David

【免责声明】

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

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

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

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

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

相关资讯

拍明芯城微信图标

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

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

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