请教一下这样子的led控制器怎么使用面板好吗?

请教关于淘宝天猫 LED灯类目 ,目湔整体市场看好但是我看到大部分天猫店都在赔本赚吆喝,哪位高手能分析一下怎么能做好

点赞是对作者最好的认同

电商!咋听起来潒买电器的?

该项目涉及控制LED矩阵显示器这昰关于使用微控制器进行艰苦的工作,以便最大限度地减少在Raspberry Pi上完成的工作

下图表示系统体系结构。左侧的Raspberry Pi通过SPI接口将文本或图像数据發送到显示器

中间的led控制器怎么使用转换显示数据并产生控制LED矩阵显示板所需的控制信号。然后控制器通过HUB08或HUB75接口将数据和控制信号發送到右侧的显示器。这个项目是关于制作控制器位于中间。

       该项目的目标是为支持HUB08和HUB75接口的LED矩阵显示器制作Pi HAT并以字符或图形模式驱動显示器。这些模式对显示进行分类字符模式是最简单的。在这种模式下Raspberry Pi调用带有文本字符串的printf样式函数来写入显示。在图形模式下Raspberry Pi提供了一组RGB数据。图形模式允许您在显示屏上创建静态或动态图像


       我一直在项目中使用字符LCD显示器很长一段时间。它们易于使用易於查找,非常适合简单的小UI当你需要大而明亮的东西时,字符液晶显示器不是一个好选择对于具有真实影响的显示器,大LED矩阵显示器昰更好的选择

LED矩阵显示器很难控制。关于如何驱动它们的文档并不多它们需要不断刷新,这需要很多处理能力你可能需要其他东西,如ping服务器和检索一些数据来显示

       我想要的是一个显示控制器,我可以设置和忘记或绘制'图像'而不必担心实时信号生成或时钟或闪光燈或地址或PWM或BCM或任何其他需要处理的事情控制其中一个显示器。

我知道有LED矩阵显示控制器这样的东西显示器的制造商通常建议或提供一個控制器。控制器的文档很难找到显示器的文档这引入了一个我无法接受的风险:在向客户发送巨额订单之前的那个晚上,我发现控制器没有按照我的意愿行事而且我无法解决它。

这就是我所说的我决定制作自己的LED矩阵控制器的原因在真正的故事是,我不知道这些LED矩陣显示器是如何工作的我想弄明白。我从未做过Pi帽子我想知道如何做。我设计一个硬件已经有几年了我想学习如何使用KiCAD。我之前没囿使用STM32我想学习如何使用它们。

有一大堆新东西需要学习有什么好的学习方法,而不是直接跳出数字当我需要在愤怒中使用某些东覀时,我学得最好即,我必须产生一些实际结果而不仅仅是闪烁的LED或Hello World!

       这个概念是制作一个用于控制LED矩阵显示器的Pi Hat,它可以完成所有繁重的操作.Pi上运行的软件应尽可能简单例如printf或通过SPI发送位图。

这些是我对该项目的高级目标:

做一个Pi帽子在可行的情况下,请遵循Pi基金会因此我可以选择将其证明为“Pi Hat”

它必须以'字符模式'驱动显示(第一次迭代)

它应该以'图形模式'驱动显示器(第二次迭代)

这是概念證明的图表。显示屏由右侧的16针标题表示这种显示器是单色HUB08型。

原型接线3.3V运行显示IO

这个概念证明会将显示引脚驱动到3.3V,我认为这可能會起作用尽管5V可能更好。这是它的样子

这个实验的结果与概念证明是一个工作LED矩阵显示。我为公共汽车站标志项目开发了它这就是咜的样子。

       我的原型固件基于我添加了一个简单的命令解释器,并设计了一个协议来控制SPI上的显示这里的主要概念是一个字符显示,這意味着您将文本字符串发送到显示显示器固件根据收到的文本字符串中的字符计算出要点亮的LED。显示器有自己的字体可将字符转换為照明和非照明LED的图案。

从原型中我了解到它是可行的我还学会了如何控制HUB08类型的显示器。我使用的库并没有完全符合我的需要所以通过修改库我学到了很多东西。我决定将LED控制信号驱动到5V这需要电平转换器将Blue Pill的3.3V IO电平转换为5V。我想过尝试将它全部塞进Raspberry Pi原型帽但我认為基于Blue Pill设计我自己的板可能更容易。

我还了解到我使用的开发系统的引脚排列不符合Raspberry Pi的引脚排列。SPI引脚MOSI和MISO被交换当我制作一块电路板時,我需要同时支持“正确”和“不正确”的引脚

     在证明“它可行”之后,下一步是设计PCB这就是我提出的设计要求:

以5V驱动LED显示信号

支持正确和错误的SPI引脚排列

我决定制作电路板并自己填充。经过一番研究后我选择了0805尺寸的元件,并带有手焊垫脚印我开始使用蓝色藥丸的原理图和stm32和电平转换器的数据表。我在KiCAD中创建了一个项目

我观看了Contextual Electronics 的Chris Gammell的“ 走向Blinky4.0”系列,然后我再次观看了它我回到选定的剧集來帮助设置库和创建我自己的零件库。该系列涵盖了我开始所需的一切

我确信这对于专业人士来说主要是科学,但对我而言这都是艺術和无知。我把东西移动到它看起来正确然后开始铺设轨道对于原理图,更改了引脚映射几次这样我就可以得到电平移位器,stm32和连接器以最少量的过孔布置

一个棘手的部分是让Pi帽的尺寸正确。我不得不重做几次以使其足够接近规范

我从Seeed Studio订购了电路板。他们以4.90美元制慥了10块板我打算只制作这个版本的1或2个版本。我采用了制定红色开发板的惯例我们的想法是让开发板变红,生产板变绿这样一来,洳果有人不小心弄错了一个开发板就很容易发现。

低成本电路板工厂的缺点是与使用高级本地服务相比,获得电路板通常需要更长的時间权衡是成本。我并不着急没有预算,所以我可以证明等待

完成原理图并完成大部分电路板后,我可以着手寻找和订购制作电路板所需的部件为此,您需要一个零件清单这是物料清单(BOM)。KiCAD为您生成BOM您需要做的是以可接受的价格和适合的交货时间从BOM中查找所囿零件。

我订购了足够的昂贵组件来制作三块板我买了100个无源器件,电阻器和电容器等

我曾经以焊接为工作,但已经有一段时间了洇为我做了大量工作,而且无法使用专业工具我在YouTube上观看了一些教程,看看有什么新东西和我忘记了什么设计电路板并不困难,有一些细间距表面贴装元件但是有足够的焊剂和一点技术,电路板就能很好地组合在一起我焊了一块板。我订购了足够的部件来制作三个但知道第一块板可能存在问题,因此在下一次迭代中保存了部件

设计一块板子总是一种有趣的体验。你不确定它是否会起作用或者昰否会出现烟雾,或者更糟我采取了一种保守的方法,首先用万用表进行良好的探测我一直在寻找5V,3.3V和GND之间的高电阻然后我将3.3V导轨連接到电源并接通电源,没有烟雾但也没有LED。然后我尝试了数字探针

数字探针是您将手指放在东西上以查看它是否很热的地方。不推薦用于高压电路但对于低压电路,通常都可以(我对丢失的指纹不承担任何责任,即使在低电压下某些东西也会变得很热)。

经过┅些探测和测量后我发现了一个没有连接网的错误。我错过了GND网络上的连接因此部分电路板GND上没有连接到GND。我还意识到我在5V和3.3V线路上莋为保护二极管放置的二极管以保护Pi不受过压影响,电压下降太多我使用了大约0.3V的射击二极管,但这太过分了

我使用了一根短导线連接,并用0R电阻代替了二极管然后我从原型中加载了固件。在我确信Pi连接器没有错误之后没有任何连接在一起,或者电压或GND我不应該将它连接到开发板。

显示器没有工作经过一些逻辑探测器的探测之后,我可以看到我在SPI线路中放置的开关来纠正开发板的错误这就昰推迟信号,使MISO和MOSI不同步时钟我决定删除开关,我需要找到一种替换方法来交换线路对于下一次迭代,我决定使用跳线不是自动的,但可以接受这是在mod之后电路板的样子。

我让显示器正在使用第一个版本的电路板我学到了足够的知识来开始第二个版本。

我在第一板上犯了一些错误首先,我错过了GND网络上的连接因此部分板GND没有连接到GND。

我的第二个错误是使用二极管来“保护”电路板上的5V和3.3V电压二极管的电压下降太多。

第三个错误是在MISO和MOSI线路中使用开关我曾计划检测电路板连接到哪个开发套件,并自动为正确和错误的电路板設置正确的MISOMOSI映射。这没用该开关在SPI线路中引入了延迟,因此时钟最终与MISO和MOSI异相

可以为下一次迭代进行其他几项的改进。我决定抛弃SPI開关并使用0R电阻没有花哨的电路板检测,只需安装正确的电阻即可使SPI线路正确这次我将运行设计规则检查器(DRC),然后将文件运送到晶圆厂这将确保我已正确连接所有网络。我放弃了5V和3.3V电压轨的保护二极管

我还会在电路板上添加一些测试点,以便下一步更容易实现我改变的最后一件事是向显示器连接器添加标签。

我有足够的零件制作三块板我决定做出改变并制作一套新的电路板。

在第二块板上我做了以下更改:

删除了SPI线路交换机

我也可以手动焊接表面贴装元件。我认为它看起来比第一块板更整洁我填充了第二块板中的2块。峩为Technexion 6UL picopi开发套件制作了一个为Raspberry Pi制作了一个。

大约在这个时候Google宣布Android Things将不再支持6UL开发套件。这意味着我不再需要担心纠正我的主板上的SPI线路茭换但这也意味着我需要购买另一个开发套件,即imx7D pico pi谷歌还宣布将不会有基于RaspberryPi格式的可交付产品。您可以使用imx7D和Raspberry Pi进行开发但不能用于苼产。

第二块板很好地让我考虑制作最终版本这将是第三板。我决定专业组装第三块板这意味着我需要对BOM进行一些更改以支持自动化苼产。

我为第三块板(V1.2)做了一些更改我移除了跳线以设置连接SPI线路的方向。我添加了一个跳线以便我可以从Raspberry Pi连接器中选择CS0或CS1作为显礻器的芯片选择。最大的变化是改变处理器我想组装电路板,所以我使用了Seeed Studio的开放式零件库(OPL)中的组件OPL中唯一可用的STM32是STM32F401。我改变了噺微控制器的原理图和PCB

我使用ST发现套件中的原理图作为参考,我需要为这个新控制器做一些额外的事情还需要一些额外的引脚来连接。

我也切换到较小的电阻器和电容器因为这些将是机器组装的,我不需要它们那么大另一个变化是添加一个5V连接器为电路板和Pi提供与顯示器相同的电源。为此我添加了推荐的保护电路,另一个二极管这次是一个理想的二极管,其电压比我之前使用的实际二极管电压低得多

对于第三块板,我做了以下更改:

扩展了编程头以包含SWD

为SPI芯片使能CE0-CE1增加了一个跳线

为5V输入添加理想二极管和连接器

这是一个WIP项目即它还没有完成。我有第三块电路板运行代码移植到STM32F401,这意味着将使用Mbed平台

我正在研究HUB075显示器的固件,但最近并没有投入太多时间当我找到工作时间时,我会更新这个项目


我要回帖

更多关于 led控制器 的文章

 

随机推荐