基于51单片机的交通灯设计(二)-原理图 / 单片机设计

5年前 阅读 / 5370 来源 / 原创 文 / zhangbao

上一篇文章我们已经确立了一个学习项目,就是制作一个交通灯控制系统,并且对系统的功能有了描述,在器件选型上也有了选择结果,接下来,我...

上一篇文章我们已经确立了一个学习项目,就是制作一个交通灯控制系统,并且对系统的功能有了描述,在器件选型上也有了选择结果,接下来,我们来了解原理图。

01

设计原理图需要使用EDA软件,国内使用比较普遍的有Protel、Altium Designer等等。

Protel虽然有着简单易学的美名,但是我强烈建议初学就用Altium Designer。举个例子:win98简单,但是win8更先进,用先进的东西可以让你做出更丰富的内容,节省更多的时间,简单背后是长期的低效,克服暂时的困难才能给你带来长期的高效。

如何快速入门?学习!方法很多,这是一个系统话题,这里先不介绍相关内容或方法。从入门到熟练使用需要一个长期的过程。

原理图设计步骤简单分为以下几步:

  1. 建立PCB工程

  2. 新建原理图SCH文件

  3. 新建PCB文件

  4. 添加或制作SCH元器件

  5. 绘制原理图

  6. 元件注释

  7. 编译文件

  8. 添加或制作PCB元件

  9. 在原理图中设置封装管理器

  10. 更新PCB文件(update pcb document)

  11. 布线

  12. 错误规则检查

  13. 输出最终文件

02

打开Altium Designer 软件,首先建立一个PCB工程:


基于51单片机的交通灯设计(二)-原理图

用Altium Designer建立新PCB工程截图


然后在工程里面新建两个文件,一个是SCH文件,一个是PCB文件:


基于51单片机的交通灯设计(二)-原理图

用Altium Designer建立新文件截图


保存后,就可以开始设计原理图。

03

下面我们来具体分析绘制好的原理图。

振荡器外接晶体电路

对于目前主流单片机来说,既有内部集成的时钟电路,也有外接晶体的振荡电路,可以通过设置来选择使用哪一种方式给系统提供时钟源。而且时钟还可以设置分频,总之功能和选择空间非常大。

那么我们这次采用的单片机,内部只有一个振荡电路,需要外接晶体和两个电容。

XTAL1是振荡器输入端,XTAL2是振荡器输出端,连接到内部时钟信号输出端,那么,如果有一个时钟信号,就可以不用晶振,从这个管脚输入给单片机,一样可以工作。

这个晶体的选择范围是2MHz至40MHz,我们这里用的是12MHz,这个频率值关系到单片机的运行速度。单片机的定时函数,和定时器时间设置,都要根据实际频率来计算。

51单片机外部晶体连接原理图

51单片机外部晶体连接原理图

复位电路

同样,对于目前主流单片机来说,内部集成集成了可靠的复位电路,一般无需外接。

那么我们这次采用的单片机,需要外接电容和电阻实现开机复位功能。用按键实现随时手动复位的功能。

复位可以看作是一个低电平有效的输入信号。如图所示:在上电时,由于电容两端电压不能突变,RESET脚和VCC同时上升到5V电压,然后电阻给电容充电,电容两端电压差增大,RESET脚电压降低,低到一定值后,单片机接收到一个相对的低电平,内部做出复位操作。

手动复位则是人为通过按键短路电容,使得RESET管脚电压升高,再利用电阻充电的功能使RESET获得一个低电平。

基于51单片机的交通灯设计(二)-原理图

51单片机复位电路原理图


串行通讯接口

单片机提供了一个两线串行通讯接口RXD/TXD,连接到元器件P2插针。虽然本设计没有使用串行通讯,但是要下载单片机代码,必须使用这个端口。

基于51单片机的交通灯设计(二)-原理图

单片机串行接口原理图

信号灯

每个方向的信号灯都是由红、黄、绿三种颜色组成。

实际的信号灯通常采用大功率点阵提供高亮的光照信号,我们作为学习,采用单个的LED发光二极管模拟它。

每一组信号灯实际不会出现同时点亮的情况,因此可以共用一个供电限流电阻。如图,当某一个LED的负极被单片机I/O口拉低电平后,就可以被点亮。

基于51单片机的交通灯设计(二)-原理图

信号灯控制原理图

实际演示效果中,绿色LED被点亮时显得很暗淡,分析原因,是由于绿色LED的正向压降大。直插封装LED的正向压降,红色一般是1.8V左右,绿 色为2V左右,那么采用同样的限流电阻,LED的工作电流就不同,为了使绿色LED亮度提高,单独给绿色LED提供供电,限流电阻阻值相应减小。

传统直插封装LED的电流通常是20mA,目前我们大多选购高亮产品,同样亮度时,相对电流小,但是对于室内实验,我们一般给它提供3至5mA的电流就可以明显点亮。这样不但节省电能,也提高了LED的使用寿命。

下图是针对绿色LED单独供电的线路图:

基于51单片机的交通灯设计(二)-原理图

针对绿色LED选择不同限流电阻的原理图

思考:由于东西和南北两个方向不会出现同时绿灯通行情况,那么绿色LED的供电电阻是否也可以公用?

原理图使用的标号说明:

东East、 西West、 南South、 北North,

取英文首字母E、W、S、N代表不同方向;

红Red、黄Yellow、绿Green,

取首字母R、Y、G代表三种颜色;

标号,在原理图设计中,用标号代替连线。两个或多个节点,放置相同的标号,就等同于用导线将它们连接起来。这样做很方便更换和修改连接,而且线路简洁清晰。

由于东和西一组方向的信号灯一致,南和北方向的信号灯一也致,所以把相同的颜色LED可以并联控制。

下面是单片机端口和信号灯连接原理图:

基于51单片机的交通灯设计(二)-原理图

单片机I/O口控制信号灯原理图

数码管显示

上一篇文章介绍了数码管内部结构和显示原理。

下面是数码管段码数据和单片机连接原理图:

基于51单片机的交通灯设计(二)-原理图

单片机连接数码管段码原理图

从图中可以看出,决定显示内容的段码数据,连接到单片机P0端口,对于一个共阳极数码管,段码(内部LED负极)可以不需要上拉电流,只要有下拉电流就可以点亮。因此P0口作为I/O口使用也不需要上拉电阻,只串接限流电阻就可以。

下面是数码管公共端(也就是选择点亮的位)和单片机连接原理图:

基于51单片机的交通灯设计(二)-原理图

单片机通过74HC245控制数码管公共极的驱动电路原理图

由于东和西一组方向的倒计时时间一致,南和北方向的也一致,所以把相同的位并联控制。当然也可以分开控制,需要多用一些端口,程序中稍作修改即可。

整个电路共有四组数码管和信号灯。

供电电路

这是一个简单的供电电路,由三部分组成:输入、开关、滤波。

基于51单片机的交通灯设计(二)-原理图

电源电路原理图

J1是一个圆孔电源插座,有三个电极。

内部电源地和1端连接,插座内部连接的是一个有弹性的金属片;

插座2端连接的是一个金属触点,平常2和1通过触点联通;

内部电源VCC在开关之前连接到插座3端,插座内部是一个圆针。

当外部插头插入插座时:

外部地线通过弹片和1端连接到内部地线,由于物理变形,弹片和触点断开,1和2断开,也就是断开了端2;

外部电源正极通过圆针和端子3连接到内部电源开关输入端;

既实现了外部供电,同时也切断了端子2的连接。

P1是一个外电源接线端子。

P1的1端是外部电源输入负极(地),连接到插座的2端,当插座使用时,该脚被断开,可以自动的避免两路供电发生冲突。

S1是一个电源开关。

C4和C5是电源滤波电容。

C4是电解电容,对外部电源进行低频滤波,同时具有储能作用。

C5是独石或瓷片电容,负责滤除电源中的高频干扰。

04

PCB文件制作

线路板规划:双面板,大小10*15cm。

设置规则。

自动布线。

基于51单片机的交通灯设计(二)-原理图

Altium Designer 自动布线完成后的截图

随后针对机器布线的问题手工修正和调整。

错误规则检查后,就可以输出需要的文件。

简单的步骤就可以这样完成。

05

作为学习目的,实物制作可以采用面包版或洞洞板加连线。

在洞洞板焊接的情况下,有一种错误的做法是:个别人喜欢用元器件的长针脚当作连线焊接,而一旦某个元件需要更换或者调整,拆除是非常困难的。因此,不要用元器件的管脚充当连线,这样不仅利于制作,也利于美观和焊接方便。

基于51单片机的交通灯设计(二)-原理图

Altium Designer 设计完成的3D效果图



5

扫一扫关注微信公众号
评论列表
共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~