光电式自行车速度项目设计方案_第1页
光电式自行车速度项目设计方案_第2页
光电式自行车速度项目设计方案_第3页
光电式自行车速度项目设计方案_第4页
光电式自行车速度项目设计方案_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 光电式自行车速度 项目设计方案 1 绪论 问题由来 我国是人口大国,也是自行车大国,随着生活节奏的不断加快,自行车已经不仅仅是运输、代步的工具,现在则是代表着绿色、环保、节能。因此其辅助功能也变得越来越重要。而且人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自行车里程表有一定的实用价值 使运动者运动适量 ,达到健康运动与代步的最佳效果。 并且随着人们生活水平 的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人需要一款里程表,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动 员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。 课题现状 传统的机械式车速表是由旋转磁场作用于转动盘,使转动盘连同车速表指针发生同向的偏转。当电磁转矩与弹簧产生的阻力矩平衡时,指针偏转停留在某一角度上。指针偏转角与车速成正比,因而可用其表示车速。 2 机械式车速表的缺陷是明显的。由于表盘指针偏转程度正比于软轴的转动时产生的磁力,当转速较低的时候,磁力较小,随转速变化波动较大。因此,低速时车速表指针摆动剧烈、测量及显示精度不高。对于发动 机后置的车辆,要将车速表指针的偏转动力由变速箱经软轴等传至驾驶室,软轴必然布置的较长,如何将这种长长的转动软轴从结构上布置妥当,肯定是一件十分困难的事情。 现在的车速表大多是电子式的,用 码管或 示,使速度显示更加直观。采用接触车速传感器代替软轴传动 ,可使车速表的安装位置不受距离限制 ,有效地克服了机械式车速表中的诸多不足。 电子式车速表更加智能,车速表的功能也更加人性化,如加上了里程累计、超速提醒等功能。 本设计就是针对骑自行车的人们在行进中不能很好的把握自己达到了多大的速度,行驶了多远的距离而 设计的。以往的里程表只能进行测量速度,里程,时间,温度等数据,虽然能实现很多的功能,但是其中的一些功能不适合自行车业余爱好者,浪费资源,而且性价比也低,而且也不能很好的把握当前运动量,从而不能很好的实现娱乐和锻炼的效果。而本设计却能实现娱乐和锻炼的双重效果,而且相对业余爱好者性价比更高。 设计任务 本设计要以单片机为核心,通过光电传感器来检测自行车的运转情况进而实现电动自行车的速度的测量,最后用液晶显示器直观地将速度与里程显示出来,并且在速度高于一定的值时可自动向用户报警,从而达到智能化的目的。 主要设计内容 : 系统原理总概述 3 本系统由信号预处理电路、单片机 示模块、开关按键 ,报警模块和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的 号;通过单片机的设置可使内部定时器 脉冲输入引脚 行控制,这样能精确地算出加到 脚的单位时间内检测到的脉冲数。本设计中,计数的正确性决定了本装置的精度,如何在复杂的环境中得到正确的计数脉冲,是本设计的重点,设计中里程表显示采用 晶模块,用液晶显示器显示是本设计的难点。并且在速度高于一定的值时可自动向用户报警,从而达到智能速度里程表。 系统硬件组成原理 系统硬件由信号预处理电路、单片机 统化 示模块、 开关按键,报警模块组成,系统的硬件组成框图如下: 信 信 信 信 信 信 信信 信 信 信信 信 信 信信 信 信 信 信 信信 信 信 信L C D 信 信信 信 信 信图 2统总体设计框图 由于不同速度发 出不同频率的脉冲,通过光电传感器检测出不同状态的脉冲信号,而一般的模拟信号都是微弱的,所以要把它放大,这就需要一个放大器。另外单片机能识别的都是 号,经波形变换和波形整形电路方能将放大的信号转换成可与单片机相连的形式。当行驶达到一定的车速时,会发出报警声。不同的按键方式,液晶显示器会显示不同的数据。 软件系统工作流程 在硬件设计完毕之后,接下来就是设计中最核心和最为主要的软件部分设计。所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模块 4 化结构设计即是根据要求和硬件设计 的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。 信 信 信 信信 信 信 信 信 信 信 信信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信信 信 信 信信 信I N T 0T 0I N T 1图 2统软件流程图 3 系统硬件设计 本设计采用的是以红外传感器 传感器, 以 为系统的主控芯片,以 128*16 液晶显 示器进行显示。 5 A T 8 9 C 5 1信 信 信信 信 信 信S T 1 1 0 1L C D 1 6 0 2信 信 信 信图 3统硬件框图 采集信息部分以及传感器的选择 信息采集部分可以选用的传感器种类一很多,例如磁感应传感器,光电感应传感器,金属传感器等。 霍尔传感器由永久磁铁和开关型霍尔集成电路组成。霍尔集成电路由霍尔元件、放大器、整形电路及集电极开路输出等部分组成,其功能是把磁信号转换成电信号,霍尔元件为磁敏元件,当垂直于霍尔元件的磁场强度发生变化时,其两端的电压就会发生变化,经放大和整形即可输出脉冲电信号。 光电编码器的工作原 理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。如图 3示,是某光电编码器的外形。 光电传感器是应用非常广泛的一种器件,各种各样的形式,如透射式、反射式等,基本原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图 3示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。为此可以制作一个 遮光叶片如图 3示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。 而考虑到实际可操作性以及设计要求方面,本设计选用的传感器为光电传感器。 图 3光电传感器的原理 图 6 图 3遮光叶片 将光敏电阻安装在自行车前又的一侧,在同等高度的另一侧安上一个高亮度的发光二极管。在同等高度的辐条上贴上一圈黑色材料,并在黑色材料上打上等间距的小孔,这样当小 孔经过光敏电阻时,光敏电阻根据光电流的变化发出脉冲, 从而测量里程。 红外光电传感器 用高输 出的红外光电二极管与高灵敏度光敏晶 其特点是性能可靠,体积小,结构简单,广泛应用于 里程 表。 表 3要参数 输入 正向电流 0 向电压 v 耗散功率 P 75 出 集 5 V 射 V 集电极功耗 0 围电路如图 3示, 为 限流电阻,限制发射二极管的电流,发射二极管 的电流大则发射功率大,但不能超过它的极限电流 。 根据主要参数表,它的极限电流为 50两者之间有孔时,三极管导通,当两者被隔离时,三极管截止。 感器外围电路 轮脉冲检测与转换电路 本设计采用了 外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当 7 没有物体挡在中间时则输出为高电平,从而形成一个脉冲。然后通过带施密特触发器的反相器 把放大器生成的单相脉冲转换成与 平相兼容的方波信号,再输入给单片机。 轮脉冲检测 该系统在自行车后轮的轴处保持着与轮子旋转切面平行的方向延伸附加一个铝盘,在这个铝盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当铝盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。 把这些脉冲通过一系列的波形整形成单片机可以识别的 平,即可算出轮子即时的转速。铝盘的圆孔的个数决定了测量的精度,个数越多,精度越高。这样就可以在单位时间内尽可能多地得到脉冲数从而避免了因为两个过孔之间的距离过大,而车子正好在过孔之间或者是在下个过孔 之前停止了,造成较大的误差。 本设计在铝盘过孔的设计上采用 9 个过孔,从而留下了 8 个同等的间距这样在以后的软件设计中能够较为方便的计算出速度里程。脉冲发生源的硬件结构图如图 3 图 3冲发生源硬件结构图(左为正视图,右为侧视图) 信号预处理电路 如图 3示,系统的信号预处理电路由二级电路构成,第一级是由开关三极管组成的零偏置放大器,采用开关三极管可以保证放大器具有良好的高频响应。当输入信号为零或负电压时,三极管截止,电路输出高电平;而当输入信号为正电压时,三极管导通,此时输 出电压随着输入电压的上升而下降,这使得速度里程表既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。由于放大器的放大功能降低了对待测信号的幅度要求,因此,系统能对任意大于 正弦波和脉冲信号进行测 8 量。 其中电 阻 输入电阻, 输出电阻。 预处理电路的第二级采用带施密特触发器的反相器 把放大器生成的单相脉冲转换成与 平相兼容的方波信号(如图 3示),同时将输出信号加到单片机的 上。 利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信 号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于 即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。 从传感器得到的矩形脉冲经传输后往往发生波形畸变。当传输线上的电容较大时,波形的上升沿将明显变坏;当传输线较长,而且接受端的阻抗与传输线的阻抗不匹配时,在波形的上升沿和下降沿将产生振荡现象;当其他脉冲信号通过导线间的分布电容或公共电源线叠加到矩形脉冲信号时,信号上将出现附加的噪声。无论出现上述的那一种情况,都可以通过用施密特反相触发器整形而得到比较理想的矩形脉冲波形。只要施密特触发器的 和 置得合适,均能受到满意的整形效果。 74号预处理电路图图 图 3号处理波形图 单片机系统部分 片机介绍 9 一种带 4K 字节闪烁可编程可擦除只读存储器( 低电压,高性能 微处理器,俗称单片机。该器件采用 密度非易失存储器制造技术制造,与工业标准的 令集和输出管脚相兼容。由于将多功能 8 位 闪烁存储器组合在单个芯片中, 一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 脚图 定时 /计数器的结构及控制 定时 /计数器的实质是加 1 计数器( 16 位),由高 8 位和低 8 位两个寄存器组成。定时 /计数器的工作方式寄存器,确定工作方式和功能; 控制寄存器,控制 启动和停止及设置溢出标志 。定时 /计数器结构如图 3示: 图 3时 /计数器结构图 片机定时 /计数器的工作由两个特殊功能寄存器控制。 于设置其工作方式; 于控制其启动和中断申请 9。 10 工作方式寄存器 于设置定时 /计数器的工作方式,低四位用于 四位用于 格式如 表 3 表 3号 6 4 2 0 符号 :门控位。 0 时,以运行控制位 =0, 1)来启动定时 /计数器运行; 1 时,要用软件使 1,同时外部中断引脚或也为高电平时,才能启动定时 /计数器工作; C/T 计数器模式和定时器模式选择位 C/T=1 时,选择计数器模式,计数器对外部输入引脚 外部脉冲计数; C/T=0 时,选择定时器模式。 作方式设置位。定时 /计数器有 四种工作方式,由 行设置。 表 31 工作方式 功能 0 0 工作方式 0 13 位计数器 0 1 工作方式 1 16 位计数器 1 0 工作方式 2 自动再装入 8 位计数器 1 1 工作 方式 3 定时器 0:分成两个 8 位计数器 定时器 1:停止计数 低 4 位用于控制外部中断 ,已在前面介绍。 高 4 位用于控制定时/计数器的启动和中断申请。其格式如下: 表 3 6 4 2 0 字节地址: 88H 出中断请求标志位。 数溢出时由硬件自动置 1。 应中断后硬件自动清 0。 作时, 随时查询 状态。所以, 用作查询测试的标志。 可以用软件置 1 或清 0,同硬件置 1 或清 0 的效果一样。 11 行控制位。 1 时, 始工作; 0 时, 止工作。 软件置 1 或 清 0。所以,用软件可控制定时 /计数器的启动与停止。 出中断请求标志位,其功能与 同。 行控制位,其功能与 同。 中断控制 中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器 表 3 7 6 5 4 3 2 1 0 字节地址: 88H E 外部中断 0 允许位; 定时 /计数器 断允许位; 外部中断 0 允许位; 定时 /计数器 断允许位; 串行口中断允许位; 断允许(总允许)位。 单片机外围电路介绍 复位电路 片机的复位输入引脚 供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的 0000H 地址单元开始执行程序。在 89时钟电路工作后,只要在 脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要 持高 电平,则 89环复位。只有当 高电平变成低电平以后, 89从 0000H 地址开始执行程序。 复位电路通常采用上电自动复位和按钮复位两种方式。 12 本系统的复位电路是采用按键复位的电路,如图 3示,是常用复位电路之一。单片机复位通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容 C 相当于瞬间短路, +5V 立即加到 ,该高电平使 89机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把 +5V 加到了 从而复位称为手动复位 。复位后, 行 I/它寄存器全部清零 。 图 3位电路 按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过 经电阻与电源 通而实现的。时钟频率选用 6, C 取 22s 取 200, 1 晶振电路 晶振电路由晶振和两个负载电容组成。晶振电路部分电路连接如图 3示。 12振电路 晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度。比如此系统所用的 12振,单片机工作速度就是每 秒 12M。在调试时要注意将 口波特率设为 1200。至于两个电容的大小,它是根据晶振厂家提供的晶振要求选值的,换句话说,晶振的频率就是在它提供负载电容下测得,能最大限度的保证频率值 13 误差。两个电容取值都是相同的,大部分在 20有相同电容的情况下,可以用两个相差不大电容代替,但不能相差太大,容易造成谐振不平衡,容易造成停振或者干脆不起振。晶振电路在本系统中是并联方式,连接在 显示部分 晶显示器 功能简介 :其 液晶模块内部的 字符发生存储器( 经存储了 160个不同的点阵字符图形,每一个字符都有一个固定的代码。 其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 外形尺寸 (视域尺寸 (动电压 (V) 工作温度 :(050 2070 存储温度 :(0 3080 显示类型 : 颜色 : 蓝色 (带背光 ) 生产工艺 : 主要技术参数为: 显示容量: 工作电流: 模块最佳工作电压: 符尺寸: 602 采用标准的 16 脚接口,其 管脚定义如下 : 14 图 3物图 第 1 脚: 地电源。 第 2 脚: 5V 正电源。 第 3 脚: 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生 “鬼影 ”,使用时可以通过一个 10 第 4 脚: 寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚: 读写信号线,高电平时进行读操作,低电平时进行写操作。当 同为低电平时可以写入指令或者显示地址,当 低电平高电平时可以读忙信号,当 高电平 低电平时可以写入数据。 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 7 14 脚: 8 位双向数据线。 第 15 脚:背光电源接 5V 正电压。 第 16 脚:背光电源接地。 1602 的读写操作、屏幕和光标的操作都是通过指令编程来实现的。液晶模块 内部的控制器共有 11 条控制指令,其指令具体功能介绍如下: 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示, 15 低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示 移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5点阵字符,高电平时显示 5点阵字符。 指令 7:字符发生器 址设置。 指令 8: 址设置。 指令 9:读忙信号和光标地址 忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 与 码管相比,液晶显示器的显示效果相对较好,液晶 显示器显示不仅直观,而且界面具有人机交互美观的特点。而且具有低功耗,容易控制,占用 源少这些优点,从而成为一些显示器的首选。 显示接口电路设计 1602 液晶模块内部的字符发生存储器( 经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 “A”的代码是 01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母 “A”。因为 1602 识别的是 ,试验可以用 直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如 A。 以下是 1602 的 16 进制 表地址: 读的时候,先读左边那列,再读上面那行,如:感叹号!的 0母 B 的 0面加 0x 表示十六进制)。 指令集 1602 通过 7 的 8 位数据端传输数据和指令。 16 显示模式设置: (初始化 ) 0011 0000 0设置 162 显示, 57 点阵, 8 位数据接口; 显示开关及光标设置: (初始 化 ) 0000 1 显示 (1 有效 )、 C 光标显示 (1 有效 )、 B 光标闪烁 (1 有效 ) 0000 01=1(读或写一个字符后地址指针加 1 &光标加 1), N=0(读或写一个字符后地址指针减 1 &光标减 1), S=1 且 N=1 (当写一个字符后,整屏显示左移 ) S=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为 80H,所以数据地址为 80H+地址码 (040 其他设置: 01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 示与单片机连接电路图如图 3 晶原理图 17 报警电路 本次报警电路采用蜂鸣器报警,当即时速度超过预定值是蜂鸣器响,指示灯闪烁,提示应该减速。报警电路图如图 3示。 警电路图 键盘控制 键盘是实现人机对话的重要工具,用户可用计算机向计算机输入数据和指令,本系统采用独立键盘接口,独立式按键是指直接用 I/O 口线构成单个的按键电路。每一个独立式按键单独占用一根 I/O 口线。独立式按键接口电路配置灵活 ,软件结构简单。但每个按键都需要占用一根 I/O 口线,适用于按键数量少的键盘。电路中,按键输入低电平有效。按键未按时有上拉电阻保证此时输入为高电平。 按键接口电路如图: 键接口图 18 4 软件设计 待测信号经预处理电路后加至单片机的 脚可为单片机测量信号频率提供有效的输入信号。单片机通过检测 脚电平来决定是否启动测量频率程序。当该引脚为高电平时,系统处于等待状态,要一直到该引脚出 现低电平时才开始测频率。我们可从硬件的转盘上知道两个过孔之间在圆周上的距离。而这个距离 M 正好为 计算速度和距离起到了基本的数据储备作用。同时可以从 存器知道在两秒内单片机检测到的 N 个脉冲。而 MN 所得到的正是这两秒内铝盘在圆周上所走得距离 S。(此时假设在这个 两秒内车子是匀速前进的),距离 S 除以 2 秒的时间,就可以大概的算出这 2 秒内铝盘的线速度。再根据铝盘与自行车的轮子保持着一样的角速度,得到铝盘的线速度与轮子线速度的关系,从而算出自行车在这 2 秒的平均速度。至于里程的计算,根据速度计算的相加即可得到目前的总里程数。 通过单片机计算出来的速度和里程的数据 ,通过 示模块显示。当自行车 行驶时 ,单片机开机经过初始化后读取并且显示出来 ,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。系统的软件总流程如下; 基于光电传感器自行车里程表的软件设计包括上电初始化程序、中断子程序、速度调用子程序、里程调用子程序、 示子程序、延时子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析。 测量算法概述 速度测量是工控系统中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。脉冲测速最典型的方法有测频率 (M 法 )和 测周期 (T 法 )。 M 法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有 2 个脉的误差。速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以 M 法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。 T 法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有 1 个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以 T 法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数 ,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。 19 设计中综合考虑测速精度和系统反应时间,本设计用测量脉冲频率来计算历程,因而具有较高的测距精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。另外,还应尽量保证其他子模块在编程时的通用性和高效性。 首先我们把槽型光电传感器 在自行车的转轴上,当自行车启动时,接通电源后,光电二极管发光,通过和不通过转盘孔时,使三极管导通或截止,这种变化将会光电传感器产生脉冲电压。由于转盘共分为 8 个孔,转盘转动一圈 将会改变 8次。所以将会产生 8 个方波,既每输出 8 个方波代表自行车转动了一周。例如:我们的自行车车轮 半径为 ,计算得出车轮的周长 为 于每一圈光电传感器将输出 8 个脉冲,当自行车行驶 1会转动 667 次,这样每 1 千米 将 会 产生 5336个脉冲,单片机对这 5336 个脉冲计数,当达到这个数时单片机将会产生中断。 通过单片机计算出来的速度和里程的数据,通过 示模块直观显示。总里程数会自动保存到单片机的数据存储器,当自行车行驶,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的 车子已经运行了多少公里了。而速度的显示则是在计算出速度里程后立刻显示出来,体现实时性。 中断子程序的设计 定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时 /计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。 定时 /计数器控制寄存器 8 位寄存器,地址为 88H,。其高 4 位用于定时/计数器中断控制,低 4 位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的里程和速度进行计数。中断子程序流程图如图 4示。 20 信 信信 信 信信 信 信 信信 信 信信 信 信信 信 信 信信 信 信 信信 信 信 信图 4断子程序流程图 数据处理子程序的设计 待测信号经预处理电路后加至单片机的 2( 引脚可为单片机测量信号周期提供有效的输入信号。单片机通过检测 脚电平来决定是否启动测量周期程序。当该引脚为高电平时 ,系统处于等待状态,要一直到该引脚出现低电平时才 开始测周期。测量时首先将零赋给 个寄存器以将定时器 运行控制位 位,同时也将 位以允许定时器 断。然后再判断 2 引脚是否还为低电平,如为低电平则等待 ,直到出现高电平再开始判断 2 引脚是否为低电平,当其不是低电平时再等待。一旦出现低电平,则立即复位 止定时器 ,以结束测周期程序。测周期过程中可能会发生定时器 中断,每发生一次中断则将存器加一,因此 际上是周期值的高字节。测出的周期值存储在 个寄存器中 ,然后 将其转换成速度。速度是用车轮的周长除以脉冲周期得到的。 21 由于所测周期的单位是 s,因此在相除转换时应将被除数扩大 10 万倍,以保证得出正确的速度。 里程计算子程序 外中断 0 服务程序用于对单片机 输入的圈脉冲进行计数,为十六进制计数器。当车轮每转一圈,通过光电传感器将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出里程数。其中阶段里程为本次行驶所走过的里程,总里程为自行车从开始使用当前行驶的总路程,两者处理程序大致相同,总里程为阶段里程 的累加。 将阶段里程自动与以前存储的总 里程 相 加, 再存入该存储器,当单片机断电后,阶段里程清零,当有重新开始时,单片机重新计数与计时。里程 处理子程序流程图如图 4示。 信 信信 信 信 信信 信 信 信 信 信信 信 信 信 信 信信 信 信 信 信 信信 信 信 信信 信图 4程处理子程序流程图 速度计算子程序 内部定时 /计数器 务程序用于处理轮子转动一圈后的计时数据。定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的瞬时速度。阶段平均速度为阶段里程除以本次行驶的时间。下为瞬时速度处理子程序流程图: 22 信 信信 信 信 信信 信 信 信信 信 信信 信信 信 信 信信 信度处理子程序流程图 显示子程序的设计 液晶显示是本设计的难点,为了让显示的内容更丰富,显示更合理,根据设计要求,里程表需要显示速度、里程、时间等。当接通电源或按 ,显示欢迎画面: 系统延时 2 秒后进入时钟设置画面: 0:00:00 依次按 整时钟, 定时位, 定分位, 定秒位,待时间设定完成后按 认。 接着进入自行车轮胎半径设置 画面: = 55 整轮胎直径后,按 认,里程表开始工作。 23 各项参数分成四屏选择显示,按动 流程图所示进行切换。 信 信信 信 信 信信 信 信 信 信 信信 信 信 信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信 信信 信 信 信 信 信信 信 信图 4示流程图 阶段里程是指本次自行车所走过的路程,阶段平均速度为阶段里程与阶段时间的比值,软件编程的主要变量为:阶段行驶里程( m)、阶段时间、瞬时速度( m/s)、最大速度( m/s)、阶段 平均速度( m/s)、总里程( m)。 24 5 设计总结 实现目标与特点 一实现目标 该课题的主要任务是开发一个以 片机为核心的自行车的速度里程表。本设计主要分为硬件部分和软件部分,硬件部分着重考虑硬件电路的简单性,故尽可能简化硬件电路,节省线路板的空间,达到硬件电路最优化设计。软件采用 C 语言编写,采用模块化设计思想,程序可读性强。通过仿真、实验验证了系统的可行,能满足设计要求,达到设计的指标,实现对自行车里程 /速度的计算功能,并用 示, 设脉冲总数为 m,车轮周长 为 C,车轮转一周输出脉冲数为 n,车轮行驶时转一圈的时间为 里程 ( S) 与速度 ( v) 分别根据以下公式求得: S=m*C/n v=C/ 根据此公式将最终显示出里程和速度。通过仿真证明本次设计符合设计的要求,能实现对里程、速度的显示,功能性较强,具有一定的实践意义,将会在许多场合应用。但也有一些不足存在,当显示速度时,若自行车转动太快,显示器会显示过快,应该将速度定时显示,使人们能够清楚地看出速度。 ( 1)实现了总里程的测量,并且里程当里程小于 1,数据的显示格式为 里程大于 1,数据的显示格式为 便于数据的读取与测量。其中里程的值为当前行驶的里程。 ( 2)实现了速度包括平均速度瞬时速度的测量,并规定最大速度为 8m/s,当行驶速度超过该值时,报警器会发出报鸣声,提醒减速行驶。 ( 3)实现了时钟的定时与当前时间的显示,使设计更合理。 ( 4)发挥部分 :可以显示最大加速度,在软件编程中实现。 二设计特点 ( 1)利用红外传感器作信号采集单元,当车轮转动时,圆盘会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。其优点是测量精度高 。 ( 2 ) 开关按键和指示灯设计,使方案更便于实践,设计更合理。 ( 3 ) 晶显示模块。液晶显示模块具有体积小、功耗低、显示内容丰富等特 25 点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。 ( 4)测试数据全面,方案不仅能实现速度和里程的测量,还可以作为时钟使用,另外,当行驶超过一定的速度时,自行车会自动报警,提醒减速行驶。 结论及不足 本设计以 核心,通过光电传感器来检测自行车的运转情况进而实现电动自行车的速度,里程的计算及里程的累计,最后用液晶显示器直观地将速度与里程显示给用户,并且在速度高于一定的值时可自动向用户报警,从而达到智能速度里程表。 存在的问题及不足: ( 1)通过 数时,单片机每读取一个脉冲至少需要 3 个机器周期的时间来完成。本系统采用的晶振为 12以一个机器周期 2/f=1要使单片机准确读取外部脉冲,则脉冲的输入周期不能超过 3此可计算 (转盘齿数为 10),系统能测量的转速需低于: 0s/(30)=6000000r/ ( 2)当显示速度时,若自行车转动太快,显示器会显示过快,应该将速度定时显示,使人们能够清楚地看出速度。 ( 4)测量的精度有待改善,当速度很慢时,输入的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论