1/31 第十一届“恩智浦”杯全国大学生 智能汽车竞赛技术报告 学校:电子科技大学 队伍名称:过隙白驹 参赛队员:朱强 刘爽 杨定宇 带队教师:白利兵 程玉华 2/31 3/31 摘要摘要 本文以第十一届全国大学生智能车竞赛为背景,介绍了智能赛车控制系统的软硬件结构和开发流程。该比赛采用大赛组委会统一指定的 E 型车模,以恩智浦半导体公司生产的32位单片机K60核心控制器,要求赛车在未知道路上沿着电磁信号以最快的速度完成比赛。整个系统涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。赛车采用谐振电路对赛道进行检测,提取赛道位置,用 PD 方式对转向进行控制。同时通过编码器获取当前速度,采用 PID 控制实现速度闭环。关键词:恩智浦,智能车,电磁信号,PID 4/31 ABSTRACT In the background of the 11thNational Intelligent Car Contest for College Students,this article introduces the software and hardware structures and the development flow of the vehicle control system.This contest adopting A-type car model prescribed by the contest organization committee,using the 32-bit MCU K60 produced by NXP Semiconductor Company as the core controller,requires the car finish the race in the fastest speed.The whole system includes the aspects of the mechanism structure adjustment,the sensor circuit design and signal process,control algorithm and strategy optimization etc.It captures the road information through resonant circuit,then abstracts the road position.After that,PD feedback control is used on the steering.At the same time,the system obtains the current speed using a speed sensor,so that it can realize the feedback control of the speed by PID method.Key words:NXP,Intelligent vehicle,Electromagnetic signals,PID 5/31 目录 摘要.第一章 引言.1.1 大赛介绍.3 5-5-1.2 系统设计框架介绍.-7-第二章 智能车机械结构调整与优化.-8-2.1 智能车参数要求.-8-2.2 智能车整体参数调校.-9-第三章 硬件电路设计说明.-9-3.1 单片机最小系统模块.-9-3.2 传感器模块.3.3 电机模块.3.4 测速模块.-10-12-13-3.5 人机交互模块.-14-第四章 智能车控制软件设计说明.-14-4.1 巡线原理.4.2 控制算法.-14-14-4.3 软件系统设计及实现.-17-4.4 偏差获取.4.5 上位机调试.第五章 系统调试.-19-20-21-第六章 车辆主要参数.-21-第七章 总结.-22-参考文献.-23-附录 A:电路原理图.-23-附录 B:部分程序源代码.-26-6/31 第一章第一章 引言引言 1.1 大赛介绍 为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,受教育部高等教育司委托(教高司函2005201 号文,附件 1),由教育部高等自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。该竞赛以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。该竞赛由竞赛秘书处为各参赛队提供/购置规定范围内的标准硬软件技术平台,竞赛过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛规则透明,评价标准客 观,坚持公开、公平、公正的原则,保证竞赛向健康、普及,持续的方向发展。该竞赛以飞思卡尔半导体公司为协办方,得到了教育部相关领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国 30 个省市自治区近 300 所高 校广泛参与的全国大学生智能汽车竞赛。2008 年起被教育部批准列入国家教学 7/31 质量与教学改革工程资助项目中科技人文竞赛之一(教高函200730 号文)。全国大学生智能汽车竞赛原则上由全国有自动化专业的高等学校(包括港、澳地区的高校)参赛。竞赛首先在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛。本次比赛分为光电,摄像头,电磁,电规,信标越野,双车追逐六个赛题组,在车模中使用透镜成像进 行道路检测方法属于摄像头赛题组,使用电磁信号巡线属于电磁赛题组,除此之外则属于光电赛题组。本论文主要介绍电磁赛题组的智能车制作。1.2 系统设计框架简介 系统是以检测电磁场信号为基础,通过单片机处理信号实现对车体控制,实现车体能够准确沿着预设路径寻迹。系统电路部分需要包括单片机控制单元、电机驱动电路、电磁传感器电路等部分,除此之外系统还需要一些外部设备,例如编码器测速、伺服器控制转向、直流电机驱动车体。综上所述,本智能车系统包含了以下几个模块:1.电源模块 2.单片机最小系统模块 3.传感器模块 4.电机驱动模块 5.测速模块 6.起跑线检测模块 8/31 7.人机交互模块 8.陀螺仪模块 系统的整体模块如图 1.2.1 所示:第二章第二章 智能汽车机械结构调整智能汽车机械结构调整 车模的机械结构在某种程度上限制着小车的最高速度,在速度较低的情况下各种机械结构可能没有太大差别,当速度逐渐加快时,相同的控制算法在不同的机械结构上就会有不同的表现。对模型车的机械结构有一个全面清晰的认识尤为重要,先建立相应的数学模型,再针对具体的设计方案来调整赛车的机械结构,并在实际的调试过程中不断的改进优化和提高结构的稳定性。本章内容为 E 型车模的结构设计,电路板和各个传感器的安装。2.1 车模的机械结构 本组选用 E 型车模,其长度为 255mm,宽度为 155mm。相比之前的 D 车模,E 车轮距更大,在转向方面更有优势,且选用的电机型号为 RS-380,功率更大,没有了减速齿轮组,齿轮比更小,车轮转速更快,车速提升空间更大。9/31 对于平衡车来说,整个车子的重心高低十分重要。过高的重心会使车子在转向的时候容易侧翻、抬轮子,容易产生系统的不稳定;对于速度控制,很小的倾角就会产生较大的加速度,不利于精确地控制速度。但是车子的重心也不能过低,首先过低的重心会使车子在过坡时车底碰到坡道,其次过低的重心不利于车子迅速加速。车模上的两个电机位置不能改变,可以改变位置的结构只有电池和主板的位置,电杆支撑杆的长度不仅影响着前瞻,也对车体的平衡有很大影响。小组在经过多次讨论与尝试后,采用了下图所示的机械结构,电池和电路板置于车体之前,使车子前倾时可以更快的达到设定速度;电杆支撑杆长约 50cm,正常行进时前倾 20 度左右;采用倒跑结构,这样做的好处是时车子转弯时更加灵活,较小的控制量就可以完成转弯,可以平稳匀速的过弯,减轻跳轮的问题,但出现的问题是稳定性变差,尤其是在以较快速度过坡道时,由于车体过于轻巧,车子会脱离赛道,在空中的小车没有着力点而失控,为此在小车底部添加配重来实现坡道的稳定。10/31 2.2 编码器的安装 选用编码器进行速度的测量。根据编码器的形状,我们自制了一个支架,速度传感器用螺钉通过支架固定在后轮支架上,这样固定好之后,就有了较高的稳定性。然后调节编码器齿轮,使其与差速齿轮紧密咬合,增大测速的精确性,但是咬合过紧也增大了摩擦,减小了对电机做功的利用率,影响小车的快速行驶,因此减小摩擦同时增强齿轮间的咬合是我们主要考虑的因素。编码器 安装示意图如图 2.4.1 所示:11/31 第三章第三章 硬件电路设计说明硬件电路设计说明 本智能车硬件系统以稳定为设计的原则,在有限的条件下做到最好。单片 机采用 MK60DN512ZVLQ10,使用一片 TPS76833 产生的 3.3V 电压为单片机、液晶和蓝牙供电,另一片 TPS76833 给陀螺仪、加速度计和霍尔传感器供电,使用一片 TPS76850 同时为编码器、磁传感器供电,电机驱动使用芯 片 BTS8982。调试过程中,采用液晶、蓝牙等模块辅助,方便小车的调试。本章均有详细介绍。3.1 单片机最小系统模块 以 MK60DN512ZVLQ10 为核心的单片机最小系统是本智能车的核心 12/31 3.2 传感器模块传感器模块 传感器是电磁组小车最重要的模块之一,能够对变化的磁场信号作出灵敏的检测,对道路状况的检测起着至关重要的作用。本系统根据 LC 谐振的原理,选取 10mH 电感和 6.8nF 电容作为 LC 谐振电路,产生感应电流,再通过滤波、放大、检波,然后将结果送入单片机 AD 进行相应的处理,以判断赛道当前信息。如图 3.2.1 所示。传感器的排布,直接影响了对磁场的敏感程度,针对直道和弯道的磁场特点,在传感器的排布上,分别有对其敏感的检测电感,以适应各种情况的赛道要求。3.2.2 赛道磁场分布 13/31 3.2.3 传感器排布方案 如图 3.2.3 所示,中间水平放置的电感,用于直赛道及大弯道的检测,中间垂直放置的电感用于十字交叉道的检测,两侧边上竖直放置的电感用于急弯道磁场的检测,整体的排布尽量是磁场最大程度的与磁场耦合,以灵敏的检测到赛道的变化情况。后级放大电路原理图如图 3.2.4 所示。14/31 3.2.4 3.3 电机模块 电机采用芯片 BTS7970B,其为高强度电流的半桥电机驱动芯片。我们利用两片 BTS7970B 构成一个完整的全桥驱动,可以很好实现电机的正转、反转和刹车制动。电路原理图如 3.4.1 所示。3.4 测速模块 本小车使用广州科创电子的 mini 型编码器进行小车的测速,并由 TPS76850 为其提供 5V 工作电压。处理器通过读取编码器脉冲数来实现小车速度的测,通过读取编码器旋转方向脚的高低电平来检测电机的正反转。3.6 人机交互模块 为了方便调试,本车有蓝牙模块,有效进行运行参数之间的传送,除此之 外,还设置了键盘、oled 液晶显示屏,以方便控制参数的修改,便捷的智能车的 调试。15/31 第四章第四章 智能车软件设计说明智能车软件设计说明 4.1 巡线原理 比赛中存在两种磁场:一种是用来作为起跑线的永磁铁产生的固定磁场,用 于标识终点;一种是赛道中通过 100mA 交变电流的导线所产生的电磁场,用于 赛道识别。前者可用价格、灵敏度、重量都很合适的全极性霍尔开关作为传感 器,后者可选取原理简单、价格便宜、体积小(相对小)、频率响应快、电路实 现简单电磁感应线圈作为传感器。交流电信号产生交变磁场,交变磁场在电感 线圈中产生与磁场强度相关的电流。通过竖直放置的电感线圈可判断赛道中的十字交叉道。通过水平放置的电 感线圈和两斜角的电感线圈,则可快速判断较急的弯道出弯与入弯。再通过两 侧线圈的感应电流,可实现判断弯道曲率大小的设想。4.2 控制算法 智能车的控制包括电机和舵机的控制。具体的控制算法有 PID 控制、bang-bang 算法控制和模糊控制。4.2.1 PID 控制控制 PID 控制是工业过程控制中历史最悠久,生命力最强的控制方式。这主要 是因为这种控制方式具有直观、实现简单和鲁棒性能好等一系列的优点。PID 控 制主要有三部分组成,比例、积分、微分。16/31 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。偏差一旦产生,调节器立即产生控制作用使被控量朝着减小偏差的方向变 化,控制作用的强弱取决于 KP。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。为了消除稳态误差,引入积分控制。积分项对误差取决于时间的积分,随 着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的 增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。为了预测预测误差变化的趋势,引入微分的控制器,这样就能够提前使抑 制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。PID 控 制框图如图 4.2.1 所示。式中,Kp 为比例增益;Ti 为积分时间常数;Td 为微分时间常数;U(s)为控制量;E(s)为被控量与设定值 R(s)的偏差。时域表达式为:17/31 A.位置式 PID 算法 直接利用上述离散化公式计算,框图如右图所示。由于积分项(Pi)是将所有采集值偏差相加,在一段时间后会很浪费单片机资源。对其稍加改进,得到增量型PID 算法。B.增量式 PID 算法 根据式二得第 k-1 个采样周期的控制量为 由上可知,利用三个历史数据,递推使用,即可完成 PID 控制量。框图如 18/31 图 4.2.2 所示:4.2.2 模糊控制模糊控制 一般控制系统包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑 判断及反模糊化,底下将就每一部分做简单的说明:(1)定义变量:也就是决定程序被观察的状况及考虑控制的动作,例如在 一般控制问题上,输入变量有输出误差 E 与输出误差之变化率 CE,而 控制变量则为下一个状态之输入 U。其中 E、CE、U 统称为模糊变量。(2)模糊化(fuzzify):将输入值以适当的比例转换到论域的数值,利用 口语化变量来描述测量物理量的过程,依适合的语言值(linguisitc value)求该值相对之隶属度,此口语化变量我们称之为模糊子集合(f uzzy subsets)。(3)知识库:包括数据库(data base)与规则库(rule base)两部分,19/31 其中数据库是提供处理模糊数据之相关定义;而规则库则藉由一群语 言控制规则描述控制目标和策略。(4)逻辑判断:模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论 法进行推论,而得到模糊控制讯号。此部分是模糊控制器的精髓所在。(5)解模糊化(defuzzify):将推论所得到的模糊值转换为明确的控制讯 号,做为系统的输入值。模糊算法可以解决一些非线性问题,将赛道分为直线、入大小弯、出大小弯、蛇形弯道,对应的直线加速、入大弯减速转方向、入小弯制动转方向、出弯加 速、蛇形弯道直接通过(若可以达到这种前瞻性)。要达到这种控制要通过实际 检测,分析大量赛道磁场信息,找出它们的特征。4.2.3 总结总结 虽然模糊控制可以较好解决一些非线性问题,但控制复杂,实际调试中较虽然模糊控制可以较好解决一些非线性问题,但控制复杂,实际调试中较 P ID 控制无明显优势,所以我们采用控制无明显优势,所以我们采用 PID 控制,控制,虽然存在稳态误差,但可以快速虽然存在稳态误差,但可以快速响应;电机控制为增量式响应;电机控制为增量式 PID,由于给定速度频繁变化,采用微分先行,由于给定速度频繁变化,采用微分先行 PID,使,使电机能够快速响应。电机能够快速响应。4.3.软件系统设计及实现软件系统设计及实现 软件运行需要配置单片机各个模块寄存器数值,软件运行需要配置单片机各个模块寄存器数值,使单片机各个模块正常工使单片机各个模块正常工 作。初始化中包括:单片机时钟配置、作。初始化中包括:单片机时钟配置、I/O 口配置、口配置、PWM 模块配置、模块配置、A/D 模块模块 配置、配置、RTI 实时中断配置、脉冲捕捉模块配置。当初始化完毕后,进入跑车程序:实时中断配置、脉冲捕捉模块配置。当初始化完毕后,进入跑车程序:对传感器输入信号进行采样,当完成一次采样后将采样值映射成车相对于跑道对传感器输入信号进行采样,当完成一次采样后将采样值映射成车相对于跑道的位置,根据当前与过去位置决定舵机转角和电机速度,通过改变的位置,根据当前与过去位置决定舵机转角和电机速度,通过改变 PWM 模块模块内内 20/31 部寄存器数值可以得到不同占空比的方波信号,实现对舵机和电机的调节。部寄存器数值可以得到不同占空比的方波信号,实现对舵机和电机的调节。软件整体流程如图软件整体流程如图 4.3.1 所示:所示:赛车调试上述算法参数的获取必须通过实际的测量,赛道信息的获取我们打 算用蓝牙蓝传送数据。利用蓝牙串口模块,将所需数据发回 PC 机,通过 MATLAB 仿真分析偏差变化,对数据进行处理得到赛道信息,从而调整参数使 21/31 之达到最佳值。第五章第五章 系统调试系统调试 开发工具使用的是 IAR Embedded Workbench 开发环境,如图 5.1.1 所示。它能够为单片机 K60 提供与之配套的应用程序开发模块。在目标程序的下载方 面,通过 J-Link 与单片机之间的连接下载程序。IAR Embedded Workbench 功能 强大,界面简洁严整,内置的 C 编译器编译产生的代码优化度高,执行效率也 高。同时 IAR Embedded Workbench 具有强大的在线调试功能,可以充分满足智 能车软件系统开发的需要。软件界面如图 5.1.1 所示。第六章第六章 车辆主要参数车辆主要参数 车模主要参数名称车模主要参数名称 参数参数 重量重量 940g 长度长度 430mm 22/31 宽度宽度 210mm 高度高度 370mm 传感器数量传感器数量 8 电容总量电容总量 1200uf 功耗功耗 16w 第七章总结第七章总结 自报名参加“飞思卡尔”杯智能汽车竞赛以来,我们小组成员从查找资料、设计机构、组装车模、编写程序一步一步的进行,最后终于完成了最初目标,定下了现在这个设计方案。在此份技术报告中,我们主要介绍了准备比赛时的基本思路,包括机械、电路以及最重要的控制算法的创新思想。在电路方面,我们以模块形式分类,在最小系统、主板、电机驱动等模块分别设计,经过不断实验,最后决定了我们最终的电路图。在程序方面,我们使用 C 编程,利用比赛推荐的开发工具调试程序,经过小组成员不断讨论、改进,终于设计出一套比较通用稳定的程序。在这套算法中,我们结合路况调整车速,做到直道加速、弯道减速,保证在最短时间内跑完全程。在这几个月的备战过程中,场地和经费方面都得到了学校和学院的大力支持,在此特别感谢一直支持和关注智能车比赛的学校和学院领导以及各位指导老师、指导学长,同时也感谢比赛组委会能组织这样一项有意义的比赛。现在,面对即将到来的大赛,在历时近十个月的充分准备以及西部赛的考验之后,我们有信心在全国比赛中取得优异成绩。也许我们的知 23/31 识还不够丰富,考虑问题也不够全面,但是这份技术报告作为我们小组辛勤汗水的结晶,凝聚着我们小组每个人的心血和智慧,随着它的诞生,这份经验将永伴我们一生,成为我们最珍贵的回忆。【参考文献】(1)田书林等电子测量技术北京机械工业出版社2012.(2)Mark I.Montrose电磁兼容的印制电路板设计北京机械工业出版社.2012.(3)余志生汽车理论北京机械工业出版社2012.(4)童诗白,华成英模拟电子技术基础M 北京:高等教育出版社,2001.(5)阎石数字电子技术基础M 北京:高等教育出版社,2000.(6)谭浩强著C 程序设计北京:清华大学出版社,2003(7)Park K.H,Bien Z,Hwang D.H.A study on the robustness of a PID-type iterative learning controller against initial state error J.Int.J.Syst.Sci.1999,30(1),102135.(8)夏克俭数据结构及算法M 北京:国防工业出版社,2001.(9)李太福基于在线参数自整定的模糊 PID 伺服控制系统J 交流伺服系统,2005,4:203215(10)仲志丹,张洛平,张青霞PID 调节器参数自寻优控制在运动伺服中的应用J 24/31 洛阳工学院学报,2000,21(1):5760.附录 A:电路原理图 25/31 26/31 附录 B:部分代码-26-附录 B:部分程序源代码 主函数、中断程序 main.c#include common.h#include sensor.h#include HAL_PIT.h#include pid_new.h#include 12864.h#include HAL_FTM.h#include struct.h#include car_ctrl.h#include ws_lptmr.h/#include bluetooth.h#include save_flash.h#include debug_fun.h#define SAM_T 1/定义采样周期 T 为 1ms void control_period();/控制周期中断 void ADC0_one_sensor_ok();void fill_gyro_fifo();void find_gyroscope_center();/void uart_received_data();27/31 PCB pcb;/起跑 5 秒内不检测起跑线 Threshold threshold;/=45,20,80,5,2.0,1.0;Sensor sensor=0;/传感器数据结构体 SteerPidInfo steer_info;/舵机 PID 控制器结构体 MotorPidInfo motor_info;/舵机 PID 控制器结构体 Encoder encoder=0;/编码器计数 void main(void)Road road;/保存路况 uint8 str10=0;uint8 i;Save_data save_data6=0;/存储速度,舵机和传感最大值信息/*-在手动向 flash 写入数据时打开-*/*Save_data save_data_write6=0.0700,3.44,105,75,45,0,80,75,0,/High2 依次对应:舵机 P、舵机 D 0.0700,3.44,100,75,45,0,80,75,0,/直道速度、最小速度、减速 P 0.0700,3.44,98,68,40,0,80,75,0,/减速 D、路障速度、坡道速度 0.0700,3.44,96,66,40,0,80,75,0,0.0700,3.44,90,65,35,0,80,75,0,0.0,0.0,0,0,0,0,0,0,0;write_flash(save_data_write);*/28/31 DisableInterrupts;/*-初始化人机交互设备:液晶和按键-*/init_buzzer();/初始化蜂鸣器,坡道和路障指示,调试用 LCD_Init();LCD_CLS();/清屏 LCD_P6x8Str(0,4,comming,NORMAL_DISP);key_port_init();/*-起跑线检测-*/init_start_stop_line_io();/*-初始化阈值和时序控制 PCB-*/*-一定要在按键设置函数之前-*/init_threshold(&threshold);init_pcb(&pcb);WS_init_motor_steer_PWM();/初始化舵机占空比 7.08%,电机占空比为 0%/*-初始化舵机 PID 结构体-*/init_steer_pid_info(&steer_info,STEER_CENTER);/写入初始化占空比为 7.54%init_motor_pid_info(&motor_info,0);/初始化占空比 10%/*-按键液晶参数设置-*/HCI(&threshold,29/31&steer_info,&pcb,save_data);/*-初始化 AD 和 DMA-*-初始化 AD 的 DMA 配置-*-传入参数为 AD0 数据的存储地址,AD1 数据的存储地址-/init_bluetooth(UART_MODULE,115200);WS_init_all_AD();WS_init_AD_DMA(uint32_t)sensor.sensor_initial3,(uint32_t)sensor.sensor_initial0);/*-初始化舵机和电机,舵机 7.46%的占空比,在赛道中心-*-电机初始占空比为 0,已经使能-*/*-将数据发送到上位机-*/*debug_send_steer_pid(UART_MODULE,&steer_info);debug_send_change_speed(UART_MODULE,&threshold);debug_send_motor_pid(UART_MODULE,&motor_info);*/EnableInterrupts;/*-归一化找最大值-*/if(pcb.flash_AD)/表示前面设置为读取 flash 中的传感最大值数据 read_max_AD_from_flash(&sensor);30/31 else find_maxAD(sensor.sensor_initial,sensor.maxAD,&pcb.all_sensor_ok);/执行后会关闭 AD_DMA for(i=0;i 6;i+)save_datai.max_ad=sensor.maxADi;write_flash(save_data);/在调用按键扫描之前必须要打开中断,因为按键扫描里面有AD_DMA 需要中断使 能 LCD_CLS();/清屏 LCD_P8x16Str(24,4,Good luck,NORMAL_DISP);/*-初始化设置完毕,2 秒后开车-*/LPLD_LPTMR_DelayMs(1500);/先延时 1000ms,等待发车即采集加速度计零点/*-初始化用于填充加速度计队列-*/DISABLE_DMA_OF_ADC0;LPLD_PIT_Init(PIT1,1000,fill_gyro_fifo);/1ms 采集一次加速度计电压,用于填充加 速度计队列 31/31 while(!pcb.gyroscope_fifo_filled);/*-初始化用于求加速度计零点电压的中断,注意要先 DISABLE_DMA_OF_ADC0-*/LPLD_PIT_Init(PIT1,1000,find_gyroscope_center);/1ms 采集一次加速度计电压