基于[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瀏覽量
2171 -
CW32
+關注
關注
1文章
242瀏覽量
1121
發布評論請先 登錄
相關推薦
熱點推薦
常規的電壓電流測量方式有哪些?
常規的電壓電流測量通常采用均值檢波法、峰值檢波法、真有效值法三種方式,本文對比每種方式適應場合以及優勢。 一均值檢波法 采用均值檢波法將交流正弦波電量變換為與其絕對均值成正比的直流電量,測量電路簡單

高壓電阻箱如何進行負載測試?
的測試設備,包括高壓電源、負載電阻、電壓表、電流表等。確保所有設備都經過校準,并且符合相關的安全標準。
連接測試設備:將高壓電源連接到高壓電
發表于 01-16 12:34


倍壓電路電流會有多少
倍壓電路是一種特殊的電源電路,它能將輸入的低電壓交流信號轉換為高電壓直流信號。然而,倍壓電路的輸出電流并不隨倍壓倍數的增加而成倍增加,其大小
前級功放輸出電壓電流多少
Amplifier)進行進一步放大,以驅動揚聲器。 前級功放的輸出電壓和電流: 輸出電壓 :前級功放的輸出電壓通常在幾伏特(V)的范圍內,具體數值取決于輸入信號的電平和前級功放的增益
電流計改裝成電壓表時刻度怎么刻
將電流計改裝成電壓表時,刻度的刻畫是一個關鍵步驟,它確保了改裝后的電壓表能夠準確地測量電壓。以下是步驟和原理: 一、改裝原理 電流計改裝成
開關電源改可調電壓電流怎么改
開關電源是一種將交流電轉換為直流電的電源設備,廣泛應用于各種電子設備中。可調電壓電流的開關電源可以根據需要調整輸出電壓和電流,以滿足不同設備的供電需求。 1. 理解開關電源的基本原理
用INA226做了個電壓電流顯示板,芯片在輸出的時候,沒有電流的信息,為什么?
用INA226做了個電壓電流顯示板。
發現有個奇怪的問題,也就是早上上電的時候,發現有一個板的電流不顯示了,測量發現電流取樣數據都到芯片I
發表于 09-11 06:39
模電怎么判斷電壓電流反饋器的好壞
對于保證電路的穩定性和可靠性至關重要。 1. 電壓電流反饋器的基本原理 電壓電流反饋器是一種具有電壓反饋和電流反饋功能的放大器。其基本原理是
TPS43061升壓后電壓電流達不到預期怎么解決?
4.2A。2、當電流從1A到4.2A過程中,電壓從36.2V慢慢降到24V左右(也就是輸入電壓值)。3、當電流超過4.2A時,提供24V的穩
發表于 07-26 06:16
電流表電壓表無示數的原因
引言 電流表和電壓表是電氣工程中不可或缺的測量工具。它們能夠測量電路中的電流和電壓,為電路設計、調試和維護提供重要數據。然而,在實際使用過程中,有時會出現
評論