大概误差不过1LSB
stm32自带的ADC是12位的AD,精度应该在很高的。
影响ADC精度比较明显的几个因素。
1、供电电源电压稳定;
2、基准选择,使用内部参照电压精度好一些;
3、ST-Link调试会对精度有一定影响。
C8051F020,集成了一个12bit的ADC和8bit的ADC,飞思卡尔十六位的单片机MSP430F5系列单片机;stm32f系列单片机;picf18系列单片机;等等,在使用的时候注意基准源的稳定,使用高精度基准源,不要直接使用3.3v的vcc,那样的话,采样精度误差比较大。
ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。模/数转换器可以实现这个功能,在各种不同的产品中都可以找到它的身影。
典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。然而,有一些模拟数字转换器并非纯的电子设备,例如旋转编码器,也可以被视为模拟数字转换器。
数字信号输出可能会使用不同的编码结构。通常会使用二进制二补数(也称作“补码”)进行表示,但也有其他情况,例如有的设备使用格雷码(一种循环码)。
1,误差大不大和你设计项目有关,具体的还需要全面考虑,主要是设计准确度要求多高。
2,12位ad只能说它的分辨率大小,准确度一般为采集信号而言,一般12位不差了,我一般都用10位就可以了,市面的传感器准确度都很低的,一般10位ad就足够了,当然更高的ad也很好,但采集速度慢了,分辨率和采集速度成反比。
3,软件可以对信号进行回归修正,如多点采集取平均值,还可以拟合最佳曲线等等。都可以消减误差
4,做项目,因素很多,如干扰了,误差了,采集速率了,等
程序可以直接相除,但只保留整数部分,所以如果你要得到小数两位,就先乘以100再除,显示的时候知道最低两位实际是小数点后两位就行了。
STM32F1的单片机内部自带12位的ADC处理器,如果12位已经满足了采样要求,那么不用另外接入ADC芯片(这类芯片一般很贵),可以外接的ADC芯片比如ads1256(24位)、AD7689(16位)。
ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。也就是说,可以牺牲采样速度来获取采样精度,也可以牺牲采样精度来获取采样速度,当然精度要满足任务要求。
时钟分频:ADC 时钟 ADC 接在APB2 上,APB2的时钟为72MHz,通过分频的方式给ADC 提供时钟,预分频主要有2、4、6、8 四种分频方式。比如,如果打算选择分频6,那么就是ADC采样时钟频率就是72MHz/6=12MHz
转换时间:转换时间TCONV = 采样时间+ 12.5 个周期(12.5个周期采集12位AD时间是固定的周期)
例如:当ADCCLK=14MHz和1.5周期的采样时间
TCONV = 1.5 + 12.5 = 14
周期=1μs
例如:当ADCCLK=14MHz 和1.5 周期的采样时间 TCONV = 1.5 + 12.5 = 14 周期 = 1μs
1)一般情况,如果是软件启动,那么转换时间即是采样周期。
2)若通过定时器进行触发启动ADC,则还需要加上定时器的相关时间。
采样周期:采样周期对于转换时间/采样时钟频率
STM32—ADC详解
STM32的ADC采样时间
单片机自带adc采集精度的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机自带adc采集精度