1. 项目概述从零构建一个负150V、20mA的开关电源最近在折腾一个复古辉光管Nixie-ish项目主角是ZM1050这类管子。这类老物件儿对供电有个特殊要求需要大约150V的直流高压但极性必须是负的也就是说它的阴极负极要接在电路的公共地GND上而阳极正极则输出负电压。这和我们常见的正压电源逻辑正好相反。手头正好有一些闲置的MC34063芯片和常用元器件我的目标很明确用这些“边角料”设计并制作一个稳定、可调、效率尚可的负150V、20mA开关升压电源同时避免使用笨重且危险的110V工频变压器。这个需求在复古显示和某些特殊仪器电路中并不少见。传统的方案往往依赖线性稳压或工频变压器整流体积大、发热严重且难以实现高效的负压输出。开关电源方案是更现代的选择但市面上常见的升压Boost拓扑清一色都是输出正电压。要把正输入变成负高压输出常规思路是先用隔离拓扑如反激产生一个隔离的正压再通过后续电路将其“翻转”为负压但这意味着两次能量转换效率损失和复杂度都会增加。我的思路是能否对经典的MC34063升压电路进行“手术”让它直接输出我们需要的负高压这不仅是解决手头项目的问题也是一次对经典芯片应用边界的探索。2. 核心需求与方案选型背后的考量2.1 为什么是负150VZM1050的供电特性解析ZM1050这类辉光管或类似的冷阴极显示器件其工作原理决定了供电特性。它们依靠气体放电发光阳极通常为网状或杆状需要接相对阴极更高的正电位以吸引电子。但在我们常见的数字电路中微控制器如Arduino、STM32的GND是整个系统的参考地。如果想让微控制器方便地控制辉光管的阴极例如进行多路复用扫描最直接的方法就是将辉光管的阳极接在一个固定的负高压上而阴极通过开关管连接到GND。这样微控制器只需输出一个低电平0V/GND就能点亮对应的段或数字驱动逻辑简单且安全。原厂数据手册通常会建议一个简单的阻容降压或变压器整流方案。但正如我在实验中发现的这些历经岁月的老管子个体差异很大有的在标称电压下工作良好有的则需要稍低的电压才能稳定发光且寿命更长。因此一个可调节的输出电压变得非常必要。此外为了项目的最终美观和安全性摒弃那个笨重、有触电风险且会产生工频噪声的110V工频变压器转而采用从低压直流如常见的12V适配器或锂电池组升压的方案是更优的选择。2.2 为什么选择MC34063经典芯片的再挖掘MC34063是一款极其经典、廉价且易得的DC-DC转换控制器。它内部集成了电压基准1.25V、比较器、振荡器和开关管驱动外围电路简单。我手头正好有一批而且它在爱好者社区中用于驱动辉光管等高压负载有着丰富的应用先例。其标准升压电路在数据手册和应用笔记中随处可见能轻松将12V升至一两百伏的正压。然而所有公开的标准电路都是生成正输出电压的。我的挑战在于修改这个拓扑使其直接输出负压。初步的想法是将开关管从常用的N-MOSFET换成P-MOSFET并重新安排电感和续流二极管的位置。数据手册中确实有一个用NPN三极管实现的“电压反转器”Inverting电路但那是一个降压-升压Buck-Boost拓扑其输出负压的绝对值不能超过输入电压太多且更重要的是其GND引脚与负输出直接相连。对于-150V的输出这意味着芯片的GND引脚相对于其VCC引脚有近150V的压差远超其最大额定值通常为40V芯片会瞬间损坏。因此直接套用现有电路行不通必须进行更深层次的改造核心目标是让MC34063芯片本身“漂浮”在一个安全的电位上工作同时控制一个能承受高压差的P-MOSFET最终在输出端得到稳定的负高压。注意在开关电源设计中理解所有器件尤其是控制芯片各引脚之间的绝对最大电压差是安全设计的第一原则。忽视这一点极易导致芯片神秘损坏。2.3 整体架构设计思路经过几次试验和推演我确定了最终架构的核心思路可以概括为“隔离驱动悬浮反馈”功率拓扑采用基于P-MOSFET的升压斩波Boost Chopper结构。电感L52连接在输入正端VIN和P-MOSFETQ52的源极之间。当Q52导通时电感储能当Q52关断时电感电流不能突变会产生一个反向电动势这个电动势通过续流二极管D52对输出电容C54充电。由于二极管的方向输出端相对于地就是负电压。芯片供电隔离MC34063U51的供电不再直接连接输入VIN和GND。我通过一个简单的电阻R51和稳压二极管D53网络从输入VIN为其生成一个独立的、稳定的约9V工作电压VCC_U51。这个“浮地”点就是芯片的GND引脚第5脚的电位。通过精心设计让这个点的电位在系统GND和负输出之间动态变化但始终保证芯片VCC与GND之间的压差在安全范围内。反馈回路处理MC34063通过其FB引脚第5脚检测1.25V的基准来稳压。但我们的输出是负压不能直接分压给FBFB需要高于芯片GND电位。这里引入了一个运放LM358的一半U52A作为电压跟随器和电平移位器。它将负输出分压后的信号一个接近0V的负电压反相并抬升为一个正电压再送给MC34063的FB引脚从而构成完整的负反馈闭环。开关速度优化P-MOSFET的开关速度尤其是关断速度直接决定了转换效率和发热。标准电路中通过电阻对栅极充放电太慢。我增加了由NPN三极管Q51和二极管D51组成的“图腾柱”式驱动加速电路并创新性地利用了MC34063内部一个不常用的引脚第8脚DRV_C来获得更快的驱动信号。这个架构看似比标准电路复杂但每个新增的元件都有其明确的目的整体上仍然保持了较低的成本和较高的可靠性。3. 电路原理深度解析与核心器件选型3.1 功率级负压生成的核心功率级是能量转换的场所由电感L52、开关管Q52、续流二极管D52和输出电容C54构成。电感L52的选择这是决定电源输出能力和纹波的关键。我们需要一个能储存足够能量且直流电阻DCR较小的功率电感。计算公式基于Boost拓扑的基本原理L (V_in * D) / (ΔI_L * f_sw)其中V_in是输入电压假设12VD是占空比f_sw是开关频率由MC34063的Ct引脚电容决定约40kHzΔI_L是电感电流纹波。对于负压Boost占空比D ≈ |V_out| / (V_in |V_out|) 150 / (12150) ≈ 0.926。这是一个非常高的占空比意味着开关管Q52在大部分时间是导通的。假设我们允许电感电流纹波ΔI_L为输出电流20mA的30%即6mA的2到3倍取15mA。代入公式L (12V * 0.926) / (0.015A * 40000Hz) ≈ 0.0185 H 18.5 mH在实际选型中我选择了一个标称值为22mH饱和电流大于1.2A直流电阻DCR小于0.5Ω的径向功率电感。DCR太大会导致严重的导通损耗和发热。22mH比计算值稍大可以降低纹波电流让电路工作在连续导通模式CCM的边缘有利于稳定性。开关管Q52的选择作为高压侧P-MOSFET它需要满足几个关键参数耐压Vds必须远高于输入电压与输出电压绝对值之和。因为当它关断时漏极承受的电压是V_in - V_out注意V_out为负。例如V_in12VV_out-150V那么漏极对源极电压V_ds 12V - (-150V) 162V。因此选择耐压200V或以上的MOSFET是安全的我用了IRF9Z34P-Channel, 200V。导通电阻Rds(on)尽可能低以减少导通损耗。在20mA输出电流下即使Rds(on)为1Ω导通损耗也仅有I^2 * R (0.02)^2 * 1 0.4mW几乎可忽略。但考虑到峰值电感电流可能更大低Rds(on)总是好的。栅极电荷Qg这个参数直接影响开关速度。Qg越小栅极驱动电路充放电越快开关损耗越低。这是我们后面要优化驱动电路的主要原因。续流二极管D52的选择这个二极管必须在Q52关断时快速导通承受反向电压V_out约150V并具有低的正向压降Vf以减小损耗。普通硅整流二极管如1N4007的Vf较高约1V且反向恢复时间慢不适合高频开关。因此必须使用快恢复二极管或肖特基二极管。我选择了UF40071000V 1A 超快恢复其反向恢复时间在75ns左右足以应对40kHz的频率。虽然它的Vf仍有约1V但在150V的输出下损耗占比相对较小。输出电容C54的选择它用于滤波和储能减小输出电压纹波。纹波电压ΔV_out ≈ I_out * D / (f_sw * C_out)。假设我们希望纹波小于1V则C_out (0.02A * 0.926) / (40000Hz * 1V) ≈ 0.463 uF。考虑到高频特性我选择了一个1uF/250V的CBB薄膜电容或高压瓷片电容。其耐压必须高于输出电压绝对值150V留有裕量。3.2 控制与驱动级让MC34063“漂浮”起来这是本设计最具巧思的部分。如何让一个耐压有限的芯片去控制一个高压差电路芯片供电与“浮地”设计电阻R51和稳压管D53构成了一个简单的线性稳压器。假设输入VIN12V我们希望为U51提供约9V的VCC。流过R51的电流需要满足两部分U51的工作电流约几个mA和D53的稳压电流。选择6.2V的稳压管如1N4735那么V_R51 VIN - V_z 12V - 6.2V 5.8V。U51的GND引脚第5脚接在稳压管D53的阳极这个点的电位我们称之为V_float。那么芯片的VCC引脚第6脚电压VCC_U51 V_float 6.2V。关键来了V_float这个点并不是固定的地。在电路工作时它会随着P-MOSFET Q52的开关而小幅波动但其直流电位会被反馈环路锁定在这样一个值使得运放U52A的反相输入端第2脚为0V虚地。通过计算可以知道V_float ≈ - (R53 / R54) * 1.25V。当R53150k R541.25k时V_float ≈ -150V。这意味着芯片的GND引脚被拉到了大约-150V而芯片的VCC引脚则在-150V 6.2V ≈ -143.8V。芯片自身承受的电压VCC_U51 - V_float 6.2V完全在安全范围内。这就是“悬浮”供电的精髓。反馈与稳压环路运放U52A接成电压跟随器形式。其同相输入端第3脚通过R56接地系统GND因此保持0V电位。反相输入端第2脚通过电阻R53连接到负输出VOUT通过R54连接到MC34063的FB引脚第5脚稳定在1.25V。根据运放“虚短”特性其反相输入端也会被强制拉到0V。这就形成了一个电流关系从FB引脚1.25V流出的电流I_fb 1.25V / R54全部流过R53到达VOUT负压。因此VOUT - (1.25V / R54) * R53。调节R53即可线性调节输出电压。LM358的输入共模范围包含地0V即使另一端接负压只要反相输入端被钳位在0V它就能正常工作无需负电源供电。开关加速电路标准MC34063驱动能力有限且通过电阻对MOSFET栅极充放电速度慢。我增加了Q51和D51。当MC34063内部驱动晶体管我从第8脚DRV_C引出试图拉低时Q51导通快速将Q52的栅极电荷通过Q51泄放到地加速Q52的开启对于P-MOSFET栅极电压降低为开启。当驱动信号变高时Q51截止VCC_U51通过D51快速给Q52的栅极电容充电使其快速关断。这里的L51一个小电感如10uH起到了“加速泵”的作用。在驱动信号跳变的瞬间电感电流的连续性会迫使节点电压产生一个过冲进一步加速栅极电压的变化。实测表明这一组合将Q52的关断时间从400ns缩短到了46ns效果显著。3.3 输出开关与调压接口为了配合ZM1050需要周期性断电才能切换数字的特性我在输出端设计了一个“高端”开关。因为输出是负压所以这里的“高端”开关实际上是用一个NPN三极管MPSA42和一个PNP三极管MPSA92组成的电平移位和开关电路或者用一个耐压足够的N-MOSFET如2N60配合电平移位。当微控制器给出一个高电平如5V控制信号时开关关闭切断负压输出。此外运放U52A的同相输入端第3脚预留了一个调压接口。该点默认通过R56接地为0V。如果通过一个电阻或RC滤波后的PWM信号注入一个小的正电压例如0.625V根据运放原理反相输入端也会跟随到这个电压从而导致FB引脚的电压需求变化进而改变输出电压。注入0.625V输出电压就会减半降至-75V左右。这为实现单片机软件调压提供了可能。4. 完整原理图与PCB布局要点注此处以文字描述关键布局要点替代图形原理图经过多次迭代最终确定的电路核心部分如下描述输入部分VIN12V接入并接一个大容量电解电容如100uF/25VC51滤波。紧接着是给MC34063供电的支路R51例如330Ω和6.2V稳压管D531N4735串联到地在D53阴极连接U51 VCC和阳极连接U51 GND即V_float点之间并联一个10uF的电解电容C52。MC34063外围振荡定时电容CtC53连接在第3脚与地之间取值约1nF设定开关频率约40kHz。第8脚DRV_C作为驱动信号输出连接加速电路。加速驱动电路U51第8脚串联L5110uH后连接至NPN三极管Q51如BC547的基极基极通过一个2.2k电阻下拉到V_float。Q51发射极接V_float集电极连接至P-MOSFET Q52如IRF9Z34的栅极。在Q51集电极和VCC_U51之间连接加速二极管D511N4148。Q52的源极接VIN漏极接功率电感L5222mH的一端和续流二极管D52UF4007的阴极。L52的另一端接VIN。D52的阳极接输出负端VOUT。反馈环路VOUT通过反馈电阻R53150k连接到运放U52ALM358的一半的反相输入端第2脚。该点同时通过R541.25k连接到U51的FB引脚第5脚。U52A的同相输入端第3脚通过R5610k接地并预留接口到调压输入。U52A的输出端第1脚连接至U51的FB引脚。U52A的电源正端接VCC_U51负端接地系统GND。输出滤波在VOUT和地之间并联高压滤波电容C541uF/250V和一个小容量瓷片电容C55如100nF/250V以滤除高频噪声。PCB布局的黄金法则功率环路最小化这是开关电源布局的第一要义。输入电容C51、开关管Q52、电感L52、续流二极管D52和输出电容C54构成的环路面积必须尽可能小。走线要短而粗以减少寄生电感和电阻从而降低电压尖峰和EMI辐射。地线分离与单点连接区分“功率地”和“信号地”。功率地是输入电容C51的负端、输出电容C54的正端因为是负压这里是“最负”的点以及负载返回的路径。信号地是MC34063和运放的参考地即我们电路中的系统GND。这两个地应在输入电容C51的负端附近通过一个0欧电阻或磁珠进行单点连接避免功率电流在信号地线上产生噪声电压。敏感信号远离噪声源反馈电阻R53、R54的走线、运放U52A的输入走线必须远离电感L52、二极管D52和开关管Q52等高频开关节点。最好用地平面或走线将其包围屏蔽。散热考虑虽然功耗不大但Q52和D52在开关瞬间仍有热量产生。PCB上应为其预留足够的铜皮面积以辅助散热。高压间距-150V输出与低压部分之间必须保证足够的爬电距离。根据IPC标准对于150V直流在污染等级2的普通PCB上最小间隙建议大于0.5mm。在实际中我通常保持1mm以上的间距并在高低压之间开阻焊槽即“开槽”以增加爬电距离。5. 调试过程、实测数据与问题排查5.1 上电前检查与静态测试焊接完成后切勿直接上电。遵循以下步骤目视与连通性检查仔细检查所有元件方向二极管、电解电容、IC、MOSFET、有无连锡、虚焊。用万用表二极管档检查电源输入VIN与GND之间是否短路。分模块测试可以先不焊接MC34063U51和运放U52只焊接供电部分R51 D53 C52。上电12V测量D53两端电压应为约6.2V确认浮地供电正常。关键点电阻测量断电后测量Q52的栅极G对源极S的电阻。在加速电路正常的情况下由于Q51的基极下拉Q51应处于微导通或截止状态栅极通过D51和内部电路可能呈现一定电阻但不应是短路或完全开路。测量VOUT对地电阻在空载时应为反馈电阻R53、R54的串联值约151k确认无短路。5.2 上电调试与波形观测使用一个可调限流的实验室电源作为12V输入将电流限制定在200mA左右。首次上电连接电源观察输入电流。正常空载下电流应在20-50mA左右主要为MC34063和运放的静态电流。如果电流瞬间达到限流值立即断电检查。测量浮地电压用示波器探头注意共地问题最好用差分探头或两个通道相减测量U51的GND引脚第5脚即V_float对系统GND的电压。它应该是一个负几十到负一百多伏的直流电压并带有高频开关纹波。这证明反馈环路大致在工作。观测开关节点波形测量Q52的漏极D对系统GND的波形。你应该能看到一个在12V当Q52导通时和远低于-150V当Q52关断电感释放能量时之间切换的方波。这个波形的上升沿关断瞬间应该非常陡峭如果缓慢说明加速电路未起作用。测量输出电压用万用表测量VOUT对GND的电压。调节R53如果用可调电阻输出电压应在一定范围内变化。将其调至-150V。带载测试连接一个假负载电阻。根据欧姆定律要测试20mA输出需要的电阻R_load |V_out| / I_out 150V / 0.02A 7.5kΩ。功率P I^2 * R (0.02)^2 * 7500 3W。因此需要一个7.5kΩ/5W以上的电阻或多个电阻并联串联。接入负载观察输出电压是否下降。如果下降超过几伏说明环路补偿可能不足或电感饱和。监测Q52和D52的温度微热是正常的烫手则有问题。5.3 常见问题与排查实录在实际制作中我遇到了以下几个典型问题这里分享排查思路问题1上电后输入电源过流保护或芯片U51发烫损坏。可能原因AQ52的栅源极G-S击穿或短路导致其常通VIN通过L52和Q52直接对地短路。排查断电测量Q52的G-S、D-S、D-G之间的电阻。更换Q52。可能原因B加速电路中Q51的C-E击穿或将Q52的栅极持续拉低导致Q52常通。排查断电测量Q51。检查Q51基极的下拉电阻是否焊接良好。可能原因C续流二极管D52焊反或击穿。排查检查D52方向阴极应接Q52漏极阳极接VOUT。用万用表二极管档测量。问题2有输出电压但远低于设定值例如只有-50V且带载能力极差。可能原因A电感L52饱和。在高压差、高占空比下电感峰值电流较大如果电感量不足或饱和电流太小电感会饱和失去储能能力。排查用电流探头观测电感电流波形。正常应为三角波。如果波形顶端出现平台或突然陡增就是饱和迹象。更换更大电感量或更高饱和电流的电感。可能原因B开关频率过低或占空比已达极限。MC34063的最大占空比由其内部设计限制可能无法达到理论计算的92.6%。排查检查Ct电容值是否过大导致频率过低。尝试减小Ct以提高频率。但注意频率太高会增加开关损耗。有时需要折衷适当提高输入电压如从12V升至15V来降低所需占空比。可能原因C反馈环路不稳定或运放工作异常。排查测量运放U52A的输入输出引脚电压。同相端应为0V反相端应非常接近0V虚地输出端第1脚应为1.25V左右。如果偏差大检查运放供电VCC_U51是否正常运放是否损坏。问题3输出电压纹波过大超过几百mV。可能原因A输出电容C54容量不足或ESR过高。排查在C54上并联一个更大容量如4.7uF的高压低ESR电容如薄膜电容看是否改善。可能原因B功率环路布局过大引入过多寄生电感导致开关尖峰。排查检查C51、Q52、L52、D52、C54的环路走线尽可能缩短加粗。在D52两端并联一个RC吸收电路如100Ω串联1nF/250V有助于抑制尖峰。可能原因C反馈走线受到开关噪声干扰。排查确保反馈电阻R53、R54的走线远离功率部分并尝试在运放U52A的输出端第1脚到反相输入端第2脚之间连接一个小的补偿电容如10pF~100pF以滤除高频噪声稳定环路。问题4轻载时输出电压正常一带载电压就暴跌。可能原因电感L52的直流电阻DCR过大或输入电源线缆阻抗过大导致在大电流下有效输入电压降低。排查测量带载时输入电容C51两端的电压。如果比空载时低很多检查输入电源的电流供给能力并尝试加粗输入走线。测量电感L52的直流电阻如果超过1Ω考虑更换DCR更小的电感。6. 性能优化与进阶玩法这个基础电路已经可以稳定工作但如果你追求更高的效率、更小的纹波或更智能的控制还有优化空间。效率提升本电路效率的瓶颈主要在几个地方P-MOSFET Q52相比N-MOSFET同规格的P-MOSFET通常导通电阻Rds(on)更大。可以寻找更低Rds(on)的型号如IRF9Z24。续流二极管D52硅快恢复二极管仍有约1V的正向压降。在20mA下这会产生20mW的损耗。如果条件允许可以尝试使用碳化硅SiC肖特基二极管如C3D1P7060Q其正向压降低约0.7V且几乎没有反向恢复问题可以显著降低损耗和开关噪声。电感L52选择DCR更小、磁芯损耗更低的电感。芯片供电电阻R51和稳压管D53构成的线性稳压有约(12V-6.2V)*I_total的功耗。如果总电流为10mA则功耗约58mW。可以考虑用一个微型开关稳压芯片如ME2188替代将12V高效地转换为6.2V为U51供电。用单片机替代MC34063正如我在文末提到的使用像ATTiny2313这样带有模拟比较器AC、内部基准电压如1.1V和PWM模块的微控制器可以完全取代MC34063和运放。实现思路如下用单片机的PWM输出通过一个简单的三极管或MOSFET驱动电路直接控制Q52的栅极。将输出电压分压后的信号一个负电压通过一个电阻连接到单片机的一个ADC引脚需注意ADC输入电压范围通常为0-VCC。但ADC无法直接测量负压。这里需要一个电平移位电路可以用一个运放单电源供电将负压信号反相并抬升到ADC可测量的正电压范围或者用更巧妙的办法——利用单片机内部的模拟比较器。将分压后的信号经过适当处理连接到比较器的反相输入端同相输入端连接内部基准电压。比较器的输出可以触发中断在中断服务程序里调整PWM的占空比实现简单的迟滞控制Bang-Bang Control。这种方式可以实现数字化的电压调节和开关控制更加灵活。增加输出软启动与保护可以在运放U52A的调压输入端第3脚增加一个RC网络连接到地。上电时电容充电使电压缓慢上升从而实现输出电压的软启动防止对后级负载和输入电源造成冲击。还可以用单片机监测输入电流或输出电压实现过流、过压保护。制作这样一个负高压电源从理解需求、修改拓扑、调试问题到最终稳定工作整个过程充满了挑战和乐趣。它不仅仅是一个电源模块更是一次对模拟电路基本原理和开关电源设计技巧的深入实践。最终当ZM1050辉光管在稳定的负150V供电下发出柔和的橙色光芒时所有的调试和折腾都变得值得了。这个电路的核心思想——通过“悬浮”控制芯片和巧妙的反馈来处理高压差负压输出——可以灵活应用到其他需要非标准极性高压的场合希望这份详细的记录能给有类似需求的爱好者提供一个扎实的参考。