基于Labview的出租车计价系统设计.docx

上传人:b****8 文档编号:9778659 上传时间:2023-02-06 格式:DOCX 页数:32 大小:294.34KB
下载 相关 举报
基于Labview的出租车计价系统设计.docx_第1页
第1页 / 共32页
基于Labview的出租车计价系统设计.docx_第2页
第2页 / 共32页
基于Labview的出租车计价系统设计.docx_第3页
第3页 / 共32页
基于Labview的出租车计价系统设计.docx_第4页
第4页 / 共32页
基于Labview的出租车计价系统设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于Labview的出租车计价系统设计.docx

《基于Labview的出租车计价系统设计.docx》由会员分享,可在线阅读,更多相关《基于Labview的出租车计价系统设计.docx(32页珍藏版)》请在冰豆网上搜索。

基于Labview的出租车计价系统设计.docx

基于Labview的出租车计价系统设计

基于Labview地出租车计价系统设计

设计说明书

目录

1引言1

1.1工程概述1

1.2工程目地1

1.3设计任务1

1.3.1实现计费功能1

1.3.2实现显示功能1

1.4研究思路和方法1

2系统总体方案设计2

2.1出租车计价原理2

2.2系统原理框图2

3系统硬件设计3

3.1系统原理框图3

3.2各模块电路功能及原理分析3

3.2.1电源模块原理分析3

3.3硬件电气原理图4

3.4硬件程序4

4系统软件设计5

4.1Labview简介5

4.2自定义控件5

4.3界面设计64.4VISA数据接收64.4.1VISA简介74.4.2VISA接收流程7

4.5出租车计价功能实现7

4.5.1串口数据提取7

4.5.2瞬时速度地计算8

4.5.3出租车计价计算9

5调试运行9

5.1硬件系统仿真9

5.2软件系统仿真9

5.3系统仿真运行10

5.4总结与改进11

结论12参考文献13

附件14

附件1labview程序14

附件2硬件原理图设计14

附件3实物照片15

附件4计数数据发送程序15

1引言

1.1工程概述随着我国地国民经济快速有力地发展,人民地生活普遍提高,城市生活地质量也逐渐改善,交通运输也得到有力发展.而作为城市交通地主力军--出租车,是城市发展中不可或缺地一部分,而出租车计价出租车计价系统则是出租车上必不可少地重要仪器,它是负责出租车营运收费地专用智能化仪表,能根据乘客乘坐汽车行驶距离和等候时间地多少进行计价,并直接显示车费值地重要器具.

我们小组地工程是基于labview原理设计地出租车计价仿真系统,旨在模拟一个全真地出租车计价系统结构环境,通过电机转动,模拟出租车地行驶状态,然后通过单片机采集电机地转速来得到出租车地行驶状态速度、里程、价格等信息.

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

过labview建立一个全真地出租车计价系统地仿真环境,实现出租车在正常行驶状态下计价系统地运行状况,具有一定地实用价值、和实践意义.

1.3设计任务

1.3.1实现计费功能车起步开始计费,首先显示起步价9元,行程在3km以内,按起步价收费;当出租车行驶里程超过3km,在白天(7:

00-18:

30)行驶期间超出部分按1.9元/km计算,在夜晚(18:

30-7:

00)行驶期间超出部分按2.5元/km计算;车在低速状态下(车速小于等于10km/h)行驶,按1元/min收费(上下班高峰期间容易堵车).

1.3.2实现显示功能能够实时显示仿真出租车行驶地转速、里程、实时速度、金额,同时显示出租车行驶时间,能够指示高速低速夜间和白天指示.

1.4研究思路和方法

制作信号采集电路采集电机转动信息,同时通过labview编写出租车计价

仿真系统,检测电机转动状态,模拟出租车地运行状态,对所得地转速信息来得到出租车地行驶状态速度、里程、价格等信息实现出租车计价

2系统总体方案设计

2.1出租车计价原理

令每一次传送地圈数为,则总圈数为N=

则得到里程

S=N*LL为汽车轮子地周长.

令系统地瞬时速度为V,我们1S更新一次转动地圈数.在奇数秒我们取得转动圈数为,在偶数秒转动地圈数为,则可求得瞬时地转速n

n=

同理可得瞬时地速度为

V=n*L,L为汽车轮子地周长

令起步价:

,起步里程:

,里程单价:

A白天里程单价:

,晚上里

程单价:

高速白天高速里程金额为:

夜晚高速里程金额为:

当汽车低速行驶时汽车按时间收费,令低速地时间为则有低速金额

,则总金额为

2.2系统原理框图

图1系统原理框图

通过上一节地分析可以知道只要能够测量出出租车所走过地圈数即可求得瞬时速度,出租车金额等数据.系统通过单片机控制电机转动模拟出租车运行状态,然后传感器将转动地圈数转变为数字量,通过P3.2外部中断0传递给

MCU,MCU使用定时器每500毫秒将计数值清零一次并将得到地数据通过串口发送给PC机.PC机通过labview编程实现出租车各项数据参数地测试.完成出租车计价•

3系统硬件设计

3.1系统原理框图

红外传感器检测车轮转动,车轮转动一次,传感器检测到一个脉冲,单片机采集后,将采集次数值计数,每隔500ms通过串口,向上位机发送一次数据,然后将数值清零,从新开始计数•

3.2各模块电路功能及原理分析

3.2.1电源模块原理分析

电源模块电路图如图所示

S1

VCC0

_1

2

CSW

J1

CON2

J4

CON2

+5|_J

D1

X-LED

+5

AR4

470

1

图2电源、开关、指示电路图

输入接,+5V电源,加上开关csw,容易控制,电源指示灯D2,显示电源指示;

3.2.2主控电路、接口、等模块电路分析

主控电路、接口等电路图如图3所示.

13

S1

13

3

■ll

13

4

S5

13

0

f

u

C

ON

1

K

C

521I

5W-PB

J5

7

6

5

4

11

+5

P10

P11

112

113

115

132

11

P1

P1

P1

P1

P1

P1

VCC

+5

J9

S7P3

E^^PB.

22P

Y1

|12MHZ

T

1

2

3

4

P1RES

J8P0

89C51P0

P0

P0

STC89C51

P0

P0

RXD/P3.

TXD/P3.

INT0/P3.

INT1/P3.

T0/P3.4

T1/P3.5

P3.6

P3.7

XTAL2

XTAL1

GND

0

1

2

3

P0

P0

101

102

103

106

2

3

4

5

10

7

12

0

20

ON20

P2

P2

P2

P2

P2

P2

EAALE

6

5

4

3

2

1

10

11

12

13

14

15

16

17

18

19

PSEN

P2

+5

1

2

3J

4

5

6

7

8

9

10

11

12

13

14

15

16

17

10

CON20

20

图3主控电路、复位、传感器等电气连接图

主控电路模块为包括单片机模块和复位等模块,以及相互之间地连接特

性,各个IO口与芯片地连接.

3.3硬件电气原理图

请见附录.

3.4硬件程序

系统以单片机系统为核心,通过程序实现各部分地功能.单片机在上电后首先要对子程序地

各模块进行初始化使其正常工作.初始化后单片机每隔500ms通过串口发送数据到上位机程序初始化完后即不断重复以上步骤从而使系统程序稳定运行

f

图4检测部分程序框图

4系统软件设计

4.ILabview简介

Labview是美国国家半导体(NI)公司研制地图形化编程环境他通过G语言进行程序开发产生类似框图形式地程序,同时Labview拥有强大地函数库能

够大大简化开发难度缩短开发周期•

LabVIEW地函数库包括数据采集、GPIB串口控制、数据分析、数据显示及数据存储等等丄abVIEW也有传统地程序调试工具,如设置断点、以动画形式显示数据及其通过程序(子VI)地结果、单步执行等等,便于程序地调试.

虚拟仪器,简称VI,包括三部分:

前面板、框图程序和图标/连接器.程序前面板,用于设置输入量和观察输出量•它模拟真实仪器地前面板•其中,输入量被称为Controls(控件),用户可以通过控件向VI中设置输入参数等;输出量被称为Indicators(指示器),VI通过指示器向用户提示状态或输出数据等.用户还可以使用各种图标,如旋钮、开关、按钮、图表及图形等,使前面板易看易懂•

每一个程序前面板都有相应地框图程序与之对应•框图程序,用图形编程语言编写,可以把它理解成传统程序地源代码•框图中地部件可以看成程序节点,如循环控制、事件控制和算术功能等•这些部件都用连线连接,以定义框图内地数据流动方向•图标/接口器件可以让用户把VI程序变成一个对象(VI子程序),然后在其他程序中像子程序一样地调用它•图标表示在其他程序中被调用地子程序,而接线端口则表示图标地输入/输出口,就像子程序地参数端口对应着VI程序前面板控件和指示器地数值•

Labview拥有强大地数据采集处理能力、编程简单易懂便于我们进行开发.

4.2自定义控件

在labview中拥有大量地控件可以用于我们地工程当中,但是这些控件大都单调简单,可用于平常地简单显示,不适合我们工程地配色等显示要求•我们

可以通过自定义控件地方式来美化控件使这些控件能够更好地适应我们地工程要求达到我们所要地效果•

1

图5Labview自带仪表盘

这是一个labview自带地仪表盘,我们想要显示速度如果用这个表盘地话不是特别形象生动,我们通过自定义控件地方式对控件进行了美化使我们使用起来更加形象生动•

图6自定义码表控件

4.3界面设计

通过自定义控件我们完成了程序地前面板设计

图7系统前面板设计

通过码表显示瞬时速度和瞬时转速,通过一个表格显示了金额、单价、里程、时间等信息•我们用按键可以控制上下车•通过红色布尔变量来指示高速低速、白天黑夜•

4.4VISA数据接收

4.4.1VISA简介

VISA(VirtualInstrumentSoftwareArchitecture,简称为"Visa"),即虚拟仪器软件结构,是VXIplug&play联盟制定地I/O接口软件标准及其规范地总称.VISA提供用于仪器编程地标准I/O函数库,称为VISA库.VISA函数库驻留在计算机系统内,是计算机与仪器地标准软件通信接口,计算机通过它来控制仪器.

我们使用了VISA中地串口来进行数据接收.

4.4.2VISA接收流程

首先进行VISA初始化,设置波特率等相关数据.然后打开串口,接下来进行数据接收,接收完以后要关闭串口.串口只需要初始化一次然后打开串口就可以进行多次读取.

图8串口调试界面

 

■4

寄哩

停止悅

VI証覺洱皂称

n

n〜阴a

|~5ERUL

图9串口设置

4.5出租车计价功能实现

4.5.1串口数据提取

图10读取串口数据

欽1一;

n!

-B

由于串口每500ms发送一个采集到地转速给labview,发送地数据为字符型地我们不能直接作为数字使用需要先转化为数字才能使用•转换方法为我们先建立一个数组通过数组索引地方法将字符转换为数字.将得到地圈数进行累加即可求得总圈数以及其他所需数据

4.5.2瞬时速度地计算

瞬时速度我们1s更新一次,在奇数秒时得到一个里程数然后再偶数秒再得到一个秒数两者相减除以时间即是我们所需地瞬时速

度•

二用叮L:

判断白天黑硯

An

M

图11计算瞬时速度

4.5.3出租车计价计算

我们通过系统时间进行比较得出白天与黑夜地差别•然后实行夜晚与白天分

别计价•同时当速度低于10km/h时我们采用时间计价总金额各项金额之和.我们使用条件结构进行各项数据地判断,同时用移位寄存器将所得金额进行存储用

于累加求得总金

额.

丧觀国价

恙M:

计算吒連时冋

图12计算总金额

5调试运行

5.1硬件系统仿真

我们用单片机采集到电机地转速通过串口发送,用串口助手接收硬件系统发送地数据,各部分工作正常.

5.2软件系统仿真

对Labview程序进行了运行我们用随机数模拟串口接收实现出租车计价系统地正常运行各部分工作稳定.同时我们也用虚拟串口发送数据对软件系统进行了仿真•将C0M1和COM2进行配对COM2负责通过串口调试助手发送数据,C0M1口由于labview地数据接收口.

图13虚拟串口配置

摟收缓冲区

文本模式QKZKlIxS|清空榕收区|噪存接收教撅

00000000000000000000010303

0203C303030000000000000000

000000

笈送鑲冲区

文本種式

KEX模武肩空发送叵

[岌送女件][岌注埶擔」自动芨注周期仏)

12

青空全部数揚自动循歼发送

闾隔°

....-..,漏糧宾应后自动打开串口

天昭4J将UT/1H-说蓋为标;砂转串口

图14串口调试助手

5.3系统仿真运行

系统运行各部分稳定工作实现白天夜晚分别计价,当速度小时按分钟收费

完成各项系统功能,运行稳定.

图15系统运行界面

5.4总结与改进

我们通过labview建立一个全真地出租车计价系统地仿真环境,实现出租车在正常行驶状态下计价系统地运行状况,具有一定地实用价值、和实践意义但也一些地方需要改进,首先,我们做地是通过labview建立地全真仿真环

境,是基于PC机,不能运用到实际出租车上,其次,我们需用马达作为车轮仿真对象,和实际有一定偏差,如用到真实场合,需要改进,最后,程序未到真实环境运行,很多问题可能未被发现.

结论

通过这次课程实践完成了基于Labview地出租车计价系统地设计、制作、

调试、运行等工作.实现了出租车计价系统所需功能,达到了预期目标.在课程实

践中我们对Labview有了更加深入地了解,对Labview编程实现数据地采集处理过程更加熟悉.

参考文献

[1]汪敏生丄abview基础教程.北京:

电子工业出版社,2002.

[2]吕向锋,高洪林,马亮,基于LabVIEW串口通信地研究,2009.

[3]彭庆华.虚拟仪器软件Labview地串行口通信编程[J]自动化仪表.2002年3月.

[4]匡万,毛幼菊.单片机与PC机串行通信地研究•微计算机信息,1998年04期.

⑸马忠梅,张凯•单片机地C语言应用程序设计.北京:

北京航空航天大学出版

社,2005.3.

附件

附件llabview程序

 

 

附件2硬件原理图设计

P32

P33

P34

P35

P36

Co34

C2+5C

'I■47UF—

05

1

2

J1

CON2

J4

CON2

q—轨—

亠P37

Sw-pB

C5

104

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

CON20

附件3实物照片

 

附件4计数数据发送程序

*******/

#inelude

#include#defineucharunsignedchar#defineuintunsignedintsbitKK=P3A2//uchar_P=0。

ucharCount=0。

ucharStep=0。

bitFB_flag=0。

voidDelay(uinti){ucharx,j。

for(j=0。

j

j++)for(x=0。

x<=148。

x++)。

}

voidCom_Init(void)

{

TMOD=0x21。

PCON=0x00

SCON=0x50

TH1=OxFd

TL1=OxFdTR1=。

1EA=1。

ES=1。

}

voidOutside_Init(void)

{

EX0

=1。

//开外部中断0

IT0=

1。

//负边沿触发

EX1

=1。

//开外部中断1

IT1=

1。

//负边沿触发

 

EA=1。

//开总中断

}

voidTime0_Init()

{

//TMOD=0x01。

TH0=0x4c。

TL0=0x00。

ET0=1。

TR0=1。

}main()

{uchari。

//uintk=0。

Time0_Init()。

Outside_Init()。

Com_Init()。

while

(1)

{

}

}

using1

voidOutside_Int1(void)interrupt0

{

uinti=0。

Delay

(2)。

if(KK==1)

{

_P++。

}

}

voidTime0_Int()interrupt1

{

TH0=0x4c。

TL0=0x00。

Count++。

//长度加1if(Count==10)

{

SBUF=_P

TI

while(!

TI)/如/果发送完毕,硬件会置位

{

_nop_()。

}

TI=0。

//Delay(5)。

_P=0。

Count=0。

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1