LCD液晶显示鬼影问题

in #cn-reader4 years ago

众所周知,我是一名研发工程师,我专门设计各种便携式仪表已经十多年,经验丰富。做研发工作,经常会遇到问题,查找线索解决问题对我来说是很大的乐趣。这次,就又碰到了一个问题。

有些问题能够通过不同的方法来解决,这篇文章,我就来说说原因的查找以及不同的解决方案。

我设计的一款仪表已经正常出货,这次又生产5000台。结果产线发现,有相当一部分仪表组装完成后,LCD在正常状况(室温,湿度50~60%)下显示正常,像这样:

但是在高湿环境(室温,75%湿度)中放置几小时后,会出现鬼影:

也就是不应该被点亮的段码,有一部分隐隐约约会有显示,造成观感不好。

产线试着交换良品和不良品,发现问题是跟着LCD走的,因此下结论,说是LCD不良,需要厂商召回检查,重新发货。

本来这算一份比较完整的品异单报告,不需要我进一步参与。但是,研发人员的直觉告诉我,事情没有这么简单,好奇心也驱使我进一步查找问题。

初步分析

LCD驱动有专门的波形,显示上不正常,首先就要检查MCU产生的驱动波形是否正常。

用示波器观察正常显示的LCD驱动波形,是这样的:

理论上应该是很分明的阶梯状,不过由于LCD阻抗不同,还有MCU的性价比制约,这样的波形有稍许失真,算是合格的,显示外观没有问题。

而用示波器观察显示不正常的LCD驱动波形,长的这样:

可以看出红圈圈出的部分已经明显失真,参差不齐,从而造成LCD显示有鬼影。

而显示不良的仪表,放到低于60%湿度的环境中,会逐步恢复正常。结合波形分析,直观上感觉,是MCU在高湿环境下变得驱动能力不足而产生波形失真,而驱动能力不足,一个是可能MCU受湿度影响,另一个可能是LCD特性受湿度影响。

解决方案1

而前面已经说过,问题是跟着LCD走的,和MCU所在的主板无关。所以应该是LCD被高湿影响造成鬼影。

MCU驱动LCD,其波形受LCD的电容影响,电容越大,所需要的驱动信号能力就越大。而我们LCD的供应商是小厂,并没有提供详细的电容参数说明,我也只能按照经验判断,面积越大,电容越大,而这款仪表面积很小,所以不需要很大的驱动能力。

我修改了MCU程序,增大了LCD驱动能力,很简单:

setReg8(LCDSUPPLY, 0x03);
//LCD charge pump is disabled. Drive VLL3 externally

改成了

setReg8(LCDSUPPLY, 0x33);
//LCD charge pump is disabled. Drive VLL3 externally, full driver

效果立竿见影,原来显示不良的,立即恢复正常。

如果就此结束,解决了问题,也不影响出货,但唯一的问题是,因为驱动能力的增强,仪表功耗有所增加,大约是0.1mA左右。这个电流算是很小的一个存在,但是会影响电池使用寿命,仪表原来平均电流是1mA,现在增加了10%,电池寿命会缩短10%左右。


解决方案2

但是为什么LCD在高湿状态下会电容增大?这个不符合逻辑,严谨的工程师认为有必要打破砂锅问到底。

根据十几年的经验,高湿状态下出问题,多数是目标物不干净,在高湿状态下会产生微导通,电信号四处乱串造成的。

仔细观察PCB,发现焊接状况良好,没有助焊剂残留。拆下PCB,再清洗一下金手指和LCD导电橡胶

重新安装好,在高湿状态下观察24小时,问题消失。所以,这才算找到了根本原因,不会产生后患。


追根溯源

普通的工程师,能找到这个根本原因,就算任务圆满解决了。但是,工程师应该和产线密切结合,把产品从元件开始追溯到合格出厂,才是负责人的。

那么,为什么导电橡胶(或是PCB金手指)上会有灰尘呢?

产线操作有严格的SOP,放置导电橡胶和LCD时必须佩戴手指套,并用洁净的压缩空气清洁接触面,就是为了防止汗渍灰尘等污染目标物产生异常。经查询后,产线是严格遵守这些规定的,因此不会有问题。

这时,生管有些吞吞吐吐地说,有没有可能是导电橡胶厂商供货时就被污染?这几乎是不可能的事,因为我们每年要进几十万条导电橡胶,至今为止没有出过问题,去仓库检查了库存也没有问题。

倒是生管的吞吞吐吐引起了我的怀疑。追问之下才真相大白:
产线在装配完成检查湿度时,发现湿度不良,因此启动湿度sensor恢复流程,就是需要把湿度sensor在100摄氏度烘烤12小时后,再在高湿环境下水解24小时。

湿度sensor在一块小的PCB上,然后通过排针焊接在主PCB上。而产线为了及时出货,偷了懒,没有焊接下小PCB,连着主PCB一起烘烤并水解。烤箱环境内非常干燥,有风扇循环送风。经检查有部分烤箱内部灰尘较多,在烘烤的过程中落在PCB上,接着在水解过程中附着在金手指上,简单的吹气无法将其清洁,才出现了开篇所说的问题。


结论

工程问题五花八门,有些是自己设计的时候考虑不周产生的,有些是产线生产过程中由于“人”的因素导致的,我们只有不放过每一次出现的问题,都找出根上的原因,积累经验,在接下来的设计生涯中才能举一反三,快速解决问题。

出现问题后,一定要详细了解产品生产的整个过程,任何细节都不能放过,否则,可能永远无法真正解决问题。


以上由 @kissfirer原创,非经允许禁止转载,谢谢

Sort:  

!thumbup
恭喜你!您的这篇文章入选 @justyy 今日 (2019-10-28) 榜单 【优秀的文章】, 回复本条评论24小时内领赏,点赞本评论将支持 @dailychina 并增加将来您的奖赏。
@justyy 是CN区的见证人,请支持他,给他投票,或者设置justyy为见证人代理。感谢!@justyy的主要贡献:https://steemyy.com

Congratulations! This post has been selected by @justyy as today's (2019-10-28) 【Good Posts】, Steem On! Reply to this message in 24 hours to get rewards. Upvote this comment to support the @dailychina and increase your future rewards! ^_^

SteemIt 工具、API接口、机器人和教程
SteemIt Tools, Bots, APIs and Tutorial



If you believe what I am doing, please consider a spare vote voting me here, thank you very much indeed.

@justyy - the author of https://SteemYY.com and I have been a Steem Witness for more than a year now.

支持您的DIY贴子(By BUILD Token)

吃了吗?请支持中文区的见证人, @abit @bobdos @ety001 @justyy @oflyhigh @partiko (首字母顺序),全投,一个都不要漏。倘若你想让我隐形,请回复“取消”。



This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @minnowbooster.

If you appreciate the work we are doing, then consider supporting our witness @stem.witness. Additional witness support to the curie witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider using the steemstem.io app and/or including @steemstem in the list of beneficiaries of this post. This could yield a stronger support from SteemSTEM.

Congratulations @kissfirer! Your post was featured on our daily build newsletter! We set you as a %15 beneficiary of our newsletter rewards. You can see your post on our instagram Facebook and Twitter pages.

Keep sharing your awesome DIY and How-to tutorials together with the recommended tags #diy, #build-it, #how-to, #doityourself, #build as well as posting from our website

Cheers!

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70797.92
ETH 3553.00
USDT 1.00
SBD 4.76