每个数字时钟内部都有一个水晶,可以跟踪时间。该晶体不仅存在于时钟中,而且还存在于所有计算实时系统中。该晶体产生时钟脉冲,这是时序计算所必需的。尽管还有其他一些方法可以获取时钟脉冲以获得更高的精度和频率,但最优选的方法是使用晶体来跟踪时间。在这里,我们将使用DS3231 RTC IC来构建基于Atmega16的数字壁钟。DS3231 RTC的内部具有高精度晶体,因此无需外部晶体振荡器。
在此数字时钟项目中,使用十个0.8英寸的公共阳极7段显示器来显示时间和日期。此处使用七个分段显示来显示小时,分钟,日期,月份和年份。我们的PCB设计还具有显示秒数和温度的选项,可以通过添加更多的显示单元来显示它们。
所需组件
- ATmega16 AVR微控制器
- DS3231 RTC集成电路
- 共阳极0.8英寸七段显示屏(其尺寸比普通尺寸显示屏大(0.56英寸)
- 按钮
- 纽扣电池3v
- 7805稳压器
- 1000uf电容器
- 蜂鸣器(可选)
- 晶体管BC547和BC557
- 10uf电容器
- 100欧姆电阻
- 1K电阻
- 10k电阻
- PCB板
- 跳线
- Burgstips
- 电源适配器
用户也可以使用Atmega32,在生成十六进制之前需要在编译器中对其进行配置。
电路图和说明
此数字壁钟电路有两个部分,一个是显示部分,在五个不同的PCB板上有5对7段,另一部分是受控单元部分,负责从RTC芯片中获取时间并将该数据和时间发送到7段显示。由于我们已经使用了10个七段显示器,因此我们无法将每个显示器连接到单独的IO端口。因此在这里,多路复用技术用于使用更少的微控制器引脚来连接多个七个网段。
七段显示器的LED引脚a,b,c,d,e,f,g,h连接到atmega16并联的PORTB。这里我们使用了10个七段显示器,因此我们需要10个控制引脚,分别连接到PORTD,PORTA和PORTC。
具有内部晶体的RTC DS3231连接到PORTC的SDA和SCL引脚,因为该芯片可进行I2C通信。该芯片的接口方法与DS1307相同。我们已将DS1307与Arduino,Raspberry Pi和8051 MCU结合使用。DS3231和DS1307可以使用相同的代码。
在SDA和SCL线上连接了两个10k上拉电阻。3v纽扣电池用于为RTC芯片供电,即使在主电源关闭的情况下也可以跟踪时间。每当重新通电时,时间就会开始显示在七段显示器上。现在,我们在PORT A上有一些用于设置时间的按钮,最后的视频介绍了完整的过程。5v稳压器用于将输入电压转换为5v。所有连接在下面的电路图中显示:
对于一块显示板,使用了两个七段式显示器和两个LED。因此,这里我们有五个不同的显示板,以小时和分钟(HH-MM)表示时间,以DD-MM-YY表示日期。
数字时钟的PCB设计与制造
对于基于Atmega16的壁钟项目,我们设计了两个PCB。第一个是控制单元,用于控制项目的所有操作,第二个部分是在七个分段显示器上显示时间和日期。显示部分包含五对0.8英寸的七段式显示器。因此,通过组装5件,我们得到了完整的数字时钟。要多路复用7段显示器,将5个PCB的数据线连接到控制单元的同一端口,并将控制线连接到控制单元的不同引脚。
以下是一个包含两个七段式显示器的显示板的PCB布局的俯视图和仰视图:
以下是控制单元PCB的顶视图和底视图
这是两个板的附加Gerber文件:
- 基于Atmega16的控制单元的Gerber文件
- 七段显示板的Gerber文件
使用PCBGoGo订购PCB
在线提供了许多PCB制造服务,但是当我之前在其他项目之一中使用PCBGoGo时,与其他供应商相比,我发现它便宜且省事。
以下是从PCBGoGo订购PCB的步骤:
第1步: 进入www.pcbgogo.com,如果这是您第一次,请注册。然后,在“ PCB原型”选项卡中,输入PCB的尺寸,层数和所需的PCB数。
第2步: 单击 立即报价 按钮继续。您将进入一个页面,在该页面上可以根据需要设置一些其他参数,例如使用的轨道间距等材料。但是大多数情况下,默认值都可以正常工作。我们在这里唯一需要考虑的是价格和时间。如您所见,构建时间仅为2-3天,而我们的PSB仅花费5美元。然后,您可以根据需要选择首选的运输方式。
第3步: 最后一步是上传Gerber文件并继续付款。为确保流程顺利进行,PCBGOGO在继续付款之前会验证您的Gerber文件是否有效。这样,您可以确保您的PCB易于制造,并且能够按承诺完成。
现在,PCBGoGo将花费大约10分钟到1个小时的时间来查看您的Gerber文件。审核完成后,您可以继续付款。
组装PCB
订购该板后,几天后便到达了我,尽管快递员装在一个整齐有序的包装良好的盒子里,而且像往常一样,PCB的质量很棒。我分享了以下几张木板的图片,供您判断。
我打开了焊锡棒,开始组装电路板。由于脚印,焊盘,通孔和丝网印刷的形状和尺寸都非常合适,因此我组装电路板没有问题。拆箱后仅需10分钟即可准备好板子。
焊接后电路板的几张 图如下所示。
测试数字时钟
本教程末尾提供了完整的代码,只需按照电路图所示连接PCB,并将代码上传到Atmega16。然后,您将看到时间和日期出现在十个七段显示器上。
可以使用控制单元上的四个按钮来设置时间和日期,如下面的视频所示。