【航顺HK32F103A开发板试用】+A/D采集及传感器检测

2026-09-22 08:59:49浏览0
0
Star

传感器主要分为两大类型,即一种是数字式,多采用I2C接口方式工作,其特点是省出了检测值标定的处理;另一种则是模拟信号型,需要使用A/D转换器来采集信号,并转换成数据值,其特点是有了A/D转换器就能采集传感器输出的信号,麻烦的是需要进行数值标度处理。

航顺HK32F103A是配有A/D转换器的,因此配上相应的传感器就能进行检测。

1. A/D数据采集

以PA0进行数据采集的配置函数为:

void ADC1_GPIO_Config(void)

{

  GPIO_InitTypeDef GPIO_InitStructure;    

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);   

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

  GPIO_Init(GPIOA, &GPIO_InitStructure);   

}

实现数据采集的主程序为:

int main(void)

{

  u32 AD_value;   

  SystemInit();

  USART1_Config();

  ADC1_Init();

  printf("\\r\\n ADC test: (PA0)\\r\\n");

  while (1)

  {

       Delay(500);

   AD_value  = 3300000/4096\*ADC_ConvertedValue/1000;

   printf("AD value = %d mV  \\r\\n", AD_value);

  }

}

经程序的编译和下载,对VCC和GND的测试结果见图1所示。

 图1 极值检测

 

2. 传感器检测

有了A/D采集的基础,配上相应的传感器就能感知外部的环境变化。以光照强度和温度检测为例,可通过光敏和热敏器件来感知其强度上的变化,其检测模块与开发板的连接见图2所示。

 图2 器件连接

通过光照强度的变化,其检测结果见图3所示。 

图3 光强变换结果 

 

3. 数据曲线绘制

在进行A/D采集过程中,往往数字是不够直观的,为此可将数据绘制成波形曲线来反应其变化过程。

对VCC和GND的检测,其波形曲线见图4和图5所示。

 图4 VCC曲线

 

图5 GND曲线

 

对光强和温度的检测波形见图6和图7所示,别看波形波动比较明显,其实其变化幅度却有限。

 图6 光强曲线

 

图7 温度曲线

 

当然,我们也可接入其它功能的A/D型传感器,来获得检测结果并绘制出其波形曲线。