0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >计算机及配件 > 基于 Nokia 5110 的 Raspberry Pi Hat(原理图+PCB+代码+CAD)

基于 Nokia 5110 的 Raspberry Pi Hat(原理图+PCB+代码+CAD)

来源: 中电网
2021-11-30
类别:计算机及配件
eye 45
文章创建人 拍明

原标题:基于 Nokia 5110 的 Raspberry Pi Hat(原理图+PCB+代码+CAD)

Nokia 5110 显示模块 Raspberry Pi HAT 设计方案

一、设计概述本方案基于 Nokia 5110 PCD8544 驱动的液晶显示模块(分辨率 84×48 像素),通过 SPI 接口与 Raspberry Pi 进行通讯,制作为标准的 Pi HAT 形态,可直接插入 40 针 GPIO 接口,实现灵活的图形显示功能。方案包括完整的原理图、PCB 布局、软硬件代码以及 KiCad CAD 文件。

image.png

电路框图

image.png

模块间信号说明

  • SPI 数据线(SCLK, MOSI, CE)由 Pi 提供,74HC4050 转换后驱动 PCD8544。

  • 重置和数据/命令选择(RST, DC)由 Pi 通过 GPIO 控制。

  • 背光控制(BL)通过 NPN 晶体管开关驱动,提供 PWM 调光方案。

二、原理图设计

本节详细列出各元器件型号、作用及选用理由。

1. U1:Nokia 5110 液晶显示模块

  • 型号:PCD8544 驱动,84×48 点阵,Adafruit 产品 ID 338(或等效国产模块)。

  • 功能:核心显示单元,负责像素驱动和命令解析。

  • 选型理由:该芯片成熟度高、资源丰富,低功耗,易于在 Raspberry Pi 上调用开源库。

2. J1:40 针直插式母座

  • 型号:Samtec TSW-120-07-L-D(2×20,2.54mm 间距)。

  • 功能:连接 Raspberry Pi GPIO,总线信号传输通道。

  • 选型理由:针脚排布符合 Pi HAT 标准,焊接牢固,材料耐高温,兼容性好。

3. U2:74HC4050PW 六通道电平转换器

  • 型号:Texas Instruments SN74HC4050PW。

  • 功能:将 3.3V TTL 信号稳定传输;提升信号驱动能力,增强抗干扰性能。

  • 选型理由:该芯片支持 6 路电平转换,响应速度快(典型 25ns),功耗低,封装小巧,适合紧凑 PCB。

4. Q1:2N3904 NPN 晶体管

  • 型号:Diodes Inc. 2N3904(SOT-23)。

  • 功能:背光 LED(D1)开关控制,实现 PWM 调光。

  • 选型理由:通用性高、成本低、开关速度快,能满足背光亮度控制需求。

5. D1:背光 LED

  • 型号:OSRAM LY T 361-G(5630, 20mA)。

  • 功能:为 LCD 提供均匀背光,提高显示对比度。

  • 选型理由:寿命长、亮度高、封装标准,配合 PWM 调光可实现护眼模式。

6. R1:10kΩ 线性可调电阻(对比度调节)

  • 型号:Bourns 3314J-1-103(0805)。

  • 功能:调节 LCD 对比度,通过调节 V0 引脚电压影响显示效果。

  • 选型理由:精度 ±10%、尺寸小,适合贴片安装,使用寿命长,调节平滑。

7. C1, C2:去耦电容

  • 型号:Murata GRM21BR71H104KA01L(0.1μF, 0402)。

  • 功能:为芯片提供稳定电源,滤除电源纹波,防止信号抖动。

  • 选型理由:高频性能佳,封装小,贴片可靠。

8. C3:背光滤波电容

  • 型号:Murata GRM31CR61H106KA12L(10μF, 1206)。

  • 功能:背光电源滤波,平滑 PWM 驱动电流。

  • 选型理由:容量大、耐压高,支持背光高频开关。

三、PCB 布局与布线

  1. 板层结构:双面板,顶层信号线、底层地平面。

  2. 元件布局:40 针母座靠板边,显示模块区域置于顶层中央,背光 LED 及对比度电阻置于显示模块附近。

  3. 走线规范:SPI 高速线宽 10mil,阻抗匹配;关键信号线最短,避免交叉;地线汇聚接地框,确保可靠接地。

  4. 电源布线:3.3V 电源轨加大铜箔宽度,背光电流预留足够铜厚;电源入口处增加防反接二极管 D2(型号 SS14)。

  5. 过孔与测试点:在 GND、3.3V、SPI 以及 RST、DC 上增加测试点,方便调试。

四、软件设计(Python + spidev)

import RPi.GPIO as GPIO
import spidev
import time

# 引脚定义
RST_PIN = 17
DC_PIN = 25
BL_PIN = 18
SPI_BUS = 0
SPI_DEVICE = 0

# 初始化 GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(RST_PIN, GPIO.OUT)
GPIO.setup(DC_PIN, GPIO.OUT)
GPIO.setup(BL_PIN, GPIO.OUT)

# 初始化 SPI
spi = spidev.SpiDev()
spi.open(SPI_BUS, SPI_DEVICE)
spi.max_speed_hz = 4000000

# 复位显示
GPIO.output(RST_PIN, GPIO.LOW)
time.sleep(0.1)
GPIO.output(RST_PIN, GPIO.HIGH)

# 发送命令函数
def send_command(cmd):
   GPIO.output(DC_PIN, GPIO.LOW)
   spi.writebytes([cmd])

# 发送数据函数
def send_data(data):
   GPIO.output(DC_PIN, GPIO.HIGH)
   spi.writebytes(data)

# 初始化 PCD8544
def init_display():
   send_command(0x21) # 进入扩展指令集
   send_command(0xB1) # 设置对比度
   send_command(0x04) # 温度系数
   send_command(0x14) # 设置 LCD 分频比
   send_command(0x20) # 进入基本指令集
   send_command(0x0C) # 正常显示模式

# 清屏
def clear_display():
   send_data([0x00]*504)

# 主函数示例
if __name__ == '__main__':
   init_display()
   clear_display()
   # 绘制简单图案
   send_data([0xFF if i%2==0 else 0x00 for i in range(504)])
   time.sleep(5)
   clear_display()
   spi.close()
   GPIO.cleanup()

五、KiCad CAD 设计说明

  • 库文件:自定义元件库 NOKIA5110.lib, 封装库 NOKIA5110.pretty

  • 原理图文件Nokia5110_HAT.sch

  • PCB 文件Nokia5110_HAT.kicad_pcb

  • 布局优化:使用 45° 走线、焊盘圆滑过渡、丝印清晰。

六、总结本设计充分考虑电路可靠性、信号完整性及用户使用体验,选用成熟的元器件型号,提供完整的软硬件实现及 CAD 文件,能够快速部署到生产,适用于开发板显示、信息提示、简易游戏等多种应用场景。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告