智能出租车计价器.docx
《智能出租车计价器.docx》由会员分享,可在线阅读,更多相关《智能出租车计价器.docx(54页珍藏版)》请在冰豆网上搜索。
![智能出租车计价器.docx](https://file1.bdocx.com/fileroot1/2023-1/1/7d1160ea-16a6-4b41-9ae7-74706b9374f9/7d1160ea-16a6-4b41-9ae7-74706b9374f91.gif)
智能出租车计价器
智能出租车计价器的设计
摘要
随着出租车行业的发展,出租车行业已经是城市交通的重要组成部分,从加强行业管理以及减少与乘客的纠纷出发,以单片机为核心的智能出租车计价系统的开发就显得尤其重要。
本设计采用89S51单片机为主控器,以FJ2E-D10NK霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。
关键词:
89S51,霍尔传感器,AT24C02,
Abstract
Asthetaxiindustrydevelopment,urbantaxiindustryisanimportantcomponentofthetraffic,strengtheningmanagementandthereductionoftradedisputeswithpassengersproceedingtoSCMsmarttaxiatthecoreofthedevelopmentonthepricingsystemisparticularlyImportant.Thisdesignuses89S51MCU-basedcontroller,toFJ2E-D10NKHallsensorlocation,andthetaxi-pricingdesignandrealizationofthesystemusedAT24C02Power-downpriceandthetimesavedtimeandotherinformationsystems,outputByparagraph8ofthedigitaldisplay.ofthecircuitdesignofthemetercannotonlyachievethebasicpricing,butalsobasedontheday,night,waitingforthehalf-waytoregulatetheprice,butnotaccountedforinthetimeforthedriversbutalsoasaclockComradeconvenience.
Keywords:
89S51,Hallsensor,AT24C02
一、绪论
1.1概述
出租车最初的人力二轮车即黄包车,早在1918年,常州出现了第一家人力车行,同年就达到了200多辆,最多时达到1560辆,成为市区主要客运交通工具。
此后脚踏三轮车逐渐取代了二轮车。
1963年,常州成立了三轮车服务站,成为现在出租车公司的雏形。
1972年,机动三轮车投入运行。
1980年,出租车公司成立,最早投入运行的车型是菲亚特、波罗乃斯。
进入90年代,出租车得到了飞速发展。
随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。
出租车计价器是出租车营运收费的专用智能化仪表,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备,已成为人们密切关注的计量仪器。
一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。
因此,具有良好性能的计价器对广大出租车司机朋友和乘客以及出租车公司来说是很必要的,但是现阶段出租车的计费系统功能有时候并不能满足出租车司机的意愿。
1.2出租车计价器的发展与功能
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
随着改革开放益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。
最早投入市场的计价器是2型机(1型机是试验机),两个显示屏,4个按键,数据存储器和程序存储器都较小,没有时钟,功能仅仅是计程和计价。
基集成电路组成:
cpu80c39;eprom27c64;srom6264,其它有I/O扩展、逻辑运算、光偶隔离、电源芯片,是单板机进入单片机的初级阶段。
3、4型机属过渡产品,因为一方面,市场推出了cpu8031,功能更强、使用方便,所以就用cpu8031取代了cpu80c39,显示屏由原先的2屏发展为3屏或4屏,显示屏内容为:
单价、计时、金额、车次数据存储由原先的几十次发展到100~300车次;增加实时时钟;能输入较多参数。
外形也有了变化,集成电路配置:
cpu80c31;eprom27c64;srom6264;timer146818;其它芯片也做了相应。
5型机的面世,解决了以上不足,增加了打印,是其显著标志。
显示屏增加为5屏,新增加时钟显示,数据存储器和程序存储器都得到有效增加,行业标准的出台提高了讨价器的产品质量和设计精度,新的计量检定停机功能保证了讨价器的良好受控头脑和公平交易质量,其集成电路配置为:
cpu80c31;eprom27c128;srom62256;timer8583;数据通讯接口;语言提示开始进入。
1998年,为了规范出租行业管理,加快税收监控、保障乘客的合法权益,国家三部局决定在大中城市出租车行业逐步推广使用税控计价器。
1999年国家技术监督局和国税总局又出台了《出租车税控计价器定型鉴定大纲》,给出租车讨价器的设计和制造提供了法律依据和技术平台。
本设计是采用单片微型计算机进行设计的一个出租车的计价系统,相对来说功能较强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
避免了机械开关带来的不稳定因素。
该出租车计价系统采用霍尔传感器检测车轮的转动,车轮每转动一圈,霍尔传感器产生一个脉冲给单片机累加一次里程,实现对里程的记录。
采用单片机的处理和运算功能将记录的里程转换成对应的费用,并在LCD显示器上显示。
二、系统方案选择与论证
2.1系统方案比较与选择
由设计要求设计出一款智能出租车计价器,应具有日历时钟、里程计价、已行走里程、等待时间、行车时累计价、中间停车、每公里价显示,价格分白天价和夜间价,根据时钟计时自动切换。
可以设定等待价能设定里程、白天、夜间及对应的时间区域;设定候时价、起价、起价里程;校对定时器时钟。
方案一:
采用数字电路控制
采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。
采用微型计算机设计的计费系统较多,但是设计的功能大都不太一样可以说五花八门,而且也越来越智能化,配有相关的语音功能,但是这些设计最基本的计价功能是相同的。
其原理如图所示。
采用传感器件、模拟电路和数字电路设计的计价器,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,整体电路的规模较大,用到的器件多,但是考虑到这种电路过于简单,造成故障率高,难调试,功能不易实现,性能不够稳定,而且不能调节单价,也不能根据天气调节计费保准,电路不够实用。
电路框图如图2-1所示。
图2-1数字电路方案
方案二:
采用单片机控制
以单片机为核心,设计上采用89S51单片机为主控器,以FJ2E-D10NK霍尔传感器测距,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出使用TG12864E液晶模组作为显示器,可以显示数字、字母、中文、图片等,使系统信息一目了然;万年历由时钟芯片PCF8563实时提供时钟信号,再由单片机调用显示;语音播报由语音芯片ISD1420提供语音信息,语音信息放在不同的地址里,由单片机从这些地址中调用合适的语音进行播放。
利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调整、时钟显示功能。
原理结构如图2-2所示。
图2-2原理结构框图
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。
单片机计算总价的公式为:
总价=起步价+单价*(总里程-起步里程)。
89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。
通过比较以上二种方案,单片机方案有较大的活动空间,不但能实现所有要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用89S51单片机实现出租车计价的功能。
2.2主要元器件介绍
2.2.1MCS—51系列AT89S51
AT89S51的是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4Kbytes的可系统编程的Flash只读程序存储器,高密度、非易失性储存生产,兼容标志8051指令系统及引脚。
低价位的它可以提供许多高性价比的应用场合,可灵活控制。
芯片管脚图如图2-3所示:
主要性能参数:
●与MCS—51产品指令系统完全兼容
●4K字节在系统编程(ISP)Flash闪速储存器
●1000次擦写周期
●4.0—5.5V的工作电压范围
●全静态工作模式:
0HZ—33HZ
●三级程序加密锁
●128*8字节内部RAM
●32个可编程I/O口线
图2-3:
AT89S51芯片管脚图
●2个16位定时/计数器
●6个中断源
●全双工串行UART通道
●低功耗空闲和掉电模式
●中断可从空闲模式唤醒模式
●看门狗(WDT)及双数据指针
●掉电标识和快速编程特性
●灵活的在系统编程(ISP字节或页写模式)
功能特性概述:
4K字节Flash闪速储存器,128字节内部RAM,32个I/O口线,看门狗,两个数据指针,两个16位计时器,一个5向量两级中断结构,一个全双工串行通讯口,片内振荡器及时钟电路。
同时AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止工作并紧张其它所有部分工作直到下一个硬件复位。
方框图如2-4所示。
图2-4:
AT89S51方框图
2.2.2FJ2E-D10NK霍尔传感器
它是一种磁传感器。
可以检测磁场及其变化,可在各种磁场有关的场合中使用。
以霍尔效应为其工作基础。
它结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高,耐震动不怕一些污染和腐蚀,而且精度高工作温度范围宽。
这种霍尔元件大量用于直流无刷电机和测磁仪表。
FJ2E-D10NK集成霍尔开关由稳压器A,霍尔电势发生器(即硅霍尔片)B,差分放大器C,施密特触发器D和OC门输出E五个基本部分组成。
(1)、
(2)、(3)代表集成霍尔开关的三个引出端点。
外形及接线如图2-5所示。
(a)外形图(b)接线图
图2-5霍尔传感器外形及接线
在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。
这样两次电压变换,使霍尔开关完成了一次开关动作。
集成开关型霍尔传感器原理如图2-6所示。
图2-6集成开关霍尔传感器原理
2.2.3TG12864E液晶显示器
TG12864E是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以8×4个(16×16点阵)汉字。
主要技术参数和性能:
·电源:
VDD:
+2.7~+5V;模块内自带-10V负压,用于LCD的驱动电压。
·显示内容:
128(列)×64(行)点
·全屏幕点阵
·七种指令
·与CPU接口采用8位数据总线并行输入输出和8条控制线
·占空比1/64
·工作温度:
-10℃~+60℃,储存温度:
-20℃~+70℃,可选择宽温:
-20℃~+70℃
模块的外部接口如表一:
③.TG12864EL串口接线方式如图2-7
管脚号
管脚名称
LEVER
管脚功能描述
1
VSS
0V
电池地
2
VDD
5V
电源电压
3
V0
--
液晶显示驱动输入
4
D/I
H/L
D/I=“H”,表示DB7_DB0为显示数据
D/I=“L”表示DB7_DB0为显示指令
5
R/W
H/L
R/W=“H”E=“H”数据读到DB7_DB0
R/W=“L”E=“H-L”DB7_DB0数据被读到IR或DR
6
E
H/L
使能信号:
R/W=“L”,E信号下降沿锁存DB7_DB0
R/W=“H”,E=“H”DRAM数据读到DB7_DB0
7
DB0
H/L
数据线
8
DB1
H/L
数据线
9
DB2
H/L
数据线
10
DB3
H/L
数据线
11
DB4
H/L
数据线
12
DB5
H/L
数据线
13
DB6
H/L
数据线
14
DB7
H/L
数据线
15
PSB
H/L
H:
串行模式L:
并行模式
16
NC
H/L
17
/RST
H/L
复位信号
18
NC
--
19
LEDK
0V
背光接地
20
LEDA
+5V
背光电源+
表一:
模块的外部接口
图2-7:
TG12864EL串口接线方式
2.2.4PCF8563时钟日历芯片
PCF8563是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个
中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。
最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。
功能特性:
*低工作电流:
典型值为0.25μA(VDD=3.0V,Tamb=25℃时)。
*世纪标志
*大工作电压范围:
1.0~5.5
*低休眠电流;典型值为0.25μA(VDD=3.0V,Tamb=25℃)
*400KHz的I2C总线接口(VDD=1.8~5.5V时)。
*可编程时钟输出频率为:
32.768KHz,1024Hz,32Hz,1Hz。
*报警和定时器。
*掉电检测器。
*内部集成的振荡器电容。
*片内电源复位功能。
*I2C总线从地址:
读,0A3H;写,0A2H。
*开漏中断引脚。
管脚配置表如表二,管脚配置如图2-8
符号
管脚号
描述
OSCI
1
振荡器输入
OSCO
2
振荡器输出
/INT
3
中断输出(开漏:
低电平有效)
VSS
4
地
SDA
5
串行数据I/O
SCL
6
串行时钟输入
CLKOUT
7
时钟输出(开漏)
VDD
8
正电源
表二:
管脚配置表
图2-8:
管脚配置图
功能描述:
PCF8563有16个8位寄存器:
一个可自动增量的地址寄存器,一个内置32.768KHz的
振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400KHzI2C总线接口。
所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。
前两个寄存器(内存地址00H,01H)用于控制寄存器和状态寄存器,内存地址02H~08H用于时钟计数器(秒~年计数器),地址09H~0CH用于报警寄存器(定义报警条件),地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。
秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。
当一个RTC寄存器被读时,所有计数器的内容被锁存,因此,在传送条件下,可以禁止对时钟/日历芯片的错读。
PCF8563硬件时钟描写模块:
最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。
*400KHz的I2C总线接口(VDD=1.8~5.5V时)
*可编程时钟输出频率为:
32.768KHz,1024Hz,32Hz,1Hz。
*报警和定时器。
*开漏中断引脚。
*I2C总线从地址:
读0A3H;写0A2H。
地址寄存器名称
00H控制/状态寄存器
01H控制/状态寄存器
0DHCLKOUT频率寄存器
0EH定时器控制寄存器
0FH定时器倒计数数值寄存器
地址寄存器名称Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
02h秒VL00~59BCD码格式数
03h分钟-00~59BCD码格式数
04h小时--00~59BCD码格式数
05h日--01~31BCD码格式数
06h星期-----0~6
07h月/世纪C--01~12BCD码格式数
08h年00~99BCD码格式数
09h分钟报警AE00~59BCD码格式数
0Ah小时报警AE-00~23BCD码格式数
0BH日报警AE-01~31BCD码格式数
0CH星期报警AE----0~6
操作举例
*进入EXT_CLK测试模式;设置控制/状态寄存器1的位7(TEST=1)。
*设置控制/状态寄存器1的位5(STOP=1)。
*清除控制/状态寄存器1的位5(STOP=0)。
*设置时间寄存器(秒、分钟、小时、日、星期、月/世纪和年)为期望值。
*提供32个时钟脉冲给CLKOUT。
*读时间寄存器观察第一次变化。
*提供64个时钟脉冲给CLKOUT。
*读时间寄存器观察第二次变化;需要读时间寄存器的附加增量时,重复步骤7和8。
三、单元电路设计及电路图
3.1车轮转速信号采集系统、里程计算、计价单元的设计、K值调整
3.1.1感器的信号采集
里程计算是通过安装在车轮上的霍尔传感器FJ2E-D10NK检测到的信号,送到单片机,经处理计算,送给显示单元的,其原理如图3-1所示。
图3-1:
传感器测距示意图
由于FJ2E-D10NK属于开关型的霍尔传感器件,其工作电压范围比较宽(4.5V~18V),
其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHZ。
我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当技术达到1000次时,也就是1公里,单片机就控制将金额自动的增加,其计算公式:
当前单价×公里数=金额。
3.1.2K值的调整
在出租车计价器的检定工作中,根据检定规程JJG517-1998,当计价器的使用误差超过-4%~+1%时,就必须对计价器的使用误差进行调整,使其达到合格范围。
现在推出了一个实用的准确调整计价器K值的表达式,通过准确计算K值,并对计价器进行相应调整,来达到调整计价器使用误差的目的,使计价器的营运里程尽量靠近标准值。
由K值的定义,计价器的常数K是表示计价器为正确指示1公里行程而必须接受到的信号数,单位为每公里的转数(r/km)。
出租车车型并非单一,各个车型的轮胎直径亦有所不同。
据调查统计,现行出租车轮胎直径大致有四种,直径分别为520ram、540ram、560ram和580ram。
而对于某一出租车的计价器,在相同条件下,每一转数对应出租车行走的距离是恒定的,设检定某一出租车计价器的使用误差时每公里转数对应的检定实际距离为S,S标为理论计算后的实际距离,△为S标与S的差值(可正、可负),△K为使计价器尽量靠近标准值而需进行调整的转数(可正、可负),则:
S/K=△S/△K,即:
△K=K/S·△S
(1)
当△K>0时,应对计价器上调△K个转数:
当△K<0时,应对计价器下调△K个转数(注:
K在计算后出现小数时,应四舍五入取整数)。
例:
对一捷达出租车进行计量检定时,其K值为4200(r/km)。
检定了3公里时,实测距离为2990m,则应对其调整转数为:
△k=4200/2990×(3000-2990)=14说明应对其上调14个转数,即调整后的K值应为4214(r/km)。
在出租车计价器的实际检定工作中,不论其车型轮胎型号等如何变化,只要知道检定时出租汽车当前K值和所检的实际距离与标准距离的差值后,即可准确计算出所需调整的转数的大小,做到调整的一次到位,避免了重复劳动,有效地提高了检定工作效率,并使检定调整后的计价器科学、公正。
3.2AT24CO2掉电存储单元的设计
掉电存储单元的作用是在电源断开的时候,储存当前设定的单价信息。
AT24C02是ATMEL公司的2KB字节的电可擦除储存芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。
掉电储存电路如图3-2所示。
图3-2:
掉电储存电路
图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据地址)与单片机传送数据。
每当设定一次单价,系统就自动调用储存程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读储存器程序,将储存器的单价等信息,读到缓存单元内,供主程序使用。
3.3脉冲发生器模块
脉冲性生器模块电路图及说明:
(如下图)
图3-3:
脉冲发生器模块
NE555定时器具有定时精度高、工作速度快、可靠性好、电源电压范围宽(3-18V)、输出电流大(可高达200mA)等优点,可组成各种波形的脉冲振荡电路、定时延时电路、是一种电路结构简单、使用方便灵活、用途广泛的多功能中规模集成电路。
NE555引脚功能图如下:
脚号
脚名
功能
1
GND
地
2
Trigger
触发
3
Output
输出
4
Reset
复位
5
ContorVoltage
控制电压
6
Threshold
阈值
7
Discharge
放电漏
8
VCC
电源
只需在外部配接适当的阻容元件,便可组成施密特触发器、单稳态触发器和多谐振荡器等多种应用电路,在这个电路中是多谐振荡器,它电路简单、性能稳定,波形标准。
该模块完成传感器脉冲计量,然后转换为公里数,并根据规则计算对应的费用。
同时,监测行驶速度,统计低速时间,计算低速等待费用,提供液晶显示更新函数,以便主函数可以控制更新用户界面以及行驶里程、费用等信息的显示。
该模块包括PWM管理程序、里程计量程序、时间管理程序、费用管理程序、用户界面控制程序等部分。
3.4按键单元的设计
电路共采用了五个按键,S1、S2、S3、S4、S5,其功能分别是:
S1分屏显示切换按键,S2功能设定按键,S3: