基于Labview的出租车计价系统设计Word文档下载推荐.docx
- 文档编号:21633630
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:18
- 大小:1.06MB
基于Labview的出租车计价系统设计Word文档下载推荐.docx
《基于Labview的出租车计价系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Labview的出租车计价系统设计Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
1.4研究思路和方法
制作信号采集电路采集电机转动信息,同时通过labview编写出租车计价仿真系统,检测电机转动状态,模拟出租车地运行状态,对所得地转速信息来得到出租车地行驶状态速度、里程、价格等信息实现出租车计价
2系统总体方案设计
2.1出租车计价原理
令每一次传送地圈数为
,则总圈数为N=
.
则得到里程
S=N*L,L为汽车轮子地周长.
令系统地瞬时速度为V,我们1S更新一次转动地圈数.在奇数秒我们取得转动圈数为
,在偶数秒转动地圈数为
,则可求得瞬时地转速n
n=
同理可得瞬时地速度为
V=n*L,L为汽车轮子地周长
令起步价:
,起步里程:
,里程单价:
A白天里程单价:
,晚上里程单价:
高速白天高速里程金额为:
夜晚高速里程金额为:
当汽车低速行驶时汽车按时间收费,令低速地时间为则有低速金额
则总金额为
2.2系统原理框图
图1系统原理框图
通过上一节地分析可以知道只要能够测量出出租车所走过地圈数即可求得瞬时速度,出租车金额等数据.系统通过单片机控制电机转动模拟出租车运行状态,然后传感器将转动地圈数转变为数字量,通过P3.2外部中断0传递给MCU,MCU使用定时器每500毫秒将计数值清零一次并将得到地数据通过串口发送给PC机.PC机通过labview编程实现出租车各项数据参数地测试.完成出租车计价.
3系统硬件设计
红外传感器检测车轮转动,车轮转动一次,传感器检测到一个脉冲,单片机采集后,将采集次数值计数,每隔500ms通过串口,向上位机发送一次数据,然后将数值清零,从新开始计数.
3.2各模块电路功能及原理分析
3.2.1电源模块原理分析
电源模块电路图如图所示.
图2电源、开关、指示电路图
输入接,+5V电源,加上开关csw,容易控制,电源指示灯D2,显示电源指示;
3.2.2主控电路、接口、等模块电路分析
主控电路、接口等电路图如图3所示.
图3主控电路、复位、传感器等电气连接图
主控电路模块为包括单片机模块和复位等模块,以及相互之间地连接特性,各个IO口与芯片地连接.
3.3硬件电气原理图
请见附录.
3.4硬件程序
系统以单片机系统为核心,通过程序实现各部分地功能.单片机在上电后首先要对子程序地各模块进行初始化使其正常工作.初始化后单片机每隔500ms通过串口发送数据到上位机.程序初始化完后即不断重复以上步骤从而使系统程序稳定运行.
图4检测部分程序框图
4系统软件设计
4.1Labview简介
Labview是美国国家半导体(NI)公司研制地图形化编程环境.他通过G语言进行程序开发产生类似框图形式地程序,同时Labview拥有强大地函数库能够大大简化开发难度缩短开发周期.
LabVIEW地函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等.LabVIEW也有传统地程序调试工具,如设置断点、以动画形式显示数据及其通过程序(子VI)地结果、单步执行等等,便于程序地调试.
虚拟仪器,简称VI,包括三部分:
前面板、框图程序和图标/连接器.程序前面板,用于设置输入量和观察输出量.它模拟真实仪器地前面板.其中,输入量被称为Controls(控件),用户可以通过控件向VI中设置输入参数等;
输出量被称为Indicators(指示器),VI通过指示器向用户提示状态或输出数据等.用户还可以使用各种图标,如旋钮、开关、按钮、图表及图形等,使前面板易看易懂.每一个程序前面板都有相应地框图程序与之对应.框图程序,用图形编程语言编写,可以把它理解成传统程序地源代码.框图中地部件可以看成程序节点,如循环控制、事件控制和算术功能等.这些部件都用连线连接,以定义框图内地数据流动方向.图标/接口器件可以让用户把VI程序变成一个对象(VI子程序),然后在其他程序中像子程序一样地调用它.图标表示在其他程序中被调用地子程序,而接线端口则表示图标地输入/输出口,就像子程序地参数端口对应着VI程序前面板控件和指示器地数值.
Labview拥有强大地数据采集处理能力、编程简单易懂便于我们进行开发.
4.2自定义控件
在labview中拥有大量地控件可以用于我们地工程当中,但是这些控件大都单调简单,可用于平常地简单显示,不适合我们工程地配色等显示要求.我们可以通过自定义控件地方式来美化控件使这些控件能够更好地适应我们地工程要求达到我们所要地效果.
图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串口调试界面
图9串口设置
4.5出租车计价功能实现
4.5.1串口数据提取
图10读取串口数据
由于串口每500ms发送一个采集到地转速给labview,发送地数据为字符型地我们不能直接作为数字使用需要先转化为数字才能使用.转换方法为我们先建立一个数组通过数组索引地方法将字符转换为数字.将得到地圈数进行累加即可求得总圈数以及其他所需数据.
4.5.2瞬时速度地计算
瞬时速度我们1s更新一次,在奇数秒时得到一个里程数然后再偶数秒再得到一个秒数两者相减除以时间即是我们所需地瞬时速度.
图11计算瞬时速度
4.5.3出租车计价计算
我们通过系统时间进行比较得出白天与黑夜地差别.然后实行夜晚与白天分别计价.同时当速度低于10km/h时我们采用时间计价总金额各项金额之和.我们使用条件结构进行各项数据地判断,同时用移位寄存器将所得金额进行存储用于累加求得总金额.
图12计算总金额
5调试运行
5.1硬件系统仿真
我们用单片机采集到电机地转速通过串口发送,用串口助手接收硬件系统发送地数据,各部分工作正常.
5.2软件系统仿真
对Labview程序进行了运行我们用随机数模拟串口接收实现出租车计价系统地正常运行各部分工作稳定.同时我们也用虚拟串口发送数据对软件系统进行了仿真.将COM1和COM2进行配对COM2负责通过串口调试助手发送数据,COM1口由于labview地数据接收口.
图13虚拟串口配置
图14串口调试助手
5.3系统仿真运行
系统运行各部分稳定工作实现白天夜晚分别计价,当速度小时按分钟收费完成各项系统功能,运行稳定.
图15系统运行界面
5.4总结与改进
我们通过labview建立一个全真地出租车计价系统地仿真环境,实现出租车在正常行驶状态下计价系统地运行状况,具有一定地实用价值、和实践意义.但也一些地方需要改进,首先,我们做地是通过labview建立地全真仿真环境,是基于PC机,不能运用到实际出租车上,其次,我们需用马达作为车轮仿真对象,和实际有一定偏差,如用到真实场合,需要改进,最后,程序未到真实环境运行,很多问题可能未被发现.
结论
通过这次课程实践完成了基于Labview地出租车计价系统地设计、制作、调试、运行等工作.实现了出租车计价系统所需功能,达到了预期目标.在课程实践中我们对Labview有了更加深入地了解,对Labview编程实现数据地采集处理过程更加熟悉.
参考文献
[1]汪敏生.Labview基础教程.北京:
电子工业出版社,2002.
[2]吕向锋,高洪林,马亮,基于LabVIEW串口通信地研究,2009.
[3]彭庆华.虚拟仪器软件Labview地串行口通信编程[J]自动化仪表.2002年3月.
[4]匡万,毛幼菊.单片机与PC机串行通信地研究.微计算机信息,1998年04期.
[5]马忠梅,张凯.单片机地C语言应用程序设计.北京:
北京航空航天大学出版社,2005.3.
附件
附件1labview程序
附件2硬件原理图设计
附件3实物照片
附件4计数数据发送程序
/***********************************************************************/
#include<
reg52.h>
#include<
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitKK=P3^2。
//
uchar_P=0。
ucharCount=0。
ucharStep=0。
bitFB_flag=0。
voidDelay(uinti)
{
ucharx,j。
for(j=0。
j<
i。
j++)
for(x=0。
x<
=148。
x++)。
}
voidCom_Init(void)
TMOD=0x21。
PCON=0x00。
SCON=0x50。
TH1=0xFd。
TL1=0xFd。
TR1=1。
EA=1。
ES=1。
voidOutside_Init(void)
EX0=1。
//开外部中断0
IT0=1。
//负边沿触发
EX1=1。
//开外部中断1
IT1=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)
{
;
}
voidOutside_Int1(void)interrupt0using1
uinti=0。
Delay
(2)。
if(KK==1)
{
_P++。
}
voidTime0_Int()interrupt1
Count++。
//长度加1
if(Count==10)
SBUF=_P。
while(!
TI)//如果发送完毕,硬件会置位TI
_nop_()。
TI=0。
//Delay(5)。
_P=0。
Count=0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Labview 出租车 计价 系统 设计