请教一个数采中的电源问题
我最近做了一块用ESP32和AD7327采集热电偶温度的PCB板。大体的电路是热电偶的电压信号经过op07差分放大,再被AD7327采集,然后被esp32单片机读取。但是在测试时,我遇到了一些问题:①我尝试用DCDC芯片升压锂电池的3.7V,产生5V,通过XH2.54端子线连接到图中A位置为PCB供电。示波器显示这种电源的电压纹波在10-15mV左右,但是热电偶数采的结果不是很理想,存在平均值附近10℃范围内的噪声。②我又尝试用电脑的usb接口直接插入单片机的MicroUSB供电。示波器测出此时供电的纹波很大,总是有一点几伏特的尖峰; 在没有尖峰的位置,电源纹波约为60mV。但是在这样供电下,数采得到的噪声明显小了,可以控制在平均值附近3~4℃,不过每采样几百次(1ksps)会出现一个峰值非常高的尖峰(约20~30℃,甚至更大)。我推测热电偶的采样噪声和电源有关,除了电压纹波之外,可能还受到一些别的参数影响。刚接触电设没多久,现在找不到解决方向了,求指点!
你遇到的问题主要是与电源噪声和热电偶采样相关的。根据您的描述,你尝试了两种供电方式,但都存在一些问题。
首先,使用DCDC芯片升压锂电池供电时,你提到电压纹波在10-15mV左右,但热电偶数采结果的噪声较大,存在10℃范围内的波动。这可能是由于电源噪声传播到热电偶采集电路中引起的。你可以尝试使用低噪声的升压芯片,或者添加额外的滤波电路,进一步减小电源的纹波。
其次,你尝试使用电脑的USB接口直接供电时,示波器测量到的电源纹波较大。这可能是因为电脑的USB接口供电不稳定,造成了较大的纹波。供电端的尖峰可能会对您的采样产生干扰。为了解决这个问题,你可以尝试使用稳定的电源,例如专用的电源适配器。
另外,你提到在USB供电下,每几百次采样会出现一个峰值非常高的尖峰。这可能是由于电源波动引起的,您可以尝试添加适当的滤波电路来减小这种尖峰的幅度。此外,确保电源线和地线的连接良好,避免引入干扰。
总结来说,解决您的问题可能需要综合考虑电源的稳定性、纹波以及滤波等因素。您可以尝试使用更稳定的电源供电,并添加适当的滤波电路来减小电源纹波和干扰。如果仍然遇到问题,您可能需要进一步检查热电偶采集电路的设计和布局,确保信号传输的可靠性和抗干扰性。另外,如果可能的话,你也可以参考一些专业电路板设计的相关资料或咨询专业工程师以获取更详细的技术支持。
不知道你这个问题是否已经解决, 如果还没有解决的话:问题1可能的原因是电源纹波干扰了热电偶信号,在AD7327采集过程中引入了噪声。要解决这个问题,可以考虑以下几个方面:
例如,可以在DCDC芯片的输出端和PCB的电源接口之间放置一个肖特基二极管作为电源滤波电容。具体的滤波电容值可以根据实际情况和需要来确定。
示例代码(仅供参考):
python # 假设使用Python语言编程 # 设置GPIO引脚为输出模式 GPIO.setup(CAP_PIN, GPIO.OUT) # 控制滤波电容电压 GPIO.output(CAP_PIN, GPIO.HIGH)
示例代码(仅供参考):
python # 假设使用Python语言编程 # 设置电源线和地线的走向 power_line = [x1, y1, x2, y2] ground_line = [x3, y3, x4, y4] # 设置信号线的走向 signal_line = [x5, y5, x6, y6]
示例代码(仅供参考):
python # 假设使用Python语言编程 # 设置地线连接方式 ground_connection = "铜箔连接"
示例代码(仅供参考):
python # 假设使用Python语言编程 # 设置信号线的屏蔽层 signal_line_shielding = "金属箔层"
问题2可能的原因是电源纹波导致了热电偶采样噪声的不稳定性。要解决这个问题,可以考虑以下几个方面:
电源滤波:同样可以在电源线上添加电源滤波电容,减小电源纹波幅度。可以采用与问题1中相似的方法,选择合适的滤波电容和滤波器设计。
增加去耦电容:在ESP32的电源引脚附近添加去耦电容,可以减小电源纹波的传播到单片机的可能。去耦电容的布局要靠近ESP32的电源管脚,并尽量使其与电源和地之间形成的回路最短。
示例代码(仅供参考):
python # 假设使用Python语言编程 # 设置去耦电容连接方式 decoupling_cap_connection = "靠近ESP32电源管脚"
示例代码(仅供参考):
python # 假设使用Python语言编程 # 控制FET开关 GPIO.output(FET_PIN, GPIO.HIGH)
请注意,以上的示例代码仅供参考,并不具体到实际使用的语言和硬件平台。具体的实现方法和代码会根据实际情况和使用的技术框架而有所不同。