国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

以32位MCU-HY16F198實現AC電流量測應用

發布時間:2015-11-4 09:53    發布者:designapp
關鍵詞: HY16F198 , WCS1800
  一、內容簡介
  本文將介紹以HY16F198搭配Hall Sensor(WCS1800)進行交流電流數值量測,最大可量測電流范圍從0.1A~17.68A.本文實驗數據從0A~17.6A,比較使用電表Agilent 34401A與HY16F198透過交流信號計算出在不同頻率45Hz, 50Hz, 60Hz之間所得到的交流電流最大誤差率可以控制在3%以內。
  二、原理說明
  量測原理
  透過WCS1800將感應到的交流電流轉變為輸出電壓(Vout),而輸出電壓(Vout)組成成分是包含(Vac)交流電壓訊號和(Vdc)直流電壓訊號混和而成的訊號,使用HY16F198量測輸出電壓(Vout)訊號,并且透過算法分析ADC Count數值,進而換算出相對感測到的交流電流負載。但需注意,透過Hall Sensor(WCS1800)轉出每1安培(A)的輸出電壓最大誤差為正負6mV,詳細的Hall Sensor特性規格表顯示在下一頁電器特性表。
  Hall Sensor(WCS1800)因為本身的輸出電壓(Vout)帶有Vac交流電壓加上Vdc直流電壓混和成分,而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 Display做電流數值顯示。
  


  圖1 Hall Sensor
  


  圖2 結構框圖
  控制芯片
  單片機簡介:HY16F系列32位高性能Flash單片機(HY16F198)
  


  圖3 HY16F198
  (1)采用最新Andes 32位CPU核心N801處理器。
  (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)程序內存64KBytes Flash ROM(5)數據存儲器8KBytes SRAM.(6)擁有BOR and WDT功能,可防止CPU死機。
  (3.2) 待機模式 10uA@32KHz/2
  (3.3) 休眠模式 2.5uA
  (4) 程序內存64KBytes Flash ROM
  (5)數據存儲器8KBytes SRAM。
  (6)擁有BOR and WDT功能,可防止CPU死機。
  (7)24-bit高精準度ΣΔADC模擬數字轉換器(7.1)內置PGA (Programmable Gain Amplifier)最高可達128倍放大。
  (7.2)內置溫度傳感器
                               
                                                               
                               
                  (8)超低輸入噪聲運算放大器
  (9)16-bit Timer A
  (10)16-bit Timer B模塊具PWM波形產生功能
  (11)16-bit Timer C模塊具Capture/Compare功能
  (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();}
                               
                                                               
                               
               
本文地址:http://m.qingdxww.cn/thread-155399-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩国一级毛片免费完整视频 | 日韩欧美一二三区 | 亚洲精品国产三级在线观看 | 羞羞视频.www在线观看 | 国产一在线 | 婷婷色在线视频 | 国产日| 香蕉国产线观看 | 国产美女毛片 | 黄色高清在线观看 | 国产高清在线免费观看 | 成人97在线观看免费高清 | 2021国产麻豆剧 | 亚洲成人黄色网址 | 性欧美xxx 不卡视频 | 岛国成人在线 | 日本欧美视频在线 | 日韩欧美国产中文 | 欧美www网站| 91免费视 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 日韩精品一区二区在线观看 | 免费久久精品国产片香蕉 | 一级做a级爰片性色毛片视频 | 四虎影视精品永久免费网站 | 精品视频一区二区三区在线播放 | 久热操| 91国内精品久久久久怡红院 | 天天干天天插天天操 | 嫩草影院永久在线一二三四 | 国产高清乱码无卡女大生 | 国产精品亚洲精品影院 | 久热官网 | 视频在线观看一区二区 | 综合色视频 | 午夜免费观看_视频在线观看 | 大伊香蕉在线精品视频人碰人 | 99视频在线免费 | 草久伊人 | www.91色.com| 日韩一区二区三区四区 |