ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HCNR200线性光耦隔离750V直流采样电路设计与STM32 ADC实现

HCNR200线性光耦隔离750V直流采样电路设计与STM32 ADC实现 1. 高压采样为什么不能直接进单片机新能源车上的电池包电压动辄400V、800V哪怕只是做一次简单的电压监测你也不能把高压母线的分压点直接怼到STM32的ADC引脚上。原因很直接STM32的ADC输入范围通常被VDDA限制在3.3V以内而高压侧的地和低压控制侧的地之间存在巨大的共模电压差。一旦两侧地线直接连通轻则ADC读数乱跳重则芯片当场冒烟甚至把调试用的电脑一起带走。我在早期做BMS采样板的时候就吃过这个亏。当时图省事用电阻分压后直接接STM32的ADC台架上低压测试一切正常装车后一上高压ADC读数直接饱和芯片发热最后查出来是高压侧和低压侧共地导致的地环路问题。从那以后凡是涉及高压采样的场景隔离是绕不过去的第一步。这个项目要解决的问题就是如何用HCNR200线性光耦搭建一个750V直流采样电路把高压侧的电压信号线性地、安全地传递到低压侧再交给STM32的ADC进行采集。整套方案适合做新能源车高压检测、储能BMS电压监测、工业直流母线监控的工程师参考也适合正在做相关毕业设计的学生直接抄作业。核心关键词就几个HCNR200、STM32、光耦隔离、ADC采样、直流采样。2. 整体方案设计与器件选型逻辑2.1 为什么选HCNR200而不是普通光耦普通光耦比如PC817它的电流传输比CTR离散性非常大同一批次不同个体之间可能差一倍以上而且CTR随温度漂移严重。你用它传个开关信号没问题但用来传模拟量线性度根本没法保证。HCNR200不一样它是专门为模拟信号隔离设计的线性光耦内部有一个发光二极管LED和两个匹配的光电二极管PD1、PD2。PD1在输入侧做反馈PD2在输出侧做接收两个PD的工艺匹配度极高典型线性度可以做到0.01%级别。它的工作原理可以这样理解输入侧的运放强制PD1的光电流等于输入电流LED的发光强度由这个闭环控制。因为PD2和PD1是匹配的PD2产生的光电流就和输入电流成固定比例关系。输出侧再用一个运放把PD2的光电流转换成电压整个传输过程就实现了线性隔离。说白了HCNR200不是靠LED本身的线性而是靠两个匹配PD加负反馈来保证线性度这是它和普通光耦的本质区别。选型时需要注意几个参数。HCNR200的输入电流典型值在5mA到20mA之间太小了信噪比差太大了LED老化快。带宽方面配合合适的运放可以做到1MHz以上对于直流母线电压监测这种低频信号绰绰有余。隔离电压方面HCNR200本身是3750Vrms的隔离等级但实际能扛多高电压还要看PCB爬电距离和隔离带设计。2.2 750V量程的分压与隔离架构750V直流要进HCNR200第一步肯定是分压。分压电阻的选择有几个硬约束耐压、功耗、精度、温漂。我一般用多颗高阻值电阻串联而不是用一颗大电阻。原因有两个一是单颗电阻的耐压有限0805封装通常只有150V到200V1206也就200V左右750V必须串联分担二是串联后单颗电阻上的功耗降低温升小阻值漂移也小。具体分压比怎么算假设我们希望在额定750V时分压点输出给HCNR200输入侧的电流在10mA左右。HCNR200输入侧是一个运放虚地分压点实际上是通过输入电阻Rin接到运放的反相输入端运放强制该点电压等于同相端电压。所以分压电阻串的总阻值决定了输入电流。我常用的方案是高压侧分压电阻串总阻值取1MΩ左右由10颗100kΩ/0.5W的电阻串联组成。750V除以1MΩ等于0.75mA这个电流太小了HCNR200需要5mA以上。所以实际电路里不是直接用分压点驱动HCNR200而是分压后经过一个运放缓冲再通过输入电阻驱动HCNR200。或者更常见的做法是分压电阻串总阻值取小一些比如150kΩ750V除以150kΩ等于5mA刚好在HCNR200的合理工作区间。但150kΩ上承受750V功耗是750²/150k 3.75W这个功耗太大了电阻会烫得厉害。所以实际方案是分压串用大阻值比如1MΩ然后在分压点后面加一个高压运放做缓冲再用小电阻驱动HCNR200。或者用两级分压第一级1MΩ分压到7.5V左右第二级再用运放缓冲后驱动光耦。我这次采用的方案是第一种分压串1MΩ分压点约0.75V相对于高压侧地然后经过一个高压运放OPA454做电压跟随再通过1kΩ输入电阻驱动HCNR200输入电流约0.75mA。等等0.75mA还是太小。重新算一下。HCNR200的输入电流IF典型推荐值是5mA到15mA。如果分压点电压是0.75V输入电阻Rin 0.75V / 5mA 150Ω。但这样运放输出电流要5mAOPA454可以做到。不过0.75V的分压点电压太小了容易受噪声干扰。更好的做法是让分压点电压高一些比如7.5V这样信噪比更好。分压串总阻值1MΩ750V时分压点7.5V电流0.75mA。然后运放缓冲后通过1.5kΩ电阻驱动HCNR200输入电流5mA。这样运放只需要提供5mA分压串只消耗0.75mA功耗0.56W可以接受。所以最终分压方案10颗100kΩ/0.5W电阻串联总阻值1MΩ分压比100:1750V对应7.5V。分压点接高压运放电压跟随器运放输出通过1.5kΩ电阻接HCNR200的输入侧。2.3 低压侧ADC接口与STM32资源分配低压侧HCNR200的输出是PD2的光电流需要经过一个运放转换成电压。典型电路是运放反相输入端接PD2同相端接地反馈电阻Rf将光电流转换成电压。HCNR200的传输比K3PD2电流与PD1电流之比典型值是1所以PD2电流约等于PD1电流也就是5mA。如果Rf取1kΩ输出电压就是5V超过了STM32的3.3V ADC范围。所以Rf需要调整让满量程输出电压在3.0V左右留一点余量。假设满量程750V对应PD2电流5mA要输出3.0VRf 3.0V / 5mA 600Ω。取标准值604Ω或者用两个电阻并联。这样750V对应3.0VSTM32的12位ADC在3.3V参考下分辨率是3.3V/4096 0.806mV对应电压分辨率0.806mV / 3.0V * 750V 0.2V。也就是说每0.2V母线电压变化ADC读数变化1个LSB。对于750V量程来说这个分辨率足够做电压监测了。STM32这边我选的是STM32F103C8T6ADC1的通道0PA0。为什么选这个型号便宜、资料多、ADC性能够用。12位ADC采样率最高1MHz对于直流电压监测完全过剩。实际使用中我一般配置成连续转换模式用DMA搬运数据然后在软件里做滑动平均滤波。这样CPU占用极低读数也稳定。ADC参考电压直接用VDDA也就是3.3V。这里有个细节STM32的VDDA和VDD之间要加磁珠或者电感隔离VDDA上要并10uF和100nF电容否则ADC读数会被数字电路的噪声干扰。我在PCB布局时会把VDDA的滤波电容尽量靠近芯片引脚磁珠放在VDD到VDDA的路径上。3. HCNR200外围电路细节与参数计算3.1 输入侧运放电路的设计要点HCNR200输入侧的运放不是随便选一个就行。它需要满足几个条件输入偏置电流小、带宽足够、能够驱动LED。我选的是OPA2376双运放轨到轨输入输出增益带宽积10MHz输入偏置电流只有0.2pA。为什么偏置电流要小因为HCNR200输入侧运放的反相输入端是虚地如果运放偏置电流大这个电流会直接叠加到输入电流上造成误差。0.2pA的偏置电流相对于5mA的输入电流误差可以忽略。电路连接是这样的分压点电压经过电压跟随器后通过输入电阻Rin接到运放的反相输入端。运放的同相输入端接高压侧地。运放的输出接HCNR200的LED阳极LED阴极通过一个限流电阻接地。等等这里需要仔细说一下HCNR200的引脚。HCNR200是8脚封装1脚和2脚是LED的阳极和阴极3脚和4脚是PD1的阴极和阳极5脚和6脚是PD2的阳极和阴极7脚和8脚是空脚或者内部屏蔽。输入侧电路运放输出接LED阳极1脚LED阴极2脚接一个电阻Rled到地。PD1的阳极4脚接运放的反相输入端PD1的阴极3脚接高压侧地。运放的同相输入端接高压侧地。这样运放会强制PD1的阳极电压等于地电位PD1的光电流从阳极流向阴极也就是从运放反相输入端流向地。运放输出通过LED和Rled到地形成闭环。输入电流IF的计算IF (Vref - Vf) / Rled其中Vf是LED正向压降约1.6V。但实际电路中运放输出会自动调整到让PD1电流等于输入电流。输入电流Iin Vin / Rin其中Vin是分压点电压。因为PD1电流等于Iin而LED电流IF和PD1电流IPD1的关系是IPD1 K1 * IFK1典型值0.5%。所以IF Iin / K1 Iin / 0.005 200 * Iin。如果Iin 5mAIF 1A这不对。我重新查一下HCNR200的数据手册。HCNR200的传输比K1 IPD1 / IF典型值是0.5%也就是说IF 5mA时IPD1 25uA。K3 IPD2 / IPD1典型值是1。所以如果我们要IPD1 5mAIF需要1A这显然不可能。所以实际设计中输入电流Iin不是5mA而是几十微安级别。重新计算HCNR200的IF推荐范围是1mA到20mA对应IPD1是5uA到100uA。所以输入电流Iin应该在5uA到100uA之间。如果分压点电压7.5V要得到50uA输入电流Rin 7.5V / 50uA 150kΩ。这样运放只需要提供50uA分压串电流0.75mA功耗0.56W。输出侧PD2电流也是50uA要输出3.0VRf 3.0V / 50uA 60kΩ。这个阻值合理。所以修正后的参数分压串1MΩ分压点7.5VRin 150kΩIin 50uAIF约10mA因为K10.5%IPD150uAIF50uA/0.00510mA。LED电流10mARled (运放输出电压 - Vf) / IF。运放输出电压由闭环决定大约在2V到3V之间Vf约1.6VRled (2.5V - 1.6V) / 10mA 90Ω。取100Ω标准值。3.2 输出侧运放与ADC接口电路输出侧运放我选的是OPA2376的另一个通道。PD2的阳极5脚接运放的反相输入端PD2的阴极6脚接低压侧地。运放的同相输入端接低压侧地。反馈电阻Rf接在运放输出和反相输入端之间。这样PD2的光电流从阳极流向阴极也就是从运放反相输入端流向地运放输出会升高通过Rf提供电流来平衡。输出电压Vout IPD2 * Rf。IPD2 K3 * IPD1 1 * 50uA 50uA。Rf 60kΩVout 50uA * 60kΩ 3.0V。完美。但60kΩ不是标准值可以用62kΩ或者两个30kΩ串联。我用的是62kΩVout 50uA * 62kΩ 3.1V稍微超了一点但STM32的ADC可以承受3.3V没问题。如果想精确一点可以在Rf上并联一个微调电阻。输出侧运放的输出直接接STM32的ADC引脚PA0。中间可以加一个RC低通滤波比如1kΩ电阻和100nF电容截止频率1.6kHz对于直流信号来说足够。这个RC滤波的作用是滤掉高频噪声防止ADC采样时混入开关噪声。注意ADC引脚的保护可以在引脚上并一个3.3V的TVS管防止意外过压。3.3 隔离带与PCB布局的硬性要求高压隔离电路PCB布局是生死攸关的事。HCNR200本身提供3750Vrms的隔离但如果你PCB上高压侧和低压侧的走线挨得太近爬电距离不够隔离电压就形同虚设。我一般要求高压侧和低压侧之间的PCB开槽槽宽至少2mm槽内不铺铜。如果空间允许开槽宽度做到4mm以上更稳妥。爬电距离的计算对于750V直流按照IEC 60664-1的标准污染等级2、材料组IIIa的情况下爬电距离要求大约是8mm。但这是针对基本绝缘的要求如果要做加强绝缘距离要翻倍。实际做车规产品我一般留12mm以上的爬电距离开槽宽度4mm槽两侧的铜皮到槽边缘至少4mm。HCNR200芯片本身跨接在隔离带两侧它的8个引脚中1到4脚在高压侧5到8脚在低压侧。PCB上芯片下面要开槽槽从芯片中间穿过把1到4脚和5到8脚完全隔开。芯片下面的槽宽至少1.5mm因为芯片本体宽度有限槽太宽了芯片没法焊接。实际做法是在芯片下方开一个1.5mm到2mm的槽槽的长度超出芯片两侧各2mm。高压侧的走线要加粗因为分压电阻串上有750V走线太细了容易尖端放电。我一般用1mm以上的线宽并且走线之间保持足够的间距。分压电阻串的每个电阻之间要留足够的爬电距离0805封装电阻的焊盘间距只有1mm左右750V分压后每个电阻承受75V1mm间距对于75V来说够了但为了保险我一般用1206封装焊盘间距更大。低压侧的走线就按普通信号线处理但要注意ADC输入线要远离数字信号线特别是时钟线和PWM线。如果实在避不开中间加地线屏蔽。VDDA的滤波电容要靠近芯片磁珠要选高频阻抗高的比如1kΩ100MHz。4. STM32端ADC采集与软件滤波实现4.1 ADC初始化与DMA配置STM32F103的ADC配置我一般用CubeMX生成初始化代码然后手动调整几个关键参数。ADC时钟不能超过14MHz我一般配置成12MHz72MHz除以6。采样时间选239.5个周期这是最长的采样时间适合高阻抗信号源。虽然我们的输出侧运放输出阻抗很低但采样时间长一点没坏处读数更稳。DMA配置成循环模式缓冲区大小64ADC连续转换模式。这样ADC一直在转换DMA自动把数据搬到缓冲区CPU只需要定期读取缓冲区做滤波就行。代码大概长这样// ADC初始化结构体 ADC_InitTypeDef ADC_InitStructure; DMA_InitTypeDef DMA_InitStructure; // DMA配置 DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr (uint32_t)ADC1-DR; DMA_InitStructure.DMA_MemoryBaseAddr (uint32_t)adc_buffer; DMA_InitStructure.DMA_DIR DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize 64; DMA_InitStructure.DMA_PeripheralInc DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize DMA_PeripheralDataSize_HalfWord; DMA_InitStructure.DMA_MemoryDataSize DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_Mode DMA_Mode_Circular; DMA_InitStructure.DMA_Priority DMA_Priority_High; DMA_Init(DMA1_Channel1, DMA_InitStructure); DMA_Cmd(DMA1_Channel1, ENABLE); // ADC配置 ADC_InitStructure.ADC_Mode ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode DISABLE; ADC_InitStructure.ADC_ContinuousConvMode ENABLE; ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel 1; ADC_Init(ADC1, ADC_InitStructure); // 配置通道0采样时间239.5周期 ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5); // 使能DMA请求 ADC_DMACmd(ADC1, ENABLE); // 使能ADC ADC_Cmd(ADC1, ENABLE); // ADC校准 ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); // 启动ADC转换 ADC_SoftwareStartConvCmd(ADC1, ENABLE);这段代码的关键点DMA循环模式让ADC数据自动搬运不需要CPU干预。ADC校准不能省否则读数偏差可能达到几十个LSB。采样时间选最长确保采样电容充分充电。4.2 滑动平均滤波与电压换算ADC原始数据噪声比较大直接读会看到读数在几十个LSB范围内跳动。我一般用滑动平均滤波窗口大小取32或者64。窗口越大读数越稳但响应越慢。对于直流母线电压监测响应慢一点没关系我取64。#define FILTER_WINDOW 64 uint16_t adc_buffer[FILTER_WINDOW]; uint32_t adc_sum 0; uint16_t adc_filtered 0; uint8_t adc_index 0; // 在定时器中断里定期调用比如1ms一次 void adc_filter_task(void) { adc_sum - adc_buffer[adc_index]; adc_sum adc_buffer[adc_index]; adc_filtered adc_sum / FILTER_WINDOW; adc_index; if(adc_index FILTER_WINDOW) { adc_index 0; } }等等上面这个滑动平均的写法有问题。正确的滑动平均应该是每次用新数据替换最老的数据然后重新求和。我重新写一下uint16_t adc_buffer[FILTER_WINDOW]; uint32_t adc_sum 0; uint16_t adc_filtered 0; uint8_t adc_index 0; void adc_filter_update(uint16_t new_sample) { adc_sum - adc_buffer[adc_index]; adc_buffer[adc_index] new_sample; adc_sum new_sample; adc_index; if(adc_index FILTER_WINDOW) { adc_index 0; } adc_filtered adc_sum / FILTER_WINDOW; }这个写法每次减去最老的样本加上最新的样本然后求平均。效率很高不需要每次重新遍历整个数组。电压换算ADC值转电压Vadc adc_filtered * 3.3V / 4096。然后根据分压比和隔离传输比反推母线电压。分压比是100:1隔离传输比是1:1因为K31Rf和Rin的关系已经包含在电路里了。所以母线电压Vbus Vadc * 100。但实际电路中Rin150kΩRf62kΩ传输比不是1:1。准确的计算是Vbus Vadc * (R1_total / R2) * (Rin / Rf) * (1 / K3)。其中R1_total是分压串总阻值1MΩR2是分压点对地电阻但我们的分压点后面接的是运放跟随器所以分压比就是1MΩ / 10kΩ不对分压串是10颗100kΩ串联分压点取最下面一颗电阻上的电压所以分压比是1MΩ / 100kΩ 10:1也不对。我重新理一下分压电路。10颗100kΩ电阻串联总阻值1MΩ。最下面一颗电阻接地分压点取最下面一颗电阻的上端。那么分压比是1MΩ / 100kΩ 10:1。750V输入分压点电压是75V。这不对75V太高了运放受不了。所以分压比要重新设计。如果分压点电压要7.5V那么分压比是100:1。10颗100kΩ串联总阻值1MΩ最下面一颗电阻应该是10kΩ上面9颗是100kΩ总阻值910kΩ。分压比 (910k 10k) / 10k 92:1。750V / 92 8.15V。差不多。或者更简单的做法用9颗100kΩ和1颗10kΩ串联总阻值910kΩ。分压点取10kΩ上的电压分压比91:1。750V对应8.24V。然后运放跟随Rin150kΩIin 8.24V / 150kΩ 55uA。IPD1 55uAIF 55uA / 0.005 11mA。Rled (2.5V - 1.6V) / 11mA 82Ω取82Ω标准值。输出侧IPD2 55uARf 3.0V / 55uA 54.5kΩ取56kΩ。Vout 55uA * 56kΩ 3.08V。母线电压Vbus Vadc * (910k10k)/10k * (150k/56k) Vadc * 92 * 2.68 Vadc * 246.6。如果Vadc 3.08VVbus 3.08 * 246.6 759.5V。接近750V误差1.3%可以通过软件校准修正。4.3 校准与温漂补偿的实操经验理论计算和实际电路总有偏差校准是必须的。我一般用两点校准在低压侧输入已知电压比如100V和700V记录ADC读数然后计算斜率和截距。校准公式Vbus k * adc_filtered b。k和b通过两点校准得到。温漂方面HCNR200的传输比随温度变化大约在-0.1%/°C左右分压电阻的温漂取决于电阻类型。金属膜电阻温漂50ppm/°C100°C温升对应0.5%的阻值变化。整体温漂可能在1%到2%之间。如果应用场景温度变化大比如车规-40°C到85°C温漂补偿就很有必要。我的做法是在HCNR200附近放一个NTC热敏电阻用STM32的另一个ADC通道采集温度然后在软件里做查表补偿。补偿表通过高低温箱标定得到每个温度点记录一组k和b值实际运行时根据温度插值。这个做法比较费时间但精度可以做到0.5%以内。如果不想做复杂的温漂补偿可以选低温漂电阻比如Vishay的PTF系列温漂5ppm/°C价格贵一点但省事。HCNR200本身也可以选HCNR201温漂指标更好一些但价格更贵。5. 调试过程中踩过的坑与排查技巧5.1 常见问题速查表现象可能原因排查方法解决方案ADC读数始终为0HCNR200输入侧LED不亮测LED两端电压正常约1.6V检查运放供电检查Rled是否焊接ADC读数饱和到4095输出侧运放饱和测运放输出电压正常应小于3.3V减小Rf或检查PD2是否接反读数跳动大滤波不足或地环路示波器看ADC引脚波形增加滤波窗口检查地线布局读数随温度漂移HCNR200或电阻温漂高低温箱测试软件补偿或换低温漂器件高压侧加电后低压侧芯片损坏隔离带爬电距离不够检查PCB开槽和间距重新设计PCB增加爬电距离线性度差HCNR200工作电流不在推荐范围测IF和IPD1调整Rin和Rled使IF在5-15mA5.2 我踩过的三个典型坑第一个坑是输入侧运放自激振荡。当时用的运放是LM358带宽只有1MHz压摆率0.5V/us驱动LED时输出波形有振荡。后来换成OPA2376带宽10MHz压摆率2V/us振荡消失。教训是HCNR200输入侧运放不要用低速运放至少选5MHz以上带宽的。第二个坑是输出侧运放的反馈电阻太大导致响应慢。一开始Rf用了1MΩ输出侧运放的输入电容和反馈电阻形成的时间常数太大阶跃响应要几十毫秒才稳定。后来把Rf降到56kΩ响应时间降到1ms以内。教训是Rf不要超过100kΩ否则带宽不够。第三个坑是PCB隔离带开槽太窄。第一版PCB开槽只有1mm高压测试到500V时低压侧芯片就挂了。后来开槽加到4mm爬电距离做到12mm750V测试没问题。教训是隔离带开槽宽度至少2mm爬电距离至少8mm车规应用翻倍。5.3 示波器与万用表配合调试的技巧调试这种隔离电路万用表测静态工作点示波器看动态响应。我一般先用万用表测各点直流电压分压点电压、运放输出电压、HCNR200各引脚电压、ADC引脚电压。这些电压和理论值对比偏差大的地方就是问题所在。示波器主要看两个地方一是ADC引脚的纹波正常应该在几个mV以内如果看到几十mV的开关噪声说明滤波不够或者地线布局有问题二是输入侧运放输出看有没有振荡正常应该是干净的直流。还有一个技巧用信号发生器在高压侧注入一个低频正弦波比如1Hz、1Vpp然后看低压侧ADC读数是否跟随。这样可以测试整个通道的线性度和带宽。如果正弦波变形了说明线性度不好如果幅度衰减了说明带宽不够。6. 这个方案还能怎么扩展这套750V直流采样电路的核心思路可以扩展到很多场景。比如把分压电阻串改成电流传感器加电阻就可以做电流隔离采样。把HCNR200换成HCNR201温漂指标更好适合高精度应用。把STM32换成带16位ADC的型号比如STM32F373分辨率可以提高到0.05V。软件方面可以加一个CAN或者UART接口把电压数据上传给上位机。也可以加一个OLED显示屏做本地显示。如果做BMS可以把多路采样电路并联用STM32的多通道ADC轮流采集实现多节电池电压监测。隔离电源方面高压侧运放需要供电可以用一个隔离DC-DC模块比如B0505S从低压侧5V隔离出高压侧5V。这样整个高压侧电路就完全浮地安全性更好。B0505S的隔离电压是1000V对于750V系统够了如果要更高耐压可以选B0505S-1W或者更高规格的。最后分享一个小技巧HCNR200的PD1和PD2之间有一个内部屏蔽层引脚7和8。这个屏蔽层可以接到高压侧地或者低压侧地看哪个噪声大就接哪边。我一般接低压侧地因为低压侧地通常更干净。如果噪声还是大可以在屏蔽层上并一个100nF电容到地。这个电路我前后做了三版第一版隔离带不够烧了芯片第二版运放选型不对振荡第三版才稳定。现在这套方案在750V直流母线上连续跑了半年读数稳定在±0.5%以内温漂在可接受范围内。如果你也在做类似的高压采样项目希望这些经验能帮你少走点弯路。
返回列表