利用TLD2131组成LED矩阵显示实验电路板
简 介: 利用了Infineon公司的高边LED驱动芯片TLD2131,TLD2331,来与NPN晶体管共同组成LED矩阵驱动电路,可以利用少量的GPIO来驱动LED矩阵显示。本文利用了三个TLD2131组成了3×3的LED矩阵,测试了电路的工作原理。为应用在智能车竞赛中显示电压大小的LED灯柱设计提供基础。
关键词
: TLD2131,TLD2331,LED,智能车竞赛,Infineon
Contents
的LED矩阵
§01 TLD2131
一、LED矩阵
在 测试Infineon车载LED驱动芯片TLD2131 中对于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 电路测试
一、电路设计1
基于 三个 TLD2131 模拟一颗TLSD2331的高边控制,测试电路的特性。
1、电路原理图1
利用三颗TLD2131组成3×3LED显示矩阵的电路原理图如下:
▲ 图2.1.1 利用三颗TLD2131组成3×3LED显示矩阵
2、快速制版实验PCB
设计单面PCB实现上述原理图,可以适合使用 一分钟制版 制作实验电路。 下面是设计的相应的PCB。
▲ 图2.1.2 利用快速制版工艺制作的单面PCB设计
3、焊接PCB
一分钟之后,通过快速制版获得PCB,进行焊接之后,形式调试电路。
▲ 图2.1.3 焊接实验电路板
二、搭建电路
1、在面包板上搭建电路
在面包板上搭建测试电路。控制器使用 设计带有SD卡的 MM32F3277 MicroPython 实验板 来控制。控制管脚分布使用 PC0,1,2,3, PA0,1来控制。其中下载了 来自MindMotion在2021-11的版本MicroPython 。可以使用MicroPython来测试相应功能。
▲ 图2.2.1 在面包板上搭建的测试电路
2、连接关系
MM32F3277测试电路板与LED矩阵测试控制端口之间的连接关系如下:
- 测试连接关系:
-
EN123
:PC0,PC1,PC2
CN123
:PC3,PA0,PA1
三、测试LED矩阵
1、整体闪烁
(1) 测试代码
from machine import Pin
import utimerow = [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 utimerow = [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]*3def LED1ms():global ledrow, rowbyte, row, colfor r,c in zip(row, col):r(0)c(0)rb = 0if ledrow == 0:ledrow += 1elif ledrow == 1:ledrow += 1else:ledrow = 0row[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 rowbyterowbyte = [0]*3pp = id//3p3 = id - pp*3rowbyte[pp] = 1 << p3count = 0
position = 0
while True:LED1ms()utime.sleep_ms(1)count += 1if count >= 50:count = 0SetLEDPoint(position)position += 1if position > 8: position = 0
(2)测试结果
▲ 图2.3.2 测试流水灯的效果
3、测试LED柱
(1)测试代码
在前面的测试代码的基础上增加SetLEDColumn()函数,并对主循环进行修改。
def SetLEDColumn(id):global rowbyterowbyte = [0]*3for i in range(id + 1):pp = i//3p3 = i - pp*3rowbyte[pp] |= 1 << p3#------------------------------------------------------------
count = 0
position = 0
dir = 0
while True:LED1ms()utime.sleep_ms(1)count += 1if count >= 50:count = 0if dir == 0:SetLEDColumn(position)else:SetLEDColumn(8 - position)position += 1if position > 8:position = 0if dir == 0: dir = 1else: dir = 0
(2)测试结果
▲ 图2.3.3 程序运行效果
※ 测试总结 ※
利用了Infineon公司的高边LED驱动芯片TLD2131,TLD2331,来与NPN晶体管共同组成LED矩阵驱动电路,可以利用少量的GPIO来驱动LED矩阵显示。本文利用了三个TLD2131组成了3×3的LED矩阵,测试了电路的工作原理。为应用在智能车竞赛中显示电压大小的LED灯柱设计提供基础。
一、LED灯柱
根据 第十七届全国大学生智能车竞赛 中要求,无线充电阻需要使用LED显示当前车模法拉电容上的电压大小。利用上面的参考设计,可以方便设计出由LED组成的发光阵列来显示。
利用两颗TLD2331可以驱动6列LED,配合3个NPN晶体管可以控制18串LED显示。三个LED串联可以增加阵列的宽度,使得显示更加的醒目。
▲ 图3.1 18列独立控制的LED矩阵
■ 相关文献链接:
- 测试Infineon车载LED驱动芯片TLD2131
- TLD2131
- 一分钟制版法
- 设计带有SD卡的 MM32F3277 MicroPython 实验板
- 测试MM32F3277-MicroPython 2021-11-17 版本
- 第十七届全国大学智能汽车竞赛竞速比赛规则
● 相关图表链接:
- 图1.1.1 LED 显示矩阵
- 图1.2.1 TLD2131(左)TLD2331(右)内部功能图
- 图2.1.1 利用三颗TLD2131组成3×3LED显示矩阵
- 图2.1.2 利用快速制版工艺制作的单面PCB设计
- 图2.1.3 焊接实验电路板
- 图2.2.1 在面包板上搭建的测试电路
- 图2.3.1 所有LED闪烁
- 图2.3.2 测试流水灯的效果
- 图2.3.3 程序运行效果
- 图3.1 18列独立控制的LED矩阵
测试电路板AD工程文件:AD\Test\2021\TLD2131\TestTLD2131Mul.PcbDoc * ↩︎ ↩︎
利用TLD2131组成LED矩阵显示实验电路板相关推荐
- 升压芯片很简单(一),快速选择升压芯片+利用升压芯片设计LED电源
升压芯片在电子电路中应用较多,但对于升压芯片,很多朋友并不了解.本文对于升压芯片的讲解,将基于两大方面:一.如何基于XL6009升压芯片设计LED闪光灯电源,二.如何快速选择直流升压芯片.如果你对本文 ...
- 最小系统开发板——利用STM32F103C8T6实现LED流水灯
WeChat:[嵌入式工程师成长日记] https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484101&idx=3&a ...
- 利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置
利用单片机 AT89C51 的 I/O 口,对 LED 和数码管分别进行控制.以实现 LED灯做流水运动,数码管显示所亮 LED 的位置. 使用74LS373可以节省I/O口 74LS373简介: ...
- 利用python-opencv对LED数码管显示数字进行有效识别
因为项目原因,现在要搞一个LED数码管的数字识别,识别包含各种各样的数码管,需要做通用匹配的文件,主要是利用opencv的的函数调用,并结合段式数码管的发光物理特性进行有效识别. 在项目中因为需要匹配 ...
- 利用PWM实现LED呼吸灯
一.实验目的 本实验使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LE ...
- 汇编实验1——利用8255实现LED的流水点亮实验
前言 做这个实验耗时近半天,其中安装虚拟机5小时,编写程序3小时. 踩过不少的坑,比如说一开始一直显示不出来usb插件,最后发现是开关没开:又比如,程序逻辑没有问题,但始终显示不出正确的结果,最后发现 ...
- ARM裸机的知识总结(4) ------- 利用GPIO控制LED
一.一步步点亮LED1_硬件工作原理及原理图查阅 1.LED物理特性介绍 LED本身有2个接线点,一个是LED的正极,一个是LED的负极.LED这个硬件的功能就是点亮或者不亮,物理上想要点亮一颗LED ...
- 利用4位led显示本机秒表时间的单片机c语言程序,基于单片机的一个2位的led数码显示作为_秒表_设计.doc...
基于单片机的一个2位的led数码显示作为_秒表_设计 PAGE 1 PAGE 29 工程技术学院 课程设计 题 目:用单片机AT89C51设计一个2位的LED数码显示作为"秒表" ...
- CC2530利用中断控制LED
#include<ioCC2530.h> #define led P1_4 #define key P1_1 /* *延时函数 ...
最新文章
- Flex 布局:语法篇
- Action Golf 四个魔法球实战训练系列_huatuo_新浪博客
- 洛谷P2503 [HAOI2006]均分数据(模拟退火)
- (转)I,P,B帧和PTS,DTS的关系
- android 中的PopupWindow
- 转发:Hekaton:SQL Server集成的内存事务处理
- QQ提示应用程序并行配置不正确,绿色版QQ不能运行解决方法
- 10个人里有几个大学生?
- [react] 使用PropTypes和Flow有什么区别?
- NoSQL之【Redis】学习(二):配置说明
- 52单片机定时器2使用(C语言程序)
- html中怎么让字体闪烁,HTML最简单的文字闪烁代码
- 自己动手一步步安装Linux系统
- c语言:简单排序:冒泡排序法、选择排序法、插入排序法(待写)
- 自动跑程序vbs脚本
- 台式机怎么开启 无线lan服务器,台式机没有无线网卡怎么样实现上网
- 【笔记】【一文解决】linux - grep、sed、awk 『三剑客』
- huobi API使用经验整理
- 网络服务器配置管理综合实训项目心得体会,服务器的配置与管理实训报告.doc...
- python词云生成