基于[CW32數字電壓電流表軟件教程-實驗七:基本數據處理算法(均值濾波)],可以對電壓電流進行同時采集顯示。

電流檢測電路如下:

本項目設計的采樣電流為3A,選擇的采樣電阻為100mΩ。AIN接入CW32芯片內部的AIN11通道,PB05端口上。
電流計算方法為(A為單位):AIN電壓/0.1歐。
AIN電壓計算方法與電壓通道分壓輸入計算相同,V為單位時:
VIN=ADC轉換值/4096*1.5V.
核心代碼參考如下:
ADC初始化如下,完成兩路AD轉換通道初始化,使用序列掃描模式:
void ADC_init(void)
{
ADC_InitTypeDef ADC_InitStructure; //ADC配置結構體
ADC_SerialChTypeDef ADC_SerialChStructure; //ADC序列通道結構體
GPIO_InitTypeDef GPIO_Init_Struct;
__RCC_GPIOB_CLK_ENABLE(); //打開ADC對應引腳時鐘
__RCC_ADC_CLK_ENABLE(); // 打開ADC時鐘
GPIO_Init_Struct.IT = GPIO_IT_NONE;
GPIO_Init_Struct.Mode = GPIO_MODE_ANALOG;//將GPIO的模式配置成模擬功能
GPIO_Init_Struct.Pins = GPIO_PIN_1; // PB01是電壓采集引腳
GPIO_Init(CW_GPIOB, &GPIO_Init_Struct);
PB01_ANALOG_ENABLE(); //使能模擬引腳
PB05_ANALOG_ENABLE();
ADC_StructInit(&ADC_InitStructure); // ADC默認值初始化
ADC_InitStructure.ADC_ClkDiv = ADC_Clk_Div4; //ADC工作時鐘配置 PCLK/4 = 6/4 = 1.5Mhz
/*信號電壓較低時,可以降低參考電壓來提高分辨率。改變參考電壓后,同樣二進制表示的電壓值就會不一樣,
最大的二進制(全1)表示的就是你的參考電壓,在計算實際電壓時,就需要將參考電壓考慮進去。*/
ADC_InitStructure.ADC_VrefSel = ADC_Vref_BGR1p5; //參考電壓設置為1.5V
ADC_InitStructure.ADC_SampleTime = ADC_SampTime10Clk; //由于電壓信號為慢速信號,ADC采樣時間為十個ADC采樣周期以確保準確
ADC_SerialChStructure.ADC_Sqr0Chmux = ADC_SqrCh9; //配置ADC序列,PB01是ADC的第9通道
ADC_SerialChStructure.ADC_Sqr1Chmux = ADC_SqrCh11;
ADC_SerialChStructure.ADC_SqrEns = ADC_SqrEns01;
ADC_SerialChStructure.ADC_InitStruct = ADC_InitStructure; //ADC初始化
ADC_SerialChContinuousModeCfg(&ADC_SerialChStructure); //ADC序列連續轉換模式配置
ADC_ClearITPendingAll(); //清除ADC所有中斷狀態
ADC_Enable(); // ADC使能
ADC_SoftwareStartConvCmd(ENABLE); //ADC轉換軟件啟動命令
數據采集處理代碼如下:
void Volt_Cal(void)
{
ADC_GetSqr0Result(&sampledata); ///當前采集值顯示出來
V_Buffer = (sampledata * ADC_REF_VALUE > > 12) * (R2 + R1)/R1;
// 四舍五入
if(V_Buffer % 10 >= 5)
{
V_Buffer = V_Buffer / 10 + 1;
}
else
{
V_Buffer = V_Buffer / 10;
}
ADC_GetSqr1Result(&I_Buffer); ///當前采集值顯示出來
I_Buffer=I_Buffer * ADC_REF_VALUE > > 12;
/**
mv =I_Buffer * ADC_REF_VALUE > > 12,
R = 100mr,
10ma = mv/R/10=mv/0.1/10 = mv
*/
}
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
電壓電流表
+關注
關注
0文章
25瀏覽量
2275 -
CW32
+關注
關注
1文章
299瀏覽量
1812
發布評論請先 登錄
相關推薦
熱點推薦
電壓電流采集模塊:電力物聯網的感知核心與數據基石
電壓電流采集模塊是電力物聯網(IoE)的核心感知單元,將物理世界的電力參數轉化為數字世界的可用數據,為電力系統的智能化、數字化和網絡化提供了關鍵支撐。
工業級電壓電流采集模塊:±0.2%精度,隔離防雷防浪涌
),適配工業、電力、新能源等多場景的電參數監測需求。 一、核心采集功能:全類型、多量程適配 1. 支持電壓/電流/有功功率/視在功率/功率因數等多種電參數可測,同時采集同回路的
AD8212 高電壓電流分流監測器:特性、應用與操作原理
AD8212 高電壓電流分流監測器:特性、應用與操作原理 在電子工程師的日常設計工作中,對于高精度、高可靠性的電流監測方案的需求始終存在。今天,我們就來深入探討一款高性能的高電壓電流分流監測器
基于芯源半導體MCU cw32芯片制作的USB電壓電流表
1、項目功能介紹
基于芯源半導體MCU cw32芯片制作 USB電壓電流表
基于芯源半導體MCU cw32芯片+INA199芯片制作 USB電壓電
發表于 12-02 06:39
高壓放大器:電壓電流傳感器性能測試實驗的關鍵驅動力
實驗名稱: 配電網絕緣子內嵌式電壓電流一體化傳感器性能測試實驗 研究方向: 針對中壓配電網電壓電流一體化測量需求,設計基于電場耦合與TMR技術的絕緣子集成傳感器。通過仿真優化內嵌電極結構提升電場均勻
CW32 MCU的工作電壓、工作溫度是多少?
CW32通用型MCU工作電壓是1.65V~5.5V,射頻MCU工作電壓則是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW
發表于 11-12 06:49
逆變器中電壓電流傳感器應用
前言:逆變器作為一個組件,有很多的應用領域,也是新能源系統的一個重要單元。逆變器的性能直接影響電池利用率、設備的使用壽命。電壓、電流傳感器作為逆變器重要的“感知器官”,實時的監測、反饋關鍵參數,并由
如何保障SP系列變頻功率傳感器電壓電流的同時采樣,同步測量?
來自分析儀(或數字主機)的控制信息,采樣時鐘就包含在這些控制信息中,連接在同一分析儀上的所有傳感器的采樣時鐘信息均來自分析儀內部的采樣時鐘控制電路,因此,即便是不同的傳感器,也能實現所有電壓、電流通道的
電壓環路:電池 → 升壓電路 → 降壓電路 → 電池
12v,這時降壓輸出端與電池正極連接在一起。連接點車電池正極點間電阻極少,微弱的壓差將導致連接點與電池正極點間產生電流,此電流將流向何處?
在你描述的電路中,存在一個電壓環路:電池 → 升壓電
發表于 06-13 09:16
常規的電壓電流測量方式有哪些?
常規的電壓電流測量通常采用均值檢波法、峰值檢波法、真有效值法三種方式,本文對比每種方式適應場合以及優勢。 一均值檢波法 采用均值檢波法將交流正弦波電量變換為與其絕對均值成正比的直流電量,測量電路簡單
CW32數字電壓電流表軟件進階教程-1.電壓電流同時顯示
評論