引入电阻及接地方式修复同时点亮的问题

如果不打算改变 LED 数码管的布局, 则需要在开关的另一端引入一个电阻(缺省 1k 欧姆)然后接地, 这样就 OK 了:

继电器普通方式显示 0 和 1 的综合对比

看来还是少不了要接地, LED 上没有接地时, 只能在外面去接了.

这背后的原因与模拟器对继电器的实现方式有关. 通过双击(或者 右键--属性)继电器, 在弹出的属性调整窗口中, 所谓 被控制开关 的通(on)和断(off)是利用一个极小电阻(50m, 即 50 毫欧姆)和一个极大电阻(1M, 即 1000000 欧姆)实现的, 而 控制开关 的作用则是交换这两个电阻:

继电器电阻属性

你可能已经注意到, 当弹性开关一端接入电源时, 而另两端悬空时, 没有被开关连上的那一端同样是高亮的绿色, 表示它同样处在高电压状态, 而下图下边的一个电路可以认为是它的一个等价模型:

继电器电阻等价模型

悬空状态下, 没有回路, 没有电流, 也就不会形成 电压降, 所有直接跟电源连着的器件均处在高电压状态.

如果你站在一个绝缘的椅子上, 用手去触摸 220V 的 火线, 你身上也会带上 220V 的悬空电压. 不过你实际上并没有危险, 只要你另一只手不要去触摸 零线, 同时因为你脚站在绝缘的椅子上, 也就没有接地, 此时, 虽然你握着 220V 的火线, 但没有回路也就没有电流, 你实际上还是安全的.

警告! 尽管理论上是安全的, 你还是千万不要去做这个实验, 我不清楚你家的椅子的绝缘性!

同理, 小鸟站在高压线上实际上也不会被电死, 因为也没有回路, 也就没有电流, 除非小鸟能够脚跨两条不同电压的线; 蛇则有可能会被电死, 因为它身子长, 有可能缠在两条不同电压的线上, 然后"啪"的一声, 灰飞烟灭...

而一旦形成回路, 情况立马就不同了, 电流流过一个极小电阻时, 电压基本没有损失;

注: 就跟流过导线类似, 在模拟器的实现中, 导线被认为是零电阻, 但客观世界里并非如此. (前面也提到了, 而继电器最初就是为了解决这样的问题而诞生的)

在下面的对比图中, 通过 菜单--绘制--输出和标签--添加测试点 的方式在一些组件连接的端点上增加一些 测试点(TP: test point), 相当于在那些点上挂一些电压表, 可以测试出各个端点上的电压:

继电器电阻等价模型工作原理与测试点

可以看到当电流流过一个大电阻时, 电压降到了 1V 左右(颜色变为接近 0 电压的淡青灰色), 尽管电压不为零, 但已经无力驱动后面连着的 LED 灯, 因此一个极大的电阻几乎就等价于断开.

而流过一个小电阻时, 电压还有 3.6v 左右, 仍然足够驱动 LED 灯点亮.

理想情况下的断开可以等价认为是两个端点之间存在一个无穷大电阻, 但模拟器的具体实现显然不是这种情况.

比如, 电源插孔的两个端口之间可以认为是无穷大, 因为它们彼此间被各种绝缘材料及空气隔开了.

但严格地讲, 连空气都不是绝对的绝缘体, 当电压足够高, 连空气都可以被"击穿", 所谓闪电就是这么回事.

当然了, 空气的电阻是极大的, 所以哪怕你站在高压线下, 只要不是离得特别近, 你不用担心被电到. 虽然你跟高压线通过 空气 实质上还是连在一起了, 但要电到你, 电流先要流过空气这个大电阻, 但这样一来电压就降到微不足道的地步了.

换言之, 可能你跟高压线之间确实是有电流通过的, 但因为空气这个大电阻隔在你们中间, 使得这个电流非常小, 以至于小到你根本感觉不到.

另一方面, 前面说到, LED 数码管有几种模式: 逻辑输入, 共阴极以及共阳极. 而缺省的 逻辑输入 模式它恰恰不去模拟这个电流的流动, 它不需要接地的, 没有回路存在, 它完全是一种接触式的.

当接着一个高电压, 它就亮, 反之就灭.

当给输出端添加一个电阻及接地时, 这个旁支会形成回路, 虽然与 LED 数码管间依然没有回路的存在, 但旁支回路的存在已经足以改变它们共同触点的电压值, 与一个等价电路的对比如下:

继电器旁支电路的对比

可以看到旁支电路的存在消除了悬空, 使得在大电阻的情况下, 接触点的电压会降至几乎为零(4.995mV, 约为 5毫伏), 也就模拟了正确的断开的状态. 而在小电阻的情况下, 则几乎不会产生电压降.

图中显示仍然为 5V, 实际应该是小于 5V 的, 但可能因为太接近 5V, 可能在四舍五入后还是 5V.

闭合开关, 显示 1 的情况同理, 这里不再具体截图演示, 读者可自行再模拟器上验证.

简单讲, 就是继电器得一定有回路存在, 不然它的行为可能就不是像你预期的那样. 当然, 你也可以认为这是模拟器实现上的一些缺陷, 如果在实际中去做实验, 则不会有类似问题.

单个的 LED 灯也是如此, 仅让它一端接着高电平, 它是不会亮的;

但缺省模式下的 LED 数码管则没有接地及回路等约束, 它只做一个逻辑判断, 是否跟高电压毗连, 如果是就点亮.

应该说, 这个问题的存在是继电器的模拟实现与 LED 数码管的缺省模式下的显示行为不一致造成的.

在后面, 我们将主要使用那些 数字电路 器件, 而不再使用(或很少使用)像继电器这样的 模拟电路 器件, 也就不会有这些问题了, 也无需用各种接地或电阻的方式去修正.

目前使用继电器是因为它的工作原理更好理解, 它的通与断也更加形象.

当下, 为解决这种不匹配的问题, 或者采用共阴极接地方式的 LED 数码管, 或者使用旁支回路 "修正" 继电器的行为.

results matching ""

    No results matching ""