ARTICLE DETAIL

资讯详情

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

分流器电流采样精度优化:从电阻选型到ADC配置的工程实践

分流器电流采样精度优化:从电阻选型到ADC配置的工程实践 1. 为什么分流器采样看起来简单做起来却处处是坑分流器电流采样这个事乍一听特别朴素一个毫欧级的电阻串在回路里电流流过产生压降运放放大一下ADC读走完事。我刚开始做电机驱动板的时候也是这么想的结果第一版板子回来空载时ADC读数跳得跟心电图一样带载之后误差直接飙到15%以上保护阈值形同虚设。后来花了整整两周时间从布局、运放选型、滤波参数到ADC配置逐项排查才把精度压到2%以内。这个电路的核心链路其实就四段分流电阻把电流转成微小压差运放把压差放大到ADC能舒服读取的范围RC网络把高频噪声挡在ADC外面ADC完成量化和数字滤波。每一段单独看都不复杂但串在一起之后任何一个环节的疏忽都会被后面的环节放大。比如分流电阻的温漂、运放的失调电压、RC滤波的截止频率和ADC采样时间的匹配、PCB上地线的走法这些细节叠加起来才是决定最终精度的关键。这篇文章适合谁看如果你正在做电机控制、电池管理、电源模块或者任何需要测量直流或交流电流的嵌入式项目并且希望把采样精度做到可用甚至可靠的程度那接下来的内容应该能帮你少走不少弯路。我会从原理图设计讲到代码实现重点放在那些数据手册上不会写、但实际调试中一定会遇到的噪声问题和处理技巧上。2. 分流电阻与运放选型精度从第一颗电阻就开始决定2.1 分流电阻的阻值、功率与温漂怎么权衡分流电阻的选型是整个链路的第一道关口。阻值选大了功耗和发热上去了选小了输出压差太小运放的失调电压和噪声就会占据主导。我一般按这个思路来定先确定最大被测电流和允许的功耗。比如一个24V/10A的电机驱动项目我通常把分流电阻上的功耗控制在0.5W以内留足余量。如果最大电流10A那R P / I² 0.5 / 100 5mΩ。这时候满量程压差是10A × 5mΩ 50mV这个值对运放来说是可以处理的。但5mΩ这个阻值有个问题铜的电阻温度系数是3900ppm/°C普通厚膜电阻的温漂也在100ppm/°C以上。如果环境温度变化40°C5mΩ电阻的阻值可能变化0.02mΩ对应10A时的压差变化就是0.2mV折算到电流上就是40mA的误差。对于需要精确控制的项目这个误差不能忽略。所以我在选分流电阻时会优先考虑合金电阻比如锰铜合金温漂可以做到±50ppm/°C甚至更低虽然单价贵一些但省下来的调试时间远比电阻本身值钱。封装上2512封装的合金电阻功率可以做到2W以上散热条件好的话5mΩ/2W的规格完全够用。还有一个容易被忽略的点分流电阻的走线方式。四线制开尔文连接是必须的电压采样点要从电阻焊盘的内侧引出而不是从电流流过的路径上取。我见过不少板子直接把采样线从电阻两端拉出去结果走线本身的电阻和焊锡的接触电阻都算进了采样回路误差直接翻倍。2.2 运放选型失调电压、增益带宽积和压摆率的三角关系运放的选择取决于三个核心参数失调电压Vos、增益带宽积GBW和压摆率SR。这三个参数互相制约需要根据实际信号特征来取舍。先说失调电压。假设分流电阻满量程压差是50mV你希望误差控制在1%以内那运放的失调电压必须小于50mV × 1% 0.5mV。这个要求不算苛刻但如果你选的运放Vos是5mV那误差直接就是10%再好的ADC也救不回来。我通常会把Vos控制在满量程压差的0.1%以内也就是50μV左右。这个级别的运放有OPA333Vos最大10μV、ADA4522Vos最大5μV等价格适中适合大多数项目。再说增益带宽积。假设你需要把50mV放大到3V增益60倍信号带宽要求是10kHz电机电流的PWM频率通常在10kHz到20kHz电流纹波的主要频率成分在这个范围。那需要的GBW至少是60 × 10kHz 600kHz。实际选型时我会留5到10倍余量选GBW在3MHz到6MHz之间的运放。OPA333的GBW是350kHz增益60倍时带宽只有5.8kHz对于10kHz的信号来说不够用。这时候就要换OPA2376GBW 5.5MHz或者ADA4805GBW 10MHz。压摆率这个参数经常被忽略但在PWM电流采样中很关键。如果电流是PWM斩波后的脉冲信号运放需要在很短的时间内跟上信号变化。SR的计算公式是SR ≥ 2π × f × Vpeak。假设信号频率10kHz输出峰值3V那SR ≥ 2π × 10000 × 3 ≈ 188V/μs。这个要求很高一般运放达不到。所以实际做法是在运放后面加RC滤波把高频成分滤掉让运放只处理平均电流或低频成分。如果确实需要采样瞬时电流那就得选SR在200V/μs以上的高速运放比如ADA4891SR 210V/μs。下面这个表格是我在实际项目中常用的几款运放对比型号Vos(max)GBWSR供电范围适用场景OPA33310μV350kHz0.16V/μs1.8-5.5V低边采样低频OPA237625μV5.5MHz2V/μs2.2-5.5V中频低边ADA45225μV2.7MHz1.5V/μs4.5-55V高边高压INA24025μV400kHz—2.7-5.5V专用电流检测AD8418200μV250kHz—2.7-5.5V双向电流检测注意INA240和AD8418是专用电流检测放大器内部集成了匹配电阻网络CMRR远高于分立运放搭建的差分电路。如果共模电压变化范围大比如电机驱动中开关节点电压在0V到24V之间跳变优先考虑这类专用芯片。2.3 低边采样与高边采样的选择逻辑低边采样就是把分流电阻放在负载和地之间运放输入端的共模电压接近0V对运放的共模抑制比要求低电路简单。但低边采样有个致命问题它破坏了负载的接地参考。如果负载本身还需要和其他电路共地低边采样就会引入地电位偏移导致通信异常或控制信号误判。高边采样把分流电阻放在电源和负载之间负载的地参考保持不变但运放输入端要承受接近电源电压的共模电压。这时候要么用高共模抑制比的差分放大器要么用专用电流检测芯片。我个人的经验是如果共模电压低于运放供电电压可以用分立差分电路如果共模电压高于运放供电电压必须用专用芯片或电阻分压后再进运放。3. 差分放大电路的设计细节与常见错误3.1 差分放大器的电阻匹配为什么比阻值本身更重要用运放搭建差分放大器时很多人把注意力放在电阻的绝对精度上却忽略了匹配精度。差分放大器的共模抑制比CMRR取决于四个电阻的匹配程度而不是单个电阻的精度。假设四个电阻分别是R1、R2、R3、R4理想情况下R1/R2 R3/R4。如果R1和R2之间有0.1%的失配CMRR就会下降到约60dB。如果失配达到1%CMRR只有40dB。对于共模电压变化范围大的场景40dB的CMRR意味着共模电压变化1V时输出会产生10mV的误差折算到电流上就是很大的偏差。我的做法是用同一批次、同一阻值的电阻最好是用排阻电阻阵列。排阻内部的四个电阻在同一硅片上制造匹配精度可以做到0.01%以内温漂也一致。比如LT5400系列匹配精度0.005%CMRR可以做到90dB以上。虽然单价高但对于精度要求高的项目这个投入是值得的。如果不用排阻那就至少保证四个电阻是同一厂家、同一批次、同一封装的产品并且在PCB布局时让它们靠近且方向一致减少温度梯度带来的失配。3.2 单电源供电时的偏置电路设计很多嵌入式项目只有单电源比如3.3V或5V但电流有正有负比如电机正反转、电池充放电。这时候需要把运放的输出偏置到电源中点让ADC能够读取正负两个方向的电流。偏置电路通常用两个等值电阻分压得到Vcc/2然后通过一个缓冲器或者直接接到运放的同相输入端。这里有个细节分压电阻的阻值不能太大否则偏置电压会被运放输入偏置电流影响。比如运放输入偏置电流是1nA分压电阻是100kΩ那偏置电压的误差就是1nA × 50kΩ 50μV。对于50mV满量程的信号来说这个误差是0.1%可以接受。但如果分压电阻是1MΩ误差就变成0.5mV达到1%就不能忽略了。我通常用10kΩ级别的分压电阻配合0.1μF的旁路电容把偏置电压的噪声滤掉。旁路电容要尽量靠近运放的同相输入端否则走线电感会让高频噪声绕过电容直接进入运放。3.3 反馈电容的作用与取值计算差分放大器的反馈电阻上并联一个小电容通常几pF到几十pF目的是限制高频增益防止运放自激振荡。这个电容的取值需要和反馈电阻配合计算。假设反馈电阻Rf 100kΩ反馈电容Cf 10pF那高频截止频率是1/(2π × Rf × Cf) 1/(2π × 100k × 10p) ≈ 159kHz。这个频率要高于你需要的信号带宽但低于运放的不稳定频率。如果Cf取太大信号的高频成分会被衰减导致电流波形失真如果Cf取太小运放可能在几百kHz到几MHz的频率上振荡。我的经验是先用示波器观察运放输出如果看到高频毛刺或振荡就逐步增大Cf直到振荡消失。一般从10pF开始试最大不超过100pF。如果100pF还压不住那说明问题不在反馈电容而在布局或电源去耦上。4. RC滤波与ADC采样时间的匹配最容易被忽略的精度杀手4.1 输入滤波器的截止频率怎么定运放输出到ADC输入之间通常要加一个RC低通滤波器。这个滤波器的截止频率需要同时考虑两个因素信号带宽和ADC采样时间。信号带宽方面如果被测电流是PWM斩波后的信号主要频率成分在PWM频率及其谐波上。比如PWM频率是20kHz那滤波器截止频率至少要高于20kHz否则电流波形的上升沿和下降沿会被严重衰减。但截止频率也不能太高否则高频噪声会进入ADC。ADC采样时间方面ADC内部有一个采样电容通常几pF到几十pF在采样阶段需要从外部电路充电。如果RC滤波器的时间常数太大采样电容充不满ADC读数就会偏低。STM32的ADC采样电容大约是4pF采样时间可配置为1.5到239.5个ADC时钟周期。假设ADC时钟是14MHz采样时间设为15个周期那采样窗口是15/14M ≈ 1.07μs。RC滤波器的时间常数要远小于这个值一般要求RC 采样时间/5。综合这两个因素我通常把RC滤波器的截止频率设在信号带宽的2到5倍同时保证RC时间常数小于ADC采样时间的1/5。比如信号带宽20kHz截止频率取50kHzR 1kΩC 3.3nFRC 3.3μs。如果ADC采样时间是1.07μs那RC太大了需要减小R或C。改成R 100ΩC 33nFRC 3.3μs还是一样。实际上应该反过来算先确定ADC采样时间再定RC。假设ADC采样时间1.07μs要求RC 1.07/5 0.214μs。取R 100Ω则C 2.14nF取1nF。这时候截止频率是1/(2π × 100 × 1n) ≈ 1.59MHz远高于信号带宽滤波效果有限。所以实际做法是在运放后面加一级RC滤波在ADC输入前再加一级RC滤波两级滤波器的截止频率可以不同第一级负责滤除运放输出的高频噪声第二级负责匹配ADC采样时间。4.2 ADC采样时间与源阻抗的匹配计算ADC的采样过程可以等效为一个开关、一个采样电容和一个串联电阻。采样开关闭合时外部电路的源阻抗和采样电容构成RC充电回路。如果源阻抗太大采样电容充电不足ADC读数就会偏低。STM32的ADC数据手册给出了源阻抗和采样时间的关系表。以STM32F4为例ADC时钟30MHz采样时间3个周期0.1μs时最大源阻抗是1.2kΩ采样时间15个周期0.5μs时最大源阻抗是5.9kΩ采样时间84个周期2.8μs时最大源阻抗是33kΩ。我的做法是先确定外部RC滤波器的R值然后根据R值查表确定ADC采样时间。比如R 1kΩ那采样时间至少选15个周期。如果R 10kΩ采样时间要选84个周期以上。采样时间越长ADC转换速率越低但精度越高。对于电流采样这种不需要极高采样率的场景我通常选最长的采样时间牺牲速度换精度。4.3 多通道采样时的串扰问题如果ADC同时采集多路电流信号通道之间的串扰是一个隐蔽的问题。ADC内部的采样电容在切换通道时会残留上一个通道的电荷导致下一个通道的读数出现偏差。解决方法是在每次通道切换后先进行一次丢弃采样dummy conversion把残留电荷放掉再采第二次作为有效值。STM32的ADC支持连续采样模式可以在DMA缓冲区里多分配一个位置第一个数据丢弃第二个数据使用。这个技巧在数据手册里不会写但实测下来对多通道采样的精度提升很明显。另外如果两个通道的源阻抗差异很大串扰会更严重。比如通道1的源阻抗是1kΩ通道2是10kΩ通道2的采样电容充电更慢受通道1残留电荷的影响更大。这时候要么让两个通道的源阻抗尽量接近要么在通道之间插入一个接地通道作为缓冲。5. 从寄存器到代码ADC配置与数字滤波的实战写法5.1 STM32 ADC多通道DMA配置的关键寄存器以STM32G474为例ADC配置涉及以下几个关键寄存器ADC_CFGR配置DMA使能、连续转换模式、分辨率、对齐方式ADC_SMPR1/2配置每个通道的采样时间ADC_SQR1/2/3配置规则通道序列ADC_CCR配置ADC时钟分频、VREF选择我通常用CubeMX生成初始化代码然后手动调整采样时间和DMA配置。下面是一个典型的多通道DMA配置片段// ADC初始化结构体 ADC_HandleTypeDef hadc1; DMA_HandleTypeDef hdma_adc1; void ADC_Init(void) { hadc1.Instance ADC1; hadc1.Init.ClockPrescaler ADC_CLOCK_SYNC_PCLK_DIV4; hadc1.Init.Resolution ADC_RESOLUTION_12B; hadc1.Init.ScanConvMode ADC_SCAN_ENABLE; hadc1.Init.ContinuousConvMode ENABLE; hadc1.Init.DiscontinuousConvMode DISABLE; hadc1.Init.ExternalTrigConv ADC_SOFTWARE_START; hadc1.Init.DataAlign ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion 3; hadc1.Init.DMAContinuousRequests ENABLE; hadc1.Init.EOCSelection ADC_EOC_SEQ_CONV; HAL_ADC_Init(hadc1); // 配置通道采样时间 ADC_ChannelConfTypeDef sConfig {0}; sConfig.Channel ADC_CHANNEL_1; sConfig.Rank ADC_REGULAR_RANK_1; sConfig.SamplingTime ADC_SAMPLETIME_247CYCLES_5; HAL_ADC_ConfigChannel(hadc1, sConfig); sConfig.Channel ADC_CHANNEL_2; sConfig.Rank ADC_REGULAR_RANK_2; HAL_ADC_ConfigChannel(hadc1, sConfig); sConfig.Channel ADC_CHANNEL_3; sConfig.Rank ADC_REGULAR_RANK_3; HAL_ADC_ConfigChannel(hadc1, sConfig); }采样时间选247.5个周期对应ADC时钟被PCLK/4分频后的时间。假设PCLK是170MHzADC时钟是42.5MHz247.5个周期就是5.8μs。这个采样时间足够长源阻抗在几十kΩ以内都能保证精度。5.2 滑动平均滤波与中值滤波的取舍ADC原始数据即使经过硬件滤波仍然会有随机噪声。数字滤波是最后一道防线。常用的方法有滑动平均滤波和中值滤波。滑动平均滤波适合抑制随机噪声但对脉冲干扰无能为力。实现方式是维护一个长度为N的缓冲区每次新数据进来替换最旧的数据然后求平均。N越大滤波效果越好但响应越慢。对于电流采样我通常取N 8或16对应响应时间在几百微秒到几毫秒之间。#define FILTER_LEN 16 typedef struct { uint16_t buf[FILTER_LEN]; uint32_t sum; uint8_t idx; } MovingAvg_t; uint16_t MovingAvg_Update(MovingAvg_t *ma, uint16_t new_val) { ma-sum - ma-buf[ma-idx]; ma-buf[ma-idx] new_val; ma-sum new_val; ma-idx (ma-idx 1) % FILTER_LEN; return (uint16_t)(ma-sum / FILTER_LEN); }中值滤波适合抑制脉冲干扰比如电机换相时产生的尖峰噪声。实现方式是对N个数据排序取中间值。N通常取3或5排序计算量小响应快。中值滤波和滑动平均滤波可以级联使用先中值滤波去掉尖峰再滑动平均平滑随机噪声。uint16_t MedianFilter_Update(uint16_t new_val) { static uint16_t buf[5] {0}; static uint8_t idx 0; buf[idx] new_val; idx (idx 1) % 5; uint16_t temp[5]; memcpy(temp, buf, sizeof(buf)); // 简单冒泡排序 for (int i 0; i 4; i) { for (int j 0; j 4 - i; j) { if (temp[j] temp[j1]) { uint16_t t temp[j]; temp[j] temp[j1]; temp[j1] t; } } } return temp[2]; }5.3 电流值的标定与零点校准ADC读到的原始值需要转换成实际电流值。转换公式是I (ADC_raw - ADC_zero) × Vref / (ADC_fullscale × Gain × Rshunt)其中ADC_zero是零电流时的ADC读数ADC_fullscale是ADC满量程值12位ADC是4095Vref是参考电压Gain是运放增益Rshunt是分流电阻。零点校准很关键。由于运放失调电压和偏置电路误差零电流时ADC读数不一定是理论值比如单电源偏置时理论值是2048。我通常在产品出厂前做一次零点校准确保负载断开采集100次ADC读数取平均存入Flash作为ADC_zero。运行时用这个值做零点偏移。满量程校准也类似给一个已知的精确电流比如用电子负载设定1A读取ADC值反算出实际的Gain × Rshunt乘积存入Flash。这样可以把电阻容差和运放增益误差都校准掉。提示校准时的环境温度要接近实际工作温度。如果产品在低温环境下工作零点校准也要在低温下做否则温漂会导致零点偏移。6. 噪声排查实录从波形异常到定位根因的完整过程6.1 空载时ADC读数跳动的排查链路第一版板子回来之后空载时ADC读数在2000到2100之间跳动峰峰值达到100个LSB。按照12位ADC、3.3V参考电压计算100个LSB对应80mV的输入噪声折算到运放输入端是80mV/60 1.3mV。这个噪声水平远超运放本身的噪声OPA333的输入噪声密度是55nV/√Hz带宽10kHz时总噪声约5.5μV说明噪声来自外部。排查步骤用示波器看运放输出发现输出上有大约50mVpp的高频噪声频率在几百kHz到几MHz之间。这说明噪声不是来自运放本身而是来自电源或空间耦合。检查电源去耦运放供电引脚上的去耦电容是0.1μF但走线太长距离运放超过5mm。把去耦电容移到运放引脚旁边噪声降到20mVpp。检查地线布局发现运放的地和ADC的地通过一条细走线连接走线电感在高频下产生压降。在运放和ADC下方铺完整地平面噪声降到5mVpp。检查分流电阻走线发现采样线从分流电阻焊盘外侧引出走线经过功率回路。改成开尔文连接从焊盘内侧引出噪声降到1mVpp。检查ADC配置发现采样时间设为3个周期太短。改成247.5个周期噪声降到0.5mVpp。最终空载时ADC读数跳动在±3个LSB以内满足精度要求。6.2 带载时读数偏低的根因分析空载噪声解决之后带载测试发现ADC读数比实际电流偏低约8%。用万用表测量分流电阻两端电压和ADC读数换算出的电压对比发现ADC读数确实偏低。排查步骤检查运放增益用信号发生器给运放输入一个已知的直流电压测量输出。发现实际增益是56.5而设计值是60。原因是反馈电阻的容差1%和运放的开环增益有限OPA333的开环增益是130dB理论上误差很小但实际电路中反馈电阻的负载效应会导致增益下降。检查ADC参考电压用高精度万用表测量Vref引脚发现是3.28V而不是3.30V。这个0.6%的误差直接导致ADC读数偏低0.6%。检查分流电阻用四线制毫欧表测量分流电阻发现实际阻值是4.95mΩ而不是5mΩ。这个1%的误差导致电流读数偏低1%。检查运放失调电压短路运放输入端测量输出。发现输出不是0V而是2mV对应输入失调电压2mV/60 33μV。这个失调电压导致零电流时ADC读数偏高带载时读数偏低。综合这些因素总误差大约是8%。解决方法是在软件里做两点校准零点校准消除失调电压满量程校准消除增益和参考电压误差。校准之后误差降到1%以内。6.3 PWM噪声耦合到ADC的抑制方法电机驱动项目中PWM开关噪声通过空间耦合和电源耦合进入ADC导致电流采样波形上出现与PWM同步的尖峰。抑制方法有几种第一种是同步采样让ADC采样时刻避开PWM开关瞬间。比如PWM频率20kHz周期50μs开关瞬间在周期开始和中间。把ADC采样时刻设在周期开始后10μs这时候开关噪声已经衰减。STM32的定时器可以触发ADC采样通过配置定时器的比较值来实现同步。第二种是增加RC滤波的阶数单级RC滤波对高频噪声的衰减是-20dB/十倍频两级RC滤波是-40dB/十倍频。在运放输出和ADC输入之间加两级RC滤波第一级截止频率100kHz第二级截止频率1MHz对PWM噪声的抑制效果明显。第三种是屏蔽和隔离在PCB布局时把模拟部分和功率部分分开模拟地单独走线最后在一点连接。分流电阻的采样线用差分走线包地处理。如果条件允许在运放输入端加共模扼流圈抑制共模噪声。我实际项目中用得最多的是第一种和第二种结合同步采样避开噪声峰值两级RC滤波衰减残余噪声。实测下来PWM噪声可以从几百mVpp降到几mVpp。7. 几个让精度再上一个台阶的细节7.1 运放供电的LDO选型与去耦电容布局运放供电的噪声直接影响输出噪声。如果运放和数字电路共用一路LDO数字电路的开关噪声会通过电源耦合到运放。我通常给运放单独一路LDO比如TPS7A4700噪声4.7μVrms或者ADP7142噪声8μVrms。LDO的输入输出电容要按数据手册推荐值选通常输入10μF输出10μF再并联0.1μF和1nF的小电容滤高频。去耦电容的布局比选型更重要。0.1μF电容要尽量靠近运放供电引脚走线长度不超过2mm。如果运放是双电源供电正负电源引脚都要加去耦电容。电容的接地端要直接打到地平面不要通过过孔再走一段线。7.2 PCB布局中模拟地与功率地的分割策略模拟地和功率地的处理是PCB布局中最容易出错的地方。我的做法是模拟部分和功率部分各自铺地最后在ADC或运放下方用0Ω电阻或磁珠单点连接。这样功率回路的大电流不会流过模拟地避免地电位差引入噪声。分流电阻的采样线要走差分对两条线尽量靠近长度一致包地处理。采样线不要穿过功率回路不要和PWM信号线平行走线。如果必须交叉尽量垂直交叉减少耦合。运放的反馈电阻和输入电阻要靠近运放引脚走线尽量短。反馈电容要直接跨接在反馈电阻两端不要通过过孔。7.3 温度漂移的补偿思路即使选了低温漂的分流电阻和运放温度变化仍然会带来零点漂移和增益漂移。如果项目对精度要求很高可以在板上加一颗温度传感器比如NTC或数字温度芯片在软件里做温度补偿。补偿方法是在常温下校准零点和增益然后在高温和低温下各测一组数据拟合出零点和增益随温度变化的曲线。运行时根据温度传感器读数查表补偿。这个方法可以把温漂误差从几百ppm降到几十ppm。不过温度补偿的前提是温度传感器和分流电阻、运放处于同一温度环境。如果温度传感器离分流电阻很远测到的温度不能代表分流电阻的实际温度补偿效果会打折扣。我通常把温度传感器放在分流电阻附近或者直接用分流电阻本身的温漂特性来补偿。8. 写在最后的一点个人体会这个电路我前后做了不下十版从最开始的跳得没法用到后来稳定在1%以内踩过的坑基本都在这篇文章里了。最大的体会是精度不是靠某一颗器件堆出来的而是靠整个链路的每一个细节配合出来的。分流电阻选得再好运放失调电压大了照样白搭运放选得再精密ADC采样时间配错了精度也上不去硬件设计得再完美软件不做校准误差也压不下来。还有一个很实用的建议在PCB上多留几个测试点。运放输入、运放输出、ADC输入、参考电压这几个点都引出测试焊盘。调试的时候用示波器和万用表逐点测量比盲猜快得多。我现在的板子上这几个测试点是标配虽然占一点面积但省下来的调试时间完全值得。如果你正在做类似的项目建议先从低边采样、单电源偏置、OPA333加STM32 ADC这个组合入手把基本链路跑通再根据实际需求逐步优化。不要一上来就追求高边采样加专用芯片那样出了问题排查起来更复杂。先把简单的做稳再挑战复杂的。
返回列表