0013基于C51单片机智能LED小台灯 原理图PCB设计proteus仿真

2021年4月22日 0 条评论 7.2k 次阅读 8 人点赞

【前言】

     hello 大家好,今天给大家讲一讲基于51单片机的智能LED小台灯,台灯在我们日常生活中太常见了,制作起来也非常容易,因为我们可以在基础功能上加一些自己的想法,这样做出来也是蛮有意思。

     本次设计采用的MCU仍然是基于51内核的单片机STC89C52RC,整个设计可以分为六部分——主控、显示、按键、时钟、USB小灯以及传感器。通过LCD1602液晶实时显示当前时间/模式/亮度等级,按'切换'键可切换四种不同的模式 a) 自动开关,自动调节亮度 b) 手动开关,自动调节亮度 c) 自动开关,手动调节亮度 d) 手动开关,手动调节亮度;长按'切换'键可打开或关闭LED小灯,按'增大'或'减小'键可调节LED亮度等级,按'设置'键可进入时间设置模式,设置之后可以加上纽扣电池保存时间,除了支持时间保存,也可以支持/模式/亮度等级掉电保存。

【仿真设计】

    下面是该项目的仿真图,模块化设计并配有功能说明,实现良好的易读性和移植性。(仿真文件为V8.11版本的,大家可以在此下载安装该版本:http://www.jh-tec.cn/archives/5696

 

【硬件电路设计】

    下面是该设计的整体原理图和PCB设计概览,原理图模块化分布,每部分都备注有对应的功能名称,便于阅读;PCB设计采用的3D封装的器件,主要是方便配合结构设计。

原理图:

PCB:

(板子上方丝印部分可以用来标标记个人信息)

 

下面详细介绍一些设计注意点哈,抛砖引玉~

1、关于MCU   本设计采用的MCU为STC公司的STC89C52RC,该芯片使用经典的MCS-51内核,钛叔相信绝大多数的朋友都熟悉该芯片的基本使用,毕竟这算是入门的第一款单片机了。最小系统如下图所示,很简单,这里不赘述具体原理。另说一句,在我们调试MCU小系统的时候,如果工作异常,无论什么类型芯片,首先第一步就是检查芯片的供电电源是否正常,再之后检测晶振和复位,绝大多数的问题都是出在这三个地方,钛叔记得以前学生时代有一次调试51单片机就始终下不进去程序,电源正常,复位也正常,最后发现就是晶振的谐振电容错焊成了1000pf,导致晶振起振失败,诸如类似的问题都可能导致芯片启动失败,所以大家按照我上述的三个点出发去调试,就一定能够解决问题。

(下载接口钛叔这里采用的XH2.54,大家可以在钛叔的店铺采购下载器,通过XH2.54连接线可以直接相连,避免插错的情况)

另外,钛叔这里也预留了几个扩展IO和一个LED灯,可以用来增添一些其他功能。

 

2、关于电源    如下图所示,钛叔在设计电源接口的时候根据实际使用情况多方面考虑,设计了三种接口方式——排针、WJ128接线端子以及miniUSB,排针可以用在杜邦线供电的情况,接线端子可以用在电源裸线供电的情况(这两种情况供电根据板载丝印正确插入,切记别插反),miniUSB供电的方式比较推荐,可以避免插反烧坏板子情况,钛叔这里之所以采用miniUSB而不是microUSB,主要原因是由于microUSB体积比较小,在开放性板子上面容易多次拔插情况下给搞坏导致接触不良(所谓开放性板子就是无结构件固定的裸板),所以这里钛叔没有采用microUSB。

电源开关部分钛叔采用的是8.5x8.5的自锁开关,这里需要注意就是自锁开关的方向,有部分同学焊接反了导致按下时候为电源关断,弹上来是电源闭合。

钛叔在该设计板上习惯性放了三个MRK点,如果大家有需要量产的需求,且板子比较大不会涉及拼版的情况,就记得放,如果后面是需要拼版的话,可以在最终的大板上放MRK点。

 

3、关于显示    该设计的显示部分钛叔采用的LCD1602,设计图如下图所示,这里需要注意如果用单片机的P0接口,记得加上拉电阻,这是该芯片决定的,不明白的朋友可以去看STC89C52RC数据手册哈;另外,LCD1602的R/W引脚,大多数的情况下直接接地保持写操作就行,如果是一些项目需要读操作的话,就需要把该引脚接入单片机(比如基于51单片机的示波器或者贪吃蛇这种项目);VL引脚是调试对比度的,如果事先不知道这个分压参数,用的是电位器的话,很可能第一次使用时候分压不合适导致显示屏亮的但没有东西,就误以为是自己程序的问题,这个问题钛叔以前也犯过,捣鼓了半天才发现是对比度没有调好,其实程序早已经再运行,如果大家是在某宝上买的液晶屏,大多数都是满足下边的分压参数,大家可以参考参考哈。

 

4、关于按键      该项目设计了四个功能按键,分别是增大、减小、设置以及切换,按键的型号钛叔采用的是贴片的6*6轻触按键,这里需要提醒大家的是,如果大家采用的回流焊机子,一定要注意购买耐高温的元器件,一般如果用编带的按键基本能过高温,如果是袋装的散件很可能就过不了,按钮部分很容易被烤坏,这里提醒大家一下

 

5、关于时钟    该项目设计有时钟,采用的芯片是常用的DS1302,该部分的电路设计很简单,数据接口记得加上拉电阻。另外,关于晶振部分是否需要加电容,这个钛叔测试过加和不加影响都不大,如果您不放心,可以在晶振两边备份两个电容。

 

6、关于USB小灯    该项目的小灯部分采用的是USB小灯,就是如下图所示这种,5V供电,使用起来非常方便(钛叔的店铺里边有出售)。板载的USB采用的是立式的,控制电路部分,这里同样推荐大家采用PNP的三极管,原因也和之前讲的蜂鸣器一样,避免单片机刚上电时候误触发。

 

7、关于传感器    该项目采用的了HC-SR501红外人体感应模块,该模块使用非常简单,一个3PIN的排母座子加三极管控制电路即可,参考电路如下图所示,注意模块插入的时候别插反了哈。

 

8、关于ADC采集    本项目采用的ADC芯片是TI(德州仪器)公司的ADS1015IDGSR,12位ADC,该芯片支持四通道输入,IIC通信接口,采样率(sps)为3.3K,能满足绝大多数使用场合,应用也很简单,也比较便宜,推荐大家使用。光敏电阻大家可以采用GL5516或者GL5506,分压电阻采用2k比较合适。 电路设计如下图所示,很简单,记得在IIC数据引脚加上拉电阻即可。

 

9、关于PCB布局布线    该芯片的外围比较简单,工作频率也不算高,大家根据器件的原理图位置合理放置就OK,关于GND尽量要保证底层的地完整,不要切割太多,上层的每个GND焊盘附件放置数个过孔,具体的设计大家可以参考我下图。

 

【程序设计】

    钛叔想了一下,文字来描述程序可能有点拘束,该部分后面再录视频给大家讲解。

【实物】

 下面是钛叔做出的实物,是不是看着挺漂亮的😄!调试一切OK,功能正常。

 

演示视频:

https://www.bilibili.com/video/BV1h64y1v7kx/

购买地址:

https://item.taobao.com/item.htm?ft=t&id=641808886372

资料地址:

链接:https://pan.baidu.com/s/1c4OZHerU5TYpH3TkYAXhOw

提取码:i3s1

 

极寒钛

别给思维设限