一、项目概述
本次自制一块STM32F103C8T6 两轴舵机专用控制底板,实现两大核心功能:
- 通过蓝牙串口 APP 下发角度指令,实时驱动两路 SG90 舵机转动;
- 板载 OLED 屏幕实时显示两路舵机当前角度,指令回传校验;整体包含硬件 PCB 设计、手工焊接、Keil 底层代码编写、蓝牙手机端联调完整流程。
二、PCB 原理图与板卡设计
1. 整体电路框架
原理图分为 5 个功能分区:Type-C 供电电路、电源指示电路、两路舵机驱动接口、蓝牙串口接口、OLED IIC 屏幕接口、STM32 最小系统扩展座。
(1)供电电路
- Type-C 接口 USB1 输入 5V 电压,并联多组 10uF+100nF 组合滤波电容(C1/C2/C10/C7 等),抑制舵机大电流启停带来的电压波动;
- 电源指示灯 D1 串联 10K 限流电阻 R1,上电常亮,直观判断板卡供电状态;
- 预留电源总开关 SW1,可整体切断 5V 输入,方便调试断电。
(2)两路舵机标准接口(H10、H11)
每一路舵机插座标准定义:5V、GND、SIG 信号脚
- 舵机 1 信号:PA0
- 舵机 2 信号:PA1(每个接口独立引出 5V 供电,可直接给 SG90 舵机供电,无需额外外部电源)
(3)HC-05 蓝牙串口模块接口(H8)
蓝牙模块与 STM32 串口 1(USART1)通信:
- STM32 PA9(TX) → 串口 RX
- STM32 PA10 (RX) →(串口TX,同时引出 3V3、GND、KEY、RST 复位引脚,支持蓝牙模块 AT 指令修改名称、波特率)
(4)0.96 寸 OLED IIC 显示屏(H5)
IIC 通信引脚:
- SDA:PB7
- SCL:PB6(3V3 供电,占用硬件 I2C 外设,屏幕刷新无卡顿,用于实时打印两路舵机角度)
(5)扩展外设预留
板上完整引出 STM32 所有 IO 口,包含 3V3、5V、GND 电源引脚,后续可拓展按键、传感器、更多舵机通道。
2. PCB 布局设计要点
- 电源走线加宽:5V 供电主干线路加粗,降低舵机瞬时大电流压降;
- 分区布线:电源区、舵机接口区、蓝牙串口区、OLED 接口分区摆放,信号线短且规整;
- 滤波电容就近摆放:每个电源输入接口旁放置 0.1uF 去耦电容,提升电路稳定性;
- 四周预留固定孔,可直接安装在云台、机械结构支架上;
- 双面布线,底层大面积铺 GND 地平面,抗蓝牙串口电磁干扰。
3. 打板与手工焊接流程
- 贴片焊接顺序:先焊接小型无源器件(电阻、电容、LED)→ Type-C 母座 → 拨码开关 → 各类插座排针;
- 后焊核心外设:焊上 STM32 最小系统板、蓝牙模块、两路舵机排线、OLED 屏幕;
- 上电预检:不插主控先接 Type-C,确认电源灯正常点亮,无短路发烫;
- 空载测试:插入 STM32 核心板,蓝牙上电配对,串口收发无乱码后再接舵机负载。
三、Keil 代码开发与引脚配置
1. 外设引脚分配总表
表格
| 外设 | STM32 引脚 | 功能说明 |
|---|---|---|
| USART1(蓝牙) | PA9(TX)、PA10(RX) | 与 HC05 蓝牙通信,接收手机下发指令 |
| 舵机 1 PWM 信号 | PA0 | Servo1 输出,控制第一路舵机 |
| 舵机 2 PWM 信号 | PA1 | Servo2 输出,控制第二路舵机 |
| I2C OLED 屏幕 | PB6(SCL)、PB7(SDA) | 实时显示 Angle1、Angle2 角度值 |
2. 核心功能代码解析
完整主循环逻辑:串口接收蓝牙字符串指令 → 解析两个角度数值 → 限幅 0~180° → 更新舵机 PWM 输出 + OLED 刷新数值 + 指令回传手机校验
3. 关键底层驱动说明
- 串口接收中断驱动:配置 USART1 中断,手机通过蓝牙发送
@80,110格式指令,中断缓存完整字符串,接收完成后置Serial_RxFlag标志供主循环解析; - 舵机 PWM 驱动:采用定时器 TIM 生成标准 50Hz PWM(20ms 周期),0.5ms~2.5ms 对应 0~180°,
ServoX_SetAngle()函数自动换算角度对应高电平时间; - OLED 显示驱动硬件 IIC 驱动屏幕,封装
OLED_ShowNum数字打印函数,指定行、列、数值、显示位数,实时刷新两路舵机角度。
4. 代码调试踩坑解决
- 蓝牙串口乱码:确认 HC05 波特率与代码串口配置统一(默认 9600);PCB 蓝牙 TX/RX 交叉接线;
- 舵机抖动:增加电源滤波电容,5V 走线加宽,避免大电流干扰串口通信;
- OLED 不显示:检查 IIC 引脚 PB6/PB7 接线,代码开启 I2C 外设时钟。
四、整机效果与蓝牙遥控演示
1. 手机蓝牙串口 APP 操作流程
- 打开微信小程序(蓝牙串口),搜索并连接本板蓝牙设备;
- 发送区输入指令格式
@X,X,例如@30,60、@80,110,点击发送; - 接收区实时返回
Packet:30,60回传信息,验证指令收发正常;截图示例:
2. 硬件运行现象
- Type-C 上电,电源 LED 常亮,HC05 蓝牙指示灯闪烁等待配对;
- 手机连接蓝牙后,蓝牙指示灯常亮,通信建立;
- 下发角度指令后,两路 SG90 舵机平稳转动至对应角度。
五、总结
在这次项目的学习中,对PCB板的制作与焊接调试有了进一步的熟悉,通过吸取之前的经验教训,在焊接的时候严格遵守焊接步骤与方法,让焊接后的成品更美观,后续还会进一步的尝试增加遥感或WiFi模块,让成品的实用性更强。