加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、LED矩阵
    • 二、基于TLD2331的LED矩阵
    • 一、电路设计
    • 二、搭建电路
    • 三、测试LED矩阵
    • 一、LED灯柱
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

利用TLD2131组成LED显示矩阵

2021/11/20
1035
阅读需 13 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

利用了Infineon公司的高边LED驱动芯片TLD2131,TLD2331,来与晶体管共同组成LED矩阵驱动电路,可以利用少量的GPIO来驱动LED矩阵显示。本文利用了三个TLD2131组成了3×3的LED矩阵,测试了电路的工作原理。为应用在智能车竞赛中显示电压大小的LED灯柱设计提供基础。

01 TLD2131

一、LED矩阵

在 测试Infineon车载LED驱动芯片TLD2131[1] 中对于1入3出的TLD2131的LED驱动芯片进行了初步测试。为了能够使用更少的MCU的IO口控制更多的LED,需要使用LED矩阵模式。这一点正好可以利用到TLD2132的高边驱动LED的特性,因此只要在辅助几个NPN三极管在底边进行选择,可以很方便组织LED的矩阵显示。

对于N个上边输出端口,M个下边输出端口,可以形成N×MLED点阵控制。通过循环控制,可以动态形成对于单个LED的控制特性。

▲ 图1.1.1 LED 显示矩阵

 

二、基于TLD2331的LED矩阵

Infineon公司的高边LED驱动芯片系列中,有三入三出的TLD2331-3EP,它的内部结构如下图所示。利用一个TLD2331-3EP便可以驱动三列LED,利用两个TLD2331便可以控制六列LED输出。因此在使用三个NPN三极管,便可以组成6×3=18个LED矩阵。

为了验证TLD2331驱动特性,本文利用手边刚刚到手的TLD2131组成电路进行测试。

▲ 图1.2.1 TLD2131(左)TLD2331(右)内部功能图

 

02 电路测试

一、电路设计

基于 三个   TLD2131[2] 模拟一颗TLSD2331的高边控制,测试电路的特性。

1、电路原理图[](AD\Test\2021\TLD2131\TestTLD2131Mul.PcbDoc * "测试电路板AD工程文件")

利用三颗TLD2131组成3×3LED显示矩阵的电路原理图如下:

▲ 图2.1.1 利用三颗TLD2131组成3×3LED显示矩阵

 

2、快速制版实验PCB

设计单面PCB实现上述原理图,可以适合使用 一分钟制版[3] 制作实验电路。下面是设计的相应的PCB。

▲ 图2.1.2 利用快速制版工艺制作的单面PCB设计

 

3、焊接PCB

一分钟之后,通过快速制版获得PCB,进行焊接之后,形式调试电路。

▲ 图2.1.3 焊接实验电路板

 

二、搭建电路

1、在面包板上搭建电路

在面包板上搭建测试电路。控制器使用 设计带有SD卡的 MM32F3277 MicroPython 实验板[4] 来控制。控制管脚分布使用 PC0,1,2,3, PA0,1来控制。其中下载了 来自MindMotion在2021-11的版本MicroPython[5] 。可以使用MicroPython来测试相应功能。

▲ 图2.2.1 在面包板上搭建的测试电路

 

2、连接关系

MM32F3277测试电路板与LED矩阵测试控制端口之间的连接关系如下:

  ●  测试连接关系:
   EN123:PC0,PC1,PC2
   CN123:PC3,PA0,PA1

三、测试LED矩阵

1、整体闪烁

(1) 测试代码

from machine                import Pin
import utime

row = [Pin('PC%d'%i, Pin.OUT_PUSHPULL) for i in range(3)]
col = [Pin('PC3', Pin.OUT_PUSHPULL),
       Pin('PA0', Pin.OUT_PUSHPULL),
       Pin('PA1', Pin.OUT_PUSHPULL)]

print("Light all LED.\r\n")

while True:

    for r,c in zip(row, col):
        r(1)
        c(1)        
    utime.sleep_ms(250)

    for r,c in zip(row, col):
        r(0)
        c(0)
    utime.sleep_ms(250)

 

(2)测试结果

软件运行后,可以看到所有(9颗)LED同时闪烁。

▲ 图2.3.1  所有LED闪烁

 

2、流水灯测试

(1)测试代码

from machine                import Pin
import utime

row = [Pin('PC%d'%i, Pin.OUT_PUSHPULL) for i in range(3)]
col = [Pin('PC3', Pin.OUT_PUSHPULL),
       Pin('PA0', Pin.OUT_PUSHPULL),
       Pin('PA1', Pin.OUT_PUSHPULL)]

print("Light all LED.\r\n")

ledrow = 0
rowbyte = [7]*3

def LED1ms():
    global ledrow, rowbyte, row, col

    for r,c in zip(row, col):
        r(0)
        c(0)

    rb = 0
    if ledrow * 0:
        ledrow += 1
    elif ledrow * 1:
        ledrow += 1
    else:
        ledrow = 0

    row[ledrow](1)
    rb = rowbyte[ledrow]

    if rb & 0x1: col[0](1)
    if rb & 0x2: col[1](1)
    if rb & 0x4: col[2](1)

def SetLEDPoint(id):
    global rowbyte

    rowbyte = [0]*3
    pp = id//3
    p3 = id - pp*3
    rowbyte[pp] = 1 << p3

count = 0
position = 0
while True:
    LED1ms()
    utime.sleep_ms(1)

    count += 1
    if count >= 50:
        count = 0
        SetLEDPoint(position)
        position += 1
        if position > 8: position = 0

 

(2)测试结果

▲ 图2.3.2  测试流水灯的效果

 

3、测试LED柱

(1)测试代码

在前面的测试代码的基础上增加SetLEDColumn()函数,并对主循环进行修改。

def SetLEDColumn(id):
    global rowbyte
    rowbyte = [0]*3
    for i in range(id + 1):
        pp = i//3
        p3 = i - pp*3
        rowbyte[pp] |= 1 << p3

#------------------------------------------------------------
count = 0
position = 0
dir = 0
while True:
    LED1ms()
    utime.sleep_ms(1)

    count += 1
    if count >= 50:
        count = 0

        if dir * 0:
            SetLEDColumn(position)
        else:
            SetLEDColumn(8 - position)

        position += 1

        if position > 8:
            position = 0
            if dir * 0: dir = 1
            else: dir = 0

 

(2)测试结果

▲ 图2.3.3  程序运行效果

 

※ 测试总结 ※

利用了Infineon公司的高边LED驱动芯片TLD2131,TLD2331,来与NPN晶体管共同组成LED矩阵驱动电路,可以利用少量的GPIO来驱动LED矩阵显示。本文利用了三个TLD2131组成了3×3的LED矩阵,测试了电路的工作原理。为应用在智能车竞赛中显示电压大小的LED灯柱设计提供基础。

一、LED灯柱

根据 第十七届全国大学生智能车竞赛[6] 中要求,无线充电阻需要使用LED显示当前车模法拉电容上的电压大小。利用上面的参考设计,可以方便设计出由LED组成的发光阵列来显示。

利用两颗TLD2331可以驱动6列LED,配合3个NPN晶体管可以控制18串LED显示。三个LED串联可以增加阵列的宽度,使得显示更加的醒目。

▲ 图3.1 18列独立控制的LED矩阵

 

 

参考资料

[1]测试Infineon车载LED驱动芯片TLD2131: https://zhuoqing.blog.csdn.net/article/details/121393835

[2]TLD2131: https://www.nexty-ele.com/nat/wp-content/uploads/sites/3/2017/10/Infineon-TLD2131-3EP-DS-v01_00-EN.pdf

[3]一分钟制版: https://zhuoqing.blog.csdn.net/article/details/104120559

[4]设计带有SD卡的 MM32F3277 MicroPython 实验板: https://zhuoqing.blog.csdn.net/article/details/121174772

[5]来自MindMotion在2021-11的版本MicroPython: https://zhuoqing.blog.csdn.net/article/details/121372618

[6]第十七届全国大学生智能车竞赛: https://zhuoqing.blog.csdn.net/article/details/121187014

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
1N4007GP-E3/54 1 Vishay Intertechnologies Diode Switching 1KV 1A 2-Pin DO-204AL T/R

ECAD模型

下载ECAD模型
$0.4 查看
796692-6 1 TE Connectivity 17.5A, MODULAR TERMINAL BLOCK, 2 ROWS, 2 DECKS
$8.47 查看
0533980271 1 Molex Board Connector, 2 Contact(s), 1 Row(s), Male, Straight, Surface Mount Terminal, ROHS COMPLIANT

ECAD模型

下载ECAD模型
$1.12 查看

相关推荐

电子产业图谱

公众号TsinghuaJoking主笔。清华大学自动化系教师,研究兴趣范围包括自动控制、智能信息处理、嵌入式电子系统等。全国大学生智能汽车竞赛秘书处主任,技术组组长,网称“卓大大”。