摘要:Lianshengde开发委员会的考试评估系列作者Daxin今天开始测试开发委员会的功能,每个人都知道在IoT应用程序方案中经常使用的重要技术。
lianshengde w806 -套件开发委员会试验评估系列
2:使用和测试ADC函数
作者:daxin
今天,我们已经开始在W806开发委员会上测试ADC功能。 ADC通常需要在IoT应用程序方案中使用的关键技术。 W806手册显示此芯片支持片上ADC,并且安装如下: 芯片集成的4通道16位ADC,最大采样率为1KHz。 ADC基于Sigma - Delta ADC的采集模块,该模块完成了多达四个模拟信号的采集。 采样率由收集输入电压和芯片温度的外部输入时钟控制,并可以支持输入校准和温度补偿校准。
Pin IO port name 能够上下移动
19 pa_1 adc_1 adc_1 up/down </pown
21 pa_3 adc_3 up/down
22 pa_4 adc_4 adc_2 up/down </pown </pown
电路设计参考如下。 21可以与常规ADC一起使用,输入电压范围为0-2.4V。 如果超过2.4V,则需要在输入ADC接口之前进行外部电压分配过程。 为了提高准确性,R1和R2需要高精度电阻。 根据传感器输出电压值选择适当的R1和R2电阻值。 图3 -如3所示。
图1 ADC电压分隔电路设计参考
在许多MCU中仍然很少见。 我不喜欢它。 立即开始测试,看看芯片集成ADC功能性能如何?
从项目演示目录中找到ADC目录,然后将其添加到Sky的项目视图- CDK中代码如下: ]左:.0001pt; text -对齐:左; ## x include“ wm_hal.h”
静态void adc_init(void);
<p style =“ margin -左:.0001pt; text - align; adc_handletype edef hadc;
int main(void)
<p style =“ margin -左:.0001pt; style =“边距-左:.0001pt; text -对齐:左;
systemclock_config(cpu_clk_160m);左;“> printf(输入“ main/r/n”);
adc_init();
while(1){
//hadc.offset = 1; k4]对齐:左;“> printf(“ value =%dmv/r/n”,value);
hal_delay(500);
}
<p style =“ margin -左:.0001pt; text -对齐:左; ; text -对准:左; channel = adc_channel_0;
hadc.init.freq = 1000; k4左:.0001pt; text -对准:
}
<p style =“ margin =” left:.0001pt;
void hal_adc_convcpltcallback(adc_handletypedef* hadc){
<p style =“ margin forke”左:.0001pt;
void error_handler(void){
<p style =“边距-左:.0001pt; text -对齐:左; :左;rt_failed(uint8_t *file,uint32_t行)
printf(“ winn参数值:line%d/r/n”,file%d/r/n“,file,line);
adc_inittypedef ft;”> hal_locktypedefYLE =“ Margin -左:.0001PT; text -对齐:左;“> int;”>} adc_handletypedef;
编译后,将FLS文件写入开发板。接下来,将下图中的连接线连接到板,然后首次将PA1直接连接到地面。此时,ADC1 0。对位的输入电压:中心;“>
图2 ADC测试接线图1
从串行端口接收到实际数据,如下所示: “文本-对齐:中心;”>图3 ADC测试PA1直接接地
可见数据基本上是在- 64MV处稳定的,并且某些数据可能由于硬件接线而导致偏差,而不是由于ADC稳定性问题。 这是由于将电线直接插入开发板的接口孔中引起的,从而导致不稳定的接触。
<p style =“ margin -左:.0001pt; text - al alIGN:我想在这里抱怨。变得不可能。在此期间,测量与不同的板不同,除了某些W806的初始偏差值,初始偏差为- 60mv〜 +50mv
<p style =”余量-左:.0001pt;编号5
直接电池读数为1576mv。 根据先前的校正方法减去初始偏差- 64mV。 测得的电压为:1576 -(- 64)= 1640mv。
为了进行比较,使用了三位数的半十字数字万用表。电压测试:1609mv读数的第5电池。 然后,您可以根据此万用表计算错误率。 %= 1.9%
<p style =”左-左:.0001pt; text -对准:中心; 没有准确的电压调节电压,因此每个点没有电压测量。 但是,其他网络测量了其线性性并提取了拟合线。 根据测量误差方差的标准分析,误差为
评论前必须登录!
注册