7段LED闪烁的可能原因

电器工程 微控制器 引领 司机
2022-01-09 10:01:51

我正在与海外供应商合作改造现有产品。我们正在努力降低成本。

目前产品包括:

  • 4 个大按钮
  • 4 个双位数 7 段 LED。(每个按钮下面都有两位数)
  • 1 个 LCD(8 个字符...每个字符显示由一个 3x8 网格 LCD 点组成)
  • 扬声器
  • 微控制器
  • 液晶驱动器

在改造中,供应商希望解决当前产品的问题。所有 4 个两位数 LED 都有明显的闪烁。

供应商正在给我们一个估计,其中包括使用新的微控制器、重新设计一些电路以及重做整个程序!(我们只是想换掉音频文件并修复闪烁......我认为产品的一般逻辑根本不需要改变)

我不确定之前的电路是如何设计的,但可能是由于在点亮 LED 时单片机速度不够快,无法进行 PWM。

一般来说,根据经验,7 段 LED 闪烁的其他原因可能是什么。我只是想了解这个问题,以便我可以辨别供应商是否在不需要时预算额外的工作。

3个回答

闪烁是刷新太慢的结果。您需要以至少 100 Hz 的频率刷新每个段。但是,有一些技巧可以减少明显的闪烁,但实际上并不能加快刷新速度。天真的方法是按顺序刷新数字。但是,如果你稍微交替一下,整个数字的闪烁就会减少。例如,做数字 1、3 和 5,然后回来做数字 2、4 和 6。

在不了解处理器并查看源代码的情况下,无法判断供应商是否试图将您串起来,或者是否真的需要重新编写这些烂摊子。请记住,99% 的固件工程师编写的固件都很糟糕。整个地方都可能存在硬编码常数,对时钟频率、LED 刷新率等进行假设。使用编写良好的固件,假设处理器已经具有必要的周期,提高刷新率应该很容易。对于写得不好的固件,这可能比丢掉乱七八糟的东西并正确地写要麻烦得多。

原设计者怎么没有解决闪烁问题?也许固件的架构非常糟糕,以至于无法简单地增加它?如果闪烁如此明显,那么为什么产品会以现在的方式创建?仅此一项就很可能是原始设计师弄得一团糟。如果他可以很容易地修复它,他可能会。

真正有趣的是现在你又做了一次。你出国是因为你想降低成本。好的设计需要真金白银,但糟糕的设计要花更多的钱。即使你被它咬过,你显然还没有学会它。有了好的设计,你就不会处于这个位置,即使你是,也应该很容易改变。更改存储的音频不是一个简单的操作,没有任何借口。

如果你不知道微控制器和电路是什么,你怎么知道这是否是一个坏主意?严格按价格购买工程是最昂贵的方式。

为回应评论添加:

我不记得我在哪里听说过非顺序刷新数字,但我已经尝试过了,发现它有帮助。我认为它的工作原理与隔行扫描电视似乎以场频而不是帧频闪烁的原因相同。对于 NTSC,整个画面以 30 Hz 重绘,但由于隔行刷新,明显闪烁为 60 Hz。通过交错数字你不会得到像那样的 2:1,但它确实有帮助。

不,60 Hz 还不够快,甚至还不够快。60 Hz 大约是大多数人不再看到方波闪烁的地方。有人直接盯着以 60 Hz 驱动的 LED 有 50% 的时间可能看不到闪烁,但这并不是人们感知它的唯一方式。除非您只有两位数字,否则 LED 会在更短的时间内亮起,这会使闪烁更加明显。视网膜中央的反应最慢。您会注意到视野边缘的闪烁更多。然而,真正令人反感的部分是当你移动你的眼睛时。闪烁在 60 Hz 时很容易出现。由于这种现象,您无法使闪烁不可见,因此问题是使其不那么烦人。对于大多数人来说,60 Hz 仍然很烦人。正如我所说,您至少需要几个 100 Hz。

至于获得好的工程,这本身就是一个完整的话题。出国并没有本质上的错误。有能力的人生活在不同的地方。问题是首先要认识到糟糕的设计比聘请顶级工程师一开始就做好的成本要高得多。其次,你必须意识到寻找和审查工程人才需要一些工作。您将花费 1000 美元,可能是 1000 美元中的 10 美元。像对待其他如此重要的购买决定一样对待它。四处打听,采访,获取参考资料并实际跟进。

只要您是认真的并且工作是真实的,我会说您有权在做出任何承诺之前期望大约 2 小时的初步咨询。请记住,这是双向的。这段时间的一部分是让你评估工程师,当然工程师也在评估你。他们正试图决定这份工作是否符合他们想做的事情,你是否会成为屁股客户的痛点,等等。无论哪种方式,都应该有足够的时间来了解需求并进行交谈关于工程师将寻求解决方案的路径的初步印象。这应该告诉你很多关于他们的想法,他们只是执行你告诉他们的任何事情,而不是深入研究并试图解决真正的问题并确保解决问题,提出替代解决方案等。

这些都不是说工程师不能被监督,但它确实使后勤和良好的评估变得困难。如果您有一些来自您信任的人的强烈建议,那将很有帮助。如果您的逻辑只是波士顿的 Bob 想要 130 美元/小时并且估计需要 4 周,而班加罗尔的 Naresh 想要 35 美元/小时并且可以在 2 周内完成,那么您将面临严重的麻烦。

我同意 100Hz 最低刷新率。这在任何 uC 的代码中都应该很容易做到。低时钟 f 的任何其他症状?像扬声器中的低音?

所有 Mux'd 显示都假定一个固定的 %Duty cycle = On/Cycle time,因此无论刷新时间如何,平均电流都是恒定的。因此,在进行更改时必须如何理解 ON 时间和 Cycle time。

如果你知道如何,这很简单。如果你不这样做,它真的很贵。

据我了解,在同一产品型号的所有单元中都可以看到闪烁,因此不是有东西损坏。我还要说你只需要增加刷新频率,当然不要改变整个程序。

可能是 MCU 的速度不够快,无法以更高的速率刷新这些两位数,但我对此表示怀疑。你能告诉我们它是什么MCU吗?