找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4220|回复: 5
打印 上一主题 下一主题
收起左侧

发个今天做的测试 发动机启动转速和电压跳变的关系 单片机采集数据与分析

[复制链接]
跳转到指定楼层
楼主
51单片机 STC12C5608AD TSSOP20封装 自己做的 用在自己车上 今天只是为整体程序积累数据 主要是为主程序里任务触发阀值测试数据 我想说的并不是单纯用单片机获取数据的方法和程序 我是想说 获得数据后的分析

今天测试的是发动机启动转速和电压跳变的关系 每100ms采集一次 然后保存在内存中 转速和电压各保存240个数据后一并写入片子自带的EEPROM扇区中

转速采集用的是3144开关量霍尔传感器+磁铁 单独做了个发电机皮带涨紧轮 照片里右边那个轮 一圈12个磁点



霍尔传感器板 这个是测试电路时拍的 线瞎焊了一下



这个是主控板 一点一点研究和改 从开始的3.x一直做到现在8.x版本 好心酸



采集到数据后 用excel做成图表 在没有做这个测试前 所有关于发动机起动的知识都是个猜测 不知道发动机从拧钥匙门到起动之间精确的是多久 看数据



这是截取其中最重要的一部分做出的叠加图表 目的是精确比对 用的是对数坐标 所以转速的最低值部分显示不出来 但如果不用对数坐标 电压值因为和转速值差太多 图表上是一条线 没有比较性



数据分析

可以看见电压在39的位置下降了一点点 那是打开钥匙门的时候 全车电器开始供电或者从休眠状态恢复 消耗了一点电压

在78的位置 电压开始大幅度跌落而转速还是0 这是拧下钥匙门 起动机通电 但还没开始转 直流电机几乎相当于电路上的一个短路点 耗电量最大的时候 通常电瓶上标注的最大起动电流是300~500A 最有可能在这个点出现

从78到89的位置 发动机转速达到最大 89-78=11 11*100ms=1.1s 就是说 从开始拧钥匙门到发动机起动 用了1.1秒 实际上比这个时间要短 因为发动机在超过350转以后 行车电脑会开始多次点火 就是一个点火冲程发火很多次 通常 或者说假如 你在发动机达到550转附近 大约是途中85~86的位置松开钥匙门 发动机依旧会起动 从这个曲线也可以看出 整个起动过程中 前50%消耗的电力最大 就是转速横坐标从78到83的位置 电压也正好是最低的 然后 就可以理解成发动机已经起动了 因为后边的转速曲线抖直 加速很快 前0.5秒时间从0~200转 后0.6秒时间从200~1300 占整体转速的75%

电压在开始起动1.1秒后进入第一个小平台 这个时候应该是放电过程已经完成了 因为电机负荷下降 耗电量下来了 而且转速上升而电压基本恒定 说明电机没有带载 是空转状态 但人反应没那么快 还没有松开钥匙门 电机还在通电转 在横坐标108的位置 电压开始第二个跳跃 说明松开钥匙门了 108-78=30 30*100ms=3s 这差不多就是人打钥匙门起动发动机的时间

那么 结论是 正常状态下 发动机起动用0.6秒就够 至多1.1s 加上车型不同 发动机状态不同等因素加冗余量的话 正常发动机最多2s就可以起动 而人的反应都比实际需要慢

评分

参与人数 2黑币 +135 收起 理由
王朗的诱惑 + 35 干得漂亮!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:175881 发表于 2017-4-17 04:26 | 只看该作者
这应该是楼主的工作吧,想不到小小的51单片机也能实现如此高大上的功能。关键是楼主的思路严谨,分析到位,有理有据。如果中国一些这样的电子工程师一定能打造出极致的产品.
回复

使用道具 举报

板凳
ID:47286 发表于 2017-4-18 14:05 | 只看该作者
51黑电子happy 发表于 2017-4-17 04:26
这应该是楼主的工作吧,想不到小小的51单片机也能实现如此高大上的功能。关键是楼主的思路严谨,分析到位, ...

不是工作 只是业余爱好 进度很慢 要是这样工作 不知道要被老板开除多少次了 呵呵

大众老的1.8t发动机 涡轮没有散热泵 比较容易坏 比我这个更新的车上自带了散热泵 据大众说涡轮的故障率"极大幅度"下降 好象是从30%下降到2~3% 我就根据大众的理论自己做了一个 开始只是为了灭车后给涡轮散热 然后慢慢改进 现在功能已经挺多了 可以做下面这些

着车后监控冷却液温度 低于限值则开泵 帮助热车 到达设定值停止
行驶中监控涡轮温度 高于设定值起动 帮助涡轮散热
着车后自检涡轮温度传感器 如果故障 纪录故障码 灭车后用时控程序给涡轮降温并纪录故障码
灭车后如果涡轮温度高于设定值 起动散热泵散热 低于设定值停止 如果超过规定时间扔未停止 强行停止 然后纪录故障码
检测水泵工作电流 如果电流超过限定 强制停止一切工作并且把自己关闭 纪录严重故障码
普通故障码每25次着车少于5次则清除 多余5次则一直保留下来
工作完毕后可以完全关闭自己 0耗电
和其它模块通讯 把需要的数据传输出去(还做了个显示模块 开始用1602的 现在再改用串口屏 弄好了再发 业余搞 进度很慢)

监控自身温度
监控系统电压
监控发电机电压
这三个功能只是作为严重故障码时 纪录故障发生时的环境情况 和严重故障码一并保存到eeprom里

这个程序是我写的第一个超过5k的程序 真正的散热控制部分很小很小 大量的代码都是监控 通讯协议 参数设定等等辅助功能 占整个代码量的99%

上面的数据原本是为了模块能判断发动机是否起动的 因为要检测涡轮温度传感器 需要判断一定时间内 涡轮温度变化 所以要有个起点 原来是用打开钥匙门判断 但有时候也可能打开钥匙门不着车 所以改成用着车判断

评分

参与人数 1黑币 +50 收起 理由
admin + 50 很给力!

查看全部评分

回复

使用道具 举报

地板
ID:116826 发表于 2017-4-18 15:03 | 只看该作者
楼主的动手能力和分析能力真不错,赞!
回复

使用道具 举报

5#
ID:47286 发表于 2017-4-18 16:04 | 只看该作者
lyxxzrb 发表于 2017-4-18 15:03
楼主的动手能力和分析能力真不错,赞!

谢谢夸奖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表