1. 电流互感器简介
在发电、变电、输电、配电和用电的线路中电流大小悬殊,从几安到几万安都有。为便于测量、保护和控制需要转换为比较统一的电流,另外线路上的电压一般都比较高如直接测量是非常危险的。电流互感器就起到电流变换和电气隔离作用。

2. 电流互感器模块
电流互感器模块可以将交流电信号转换为电压信号,此时就能用stm32的ADC采集模块输出的AD信号。

(1)模块介绍
模块搭载ZMCT103c系列小型高精度电流互感器以及高精度运放电路,对信号做精确采样和适当补偿等功能。方便对5A以内的交流电进行信号采集。对应输出模拟交流信号可以调节,可根据电位器(调节放大比例,放大范围0-100倍)来调节所需输出电压,但是输出端(OUT)的最大电压不会超出1/2vCCo

(2)引脚说明

3. STM32采集电流互感器模块数据

此处需要注意的问题是在用STM32采集时如果无交流电通过线圈,STM32的AD接到OUT引脚相当于悬空状态,此时会AD会返回一个STM32悬空的AD值,所以在实际使用时需要在OUT和GND之间加一个下拉电阻:

ADC配置代码如下:

 #include "adc.h"#include "delay.h"void  Adc_Init(void)
{   ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1, ENABLE );   RCC_ADCCLKConfig(RCC_PCLK2_Div6);  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;        GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;      GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;  GPIO_Init(GPIOA, &GPIO_InitStructure);  ADC_DeInit(ADC1); ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;   ADC_InitStructure.ADC_ScanConvMode = DISABLE;  ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel = 1;    ADC_Init(ADC1, &ADC_InitStructure);  ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1);  while(ADC_GetCalibrationStatus(ADC1));     }                 u16 Get_Adc(u8 ch)
{ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );                 ADC_SoftwareStartConvCmd(ADC1, ENABLE);     while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));return ADC_GetConversionValue(ADC1);
}u16 Get_Adc_Average(u8 ch,u8 times)
{u32 temp_val=0;u8 t;for(t=0;t<times;t++){temp_val+=Get_Adc(ch);delay_ms(5);}return temp_val/times;
}

主函数采集通过串口发送数据到上位机:

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "adc.h"
#include "common.h"
#include "usart2.h"
#include "usart3.h"
#include <string.h>u8 mp3_set1[7]={0xAA,0x07,0x02,0x00,0x06,0xB9};
u8 mp3_set2[7]={0xAA,0x07,0x02,0x00,0x05,0xB8};int main(void){  u16 adcx;u8 re = 0;delay_init();        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);Adc_Init();    //ADC初始化            usart2_init(9600);//串口2初始化delay_ms(200);while(1){adcx=Get_Adc_Average(ADC_Channel_0,10);//ADC通道0采集电流互感器的输出值u2_printf("%d\r\n",adcx);//通过串口发送出去           }
}

实物图如下,用电风扇线作为测试,串口观察输出:

在风扇断电状态下输出为0:

在电风扇开启状态下便可采集到电流互感器模块的输出:

代码工程链接:https://pan.baidu.com/s/1Pdcm7M7UqIl-YyeDvcFCSA
提取码:nigw

STM32采集电流互感器(电流互感器模块)数据相关推荐

  1. 基于在STM32下完成FreeRTOS的多任务程序开发,多任务串口以及AHT20封装库,原理图,PCB图以及AHT20(实际用到的是LMT70)及采集一次温度数据的模块实战

    基于在STM32下完成FreeRTOS的多任务程序开发,多任务串口以及AHT20封装库,原理图,PCB图以及AHT20(实际用到的是LMT70)及采集一次温度数据的模块实战 序 言 1)FreeRTO ...

  2. K_A19_002 基于STM32等单片机采集水位检测传感数据 串口与OLED0.96双显示

    _A19_002 基于STM32等单片机采集水位检测传感数据 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 IIC地址/采集通道选择/时序 对应程序: 四.部 ...

  3. K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示

    K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 IIC地址/采集通道选择/时序 对应程序: 四 ...

  4. 基于STM32采集PM2.5(ZH03B)传感器数据实验

    本文主要记录利用STM32的USART2串口采集PM2.5传感器数据,并通过USART1串口利用串口调试助手显示PM2.5数值. 一.实验器材 正点原子STM32MINI开发板,炜盛科技PM2.5(Z ...

  5. Python爬虫实战,requests模块,爬虫采集网易财经股票交易数据

    前言 本文给大家分享的是如何通过Python爬虫采集网易财经易数据 开发工具 Python版本: 3.8 相关模块: requests模块 parsel模块 环境搭建 安装Python并添加到环境变量 ...

  6. STM32采集温湿度

    文章目录 写作目的 一.I2C基础 1.什么是I2C协议? I2C协议的物理层 I2C的协议层 二.采集温湿度 1.使用仪器: 2.代码实现 实现效果 总结 写作目的 帮助读者掌握I2C总线通信协议, ...

  7. STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建

    事物的难度远远低于对事物的恐惧 完成对STM32单片机和ESP8266 WiFi模块的配置之后,接下来需要完成Android APP代码的编写以及实现. 1.添加网络权限 因为我们需要对WiFi进行操 ...

  8. 【stm32f429igt6】的WiFi模块数据收发。

    [stm32f429igt6]的WiFi模块数据收发. 主要模块:串口7 .串口3 esp8266 stm429igt6.网络调试助手.串口助手. 对上图的个人理解哈! 1:u3和WiFi是一对情侣 ...

  9. 使用STM32F103采集Si7021温湿度传感器数据

    使用STM32F103采集Si7021温湿度传感器数据 2019.06.13 更新 最近弄了个GitHub仓库,想要下载源码但又不想弄积分的朋友可以直接到我的GitHub上克隆 https://git ...

  10. STM32控制HC-05蓝牙模块进行通信

    一.HC-05蓝牙模块 1. 简介 HC-05主从一体蓝牙串口模块采用英国CSR公司BlueCore4系列的芯片,符合符合蓝牙2.0+EDR规范,可以同带同种蓝牙功能的电脑.蓝牙主机和手机等智能终端配 ...

最新文章

  1. Google 排名第一的语言,引数十万人关注:搞定它,技术大牛都甘拜下风
  2. greenplum安装札记(待完善)
  3. MySQL单机多实例部署详解之------利用mysqld_multi配置实现
  4. Oracle 查询今天、昨日、本周、本月和本季度的所有记录
  5. 千兆网卡为什么慢_千兆宽带普及率不到1% 消费者为何不愿意用千兆宽带?
  6. linux下set和eval的使用小案例精彩解答
  7. 服务器上的VGA切换原理,VGA切换器使用方法和常见问题说明
  8. non-aggregates cannot be initialized with initializer list
  9. 创业产品经理需要懂技术吗?
  10. mysql 自动生成mapper_自动生成实体类、Mapper、Mapper.xml文件
  11. Facebook授权登录
  12. JQuery使用deferreds串行多个ajax请求
  13. 【颜色识别】基于matlab机器视觉颜色识别系统【含Matlab源码 588期】
  14. 深入浅出BP神经网络算法的原理
  15. 企业级多用户发卡平台源码PHP
  16. ffmpeg之libx264编译安装方法及一键shell脚本
  17. 寒假ACM假期总结 (7)
  18. 3D建模和渲染吃CPU还是显卡?专业显卡和游戏显卡的区别
  19. clickhouse 物化视图使用详解
  20. 群体结构分析:用 phylip 构建进化树

热门文章

  1. 计算机在线作业office,全国计算机一级office题库与答案
  2. python模拟桌球运动_python基础教程 [台球运动基础教程]
  3. 21个2021年软件开发趋势预测
  4. TF-IDF算法介绍及实现
  5. 联想服务器安装win10系统安装教程,联想win10企业版操作系统安装步骤详解
  6. 银行叫号排队系统C语言,【分享】C语言 银行取票排队系统
  7. 海康、大华、科达、华为摄像机的二次开发Demo、SDK
  8. android电话本导入iphone,如何将Android电话簿导入iPhone手机
  9. 地图定位--制作公司地图位置
  10. MySQL over函数的用法