01 STM32F373控制
一、前言
这款基于STM32F373的信号采集和控制电路板是昨天通过快速制版方法制作的。经过了硬件初步调试,下面对它的应用功能进行进一步调试。
▲ 图1.1.1 电路板原理图
▲ 图1.1.2 电路板PCB版图
二、调试结果
1、DAC输出
首先测试电路板的DAC模拟输出控制。为了提高 DAC 驱动能力,DAC软件输出设置了运放缓冲使能。这就使得它的输出在零点附近有一个死区,也就是软件设置输出为0,但是实际输出还有 60mV 左右。板载的 -5V电路,通过电阻网络给输出叠加上一个负的电压。这样可以确保输出可以从 0V 开始。下面通过软件和外部万用表,测量DAC通道输出的电压范围。
▲ 图1.2.1 DAC的零点电压
通过编程,设置 DAC 从 0 逐步变化到 0xfff。使用万用表测量控制电路板的实际输出。记录下测试的结果,并绘制设置数据与电压之间的曲线。测量结果显示,输出呈现非常好的线性。在 0 附近,输出电压是从 0 点开始变化。随着设置数据上升,电压线性增加,顶部的饱和有两个因素的叠加,一是 F373的DAC输出 运放的输出饱和,另外一个是输出叠加了一个负的电压。下面将会对 0 点附近的变化进行仔细的测量。
测量结果中,这个突变应该是数据记录过程中传输的噪声。电压从 负的 18mV 开始,直到 DAC 设置为 33的时候,输出电压达到了 0V。
▲ 图1.2.2 设置从0到0xfff对应的输出电压
▲ 图1.2.3 在0附近的测试结果
下面测量DAC的输出电阻,利用QR10电阻箱,改变DAC输出端口不同的负载电阻,测量对应的输出电压。此时,DAC输出固定的,对应2000 的模拟电压。可以看到,随着输出电阻的增加,输出电压也在增加。电压除以电阻,可以获得对应的输出电流。此时,可以看到输出电压随着电压基本上是线性下降,计算电压随着电流变化的斜率,可以得到输出等效内阻。这里绘制出,在10mA 之内,DAC输出内阻近似于 110欧姆,实际上这个电阻对应着电路板上输出串联电阻的大小。
▲ 图1.2.4 不同电阻下的输出电压
▲ 图1.2.5 不同输出电流对应的输出电阻
2、ADC输入
控制电路板存在两路 SIgma Delta 16bit ADC,它们采集外部控制板上的电流和极化电压。下面将 DAC输出的电压连接到ADC输入端口,测量它的采集电压值。读数的数值为 256个转换数据的平均值。这是第一个通道测量曲线。DAC输出的电压从0 开始上升到 3.3V。ADC采集的数值从 负 0x8000 上升到 0x7fff。由于 ADC 的参考电压为 2.048V,所以当电压超过 2.048V 之后,ADC数值饱和了。这是测量第二个通道对应的数据,和第一个通道是相同的。在硬件上,在第二个通道增加一个10k欧姆的分压,他的测量量程就扩大到4V,可以看到此时,所得到的数据就不会饱和了。这里的饱和应该是 DAC 输出的饱和特性。
▲ 图1.2.6 第一个ADC通道采样的数据曲线
▲ 图1.2.7 第二个ADC通道采样的数据曲线
▲ ..对通道2增加10k分压之后测量的曲线
※ 总 结 ※
本文记录了对基于F373单片机信号采集板中的模拟通道的调试过程。电路的DAC与ADC通道硬件和软件都正常了。基于此,明天进行应用程序的开发。今天时间不早了,回家吃饭去了。
参考资料
[1]基于STM32F373的信号采集与控制电路板-制作过程: https://blog.csdn.net/zhuoqingjoking97298/article/details/136125881
[2]基于STM32F373的信号采集与控制电路板-调试过程: https://blog.csdn.net/zhuoqingjoking97298/article/details/136126992
[3]STM32F373的USB通信以及程序下载功能: https://blog.csdn.net/zhuoqingjoking97298/article/details/136129395