1 應用背景
1.1設計意義
數字電流表的誕生打破了傳統電子測量儀器的模式和格局。它顯示清晰直觀、讀數準確,採用了先進的數顯技術,大大地減少了因人爲因素所造成的測量誤差事件。數字電流表把電子技術、計算技術、自動化技術的成果與精密電測量技術密切的結合在一起,成爲儀器、儀表領域中獨立而完整的一個分支,數字電流表標誌着電子儀器領域的一場革命,也開創了現代電子測量技術的先河。
本設計採用了以單片機爲開發平臺,電流傳感器採用CC6903/CC6904,基於霍爾原理的單芯片電流傳感器,它具有以下幾個特點:
-
靜態共模輸出點爲50% VCC,測量範圍寬,5A/10A/20A/30A
-
1MHz斬波頻率,高帶寬,低噪聲,單端模擬輸出
-
導線引腳到信號引腳有100V( CC6903 ) / 2kV(CC6904 )的安全隔離電壓
-
採用了芯進專利的霍爾信號放大電路和溫度補償電路,常溫誤差1%,全溫誤差3%
-
抗干擾能力強;抗機械應力,磁參數不會因爲受外界壓力而偏移
-
ESD (HBM) 6000V
-
系統主要功能
利用單片機集成的ADC模塊採樣電流傳感器芯片CC6903/4的輸出電壓,線性轉換成顯示值送到數碼管驅動芯片驅動數碼管,USB接口預留USB2UART芯片將電流值上傳至PC。
2 硬件電路設計方案及描述
2.1 數字式電流表系統硬件設計
電流測量量程由霍爾電流芯片CC6903/4決定,有5A/10A/20A/30A四種量程可選,電源電壓爲3.3V,芯片的輸出範圍均爲0.3~1.65~3.0V。硬件設計由5個部分組成:CC6903/4霍爾電流傳感芯片,STM32F030單片機系統,LED顯示系統,USB轉串口通信系統,電源穩壓電 路。硬件電路設計如圖2.1所示
圖2.1 直流電流顯示錶硬件設計
2.2 單片機硬件資源分配
單片機的硬件資源使用ST公司的STM32CubeMX軟件分配如圖2.2所示:
圖2.2 STM32F030資源分配
STM32F030使用到的資源有TIM3、TIM17、SPI1、USART1、ADC、DMA。
TIM17負責刷新TM1620顯示,設置爲300mS
ADC、TIM3、DMA設置如圖所示:
考慮到未來兼容交流50Hz採樣,使用512點採樣,TIM3定時時間爲20mS/512 = 39.0625uS,
TIM3觸發ADC開始採樣,DMA將ADC採樣結果自動搬運到RAM中。
3.1系統程序設計總方案
根據模塊的劃分原則,將該程序劃分初始化模塊,A/D轉換子程序和顯示子程序,這三個程序模塊構成了整個系統軟件的主程序。
voidHAL_ADC_ConvCpltCallback ( ADC_HandleTypeDef* hadc )
{
uint16_t i;
int32_t sum;
int16_t average;
sum = 0;
for ( i = 0; i < WAVE_NUM; i++ )
{
sum += AdcResult[ i ];
}
average = sum / WAVE_NUM ; // 計算算數平均值
CurCurrent = ( float ) ( average - ZERO_CAL) / ( SPAN_CAL - ZERO_CAL )
*SPAN_CURRENT + ZERO_CURRENT ; // 轉換成電流
HAL_ADC_Start_DMA ( hadc, ( uint32_t* )&AdcResult, WAVE_NUM );
__no_operation();
bAdcFinish = true; //置位採樣完成標誌
}