一,內容簡介
本文將介紹以HY16F198搭配霍爾傳感器(WCS1800)進行交流電流數值量測,最大可量測電流范圍從0.1A?17.68A。本文實驗數據從0A?17.6A,比較使用電表安捷倫34401A與HY16F198透過交流信號計算出在不同頻率在45Hz,50Hz的60Hz的之間所得到的交流電流最大誤差率可以控制在3%以內。
二,說明原理
量測原理
透過WCS1800將感應到的交流電流轉變為輸出電壓(Vout),而輸出電壓(Vout)組成包含(Vac)交流電壓訊號和(Vdc)直流電壓訊號混和并變成的訊號,并使用HY16F198量測輸出電壓(Vout)訊號,并通過算法分析ADC計數數值,進而換算出相對感測到的交流電流負載。但需注意,透過霍爾傳感器(A)的輸出電壓最大誤差為正負為6mV,詳細的霍爾傳感器(WCS1800)轉出每1安培特性規格表顯示在下一頁電器特性表。
霍爾傳感器(WCS1800)因為本身的輸出電壓(VOUT)帶有吸塵器交流電壓加上Vdc的直流電壓混和成分,而伏的數值為1/2 Vdd時,因此,本文應用使用HY16F198設置VDDA電壓為3V,并且在ADC緩存器內部設置ADC輸入參考電壓放大倍數為VREF * 1/2(VREF = VRPS-VRNS),如把緩存器做設置設定,可以準確的量測到輸入電壓最大范圍1.5V。但是這樣的連接,就無法量測到Hall Sensor的Vout輸出電壓范圍,所以需要在外部增加兩個分壓電阻,在ADC的AIO(0)與VDDA和VSS之間各串10k奧姆電阻做分壓,因此量測到的電壓數值再透過交流信號計算分析求出感應到的交流電流,并且由LCD顯示器做電流數值顯示。
圖1霍爾傳感器
圖2框圖結構
單片機簡介:HY16F系列32位高性能閃存單片機(HY16F198)
圖3 HY16F198
(2)電壓操作范圍2.2?3.6V,以及-40℃?85℃工作溫度范圍。
(3)支持外部的20MHz石英震蕩器或內部16MHz的高精度RC震蕩器,擁有多種CPU工作頻率切換選擇,可讓使用者達到最佳省電規劃。
(3.1)運行模式350uA @ 2MHz的/ 2(3.2)待機模式為10uA @ 32KHz的/ 2(3.3)休眠模式2.5uA(4)程序內存64K字節閃存ROM(5)數據存儲器8K字節的SRAM(
(3.2)待機模式10uA @ 32KHz / 2
(3.3)休眠模式2.5uA
(4)程序內存64KBytes Flash ROM
(5)數據存儲器8KBytes SRAM。
(6)擁有6)具有BOR和WDT功能,可防止CPU死機。BOR和WDT功能,可防止CPU死機。
(7)24位高精密度ΣΔADC模擬數字轉換器(7.1)內置PGA(可編程增益放大器)最高可達128倍放大。
(7.2)內置溫度傳感器。
(8)超低輸入噪聲運算放大器。
(9) )16位定時器A
(10)16位定時器B模塊具PWM波形產生功能
(11)16位定時器C模塊具捕獲/比較功能
(12)硬件串行通訊SPI模塊
(13)硬件串行通訊I2C模塊
(14)硬件串行通訊UART模塊
(15)硬件RTC時鐘功能模塊
(16)硬件Touch KEY功能模塊
三,系統設計
硬件說明
HY16F198搭配Hall Sensor連接電路如下,AIO1與Hall Sensor的Vout接,AIO0透過10K電組分壓電路連接在VDDA與VSS之間,這樣就可以量測到帶有1 / 2VDDA的交流電壓訊號。
圖4線路硬件連接圖
主要組件介紹(1) MCU:HY16F198,功能為量測電信號、控制、運算包含功能為儲存校正參數。
(2) LCD Display:負責顯示量測出來的電流數值。
(3) 10K奧姆分壓電路:主要做為分壓電路應用,可以量測到帶有1/2VDDA的交流電壓訊號。
(4) Hall Sensor :將感應到的交流電流轉換為Vac加上Vdc的混合電壓輸出訊號。
函式使用說明:1. void AC_DataCount(int index, int ADC_Data) :把量測到的ADC Data轉換成AC Data. int index :代表所量測到的ADC Data資料筆數。
int ADC_Data :使用HY16F198 ADC所量測到的ADC Data數值。
2. long long AC_Algorithm(void) : AC Data透過交流信號算法計算出電流數值。
一、范例程序
/*——*/ /* MAIN function */ /*——*/ int main(void)
{ long long AC_Value;DisplayInit();ClearLCDframe();Delay(10000);DisplayHYcon();Delay(1000);MCUSTATUSbits._byte = 0;Count=0;InitalADC();SYS_EnableGIE(7,0x1FF); //Enable GIE(Global Interrupt)
while(1)
{ if(MCUSTATUSbits.b_ADCdone) //b_ADCdone=1 execute below { MCUSTATUSbits.b_ADCdone=0;AC_Value = AC_Algorithm(); // To do AC algorithm and to show current value AC_Value=AC_Value/0.5770; // Using 60HZ gain value, calibrate at 2000mA LCD_DATA_DISPLAY(AC_Value); //Display AC Value Count=0;DrvADC_CombFilter(0);DrvADC_ClearIntFlag();DrvADC_EnableInt();DrvADC_CombFilter(1);} return 0;} /*——*/ /* ADC Interrupt Subroutines */ /*——*/ void HW2_ISR(void)
{ int ADCData;if(DrvADC_ReadIntFlag())
{ DrvADC_ClearIntFlag();ADCData=DrvADC_GetConversionData();AC_DataCount(Count++,ADCData); // AC Algorithm : to get ADCData if(Count》=AC_DataLen) //to do 4096 times { DrvADC_DisableInt();MCUSTATUSbits.b_ADCdone=1;} /*——*/ /* ADC Initialization Subroutines */ /*——*/ void InitalADC(void)
{ //Set ADC input pin DrvADC_SetADCInputChannel(ADC_Input_AIO1,ADC_Input_AIO0); //Set the ADC positive/negative input voltage source. DrvADC_InputSwitch(OPEN); //ADC signal input (positive and negative) short(VISHR) control. DrvADC_RefInputShort(OPEN); //Set the ADC reference input (positive and negative) short(VRSHR) control. DrvADC_Gain(ADC_PGA_Disable,ADC_PGA_Disable); //Input signal gain for modulator. DrvADC_DCoffset(0); //DC offset input voltage selection (VREF=REFP-REFN)
DrvADC_RefVoltage(VDDA,VSSA); //Set the ADC reference voltage. DrvADC_FullRefRange(1); //Set the ADC full reference range select. //0: Full reference range input //1: 1/2 reference range input DrvADC_OSR(10); //10 : OSR=32 DrvADC_CombFilter(ENABLE); //Enable OSR DrvADC_ClkEnable(0,1); //Setting ADC CLOCK ADCK=HS_CK/6 Rising edge is high //Set VDDA voltage DrvPMU_VDDA_LDO_Ctrl(E_VDD3V);DrvPMU_BandgapEnable();DrvPMU_REFO_Enable();DrvPMU_AnalogGround(ENABLE); //ADC analog ground source selection. //1 : Enable buffer and use internal source(need to work with ADC)
//Set ADC interrupt DrvADC_EnableInt();DrvADC_ClearIntFlag();DrvADC_Enable();}
責任編輯:gt
-
adc
+關注
關注
98文章
6503瀏覽量
544817 -
霍爾傳感器
+關注
關注
27文章
724瀏覽量
63221 -
測量系統
+關注
關注
2文章
539瀏覽量
41408
發布評論請先 登錄
相關推薦
評論