7

面包板上的流水灯

 2 years ago
source link: https://z-rui.github.io/post/2016/10/led_circuit/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

面包板上的流水灯

Fri Oct 7, 2016

led-4.jpg

流水灯是一种非常简单的电路设计项目。使用移位寄存器很容易实现这个电路:

led-1.svg

本来我计划采用一片555定时器产生时钟信号,一片74595移位寄存器实现流水灯的功能。可惜,电路做到一半发现74595的2号引脚(Q2)似乎损坏了(Q2输出高电平时,Q0~Q7会一起输出高电平;3号引脚对地电阻约几十千欧,其他引脚对地电阻都在兆欧以上)。其实做这个电路比较合适的集成电路是74194,但我没有。我也没有其他的移位寄存器了,于是用了两片7474(各含2个D触发器)来完成这个电路。

电路原理图如下:

led-2.svg

555定时器用于产生方波信号,频率可由电位器R4调节。产生的方波作为四个D触发器的共用时钟。每个D触发器的输出Q作为下一个D触发器的输入D,实现循环移位的功能。我使用的74HC74芯片的输出电流为±25mA,足够驱动LED。每个LED按2V 20mA算,则需要限流电阻150Ω,因为同一时刻只有一个LED亮起,所以可以共用一个限流电阻。

这个原理图是用Fritzing绘制的。这个软件的优势是它不但可以绘制原理图和PCB图,还可以绘制基于面包板或者Arduino开发板的实物图。这给业余电子制作者带来了很大方便。这个软件也有一些缺点。比如自定义元器件的时候编辑起来似乎比较麻烦,布线功能用起来不太顺手,导出的SVG文件也有一些问题(图中RESET标签的文字都是颠倒的)。

led-3.svg

我在面包板上搭了类似的电路,并验证了其功能。电路的运行效果也可以通过Falstad的电路仿真器观察。

PS 我本来是想用FPGA做一个PIC的编程器(比这个流水灯高级许多),然后用PIC跑一个流水灯验证我编程正确。我已经调试了很久时序,感觉没有问题,但是似乎看不到编程成功的迹象。正准备再尝试一次的时候,不小心把12V电源短接到5V电源上,烧了几个三端稳压器。现在FPGA的供电电源坏了,我也没法做一些复杂的电路了。

PPS PIC微处理器真是个神奇的东西。我这里有一块PIC12F629的芯片,才8个引脚,和555一样大小,功能却强太多:内置4MHz振荡器、2个定时器、6个通用IO口(足以驱动LED)。用PIC写流水灯那么只要一片集成电路就足够。



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK