999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的鉛酸蓄電池充放電監測系統設計

2018-02-01 11:23:58王超秦會斌
軟件導刊 2018年1期

王超+秦會斌

摘要:設計了一種鉛酸蓄電池充放電監測系統,實現對4節12V/20AH串聯鉛酸電池組充放電參數的監測。系統硬件設計以STM32單片機為核心,完成溫度檢測、電壓檢測、電流檢測、顯示、聲光報警等電路設計;軟件設計由單總線讀取4個DS18B20溫度傳感器數據實現溫度檢測,并通過STM32多通道連續AD轉換和DMA(Direct Memory Access,直接內存存?。┘夹g實現電壓、電流的快速檢測。

關鍵詞:鉛酸蓄電池;STM32;充放電監測系統

DOIDOI:10.11907/rjdk.172001

中圖分類號:TP319

文獻標識碼:A文章編號文章編號:1672-7800(2018)001-0122-04

Abstract:A charge and discharge monitoring system for the lead-acid battery was designed. It could monitor the charge and discharge parameters of the serial lead-acid battery pack that consists of four 12V/20AH lead-acid batteries. The temperature detection, voltage detection, current detection, display, sound and light alarm circuit design was completed in the hardware design of the system based on the STM32 microcontroller as the core. In the software design of the system, the temperature detection was realized through a single bus and it could read the data of four DS18B20 temperature sensors, the rapid voltage and current detection was achieved throug the STM32 multi-channel continuous AD conversion and DMA technology.

Key Words:lead-acid battery; STM32; charge and discharge monitoring system

0引言

鉛酸蓄電池廣泛應用于電力、交通、通信等各個領域,不合理的充放電使其實際使用壽命和設計使用壽命相差很多,造成極大的資源浪費,并對由其構成的供電系統安全性產生嚴重威脅[1]。為延長鉛酸蓄電池使用壽命,及時發現充放電過程中的過充電、過放電、超溫等異常問題,設計了一種鉛酸蓄電池充放電監測系統,該系統可對4節12V/20AH串聯鉛酸電池組充放電時的電流以及電壓和溫度進行監測,并在充放電參數出現異常時進行報警提示。

1系統硬件設計

系統硬件設計以SMT32單片機為核心,整體結構如圖1所示,由含溫度檢測模塊、電壓檢測模塊、電流檢測模塊、顯示和通信模塊、聲光報警模塊組成。溫度、電壓、電流檢測模塊用于檢測充放電時電池組的電流,以及電池組中每個單體蓄電池的電壓和溫度;顯示和通信模塊用于顯示檢測到的充放電參數,并將其發送給計算機;聲光報警模塊在充放電參數出現異常時進行報警。

1.1主控芯片簡介

設計采用STM32F103RCT6單片機作為主控芯片,該芯片有以下特點:①接口豐富、性能穩定、功耗低、價格便宜;②工作電壓2.0V~3.6V,工作溫度-40℃~85℃;③使用ARM 32位Cortex-M3高性能內核,內置高速存儲器(48KB SRAM, 256KB FLASH),工作頻率最高可達72MHz;④外部有64引腳,其中51個為通用IO口,IO引腳資源豐富;⑤含有3個12位ADC,支持多通道ADC;⑥擁有2個DMA控制器(共12個通道),可用于存儲器到存儲器、④外設到存儲器和存儲器到外設的數據傳輸;⑦支持I2C、USART、SPI、CAN、USB等通信[2]。

1.2溫度檢測模塊設計

溫度檢測模塊實現對鉛酸蓄電池溫度的檢測。設計使用單總線溫度傳感器DS18B20進行溫度檢測,其提供9位溫度讀數,溫度測量范圍為-55℃~125℃,精度±0.5℃,每個DS18B20的內部光刻ROM中均有唯一的64位序列號。為節約IO資源,設計采用單根總線掛載4個DS18B20對4節鉛酸蓄電池溫度進行檢測,通過64位序列號對DS18B20進行匹配后,逐個讀取溫度檢測數據[3-4]。溫度檢測模塊電路設計如圖2所示。

1.3電壓檢測模塊設計

電壓檢測模塊完成對每節單體鉛酸蓄電池電壓的檢測。設計采用電阻分壓法實現電壓檢測,電路設計如圖3所示。串聯鉛酸電池組電壓V1-V4經過分壓電阻RF1-RF4和采樣電阻RF01-RF04分壓后,接入STM32的PA0-PA3引腳進行AD轉換。設計采用的12V/20AH鉛酸蓄電池最高充電電壓為15V左右。為保證分壓后的電壓信號不超過STM32 AD轉換最高輸入電壓3.3V,要進行阻值選取,如圖3所示。電池組電壓最高時,分壓后輸出電壓和分壓放大倍數如表1所示,其中60V-15V分別對應圖3中V1-V4的電壓。STM32通過PA0-PA3引腳對分壓后的電壓進行AD轉換,轉換結果乘以相應的分壓放大倍數即可求得V1-V4電壓值,對V1-V4進行減法運算即可求得各節電池充放電時的電壓。為提高電壓endprint

檢測精度,電壓檢測電路中電阻使用溫漂為10ppm、精度為0.1%的低溫漂精密電阻。

1.4電流檢測模塊設計

電流檢測模塊實現對鉛酸電池組充放電電流的檢測。

設計采用量程為20A的ACS712ELCTR-20A霍爾電流傳感器進行電流檢測,電路設計如圖4所示,鉛酸電池組充放電電流通過1、2引腳和3、4引腳流經ACS712時,其7引腳會輸出一個與流經電流IP線性相關的電壓VIOUT,VIOUT=2.5+0.1IP[5]。設計中充放電電流最大10A,ACS712輸出電壓可能超過最高輸入電壓3.3V,VIOUT需要分壓后才能接入STM32 AD轉換引腳。STM32 AD轉換引腳輸入電阻較小,將VIOUT分壓后電壓信號直接接入STM32 AD轉換引腳會對VIOUT的分壓電路產生影響,進而影響電流檢測精度。如圖4所示,設計中先通過低溫漂精密電阻Rc1(30kΩ)和Rc2(20kΩ)對VIOUT進行分壓,分壓后的電壓信號通過由運放OPA180構成的電壓跟隨器,再接入STM32的PA4引腳,理想狀態運放輸入電阻無窮大,對VIOUT的分壓電路的影響可忽略。OPA180輸出電壓VPA4等于VIOUT分壓后的電壓,VPA4=1.5+0.06IP,鉛酸電池組充放電電流IP計算如式(1)所示。當IP為正時表示電池組處于充電狀態,當IP為負時表示電池組處于放電狀態。

1.5聲光報警模塊設計

聲光報警模塊在充放電參數出現異常時進行報警,電路設計如圖5所示。源蜂鳴器BEEP驅動電流為30mA左右,為減少STM32負載,使用三極管S8050對STM32輸出的電流擴流后再驅動蜂鳴器,STM32 IO口只需提供不到1mA的驅動電流。當充放電參數正常時LED0為低電平,GRE(綠色LED)燈亮;當充放電參數出現異常時LED1為低電平,BEEP為高電平,RED(紅色LED)燈亮,蜂鳴器響,進行報警。

1.6顯示和通信模塊設計

顯示模塊用來顯示檢測到的鉛酸蓄電池充放電參數,通信模塊用來將檢測到的充放電參數發送給計算機。顯示模塊使用2.8寸TFT LCD液晶進行數據顯示,電路設計如圖6所示。通信模塊采用電平轉換芯片CH340G實現計算機和STM32間的RS232串口通信。

2系統軟件設計

2.1溫度檢測程序設計

在STM32的一個IO口上設計掛載4個DS18B20,需先讀取DS18B20的64位光刻ROM以對其進行匹配,實現單總線讀取4個溫度數據。DS18B20的64位光刻ROM數據結構如圖7所示。為保證讀取到的光刻ROM數據無誤,需要根據最高8位CRC編號對低56位數據進行校驗,DS18B20的64位光刻ROM讀取程序流程見圖8。

根據光刻ROM數據對DS18B20進行匹配并逐個讀取溫度檢測數據,實現對4節鉛酸蓄電池的溫度檢測,單總線讀取4個DS18B20數據程序流程如圖9所示[6]。

2.2電壓和電流檢測程序設計

電壓信號和電流檢測被轉換成5路電壓信號進行檢測,STM32需要對PA0-PA4引腳電壓信號進行檢測。STM32 AD轉換支持單通道單次轉換、單通道多次轉換、多通道單次轉換、多通道連續轉換等多種轉換模式,為提高轉換速度,減少誤差,設計采用多通道連續轉換模式對PA0-PA4引腳的5路電壓信號進行連續多次AD轉換。STM32 AD轉換支持DMA技術,AD轉換結果可不經CPU和中斷,由DMA控制器直接傳輸到設定的目標地址中。為提高AD轉換的效率,使用DMA技術對多通道連續AD轉換的結果進行保存[7]。電壓和電流檢測程序流程如圖10所示。對每個通道進行12次AD轉換,在數據處理部分,去除12次轉換結果中兩個最大值和兩個最小值后求平均值以減少誤差。將PA0-PA4 AD轉換配置為5通道連續轉換模式并開啟DMA,核心代碼如下:

ADC_DeInit(ADC1);//復位ADC1

ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//獨立模式

ADC_InitStructure.ADC_ScanConvMode=ENABLE;//多通道掃描模式

ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;//連續轉換模式

ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//軟件觸發轉換

ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC數據右對齊

ADC_InitStructure.ADC_NbrOfChannel=5;//順序進行規則轉換的ADC通道的數目

ADC_Init(ADC1,&ADC_InitStructure);//初始化外設ADCx的寄存器

//設置指定ADC的規則組通道,設置它們的轉化順序和采樣時間

ADC_RegularChannelConfig(ADC1,ADC_Channel_0,0,ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_2,2,ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_3,3,ADC_SampleTime_55Cycles5);endprint

ADC_RegularChannelConfig(ADC1,ADC_Channel_4,4,ADC_SampleTime_55Cycles5);

ADC_DMACmd(ADC1,ENABLE);//開啟ADC的DMA

ADC_Cmd(ADC1,ENABLE);//使能ADC1

3系統整體程序設計

系統整體程序流程見圖11,系統對鉛酸蓄電池充放電溫度、電壓、電流參數進行循環檢測,將檢測到的充放電參數顯示在LCD液晶上,并通過RS232串口將充放電參數發送給計算機,在充放電參數出現異常時進行聲光報警。

4測試結果與分析

根據系統軟硬件設計,完成電路焊接和各模塊編程調試后,對系統整體進行測試。與標準溫度對比,表明系統DS18B20溫度傳感器工作正常,檢測精度達到±0.5℃;充放電電壓檢測數據如表2所示,表中BAT1-BAT4為圖3中鉛酸蓄電池編號,電壓檢測精度達到±50mV;充放電電流檢測數據如表3所示,充放電電流較小時電流檢測誤差相對較大,可能是由于小電流時ACS712輸出電壓電路中電磁干擾造成,電流檢測整體誤差低于2%;系統能根據設定的報警參數在充放電參數異常時進行聲光報警。

5結語

本文基于STM32單片機設計了一種鉛酸蓄電池充放電監測系統,該系統能實現對4節12V/20AH串聯鉛酸電池組充放電電流及每個單體鉛酸蓄電池的電壓和溫度的檢測,并能在充放電參數出現異常時及時報警。該系統溫度檢測精度±0.5℃,電壓檢測精度±50mV,電流檢測誤差低于2%,能對鉛酸蓄電池充放電參數進行有效監測。下一步研究將對系統功能進行擴展,實現遠程監測、充放電控制等功能。

參考文獻:

[1]常維靜.一款動力電池充電管理芯片的研究與設計[D].合肥:合肥工業大學,2016.

[2]孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發與應用[J].微計算機應用,2010(12):59-63.

[3]湯鍇杰,栗燦,王迪,等.基于DS18B20的數字式溫度采集報警系統設計[J].傳感器與微系統,2014(3):99-102.

[4]孫明利,鮑健,張鑠.單總線技術及DS18B20的溫度測量實現[J].大氣與環境光學學報,2010(4):322-326.

[5]王慧.基于ACS712的直流電機電流監測系統的設計[J].自動化技術與應用,2014(9):103-105.

[6]朱麗麗,王長友.基于AVR單片機與溫度傳感器DS18B20的多點溫度測量[J].電工電氣,2010(12):47-51.

[7]張滔.基于STM32單片機DMA機制的多通道數據采集[J].黑龍江科技信息,2013(30):27-28.

(責任編輯:杜能鋼)endprint

主站蜘蛛池模板: 色网在线视频| 99尹人香蕉国产免费天天拍| 97久久精品人人做人人爽| 婷婷伊人久久| 91丝袜美腿高跟国产极品老师| 91热爆在线| 国产成人av一区二区三区| 九九视频在线免费观看| 亚洲综合精品香蕉久久网| 精品亚洲麻豆1区2区3区| 中文字幕色站| 国产精品大白天新婚身材| 色成人亚洲| 114级毛片免费观看| 国产18在线| 91成人在线观看视频| 欧美成人综合视频| 亚洲精品欧美日本中文字幕| 69国产精品视频免费| 国产亚洲欧美日本一二三本道| 成人av专区精品无码国产| 成人免费视频一区| 国产在线高清一级毛片| 亚洲另类国产欧美一区二区| 在线国产三级| 激情视频综合网| 国产中文一区二区苍井空| 免费在线成人网| 重口调教一区二区视频| 99热这里只有精品在线播放| 亚洲人成影院在线观看| 国产精品网曝门免费视频| 91成人免费观看| 手机成人午夜在线视频| 亚洲无码高清一区二区| yjizz国产在线视频网| 国产成人精品高清不卡在线 | 一级毛片在线播放免费观看| 国产专区综合另类日韩一区 | 毛片免费在线| 亚洲V日韩V无码一区二区| 国内精品久久人妻无码大片高| 婷婷亚洲天堂| 黄色污网站在线观看| 喷潮白浆直流在线播放| 精品国产污污免费网站| 99手机在线视频| 亚洲青涩在线| 亚洲成人一区在线| 久久人人爽人人爽人人片aV东京热| 综合色88| 欧美午夜性视频| 亚洲大尺码专区影院| 毛片免费在线视频| 国产99视频在线| 国产第一色| 在线a网站| 久久国产精品嫖妓| 国产在线精品美女观看| 国产精品一区二区不卡的视频| 亚洲大学生视频在线播放| 六月婷婷综合| 99re热精品视频中文字幕不卡| 四虎国产精品永久在线网址| 制服丝袜国产精品| 国产正在播放| 囯产av无码片毛片一级| 美女被狂躁www在线观看| 中日韩欧亚无码视频| 中文字幕首页系列人妻| 国产成人精品一区二区不卡| 中文字幕在线看| 色网站在线免费观看| 欧美在线视频不卡| 欧美一区二区人人喊爽| 综合网久久| 欧美午夜小视频| 91视频99| 99在线视频精品| 国产精品白浆无码流出在线看| 国产精品一老牛影视频| 中文字幕人妻无码系列第三区|