APP下载

自行车速度里程表的设计与实现

2023-01-11张柄涛李圣普

电子制作 2022年22期
关键词:霍尔调试单片机

张柄涛,李圣普

(平顶山学院 信息工程学院,河南平顶山,467000)

0 引言

在科技迅速发展的背景下,城市的机动化水平明显上升,但机动车的使用量增多导致环境污染愈发严重。为了倡导绿色出行,低碳环保的理念,为了给予骑行者健康的锻炼环境,本文对自行车速度里程表的设计与实现做了深入的研究。

本文主要是设计一款基于STC89C52单片机的自行车速度里程表。该系统主要使用单片机控制和传感器等技术,通过LCD显示模块实现显示骑行者的里程、速度和时间等功能。

1 系统总体设计

系统的硬件模块包括以STC89C52单片机为核心,有霍尔传感器、时钟模块、LCD显示模块和报警模块。系统的软件设计通过KEIL5程序进行编程。其总体设计方案如图1所示。

图1 系统总体框架设计图

2 系统硬件设计

系统的硬件设计选用了STC89C52单片机,霍尔传感器、LCD显示模块、时钟模块以及报警模块。

2.1 STC89C52单片机

目前,单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域[1]。本次设计选用STC89C52单片机,该单片机具有多个双向I/O口,有3个16位可编程的定时/计时器中断。

STC89C52单片机是一种低功耗、高性能CMOS8位嵌入式微控制器。

2.2 A3144霍尔传感器

A3144霍尔传感器是Aleg MicroSystems公司生产的开关型霍尔效应传感器,是由于霍尔效应而制作的一种磁场传感器,它有结构稳定、体积较小、使命寿命长、安装简单和不怕污染和腐蚀的优点。受温度影响较小。该芯片具有较高的稳定性和灵敏度,以及尺寸较小等特点[2]。本次设计中在装有电磁的马达小轮通过霍尔传感器发生磁通量的变化,霍尔传感器将这种外部信号转换为脉冲信号输入给单片机转换为数据信息,通过显示器进行显示。其结构如图2所示。

图 2 霍尔元件接口图

2.3 液晶显示器(LCD)模块

在显示器的模块选择中,与LED数码管的显示功能相比,LCD液晶显示器不仅能直观地显示,而且界面也有人机交互美观的特点[3]。凭借低功耗,方便控制,占用资源少等优点成为一些简易里程表显示器的首选[4]。在本次系统中,通过单片机与LCD对应引脚相连接,以此达到显示里程和速度的功能,通过时钟模块DS1302的选用,也能显示日期和时间。

2.4 时钟模块设计

DS1302一种高性能、低功耗、带RAM的实时时钟电路的时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,工作电压在2.5V和5.5V之间,具有闰年补偿功能。DS1302内部有一个用于临时存放数据的RAM寄存器[5]。通过与主控芯片和LCD显示模块的连接,可以使其具有实时显示时间的功能。其引脚如图3所示。

图3 DS1302引脚图

2.5 报警模块设计

本次报警电路采用蜂鸣器报警系统,通过设定最大速度值,当检测行驶速度超过设置的规定值时则引发蜂鸣器响动,提示驾驶者应该减速,小心行驶。其接口图如图4所示。

2.6 整体电路设计

图5为系统硬件电路设计的示意图。在实际物体中,电动机被用来模拟自行车的车轮旋转,而不是单芯片微计算机连接。在模拟中,按钮被用来替换该功能的一部分为USB供电。

图 4 报警电路接口图

图5 系统整体电路

3 系统软件设计

根据自行车速度里程表的功能分析,在本次设计中采用C语言在KEIL5环境下进行程序开发,KEIL软件能提供库函数和集成开发调试工具,本次系统通过它的集成环境和仿真调试工具完成调试[6]。

3.1 总体程序设计

系统正常通电后,首先对系统进行初始化,根据霍尔传感器接收的外部信号来计算脉冲数,通过单片机将脉冲信号转换为数据信息,计算出一定时间自行车运动的里程和速度。在数据处理后,将得到的数据显示在LCD显示屏上。系统总体流程如图6所示[7]。

图6 系统总体软件流程图

3.2 显示程序设计

显示模块程序的设计必须判断位选择代码,判定段代码,在LCD上显示数据,其过程如图7所示。

图7 LCD显示程序流程图

采用动态扫描显示接口电路。首先要显示的数据被发送到存储器单元,然后数据被发送到与段通行证对应的地址,最后逐步完成液晶显示。

3.3 里程计算子程序

速度测量模块主要由MCU的外部中断0实现,并用于完成50ms的定时。对于霍尔传感器产生的每一脉冲,对应的回合数增加,因此可以通过计算一定时间内的回合数来计算距离和速度。

单片机的P3.2端口输入的脉冲数通过外部中断0进行计数。每次计数通过脉冲循环时,单片机就执行行驶距离的数据存储操作。当车轮每一个回合导通时,导通的脉冲数通过霍尔传感器传送到单芯片微计算机,由计时器/计数器计数脉冲数,通过乘法子例程计算行驶距离。如图8所示。

图8 里程计算程序流程图

3.4 速度运算子程序

车轮转动一圈后,计时数据通过外部中断1服务程序来处理。当标志位为1时,计数溢出,放入最大时间值;当标志位为0时,将存储器中的值存入到引脚单元。定时/计数器计算出每转一圈所花费的时间,并在时间上分割车轮的圆周以获得自行车的速度[8]。

3.5 日历模块设计

DS1302模块与MCU实时通信,通过电池供电实现时间的运行,通过按键设置,显示实时时间或行驶时间,并且可以通过开关进行初始设置。

(1)时间日期信息。

(2)可以调整月份和闰年的天数。

(3)当保留数据或时钟信息时,使其小于1mW。

接通USB接口,DS1302进行复位操作,设置“时间”、“分钟”,将数据显示在液晶画面上。

4 系统的组装与调试

本部分介绍系统元器件的整体制作过程、自行车速度里程表所使用到的各模块的组装调试、程序烧录和系统调试并对结果进行验证分析。

4.1 系统的整体设计与调试

在安装各模块之前需要对每个模块进行检查,防止出现整体安装完成后,个别模块出现问题又不便于查找原因的情况。在保证每个模块都能正常工作的情况下,通过AD10的设计排版构图进行安装后,对系统的整体运行有了一定的基础。

4.2 电路的设计与调试

最先要开始的是对电路部分的设计,其次是整个电路中每个元器件的安装。在电路安装方面,秉承着方便实惠的思想,采用万能板进行电路的连接。

电路按照原理图焊接完成后,要先对板子进行测量确保各项正常后再进行通电。测量内容包含以下几项:

(1)用万用表来检测各个回路是否正常。

(2)利用示波器来检测系统晶振是否正常。

(3)是否存在因焊接失误而导致电路短路和断路的情况。

确保每个部分都完好后,接通USB接口对整个系统进行供电,观察整体的模块运行情况,若无误,则电路的调试完成。

4.3 系统的调试与结果分析

当各个模块安装完成后,对整个系统进行USB通电,通过各个模块初始化配置后,观察指示灯和LCD屏幕是否亮起,如果亮起则系统运行正常。在正常显示后,将马达代替车轮进行启动测试,放入霍尔传感器上方,观察LCD显示屏中的里程和速度是否发生变化,调整速度极值,观察蜂鸣器是否能正常工作。针对数据信息检测,通过仿真软件Proteus的使用,在规定时间内记录变化的速度,求其平均速度与公式计算的速度值相比,通过误差大小来判断系统数据准确性,设定扇叶直径d=4cm,则由公式v=(πd)/t可得速度的真实值,通过按键设置时间,观察时间是否变动,若各种功能均正常运行,则测试就完成。

经过测试,对中间所出现的问题进行及时的解决,测试结果分析如下:自行车速度里程表实现了LCD显示里程、速度和时间功能,报警器也能正常报警来提醒驾驶者,符合预期目标后,即完成了本次的系统设计。

5 结语

本文给出了一种自行车速度里程表的设计方案,通过仿真、实践验证了系统的可行性,能通过LCD1602显示速度、里程和时间等信息。当车轮转动时,磁片经过霍尔元件发生磁通量的变化,此时输出一脉冲,再根据车轮周长计算里程,当车速超过一定限值时,电路将启动报警系统,以此实现健康骑行的目的。本次设计的自行车速度里程表可以满足一般使用要求且有性价比高等优点,因此有广泛的应用前景。但本次系统仍有改进之处,随着互联网科学技术的发展,这些简单的速度里程表的功能还需要很大的创新。在对于本次设计针对互联网的发展来看,可以使用蓝牙等模块实时连接手机,来显示身体热量的消耗值以及播放音乐等功能,以达到更舒适、更健康的体验。

猜你喜欢

霍尔调试单片机
史蒂文·霍尔:用光重新定义建筑
基于霍尔三维结构的试验鉴定理论体系研究
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用