我是一只攻城狮

硬件开发者之路之——复盘一个小项目的得失之见

上一篇 / 下一篇  2018-03-31 18:03:53 / 个人分类:技术生涯

知易行难是我们无论是在工作还是生活中经常经历的过程,这也可以表述为丰满的理想和骨感的现实之间的差异,不过正所谓爱过知情重,醉过知酒浓,所有的事情只有尝试后才知道才学习,这是个自然成长的过程。自己也没有正经带过几个像样的项目,现在回顾一个项目的开发经历,反躬自省以明得失。

说起来这并不是一个多大的项目,目的是做一个高精度的多路气体流量控制模块,但是市场上类似的单路模块价格就在几千到上万,侧面来说应该有一些难度。磕磕碰碰项目搞到最后,复盘前后过程,基于前后众多的操作细节尽量总结一下相关的技术经验,大神见笑望不吝指教,是以为记。

这是控制环路的基本框图:

看起来这个环路很简单,实现一个流量控制应该不难,无非就是选一个传感器+ADC+MCU+驱动电路+阀。开始我也是这么想的,这种完全忽略参数和细节就开始试错的方法就容易让你陷入后续的众多麻烦。仔细一想应该先问几个问题:

1、 流量控制

那么最主要的目标控制范围和精度是多少?

2、 传感器怎么选?

详细说来包括工作电压(影响系统供电选择),输出信号特征(模拟还是数字输出,内部信号处理方式,零点和满量程范围等,影响信号采集部分选择),量程和精度(测量精度,信号输出噪声,影响最终的测量和控制精度),温度等物理特性(需要考虑应用环境)。

1、 ADC选型

之前总结过ADC的几种类型,但是这个只是架构和原理上的区别,在实际应用中还有几点要注意:

架构选择:目前应用最多的SAR型和Σ-△型覆盖了大多数的应用场合,传统的积分型因为速度太慢应用已经不多,尤其是在16位以上的ADC中,绝大部分采用的是Σ-△型结构,这种ADC主要采用技术是过采样和数字整形。除此之外在高速数十M甚至百MADC中采用的是flash、流水线型等并行处理结构,当然因此也带来分辨率的大大降低和功耗严重等问题。因此,除非特殊应用要求,我们一般在常用的ADC中选择即可。

采集速度:在信号采集处理中,对于瞬变信号或者要求实时检测的信号,采集速度和分辨率就是对立的。一般的ADC速率从几KHz到几百KHz,也常用SPS做单位。1KSPS=1000次每秒。拿我测试过的一个24ADC为例,采集速度50Hz时信号噪声在0.05mV,而采集速度改为200Hz左右时,信号噪声增大到0.16mV。可见速度对采集分辨率的影响比较大。

多通道采集:目前ADC的多通道采集方式有如下图三种:



后两种其实都属于同步采集模式,即采样保持电路独立,而不是图1的开关复用模式。同步采集的特点明显在速度和精度在有更好的优势,避免了复用开关带来的额外干扰。

软件配置:ADC采集中为提高采集精度和稳定性,大多设置有很多校准等软件配置,不同的配置带来的采集效果有较大不同,需要在应用中调试,譬如有的设置是为了进行温漂补偿,零点校准,满量程校准,还有重要的一项是数字滤波设置,这一项又和数据速率相关。

1、 MCU的选择

MCU的选型要求不多,主要考虑其他任务处理的复杂度,是否影响控制流程。

2、 比例阀的知识

一般电磁阀状态只有开和关两种,那么控制电压很简单就是01,而比例阀属于线性控制阀,内部关键结构为比例电磁铁,开合度与驱动值相关。

阀选择的几个参数:

工作电压:阀的控制电压会有对应流量的曲线,而这个曲线因为磁滞会有不同,而且是非线性的。

孔径:流量的控制和孔径紧密相关,小孔径适合控制小流量高精度控制。

温度特性:阀的结构件对温度的影响很大,磁性材料的温度特性极大影响阀的高温工作状态。

功率:考虑功率是考虑发热特性,考虑控制功率。

驱动方式:电磁线圈还是需要电流来通流驱动,其依然是一个有阻抗的线圈,那么采用电压驱动还是电流驱动,模拟驱动还是数字驱动,因为电磁阀是电流响应,电流驱动对于温度的变化更可靠。

总体来说,简单的几个点如图:

实际上在操作过程中会有很多的问题,那么所有问题的解决无非是先定位再找方案,至于问题的定位则依赖于一定的实验数据,而我们在这个过程中处理的并不算好,对于问题的定位思路比较混乱,加上实验的严谨性缺陷,直接导致的结果就是前后矛盾,互相干扰,最后头疼。解决问题的技术方案的可靠性验证如果不够到位,带来的后果就是重复验证,浪费更多时间和精力。整个过程从整体设计到细节处理,从解决问题的迭代过程到技术沟通,需求明确,每个步骤都暴露了很多问题。

如果从头面对这样一个过程,我觉得过程中有很多问题需要重点思考和验证:

等等,解决问题的思路也就在这些问题里,关键就在于要明确和验证一个个问题,最后总会有可靠的答案。

总结与反思:

事实上,对于公司或产品而言,技术中的某种方案只是其中的一种途径,把解决技术问题改为解决产品问题则是差异很大的另外一种思路和视野。话句话说,所有问题都会得到解决。而对于一个技术人员而言,尤其是在成长中的技术开发者,解决问题的结果对于公司的重要性不比解决问题的过程对于自己的重要性大。就我的个人感悟而言,短时间内是否解决技术问题也比不上自己的思考带来的新的思维和想法重要。因此,低头走路不忘仰望星空,走的踏实才能望的更远,对于技术细节要足够深入,对于技术思维尽量形而上的看待。

《论语》说:君子不器。善假于物也,同思共勉!


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar