第2期:APM32微控制器键盘PCB设计实战教程

article/2025/7/22 12:21:39

第2期:APM32微控制器键盘PCB设计实战教程

一、APM32小系统介绍

使用apm32键盘小系统开源工程操作

APM32是一款与STM32兼容的微控制器,可以直接替代STM32进行使用。本教程基于之前开源的APM32小系统,链接将放在录播评论区中供大家参考。

1.1 电路组成

相比标准开发板,我们的小系统有以下简化:

  • 只保留一个8MHz晶振电路,去掉了32.768KHz晶振(通常只用于时钟应用)
  • 保留USB接口(Type-C)
  • 使用线性稳压器将5V转换为3.3V供主控使用
  • 预留烧录Bootloader的跳线(CBT6/C8T6一般不自带Bootloader)

1.2 CBT6与C8T6对比

  • CBT6比C8T6性能稍好,内存更大
  • 价格方面,CBT6约5.6元,C8T6约8元
  • 两款芯片可以直接互相替换,没有功能差异

1.3 针脚使用指南

  • 总共48个引脚,去除供电、地、数据等引脚后,可用约31个引脚
  • 不建议使用的引脚:C13、C14、C15和A0(直接打叉标记)
  • 可用引脚:A1至B11,B9、B8、B7至B3,A15,A14,A10至B12
  • 必须预留烧录用针脚

二、矩阵原理与绘制

在这里插入图片描述
在这里插入图片描述

2.1 基础矩阵设计

设计矩阵键盘与之前的32U4系统类似,主要步骤如下:

  1. 选择合适的轴座封装(本例使用带RGB灯的下灯位凯华轴座)
    在这里插入图片描述

  2. 使用阵列副本功能批量创建轴座(5行4列,行距列距均为200)

  3. 连接正极线路(使用阵列副本功能)

    • 注意:WS2812B 6028反贴灯需要接5V电源(而非3.3V VCC)
  4. 连接行列线(也可使用阵列副本)

2.2 添加防反向二极管

  1. 选择合适的二极管(推荐1N4148W SOD323封装)
  2. 使用阵列副本功能批量放置
  3. 注意选择元器件库时,建议使用嘉立创基础库,避免SMT加工时产生额外换料费

提示:使用嘉立创基础库中的元器件可以避免20元/项的换料费,只要封装和功能相同即可替换。

2.3 处理空轴位

根据键盘布局,需要删除以下位置的轴座:

  • 第一行第三列
  • 第三行第三列
  • 第四行第一列

2.4 添加RGB灯光

若需要更均匀的灯光效果,可以调整LED位置或增加LED数量(详细在RGB矩阵教程中介绍)。

2.5 添加引脚标号

为行列线添加相应引脚标号,标记不使用的引脚位置。

三、旋钮编码器添加

3.1 EC11编码器介绍

在这里插入图片描述

EC11是客制化键盘常用的旋钮编码器:

  • 有半轴和梅花轴两种版本
  • 共有7个引脚
  • 旋钮帽推荐使用电吉他旋钮帽(价格合理,外观良好)

3.2 编码器引脚连接

在这里插入图片描述

  1. D引脚和E引脚用作普通按键功能(按下旋钮时触发)
  2. A引脚和B引脚直接连接到主控(用于检测旋转方向)
  3. C引脚和F/G引脚接地(F/G为固定点,可选择接地或打叉不连接)

四、PCB布局设计

画好图后,点击:
在这里插入图片描述

4.1 准备工作(转PCB后)

  1. 设置网格大小为23.438mil
  2. 原理图转PCB
  3. 放置边框
    在这里插入图片描述

4.2 元器件布局技巧

  1. 轴体布局:

    • 使用"查找相似对象"和"布局传递"功能快速摆放轴体
    • 微调位置确保对齐
  2. 二极管布局:

    • 同样可使用布局传递功能
    • 可放置在旋钮底部节省空间
  3. 关键器件放置:

    • Type-C接口(根据空间决定放在正面或侧边)
    • APM32芯片
    • 线性稳压器及外围电路
    • 晶振及相关电容
    • USB识别电阻
  4. 空间利用技巧:

    • 利用卫星轴下方空间放置接口
    • 在小型PCB上合理安排元器件位置,避免布线困难
      在这里插入图片描述
      一些细节图如下:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

五、总结

通过本次教程,我们学习了:

  1. APM32小系统的特点与使用方法
  2. 键盘矩阵的设计原理
  3. 阵列副本功能的高效应用
  4. 布局传递功能的使用技巧
  5. 旋钮编码器的添加方法


http://www.hkcw.cn/article/yJgYikiUTc.shtml

相关文章

Redis的安装与使用

网址:Spring Data Redis 安装包:Releases tporadowski/redis GitHub 解压后 在安装目录中打开cmd 打开服务(注意:每次客户端连接都有先打开服务!!!) 按ctrlC退出服务 客户端连接…

Redis 难懂命令-- ZINTERSTORE

**背景:**学习的过程中 常用的redis命令都能快速通过官方文档理解 但是还是有一些比较难懂的命令 **目的:**写博客记录一下(当然也可以使用AI搜索) 在Redis中,ZINTERSTORE 是一个用于计算多个有序集合(So…

7.atlas安装

1.服务器规划 软件版本参考: https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.2?hlzh-cn 由于hive3.1.3不完全支持jdk8,所以将hive的版本调整成4.0.1。这个版本没有验证过,需要读者自己抉择。 所有的软件都安装再/op…

RabbitMQ和MQTT区别与应用

RabbitMQ与MQTT深度解析:协议、代理、差异与应用场景 I. 引言 消息队列与物联网通信的重要性 在现代分布式系统和物联网(IoT)生态中,高效、可靠的通信机制是构建稳健、可扩展应用的核心。消息队列(Message Queues&am…

【技能篇】RabbitMQ消息中间件面试专题

1. RabbitMQ 中的 broker 是指什么?cluster 又是指什么? 2. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布…

[3D GISMesh]三角网格模型中的孔洞修补算法

📐 三维网格模型空洞修复技术详解 三维网格模型在扫描、重建或传输过程中常因遮挡、噪声或数据丢失产生空洞(即边界非闭合区域),影响模型的完整性与可用性。空洞修复(Hole Filling)是计算机图形学和几何处…

基于Spring Boot+Vue 网上书城管理系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

[ctfshow web入门] web81

信息收集 新增过滤:,伪协议都有:,这意味着伪协议不能用了 if(isset($_GET[file])){$file $_GET[file];$file str_replace("php", "???", $file);$file str_replace("data", "???", $file);$file st…

2025年应用心理学与社会环境国际会议(ICAPSE 2025)

2025年应用心理学与社会环境国际会议(ICAPSE 2025) 2025 International Conference on Applied Psychology and Social Environment 一、大会信息 会议简称:ICAPSE 2025 大会地点:中国北京 审稿通知:投稿后2-3日内通…

Windows 11 家庭版 安装Docker教程

Windows 家庭版需要通过脚本手动安装 Hyper-V 一、前置检查 1、查看系统 快捷键【winR】,输入“control” 【控制面板】—>【系统和安全】—>【系统】 2、确认虚拟化 【任务管理器】—【性能】 二、安装Hyper-V 1、创建并运行安装脚本 在桌面新建一个 .…

Redis 数据恢复的月光宝盒,闪回到任意指定时间

在数据库的运维工作中,DBA 应该选择哪一种方案,确保 Redis 数据库崩溃后可以对数据进行回档,恢复业务运行? 一般情况下,DBA 可以通过 Redis 原生的持久化机制,如 RDB 快照持久化或者 AOF 日志持久化的方案…

鸿蒙 HarmonyOS - SideBarContainer 组件自学指南

在日常开发中,如果你有类似「左侧导航 右侧内容」的布局需求,比如后台管理界面、文件管理器、设置页等,​​SideBarContainer​​ 是非常值得掌握的组件。它自带侧边栏和主内容区的分离机制,还支持折叠、拖拽、控制按钮和多种显示…

一个Mybatisplus组件扫描不当引起的bug:弄巧成拙,认真的锅,自我怀疑

在我们系统基建层的业务组件包 sby-biz-component 中,最初,我写了两个业务组件,一个是 通道错误码组件,一个是 审核流水组件。 这两个业务组件都要依赖Mybatisplus来操作数据。 com.sby.bizcomponent├── auditflow│ └── A…

t015-预报名管理系统设计与实现 【含源码!!!】

项目演示地址 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装预报名管理系统软件来发挥其高效地信息处理的…

数学建模之最短路径问题

1 问题的提出 这个是我们的所要写的题目,我们要用LINGO编程进行编写这个题目,那么就是需要进行思考这个怎么进行构建这个问题的模型 首先起点,中间点,终点我们要对这个进行设计 2 三个点的设计 起点的设计 起点就是我们进去&am…

刀具问题讨论

1 刀具的问题概述 问题描述 一道工序用自动化车床连续加工某种零件,由于刀具损坏等原因该工序会出现故障,其中刀具损坏故障占95%, 其它故障仅占 5%。工序出现故障是完全随机的, 假定在生产任一零件时出现故障的机会均相同。工作人员通过检查零件来确定…

stm32 / arduino TPL0401A使用教程

这是在给英国的一个学生讲课时用到的一个芯片,做一个dcdc的反馈电路,刚开始用的不是这个,后来发现国内这个芯片用的挺成熟,就选择了这个。 芯片说明 首先我买的是TPL0401A,我发现淘宝上卖的都是A,其实想用C&#xff0…

进程调度策略和进程优先级

Linux 的进程调度策略和进程优先级是操作系统为保证系统响应性、公平性和高性能所设计的关键机制。 进程调度策略 Linux 支持 两大类调度策略: 普通调度策略(CFS: Completely Fair Scheduler), 适用于大部分用户态进程。实时调…

「Java教案」Java程序的构成

课程目标 1.知识目标 能够按照Java标识符的命名规则,规范变量的命名。能够区分Java中的关键字与保留字。能够对注释进行分类,根据注释的用途合理的选择注释方式。 2.能力目标 能编写符合规范的标识符。能识别Java中的关键字和…

随记 配置服务器的ssl整个过程

第一步 先了解到这个公钥私钥服务器自己可以生成,但是没什么用,浏览器不会信任的,其他人访问不了。所以要一些中间机构颁布的证书才有用。 一般的服务器直接 安装 Certbot 和插件 //CentOS Nginx 用户: sudo yum install epe…