本文详细介绍如何使用便宜的 555 定时器,在一些不需要 LED 驱动器全部功能的应用中,代替微处理器对专用 LED 驱动器实施控制。这样做可让用户在降低总系统成本的同时,维持 LED 驱动器的恒定电流。
相比几年以前,现在使用 LED 的应用越来越多。这些应用从高端视频显示器到低端照明应用,不一而足。设计人员通常只需要专用 LED 驱动器的部分功能,但却无力负担控制它们所需的微处理器的相关成本费用。
专用LED驱动器常常被设计为微处理器控制型,旨在实现诸如模拟或脉宽调制(PWM) LED 电流控制、每个 LED 的独立控制、LED 状态和故障信息读取等特性。对于一些仅要求恒定 LED 电流的应用(例如:LED 照明或者发光)来说,可能不需要这些高级特性。在这些应用中,诸如 TLC555 的 555 定时器可以代替微处理器,从而在实现 LED 电流精确控制的同时降低系统成本,其与输入电压、温度和 LED 正向压降无关。
例如,TLC5917 是一款专用 LED 驱动器,其控制八个独立的恒流电流阱。正常情况下,它要求一颗微处理器,以驱动四个数字输入信号。指令/OE(允许输出)激活和关闭 IC。串行数据输入 (SDI) 数据在时钟 (CLK) 上升沿被时钟输入至 IC 的输入移位寄存器。移位寄存器中的数据在 LE 下降沿(锁闭)转入内部开/关锁存器中。当需要 LED 电流的简单 LED 开/关控制时,下列电路使用随处可见的 555 定时器,来代替微处理器控制。
图 1 TLC555 定时器代替 LED 驱动器的微处理器
TLC5917 输出可以驱动八个独立 LED,或者也可以并联其输出以提高电流能力来驱动单个更高功率的 LED。其内部电流设置寄存器具有默认启动值。这些值与Rext 共同设置 LED 电流。在这种应用中,Rext 将每个输出的电流设置为 IOUT = 18.75A / Rext = 18.75A / 178 ohm = 0.105A。将所有输出并联连接,得到 0.842 A 的 LED 电流。
上电时,内部开/关锁存器默认将所有输出开或者关至“0”,因此在输出开启以前这些锁存器必须被设置为“1”。555 定时器代替微处理器实现该功能。CLK 和 LED 都同时连接至 555 定时器的方波输出。在每个 CLK 上升沿,SDI 数据被移位至 TLC5917 输入移位寄存器中。在 LE 的下降沿,该数据被锁存至开/关锁存器中。由于数据的转移和锁存发生在不同的时钟沿,因此 CLK 和 LE 引脚可以连接至相同输入时钟信号。通过硬连线/OE 接地,IC 被永久性地激活。SDI 可连接至 Vcc,以在上电时自动开启 LED。这种连接“1s”连续计时,以开启所有输出。我们还可以将 SDI 连接至一个开关或者数字输入,以实现 LED 开/关控制。之后,可将 SDI 拉至 Vcc,所有“1s”连续计时,从而开启输出。否则其将被拉至接地,所有“0s”连续计时以关闭输出。
555 定时器的时钟速度决定了 LED 开关的快慢。每个 LE 下降沿将 SDI 数据锁存至另一个八内部开/关锁存器中时,八时钟脉冲期间 LED 电流在 0-100%之 间斜坡变化,从而开启或者关闭另一个八输出。图 2 显示了产生的阶梯状 LED 电流,其随每个连续 LE 下降沿而增加和减少。即使是相对较慢的 10 kHz 时钟频率,也会产生一个仅为 0.8mS 的关-开和开-关过渡,我们人眼对此的感觉仅是一瞬间。利用非常慢的时钟频率可以实现逐渐开和关。将时钟频率设置为 0.1Hz,可以在 0.8 秒时间内逐渐开启和关闭 LED。
图 2 10 kHz 时钟频率时的 LED 开启和关闭情况 |