案例1 STM32智能家居系统PCB设计
1.新建工程
2.底板绘制
(1)原理图大小
(2)放置器件(shift+f)
按“空格键”可旋转元器件方向;
鼠标中间放大缩小;
右击取消放置;
按住“鼠标中键”、“右键”平移视图;
“Ctrl+鼠标滚轮”:上下滚动视图;
“Shift+鼠标滚轮”:左右滚动视图;
双击器件描述可编辑其描述;
①排母
②LED灯
相同名称的网络端口之间表示这两个端口相连。LED灯前串联一个电阻用来保护LED灯。电阻大小计算公式为:
V——供电电压,STM32输出电压为3.3V;
Imax——LED所能承受的最大电流;
③按键
按键本身没有正负极区分,因此通常使用一端接地,一端接上拉电阻抬高点位对按键区分按键正负极。
按键按下后会有一个抖动过程,需要对这个抖动过程进行消抖,有软件消抖(按键按下后延迟一段时间进行检测)和硬件消抖(如下图所示,并联一个电容)。电容大小计算公式:
——电容充放电时间常数
R——电容串联电阻大小
C——电容大小(法/F)
电容经过1时间完成63%充放电,5时间近似充满。假设按键抖动时间是20ms,那么5应大于等于20ms,由此可计算得出电容大小。
④ 蜂鸣器
蜂鸣器采用排母插在底板上。
蜂鸣器分为有源蜂鸣器和无源蜂鸣器。
有源蜂鸣器:单片机输出一个高电平或者低电平,蜂鸣器内部自己发生振荡,产生声音。
无源蜂鸣器:由单片机输出连续不断的高低电平,产生振荡信号,因此播放歌曲时通常使用无源蜂鸣器。
蜂鸣器工作电流要求比较高,单片机直接输出的电流一般无法直接驱动蜂鸣器,因此一般接一个三极管对电流信号进行放大。并且三极管(电阻很小)前串联一个电阻用来保护三极管。
输出模式:
推挽输出:既能输出高电平,又能输出低电平;
开漏输出:只能输出低电平。
⑤ESP8266
ESP8266采用UART串口通信,如下图所示:
使用排母将ESP8266插到底板上:
⑥光照传感器
使用排母将BH1750插到底板上。
BH1750采用I2C串口通信,如下图所示:
输出模式:
推挽输出:既能输出高电平,又能输出低电平。缺点:两个引脚不能直接连到一起,接到一起会短路。
开漏输出:只能输出低电平。只有两种状态:低电平和高阻态。I2C协议要求高低电平,因此采用开漏输出时候,需要接一个上拉电阻,使得开漏输出模式能够输出高电平。
⑦0.96寸OLED显示屏
使用排母将0.96寸OLED显示屏插到底板上。
⑧烟雾传感器
使用排母将烟雾传感器 插到底板上。
⑨电源转换接口、下载与调试串口
(3)原理图转PCB
原理图绘制完毕:
① 转换PCB
②放置底板
切换单位制:
修改底板尺寸:
③调整元件位置
调整排针位置:
调整元器件位置:
注意:元器件插入以后应该避免干涉,在布局时候注意方向。
④布线
这个系统比较简单,采用自动布线。
红色表示正面走的线,蓝色表示背面走的线。 粉红色标注内的“×”表示走线离引脚(焊盘)太近,焊接的时候不太好焊接,或者对走线的信号有影响。
点击以下按钮可切换正反面调整走线位置。
通过调整走线位置及增加过孔至不出现 “×”