打印
[程序源码]

振南实战项目纪实(天津某司信号延时器) 1 项目承接需求落定

[复制链接]
1002|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
znmcu|  楼主 | 2016-2-23 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
振南实战项目纪实(为天津某公司研制工业用信号延时器)----(1)项目承接与需求落定
http://www.znmcu.cn/zn_project_delayer_1.html

振南电子技术群177856520


振南实战项目纪实(为天津某公司研制工业用信号延时器)
----1)项目承接与需求落定
20151月底,天津某公司找到我给他们研制一款“信号延时设备”。这东西乍看起来,似乎比较简单,从字面上的意思来说就是把一个数字信号延时一定时间原样输出。
看似简单的项目,以我经验来说,肯定没有那么简单。如果简单,人家也不可能拿出来找人作。所以当务之急就是,详细了解项目需求,把要作的工作搞清楚,明确项目到底要实现什么功能。在真正开始操刀之前,先要把需求一条条地在纸上定下来。90%的项目,在研制过程中,需求都会被项目方(即所谓的‘甲方’)或多或少的进行修改。这种修改源于几个原因:
1、甲方一开始对自己所需要的东西考虑不周,对现有需求条款进行修改;
2、甲方想加功能,虽然可能是一些小功能,希望研发者(即乙方)顺便作一下;
3、研发者对需求理解不透,甚至曲解,导致实际与需求不符,双方商讨修改需求;
需求一条条定下来之后,我会问项目方:你仔细看看,是不是就这些功能,请确认!一旦确认之后,需求生效,以后就不能随意改动或增加功能。如果后期对需求产生异议,则会以当时经过确认的需求文档为依据依据,让项目方明白:修改需求或增加功能,是要付出额外代价的,如果执意要作,一要加长项目研发周期,二要支付更多项目酬劳。
经过几天的讨论,最终我们把这个“信号延时器”项目的需求定了下来(确实没那么简单,在我不断追问下,项目方说出了很多的内容),具体如下:
上面是对这个项目需求的一个图示。经过进一步的确认,参数的设置调整,通过触摸屏来实现。
信号延时器,通常来说,只是改变输入波形的延迟时间,专业的说就是改变“相位”,输出端输出的波形要与输入波形原样。细想起来,这个功能使用单片机其实不太好实现,尤其是nm延时都非常大的时候,比如延时几秒,甚至几分钟。难点在于:
1、时间精准的控制
2、延时过程中对中间波形的处理和存储,以便宜在延时之后将中间波形复现。
3、对输入波形脉宽的精确测量
我把这些问题反馈给了项目方,项目方说:“不需要这么麻烦!输入信号,低电平到来后,延时若干个时间单位后输出低电平,延时过程中的输入波形全部忽略掉!输出低电平的宽度可能固定,不必与输入信号等宽!!”【这些话是我现在总结出来的,当时项目方似乎根本不懂技术,全部用大白话描述的,听着非常不专业,沟通了许久才明白他的意思!最终还被对方抱怨说我理解能力有问题!】
这进一步的需求确认和追问是多么重要,直接拉低了项目的研发难度。这根本就不是一个真正的“信号延时器”,而只是要实现一个“下降沿延时响应”的功能,而且延时期间还不响应信号(我真不知道项目方这样的功能需求到底有什么实际应用意义,后来听他说是用在色标检测上,所谓色标检测,就是在流水线上对产品上的特定颜色的标签进行识别,检测到标签时输入信号将变成低电平,而延时器要作的就是把这个低电平信号经过延时nm个时间单位后产生两路低电平输出)。
需求修正后的延时功能如下图所示:
在需求确定几天后,项目方试图修改需求和增加功能,经过协商,我同意了加入一些新的功能(这本身是违背项目需求原则的,但是协商之后我给予了通融)。
这个新的功能是:模式1,增加一个按钮,按下后不再对输入信号进行响应。
需求修改后的图示:
另外我再一次确认了输入是24V高低电平,也就是高电平为24V,低电平为0V
这个问题很重要,涉及到是否需要在信号输入前级作一个分压电路,否则可能会烧毁单片机芯片(但后来经过多翻核实,输入信号根本不是24V)。
项目需求基本已经定下来了,项目方支付了项目费用,我们也开始真正干起来。技术上的具体细节、实现方法和技巧,振南在后面会详细讲到。在25号,基本完成了延时功能,样机界面如下图:
这个样机用于测试需求中所提到的那些功能。前级的24V高低电平信号的分压电路因为时间原因我没有焊,而是给出了电路原理图,由项目方来焊接。
详细的接线图:
前级分压电路如下:
这个分压电路很简单,它将24V信号分压为5V信号。
但是项目方焊了一天,竟然都没有成功。并且质疑这个分压电路有问题。争吵了很久,最终终于找到了问题的所在。他们输入的信号根本不是24V高低电平,而是“低空”信号。
他们所使用的色标传感器是一种“三线NPN接口”:
这种色标传感器接口有三根线,棕蓝白三色,棕线接电源12V24V,蓝线接地,白线为信号输出。当传感器检测到特定颜色时,白线输出稳定的0V,当传感器未检测到特定颜色时,白线输出为【悬空】。
这根本就不是24V高低电平信号!!!!!!!
项目方一直褒贬我给他们的分压电路有问题,量哪都是0V,说“你这电路根本狗屁不通!”
最后,我拿出原始项目需求,让他看,他无言以对!
后来,他们问我,传感器的信号怎么与单片机的输入连接,我说:“不需要任何电路,直接连接!!”(浮空状态将被单片机IO内部上拉拉为5V,而0V将把IO拉到低电平。)他们这才恍然大悟!
项目需求中的描述经常会有项目方想当然的成分,他们的过错或误描述有时候是研发者的噩梦!尤其对于不懂技术或不明其所以然的项目方,则认为这是你的问题!

相关帖子

沙发
电子老鹰| | 2016-2-24 15:15 | 只看该作者
挺好的 咋没人顶

使用特权

评论回复
板凳
aerwa| | 2016-2-25 08:27 | 只看该作者
支持楼主

使用特权

评论回复
地板
疯子8972| | 2016-2-25 08:50 | 只看该作者
脾气暴一点   就想打甲方

使用特权

评论回复
5
autopccopy| | 2016-2-25 11:16 | 只看该作者
值得借鉴!顶一下!

使用特权

评论回复
6
犹豫的大三| | 2016-2-25 11:52 | 只看该作者
值得借鉴

使用特权

评论回复
7
wjhhhh| | 2016-2-25 13:05 | 只看该作者
做完调好了就录一段视频 放给用户看,对照协议需求逐一操作演示。"......因为时间原因我没有焊......"??振南先生也真放心,用户给你接入交流220V就全部完蛋了,说不清道不明。  能够放出“...狗屁不通...”的用户这德行真是可以了

使用特权

评论回复
8
znmcu|  楼主 | 2016-2-25 22:18 | 只看该作者
我的甲方确实气人。啥也说不明白,还死倔。最后证实是自己错了,就闭口不提了!

使用特权

评论回复
9
whirt_noob| | 2016-2-27 09:11 | 只看该作者
低空信号?原谅我的无知:L

使用特权

评论回复
10
datouyuan| | 2016-2-27 14:13 | 只看该作者
大部分传感器是开漏输出,对接收方来说,要么为低电平,要么悬空.

"低空信号",这个描述很形象.

使用特权

评论回复
11
datouyuan| | 2016-2-27 14:18 | 只看该作者
好贴,顶一下.

使用特权

评论回复
12
znmcu|  楼主 | 2016-2-27 20:50 | 只看该作者
这种帖子,又有技术,又有情节,又有情绪,大家喜欢吗

使用特权

评论回复
13
wsnsyy| | 2016-2-28 00:35 | 只看该作者
看得过瘾

使用特权

评论回复
14
中国机器| | 2016-2-28 23:56 | 只看该作者
这种甲方经常出现,尤其是他家里有个半瓶水,

使用特权

评论回复
15
znmcu|  楼主 | 2016-2-29 07:27 | 只看该作者
长期发现:不求甚解,固执己见,得过且过,不懂脑子,粗心大意,想这忘那的人大有人在。这个甲方,已经50岁,自称经历项目很多,我很纳闷他这半辈子都干啥了。我认为,人活着,活一天就要增长一天的见识。对于他的项目描述,我一度认为是我理解能力有问题,到后来我项目团队很多人都说他们跟我理解是一样的。

使用特权

评论回复
16
tuzihog| | 2016-2-29 09:07 | 只看该作者
标记一下

使用特权

评论回复
17
huangqi412| | 2016-2-29 11:04 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:振南的znFAT -- 单片机上上的FAT32文件系统 www.znmcu.cn

4474

主题

5195

帖子

33

粉丝