当前位置:   article > 正文

出租车系统设计

出租车系统设计

第一章  引  言

随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。

现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。

凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如10元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。

采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

第二章 出租车计价器系统设计内容

2.1基本设计内容

1) 不同情况具有不同的收费标准。

l 白天

l 晚上

l 途中等待(>10min 开始收费)

2) 能进行手动修改单价

3) 具有数据的复位功能

4IO 口分配的简易要求

l 距离检测使用霍尔开关A44E

l 白天/晚上收费标准的转换开关

l 数据的清零开关

l 单价的调整(最好使用 + 和 - 按键)

5) 数据输出(采用LCM103

l 单价输出2

l 路程输出2

l 总金额输出3

6) 按键

l 启动计时开关

l 数据复位(清零)

l 白天/晚上转换

2.2拓展功能

l 能够在掉电的情况下存储单价等数据

l 能够显示当前的系统时间

l 语音播报数据信息

第三章  方案论证

3.1方案比较

方案一:采用数字电路控制。其原理方框图如图31 所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。

图3-1数字电路方案

方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图3-2所示。

图3-2单片机控制方案

3.2确定方案

通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。

第四章 单片机计价器系统总体设计

4.1计价器的工作原理

通常计价器采用MCS - 51 芯片,EEPROM中预先已写入了有关程序和数据的信息,如基本距离、续程距离、候时时间的规定值,与收费标准规定相应的收费价格值,不同出租条件下收费的变化比率,附加车费值计费方式等数据和与收费办法相应的车费计算与控制程序等,并且在计价器安装前已根据不同车型选定好K 值。计价器的原理结构如图4-1 所示。在工作过程中其主要的功能都是由MCS - 51 芯片中的定时器/ 计数器来实现。

4-1 计价器的原理结构图

4.2 单片机系统总体设计

单片机系统总体设计框图如图4-2所示

 

42 单片机系统总体设计框图

第五章 硬件设计

5.1单片机总体电路图设计

电路图见附图一所示

5.2 AT89S51单片机介绍

AT89S51兼容MCS51微控制器,4K字节FLASH存贮器支持在系统编程ISP 1000次擦写周期,128字节片内RAM,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程IO口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Power-down模式, Power_down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。内部逻辑结构,如图5-1所示。

图5-1  AT89S51内部逻辑结构图

1.定时器/ 计数器的基本原理

作为基本组成内容,AT89S51单片机共有两个可编程的定时器/ 计数器,分别称定时器/ 计数器0和定时器/ 计数器1 。它们都是十六位加法计数结构,分别由TH0 TL0 TH1 TL1 两个8 位计数器组成。

2.计数功能

所谓计数是指对外部事件进行计数。外部事件

的发生以输入脉冲表示,因此计数功能的实质就是

对外来脉冲进行计数。MCS - 51 芯片有T0 ( P3. 4)

T1 (P3. 5) 两个信号引脚,分别是这两个计数器的

计数输入端。外部输入的脉冲在负跳变时有效,

行计数器加1 (加法计数)

3.定时功能

定时功能也是通过计数器的计数来实现的,不过这时的计数脉冲来自单片机的内部,既每个机器周期产生一个计数脉冲。也就是每个机器周期计数器加1 。由于一个机器周期等于12 个振荡脉冲周期,因此计数频率为振荡频率的1/ 12 。如果单片机采用12MHz 晶体,则计数频率为1MHz。即每微秒计数器加1 。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。

5.3电源控制线路设计

出租车计价器316V/ 60mAh 镍镉电池恒流充放电控制线路

额定电压316V , 容量为60mAh 的Nicd 电池在出租车计价器中有着广泛的应用,它也是其它智能化仪表中最为常用的备用电池。在出租车计价器的日常维护中,一旦由于电池爬碱(轻微漏液),线路漏电、短路以及长期使用造成电池性能下降时,对电池的处理办法一般采用弃用。然而对这类电池进行适当的维护,如对爬碱的电池进行清理并用绝缘胶密封,对记忆效应明显的电池可进行多次循环充放电加以消除,有不少电池仍可利用,但这需要一种可用于判定电池性能的容量检测线路,而普通的NiCd 电池充电器并不具有这一功能。为此笔者设计了一种适用于316V/ 60mAh NiCd 电池恒流充放电控制线路,不仅可用于容量检测,在作一般的充电器使用时,可在充电前对电池的剩余容量给予准确有效的放电以消除其记忆效应,比普通的充电线路更具优越性。

1.基本原理

(1)恒流放电线路

图5-2 是恒流放电线路原理图,其基本工作原理是当电池放电时,由于电压下降引起电流下降时,通过电阻R 的反馈及运放的调整,使三极管T 的基极电流发生变化,调节三极管ce 极压降从而确保R 上的电压不变,使之流过的电流保持恒定。设电池放电电流为I ,运放同反相端电压分别为V + , V - ,基准稳压管D 的电压为E0 ,由于三极管的基极电流较小,可忽略不计,因此流过R 的电流可视为电池的放电电流。则:

图5-2 恒流放电线路原理图

V = RI , V + = E0

由于运放的同反相端电压相等,即V + = V - ,

因此:E0 = RI

: I = E0/ R

显然,放电电流只决定于基准电压E0 及限流电阻R 的阻值,与电池电压无关,一旦E0 及R 保持定值,电流I 即恒定不变。由于R 上的压降必须大于电池的终止放电电压,并确保三极管c e 之间的压降有足够的调整空间,因此R 的取值不易过大。

(2)放电终止控制线路

图5-3 为放电终止控制线路原理图,图中运放构成电压比较器,当电池电压E 大于基准电压E0 时,V + > V - ,比较器输出高电平,三极管导通,继电器吸合。同样当电池电压低于基准电压时, V + <V - 。运放输出低电平,三极管截止,继电器断开。这样,便可通过继电器触点控制放电电流的通断。根据“GB/ T1103 - 1996 圆柱密封镉镍可充单体电池”标准规定, 单体电池的终止放电电压为110V ,对于316V NiCd 电池是由三只单体电池串联而成,因此,终止放电电压为310V ,而图中的基准电压应取E0 = 3. 0V。

图5-3 放电终止控制线路原理图

(3)恒流充电线路

图5-4为由78L05 构成的恒流充电线路原理图,图中: I0 = U0/ R ,则充电电流I 为:

I = I0 + I d = U0/ R + Id

式中U0 为78L05 的输出电压(定值+ 5V) ,而Id 为78L05 的静态工作电流,一般在几至十几毫安也为定值,因此,一旦R 调整确定,充电电流即为恒定电流不变。图中输入电压Ui 要求大于U0 + E ,其中E 为电池电压。D 是反向隔离二极管,为防止电池电流反串而设。由于785L05 输出电流仅为100mA ,因此,该线路的充电电流也不超过100mA。

图5-4 恒流充电线路原理图

(4)充电定时控制线路

如图5-5 所示由555 及两级4020 计数器构成了充电定时控制线路,图中555 构成了多谐振荡器,其周期稳定的振荡波形经两级4020 计数实现长时间定时,采用两级计数的目的是为了降低555 的振荡周期,以便采用小容量CBB (金属聚酯膜电容) 振荡电容,虽然采用单级4020 计数同样可达到两级计数的定时时间,但振荡电容必须采用容量较大的电解电容,而电解电容的稳定性及温度特性远不及CBB电容。如采用10μF 的电解电容,当温度在0~30 ℃范围内波动时,8 小时的定时时间将产生30min 的温度误差,而采用CBB 电容产生的误差小于1min。图中调整W1 使555 振荡周期为t = 11716ms ,则定时时间: T = 214 ×210 ×t = 810h 。图中按下AN1 ,4020 复位,4020 ( IC3) 的Q10输出低电平,三极管T导通,继电器通电,触点J K 吸合自锁,接通充电电路工作电源对电池进行充电,同时555 振荡,4020开始计数,当定时时间达到预定时间后,4020 ( IC3)的Q10输出高电平,三极管T 截止,继电器线包断电,触点J K断开,切断定时线路及后级充电线路工作电源,停止对电池充电。

图5-5 电池恒流充放电控制线路

2.恒流充放电控制线路

图5-5 为316V/ 60mAh NiCd 电池恒流充放电控制线路,其容量检测精度优于3 %(不计计时误差) 。根据GB/ T11013 —1996 标准规定,NiCd 电池容量测试时的充电电流应为012C (C 为电池容量) ,充电时间8h ,然而以012C 的恒定放电电流放电至终止电压,要求最小放电时间不低于4175h 。因此,图中充放电电流为12mA。充电定时时间为8h 。

(1)恒流放电控制线路:图5-5 中运放A1 、A2 采用LM324 (一片LM324 可用于二个放电控制线路) 。其中A1 、A2 的基准电压由工作电源(当采用7812 稳压器稳压后的工作电源已有足够的稳压精度) 分压而成,A1 的基准电压为112V ,通过W2 调整,A2 的基准电压为310V ,可通过W3 调整。当K→1 时,NiCd 电池接入放电回路,按下AN1 ,当电池电压高于310V 时, 继电器动作,J K1 吸合自锁,L ED1 亮,表示放电开始,当电池电压低于310V 时,继电器断开,电池终止放电,同时其常闭触点闭合,蜂鸣器鸣响,提示放电终止,只有当K →2或切断工作电源时蜂鸣才停止蜂鸣。若按下AN1 蜂鸣器一直鸣响,说明电池电压已低于310V ,不用再进行放电。

(2)恒流定时充电控制线路:图5-5 中W3 为充电电流调节电阻,调整W3 使充电电流为12mA。图中C2 、R8 及C3 、R10 为4020 上电复位线路,C4 、C5 、C6 为旁路电容,可提高定时线路的干扰性能。555 选择电压、温度漂移较小的SE555 ,L ED2 用于充电状态指示,当K →2 时,电池接入充电回路,按下AN2 ,电池便开始充电,同时L ED2 闪烁,当充电时间到8h 时,线路自动切断并停止充电。 线路用于电池容量检测时,首先对电池剩余容量放电,当放电至终止电压时,转入8 小时充电,充电完毕后,再进行放电,记录开始放电至终止放电的时间t (h) ,即可计算出电池的容量:实际容量= t ×额定容量/ 5h (mAh)一般出租车计价器关机时, 静态电流小于50μA ,而计价器要求断电一个月其内存数据及时钟线路仍能正常工作,可计算出备用电池容量不得低于36mAh ,因此若实际容量仍能达到36mAh ,则可继续使用。图5-5 为单路充放电控制线路。多路可按图复制,但定时控制线路只需一路。控制线路电压可由220V 交流经变压、整流、滤波后由7812 提供,若变压器次级电流为1A(电压可选15V) ,而继电器的线包电流小于100mA ,则最多可驱动8 路充放电控制线路,可同时对8 节316V/ 60mAh 时NiCd 电池进行充放电。

5.4里程计算、计价单元的设计

1.车轮转动里程检测电路

该电路的主要作用是敏感路程,产生计程脉冲;在具体实现时采用霍尔传感器A44E来作为里程传感器,将安装在与车轮相连接的涡轮变速器的磁铁上,使汽车每前进10 m传感器产生一次脉冲,即向里程计数器电路发出一个计数脉冲,以使得计数电路进行里程计数。车速传感器测控系统框图如图5-6所示

图5-6  车速传感器测控系统框图

2.里程计数中断电路

当车轮转动里程检测电路提供了计程脉冲信号后,里程计数中断电路则根据该脉冲信号定时向微机系统发出计数中断请求信号,使系统根据一定的算法对里程数据进行计数计算。

里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图5-6所示。

图5-7传感器测距示意图

由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ

集成开关型霍耳传感器原理

如图5-8,A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D OC 门输出E 五个基本部分组成。在输入端输入电压CC V ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到.工作点.(OP B )时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为.开.。当施加的磁场达到.释放点.(rP B )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为.关.。这样两次电压变换,使霍耳开关完成了一次开关动作。

58 集成开关型霍耳传感器原理图

其集成霍耳开关外形及接线如图5-9 所示。

 59集成霍耳开关外形及接线

我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1 米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的加增加,其计算公式:当前单价× 公里数=金额。

5.5数据显示单元的设计

设计使用一个定时/计数器每1/10 s向主机发一次中断请求信号,并利用并行接口电路完成对时钟的实时显示功能。同时,利用动态扫描电路完成对出租车的起价和当前累计价的显示。

由于设计要求有单价(2 位)、路程(2 位)、总金额(3 位)显示输出,加上我们另外扩

展了时钟显示(包含时分秒的显示),采用LCD 液晶段码显示,在距离屏幕1 米之外就无法

看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6 LED

数码管的分屏显示,如图5-10所示:

5-10 a 时钟显示(图中显示为123446秒)

 

510 b 总金额和单价显示(图中显示为总金额12.3,每公里4.6元)

5-10 c路程和单价显示(图中显示为总路程12公里,当前单价4.6 元)

5-10 d单价调整显示(图中显示为右起白天单价4.6/晚上7.8/中途等待1.2 元)

数据的分屏的显示是通过按键S1 来实现切换的,如图511所示。

图5-11  S1切换显示屏

在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图见附图二所示。

从单片机串口输出的信号先送到左边的移位寄存器(74HC164,由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC164还兼作数码管的驱动,插头1header1)接电源,插头2header2)接数据和脉冲输出端。电路中的三个整流管D1~D3 的作用是降低数码管的工作电压,增加其使用寿命。

5.6 AT24C02 掉电存储单元的设计

掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 ATMEL 公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图5-12所示。

 图5-12 掉电存储电路原理图

图中R8R10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。

5.7启动及清除电路

在系统电路中,设计一个启动/清除按钮,用来作为启动里程计数或清除里程数计数的开关。将该按钮开关接到微机系统的某个中断请求线上,当开关被按下一次时就作为计程启动中断请求;再按下一次时,就作为系统的计程清0中断处理。

5.8按键单元的设计

电路共采用了四个按键,S1S2S3S4,其功能分别是:S1 分屏显示切换按键,S2功能设定按键,S3 .+./白天晚上切换按键,S4 .-./中途等待开关。

第六章 软件设计

6.1 软件设计

该系统软件采用汇编语言编制,模块化设计,分为主程序,脉j巾中断程序,空车牌中断程序,键盘中断程序,日历时钟芯片中断程序,打印及显示程序。在空车牌中断程序中完成对出租车营运状态的判断;在脉冲中断程序中完成计量计价工作;日历时钟芯片每秒钟向80C31发中断请求,在中断程序中完成等候计时工作或者时钟显示工作。键盘中断程序用于完成各次营运数据的查寻工作。结构框图如6-1图所示

图6-1 系统软件结构框图

该计程计价系统的软件设计分为以下几个模块:

1.主程序模块

在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。

当主程序判断出有“启动计程中断”发生时,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将已行走的里程数和当前累计价格送显示电路显示出来。

当主程序判断出有“清除计程中断”产生时,将显示电路中的当前行驶里程数和运行累计价格清0,并重新进行初始化过程。

其程序流程如图6-5所示.当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。

2定时中断服务程序

在定时中断服务程序中,需要完成对行车时间的累加计数,并将该时间数据和当前时钟送显示电路进行实时显示。

在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。如图6-2所示

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/730011
推荐阅读
相关标签
  

闽ICP备14008679号