1. 项目背景与需求解析
在工业控制、测试测量和科研设备领域,正负对称电压输出一直是模拟信号生成的核心需求。传统方案要么采用笨重的线性电源配合分压电路,要么依赖昂贵的商用信号发生器,都存在体积大、成本高或灵活性不足的问题。这个项目正是为了解决这些痛点而生——用巴掌大的PCB板实现±10V范围内可编程电压输出,精度达到1mV级,温漂控制在50ppm/℃以内。
我去年为某自动化产线设计测试工装时,就遇到过类似需求:需要同时生成±5V和±3V两路可调基准电压,用来校准传感器信号调理电路。市面上的模块要么只能单极性输出,要么价格超过2000元。最终不得不自己设计了这个方案,实测成本可以控制在300元以内,性能却媲美专业设备。
2. 核心电路设计思路
2.1 架构选型对比
常见的正负电压生成方案主要有三种:
- 变压器中心抽头方案:需要定制变压器,体积大且频率响应差
- 电荷泵方案:成本低但输出电流小,纹波大
- DC-DC+线性稳压方案:综合性能最优,也是本项目采用的方式
我们采用TPS5430降压芯片生成-15V中间电压,再通过TPS7A4901和TPS7A3001这对正负LDO实现精准稳压。这种架构的优势在于:
- 开关电源效率>85%,大幅降低发热
- LDO输出噪声<30μVrms,保证信号纯净度
- 全贴片设计,整体尺寸仅60×40mm
2.2 关键器件选型
- DC-DC转换器:TPS5430(输入4.5-28V,输出-15V@3A)
- 正压LDO:TPS7A4901(+1.2V至+20V可调)
- 负压LDO:TPS7A3001(-1.2V至-20V可调)
- DAC芯片:ADS1115(16位分辨率,I2C接口)
- MCU:STM32F030F4P6(性价比之选)
特别注意:LDO的压差需保留至少1V裕量,比如输出+10V时输入至少要+11V。我曾因忽略这点导致大电流输出时电压跌落。
3. 硬件设计细节
3.1 PCB布局要点

- 分区布局:将开关电源、模拟电路、数字接口分三个区域布置
- 地平面处理:采用星型接地,DC-DC的功率地单独走线
- 热设计:LDO芯片底部铺铜并开窗,可外贴散热片
实测表明,当输出±10V@500mA时,LDO温升约35℃,无需强制散热。但若长期满负荷工作,建议增加小型散热风扇。
3.2 稳定性增强设计
- 在DC-DC输出端增加π型滤波器(100μF+10Ω+100μF)
- LDO输入输出各并联10μF陶瓷电容+0.1μF高频电容
- 关键信号线走内层,外层铺铜作屏蔽
4. 软件控制实现
4.1 电压校准算法
由于电阻容差影响,实际输出电压需通过校准消除误差。我们采用两点校准法:
c复制// 校准参数存储结构体
typedef struct {
float gain_pos; // 正斜率校准系数
float offset_pos; // 正截距校准值
float gain_neg; // 负斜率校准系数
float offset_neg; // 负截距校准值
} CalibParams;
// 校准函数
void calibrate(CalibParams *params, float measured1, float target1,
float measured2, float target2) {
params->gain = (target2 - target1)/(measured2 - measured1);
params->offset = target1 - params->gain*measured1;
}
4.2 通信协议设计
支持三种控制方式:
-
I2C从机模式:地址0x48,寄存器映射如下:
地址 功能 数据格式 0x00 正电压设定值 uint16 0x01 负电压设定值 uint16 0x02 输出使能控制 bit0 -
UART指令模式:
code复制SETPOS 5.000\r\n // 设置+5.000V输出 SETNEG -3.300\r\n // 设置-3.300V输出 -
电位器手动模式:通过板上多圈电位器调节
5. 实测性能数据
在25℃环境温度下测试结果:
| 指标 | 实测值 | 测试条件 |
|---|---|---|
| 输出电压范围 | ±10.000V | 满载500mA |
| 分辨率 | 0.3mV | 16位DAC |
| 长期稳定性 | ±0.01%/1000h | 恒温环境 |
| 纹波噪声 | <1mVpp | 20MHz带宽 |
| 温度系数 | 35ppm/℃ | -40℃~85℃范围 |
特别在低频段(<10Hz)噪声表现优异,适合生物电信号等微弱信号模拟场景。我曾用此模块成功替代某进口ECG模拟器中的基准电压源。
6. 典型应用场景
6.1 工业传感器激励源
为压力传感器、应变片等提供精密激励电压,配合ADC实现高精度测量。某汽车产线使用本模块为轮速传感器提供±6V激励,将检测精度从1%提升到0.2%。
6.2 实验室信号源
通过外接信号调理电路,可生成正弦波、方波等复杂波形。一个有趣的案例是某大学物理实验室用它驱动克尔盒,实现了低成本的光调制实验装置。
6.3 自动化测试治具
在多通道测试中,用单个模块同时提供正负参考电压,大幅简化测试架设计。某继电器厂家用8个本模块构建了64通道接触电阻测试系统。
7. 常见问题排查
7.1 输出电压不稳
- 现象:轻载时正常,加大负载后电压跌落
- 排查步骤:
- 检查DC-DC输入电压是否足够(应比LDO输出高1V以上)
- 测量LDO输入端的纹波(正常应<50mVpp)
- 确认散热条件(手摸LDO芯片不应烫手)
7.2 通信异常
- 现象:I2C地址无法识别
- 解决方案:
- 用逻辑分析仪抓取总线信号
- 检查上拉电阻(推荐4.7kΩ)
- 注意STM32的I2C引脚需要配置为开漏模式
8. 进阶优化方向
对于有更高要求的场景,可以考虑:
- 改用20位DAC:如DAC1220,将分辨率提升到0.05mV
- 增加远程校准:通过物联网模块实现定期自动校准
- 多通道同步:用FPGA控制多个模块,实现相位同步输出
这个项目最让我惊喜的是它的泛用性——原本只是为解决特定需求设计,后来发现至少能替代我们实验室五类设备的电压源模块。最后分享一个省成本技巧:小批量生产时,可以用铝基板代替FR4,散热性能更好且不需要额外散热片。
