汽车限速器单片机c语言程序,以MSP430单片机为核心的电子汽车限速器的设计方案...

为了满足上述功能需求,限速器的核心本设计选用具有强大功能的MSP430F169单片机,其内置有高速的12位ADC和DAC,能单片实现限速器的功能,无须再扩展外部模块,即可提高系统运行的可靠性,降低系统成本,非常符合限速器的功能需求。

实现限速器功能的主要模块分析如下:

(1)信号处理单元

油门踏板传感器实际上是一个角度传感器,可提取瞬间油门踏板的位置信号,并将其转化为电压信号传递给发动机控制器。以磁阻式油门踏板传感器为例,为了将角度变化转化为电压信号,磁阻元件往往做在同一块基片上接成三端式结构,且在片上一定高度处放一半圆形的磁钢,其结构如图5所示。当主轴带动磁钢旋转时,磁阻元件MR1、MR2的电阻值随通过它们的磁通量Φ的变化而变化,从而有电压信号从两个磁阻元件中点输出,经过后面信号处理电路对此输出的电压信号进行放大。通过调节后级放大电路的放大倍数,可以得到所需要的、大小合适的电压信号,其等效电路如图6所示[1]。

a8f60bedd24f9535ae56dd69289aa214.gif

根据油门踏板传感器的工作原理,限速器信号处理原理图如图7所示[2]。踏板传感器输出的电压信号经过运算放大器降低输出阻抗,然后输入到MSP430F169的ADC输入脚A3,利用MSP430F169内部的12位ADC完成模数转换,实现模拟信号的采集。限速器将踏板传感器的电信号采集后,用IIR滤波算法对其进行滤波,进行自学习算法计算、处理后,得到汽车行驶速度Vx,并与设定的限速值Vm比较,以比较的结果决定输出模拟信号输出的大小。输出信号通过MSP430F169的D/A输出引脚DAC0输出,利用MSP430F169内部的12位DAC实现数模转换,并通过运算放大器提升输出模拟信号的驱动能力。

89c3a0b4abb1b0d504ed6c65f94a1d73.gif

(2)语音报警单元

语音报警原理图如图8所示。为了保证行驶的安全性和平稳性,必须在汽车停止状态下才能启动限速器或关闭限速器,因此配有语音报警器,以起到有效的提醒作用。该限速器使用带功放的ML22865语音芯片,其芯片的SCL、SDA、(CBUSYB)脚分别接至MSP430F169的I/O口P5.2~P5.4,报警器的SPM、SPP脚接扬声器。

a109de560bc4595762b336533c010c53.gif

(3)数据存储单元

限速器的数据存储原理图如图9所示。限速器要能设定速度上限值,以及提供给自学习算法所需的大量的存储空间,因此必须具备数据存储功能,本设计使用24LC512存储器。

aba0821cd1906e756b82866bba027955.gif

(4)键盘和显示单元

利用MSP430F169的P3.4~P3.7实现4个独立按键,功能分别为限速器开关键、数值增加键、数值减少键以及确认键。显示单元使用4个8段数码管显示,显示4位的限速值。显示数据通过MSP430F169的P1口提供。MSP430F169的P2.0~P2.3口作为数码管的控制口,为了节省能耗,数码管只有在按下键盘时才点亮,当30 s内不再操作键盘时数码管熄灭。

3  限速器的软件设计

限速器的软件设计流程图如图10所示。为了保证行驶的安全性和平稳性,必须在汽车停止状态下才能启动或关闭限速器。限速器工作过程如下:通过按键中断程序判断是否有启动或关闭限速器的按键,如果有按键信号,限速器根据主程序采集的踏板传感器电信号,判断是否有油门踏板动作,如果有踩下油门踏板,语音报警,此操作无效;如果无踏板动作,再次提醒是否处于行驶状态,并且设置5 s延时,并再次按下该按键,才能将限速器开启或关闭。如果判断是关闭限速器按键,则关闭限速器,并设置关闭状态,且将该状态信息传递给主程序;如果是启动限速器,则开启限速器工作,并设置开机状态,且将该状态信息传递给主程序。在主程序循环中,首先采集踏板传感器信号并通过IIR滤波判断是否有踏板动作并将该信息反馈给键盘中断程序,然后判断是否有设置速度上限值按键。如果有,则设置相应的速度值Vm,并存储在存储器中;如果没有,则读入踏板传感器的电信号A/D值Ux,Ux通过自学习算法得出行驶速度值Vx。Vx与Vm比较,如果Vx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值