版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
某蓄電池性能檢測系統的硬件和軟件設計案例目錄TOC\o"1-3"\h\u251121系統的硬件設計 179651.1單片機最小系統設計 229651.2電壓檢測電路設計 375591.3電流檢測電路設計 4235101.4溫度檢測電路設計 556081.5液晶顯示電路設計 6216041.6報警電路設計 7122332系統的軟件設計 75762.1系統軟件主程序設計 885342.2電壓子程序設計 9295182.3電流子程序設計 10224422.4溫度子程序設計 1192112.5數模轉換子程序設計 12313112.6顯示子程序設計 1338873系統調試與分析 15276263.1系統調試 1568683.2功能展示測試及分析 161系統的硬件設計本次設計的系統是蓄電池性能檢測儀的設計,其檢測系統的硬件電路主要是對電壓檢測電路設計、電流檢測電路設計、溫度檢測電路設計、液晶顯示電路設計以及報警電路設計等幾部分。對其進行分析講解。蓄電池檢測系統框圖如上章節的圖2.1所示。其檢測系統是以單片機STC89C52為核心,對蓄電池的各個性能參數檢測采集后,經過相對應的芯片A/D模數轉換傳輸到單片機,然后由單片機內部的ADC轉變照應后的數據,再傳送到顯示模塊進行對蓄電池的各個性能參數顯示。電壓測量部分用來測量蓄電池的端電壓,溫度測量部分采用溫度傳感器DS18B20進項測量溫度,單片機作為整個系統的控制單元,報警部分是當溫度和電壓參數超正常范圍時報警,液晶顯示部分用來顯示所測蓄電池各項性能參數。1.1單片機最小系統設計在一個系統項目當中,如果想提升單片機的處理速度的話,就必須把晶體振蕩器電路添加到XTAL1、XTAL2這兩個端口進而連接到單片機的18、19兩個接口上。對晶體振蕩器電路中的工作運行情況,整個系統所設計的電路當中電容C2以及C3對振蕩器的頻率有著調諧的作用,其調諧取值范圍一般都是在30+10pF之間選取;可以選擇6MHz或者是12MHz這兩個頻率[9],只是頻率的大小不同。這樣只是簡簡單單的機器周期時間不一樣而已,對電池在檢測的過程當中其性能參數的初測值以及處理速度稍微有一些影響。系統晶體振蕩器電路圖如圖1.1所示。圖1.1晶體振蕩器電路圖在整個單片機構成系統當中都有著最基本的系統構成,其最小單片機系統統組成是由晶體振蕩器電路電源和復位電路以及電源、接地等幾部分組成。在此對剩余的幾部分來簡單的進行對其解說。(1)復位電路設計本次系統設計所采用的復位電路是差分重置電路,其電路圖如圖1.2所示。在整個電路工作運行當中例如高電平,在上電的時候,Vcc可以視作為復位端子上的電壓,處理器R1的終端電阻通常是小于0.3V。換而言之,在平時的運用過程當中,Vcc可能不是太理想的階躍信號[10]。圖1.2復位電路圖最終的原因就是往往在已經經過設計過后的電路,但是又為了確保電源的電壓穩定性,一般都會把大電容并聯組合到電源的輸入端,進一步的造成Vcc不能視為階躍信號的特性,最終這就影響了復位電壓的復位特性。(2)電源、接地其系統主控芯片STC89C52在這里選擇的是3~6V的移動電源,并且其能夠直接由穩壓電源進行供給,接地則可直接進行接GND。(3)單片機的最小系統在此可以通過以上幾部分晶體振蕩器電路和復位電路以及電源,接地這幾部分連接組裝而成得單片機最小系統,如圖1.3所示。圖1.3單片機最小系統電路圖1.2電壓檢測電路設計在本系統檢測電池電壓這一部分,選取了性能比較好的一款芯片PCF8591。而在檢測電壓時因為輸出的是模擬信號,不能直接進行查看,只能通過模數轉換過后再經由中央處理器單片機的處理,最后由顯示屏進行顯示出來。為了對蓄電池的電壓參數進行檢測,得到準確的電壓參數,來判斷蓄電池是否需要進行充電。除了對電池的電壓進行檢測之外,同時也對電池的容量進行著檢測判斷其大小,而在檢測蓄電池容量采用的是放電電壓分析法,其根據電池在使用的過程當中所流出電壓的大小,對電池電壓的變化進行檢測,進一步的依據電壓的變化量來預算電池的剩余電量,如果有些輕微的變化表明剩余的電量很大[11],否則,反之亦然。以A/D轉換結構輸入到單片機里,通過A/D轉換器和單片機的處理,對蓄電池的電壓進行采集,在檢測電壓的基礎上采集蓄電池電壓的大小,并且以此來判斷蓄電池容量的大小。在本系統當中所設計的電路圖如圖1.4所示。圖1.4電壓檢測電路圖單片機Stc89C52的P1.0引腳與PCF8591輸入端進行連接,而數模轉換的輸出端口與中央處理器的P1.1引腳進行連接,在檢測的過程當中由模數轉化部分采集過的數據傳送到單片機里面[12],進而通過A/D轉換器和單片機的處理,來實現電池電壓的數據采集工作,并對其進一步的進行分析,通過檢測電池電壓的大小,來對電池容量的大小進行判斷,最后通過顯示屏顯示出來。1.3電流檢測電路設計蓄電池的電流部分,在其檢測的過程當中也起著非常重要的一個環節。電流的大小,也反映著蓄電池的性能的好壞問題。本次系統設計,電流檢測部分,采用Allegro公司新推出的一種線性電流傳感器,該儀器內置有精確的低偏置的線性霍爾傳感器電路,能夠檢測出電流與電壓的比例關系。其電流檢測電路原理如圖1.5所示。單片機STC89C52的P1.0引腳與該芯片的輸入引腳端口進行組合,單片機P1.1引腳與其輸出端的引腳端口相連接,IP+口的1號接線是連接的是被測電池的1號端口,通過電池的放電,進一步而通過A/D轉換器和單片機的處理,來對蓄電池的電流進行采集。圖1.5電流檢測電路圖1.4溫度檢測電路設計因環境溫度而造成電池起火等事故不在少數,所在溫度檢測方面要更加的細致。對蓄電池造成影響的因素有很多種,但溫度是其外部因素最重要的一種,其直接對電池乃至整個系統都有著很大的影響。其工作的原理可以簡單地理解為就是在檢測電池時所采集到的數據一開始是模擬電信號經由單片機內部的ADC進行處理過后轉變成數字信號[13],以簡單快捷的方法可以更快的檢測出電池的溫度。這就是本次系統設計之所以選擇其的根本原因所在。其溫度檢測接口電路圖如圖1.6所示。由于其本身就可以從總線上來進行獲取電源能量,因此其根本不需要外部為其進行供電。其自身的DQ端口可以與中央處理器的P10引腳進行組合,來對溫度的一些檢測數據進行處理和分析等。其一方面總線上的電平選擇的是高電平的時候,自身就會把一些多余的能量進行保存到其內部的電容器當中。另一方面其總線的電平選擇的是的低電平的時候,這時候電容會對多余的能量進行開釋。反過來當其再一次選擇的電平為高電平的時候[14],其就會對整個放電的過程進行提前結束。而且在特定的場景下,通過增加外部電源為其進行提供電源,但是其外部電源的大小一般都控制在3到3.5v之間。圖1.6溫度檢測電路圖1.5液晶顯示電路設計蓄電池性能檢測儀的監測系統可以顯示蓄電池的各項性能狀態參數指標,本設計采用的LCD1602液晶顯示器,其不僅僅就是一種非常平凡的字符顯示模塊。而且還具備著和液晶一樣的物理特性,對顯示區域的操作是利用電壓來進行操控的,并且以流過的電流顯示顯示該區域,以達到顯示圖像的作用功能。其主要組成的部件有字符型液晶顯示屏、控制驅動主電路HD44780以及少量的電阻、電容元件和結構部件等幾部分組裝在PCB板上而制造完成。STC89C52的輸入和輸出方向由單片機的P1.0和P1.1控制。該芯片上的RS、R/W和E這三個引腳在連接單片機的時候主要與其P2.0和P2.1以及P2.2這三個引腳進行連接組合[15],從而達到單片機對其的讀寫的功能操作,最后就是把處理分析過后的數據經過顯示屏進行顯示出來內容。其接線原理電路圖如圖1.7所示。圖1.7LCD1602液晶顯示電路圖1.6報警電路設計本次系統設計當中,檢測蓄電池性能的過程當中,單片機對檢測到的蓄電池的數據進行分析處理后,如過檢測到的相關參數超過了之前設定的正常蓄電池性能狀態參數的上下限值,這時單片機發出報警指令,LED指示燈亮起,蓄電池欠壓黃色LED燈亮起,溫度高于40°紅色LED燈亮起。具體電路如圖1.8所示。圖1.8報警指示燈電路2系統的軟件設計本次整體的系統設計不僅有硬件電路設計,而且也有系統軟件的設計兩部分的組合而成。設計當中,獨特的硬件電路設計僅僅是供給基本的操作支持從來實現系統的一些操作。該識別系統設計的是以單片機STC89C52為中心進行操作的,系統中所有的電路操作和功能都是通過單片機來加以實現的。其對各部分的芯片所采集到的數據進行處理分析以及最后對數據進行顯示,達成系統所要求的功能。整個系統運行當中不僅是依靠硬件電路能夠在其中可以高速有效的運轉,而且也要對硬件電路進行軟件編譯,兩者進行結合相得益彰。其次就是在軟件設計的過程當中,就應該對其認真對待研究。整個電路系統的設計需要兩者的完美結合,才能夠使其電路高效的工作,進一步實現最初所設計的功能,表現出其出色的成效。系統軟件部分的設計,本次的系統軟件設計在選擇編譯軟件的時候也考慮幾款設計軟件,但是唯獨選擇了KeiuVision3軟件。主要是因為獨特的軟件開發環境方便于單片機的應用,其各種功能應有盡有十分全面。其中不僅僅含有單片機的主要匯編語言以及可以與C語言進行連接編譯[16],其還可以拋開硬件部分單獨的進行對一些程序進行軟件的模擬仿真與調試的工作,這在軟件設計的時候操作十分快捷,可以更高效的來完成軟件設計的工作。2.1系統軟件主程序設計硬件電路設計好之后,就要開始設計軟件電路,而軟件電路的設計主要是對程序進行編寫,我們在編寫軟件程序的時候,首先應該先要了解蓄電池檢測其哪幾部分。本身所設計的這個是對電池進行日常的運用情況檢測與下一步的維護做出判斷,其中檢測的參數包含對蓄電池的電壓的檢測和對溫度參數的檢測,以及蓄電池放電電流大小的檢測。對電壓設置有報警提示系統,超出設置范圍時系統會進行報警提示。同樣,當蓄電池因周圍環境溫度的變化而引起的溫度變化,超過設定的溫度上限,進而觸發溫度報警,通過紅色LED指示燈報警提示。這些檢測的操作都是需要自己進行控制和檢測。最后就是通過對檢測到的數據進行處理分析后,傳送到顯示模塊進行顯示。每個系統的設計之處都有著一定設計步驟來完成,本次的軟件系統設計部分主要是由以下幾部分組合而成:程序初始化、電壓程序、電流程序、溫度程序、AD轉換子程序和液晶顯示子程序。在系統運行之前要對主控芯片進行上電復位,通過單片機程序主函數調用子函數對各個設定的程序進行執行,調用相應的功能模塊,對被測的實物數據進行采集,經過對數據的處理分析過后,最后就是把其傳輸到顯示模塊進一步顯示出其具體的性能參數數據,來完成最初的設定。其主程序流程圖如圖2.1所示。開始開始初始化電壓子程序電流子程序溫度子程序顯示子程序數模轉換子程序圖2.1主程序流程圖2.2電壓子程序設計這部分的電壓子程序流程圖如圖2.2所示。這部分的程序設計可以分為兩部分,一部分就是將蓄電池的檢測到的數據傳輸給中央處理器,經過其對數據的處理分析過后,通過LCD液晶顯示屏顯示出來,而另一部分檢測蓄電池的容量,是以通過檢測蓄電池的電壓大小,來根據剩余電壓來判斷蓄電池的容量的大小[17]。從一開始的對通道的選取,經過內部的數模轉換過程以及被檢測到的數據和預設值進行對比分析,然后發出報警提示,最終達到系統所設計的要求。2.2電壓子程序流程圖在軟件查詢A/D轉換完成標識位工作方式下,當啟動A/D開始轉換后,通過單片機反復查詢A/D轉換完成標識位,只要查詢到其變為高電位,說明A/D轉換已完成,這樣單片機可以從結果寄存器中讀取結果值,讀取結果時自動清除完成標識位為低電位。2.3電流子程序設計此次系統檢測電流部分選擇的是功耗極低且具有8位的CMOS數據采集設備,其具備的A0、A1和A2這三個地址引腳則運用于編程硬件地址,在此期間可以最大限度的連接外部器件,最大可以達到8個器件連接到I2C總線從而不再連接一個片選電路[19]。這部分的電流程序就是將蓄電池的電流模擬量轉化為數字量送給單片機STC89C52。這部分的設計首先就是對該程序進行初始化,在檢測采集的過程當中經過數模轉換,然后等待系統子程序的運行結束,當下次需要重新檢測電池的時候就要重新開始運行子程序,最后就是通過顯示屏進行數據的顯示。在軟件查詢A/D轉換完成標識位工作方式下,當啟動A/D開始轉換后,通過單片機反復查詢A/D轉換完成標識位,只要查詢到其變為高電位,說明A/D轉換已完成,這樣單片機可以從結果寄存器中讀取結果值。讀取結果時自動清除完成標識位為低電位。其電流子程序流程圖如圖2.3所示。圖2.3電流子程序流程圖2.4溫度子程序設計溫度程序就是將蓄電池周圍的環境溫度檢測出來,并將其轉換為數字量送給單片機。其檢測的流程主要是對DS18B20傳感器在檢測之前進行初始化程序,通過內部的操作指令發出ROM指令,即對采集的數據進行儲存分析。然后對采集溫度采取數模轉換,看能否轉換完畢,否則重新對其發出ROM指令,反之則采取下一步的指令操作,就是再次初始化之后,發送出報警搜查命令,來判斷溫度是否超出最初的預定值,其次就是做出相應的判斷,最后就是把檢測到的數據經過處理分析之后通過顯示屏顯示出來。在其中有著ROM命令和暫存器命令是其最基本的兩種指令。ROM命令主要是對其內部的進行操控,有讀取其序列號、搜索等。另一指令就是其便箋式存儲器一些相連的掌握[18],有對溫度進行轉變以及上下限值的獲取等。一般都是兩種指令結合著使用,來實現其所設定的功能。其流程圖如圖2.4所示。圖2.4溫度子程序流程圖2.5數模轉換子程序設計單片機不能接收模擬量數據,只能接收數字量數據,所以必須經過數模轉換。單片機內部就有數模轉換器,然后經過對數據進行處理,來最終實現系統最初所要求的的功能,在使用是對其進行供電,啟動完成之后就會自動運行。首先起動數模轉換器時要對其進行通道做出選擇,開始采集8位數據,所設計的模數轉換程序系統在檢測的過程當中該芯片會對所檢測到的電池性能數據進行采集傳輸到中央處理器,由其進行處理分析,然后等待數據的轉換完成,子程序進行返回,下次檢測重新啟動該程序。該流程圖如圖2.5所示。圖2.5數模轉換子程序流程圖2.6顯示子程序設計對于最后一部分的系統顯示程序的設計,先首先對其模塊的第一次運行要進行初始化,系統把經過處理過后的數據通過其顯示出來,第一次初始化之后往后在使用的過程當中不再初始化第二次。其有著和液晶一樣的物理特征,連接好電源后,該顯示區域部分被電壓所控制。本次設計的顯示部分主要用于實時監測蓄電池參數的值。根據系統的設定要求,要求檢測電池的各個性能參數并通過顯示屏顯示出來。系統所檢測到的電池參數這些都是不斷變化的,所以這些要根據不同的狀態下來進行相對應的修整。其進入工作的環境之后就代表著系統的整個運行的狀況,然后則通過顯示屏會出現相應的設置信息等內容[20]。最后就是對其進行編程依靠自身的指令來完成。其顯示子程序流程圖如圖2.6所示。圖2.6顯示子程序流程圖5系統調試與分析整個系統整理好設計之后,接下來就是硬件電路設計和軟件設計這兩部分進行調試,發現其中的問題所在并加以修正,來結合著所設計的系統本身的特點,來逐步進行調整,到達最初的設想,最后加以完善。3.1系統調試(1)硬件電路的調試工作系統的整個硬件電路也是重中之重,而其主要是為了消除電路組件當中的一些設計錯誤和各種連線錯誤以及元器件的故障問題。此設計的關鍵的硬件電路調試包括:①第一步是在設計之初,確保每一個組件的實際封裝是否線路板上的封裝相匹配,確保無誤的情況之下再連接線路。②第二部是要確保每個電源的尺寸均符合組件規格。在這里要注意組件的電壓是否小于其電源電壓,反過來說[21],如果電源電壓高于組件的額定電壓,就需要通過增加穩壓管來對其進行控制。而且還要注意線路的正負極,從而防止電路出現短路的情況。③在其焊接電路的時候,要確保組件的規格大小、型號以及安裝是否相匹配。使用線路圖來判斷電路連接的正確與否,并及時糾正出現的錯誤。④對每個組件的電氣功能都要進行檢查確保其無誤。確保無誤的狀態下,對整個電路進行上電,仔細觀察各個組件的工作運行情況。⑤單片機在本次的系統設計之中采用了上電復位電路的方式。因為電容的不固定,其數值小會對復位的時間大大縮短,從而造成不能正確進行復位的情況出現,所以要在此之間就要對電容的大小進行查看,這樣確保其正常復位。(2)軟件程序的調試工作整個系統不僅要進行硬件電路的調試,而且還要進行軟件的調試,在這里是通過電腦上的仿真軟件對其進行模擬調試。首先要選擇的開發環境是我們常用的KeiluVision3編譯軟件。其可以用于編譯、修改以及程序的調試工作[22],在匯編語言方面有著極其大的功能,一般的程序匯編不在話下,操作簡單。在調試軟件程序的時候一般有一下幾個問題:①進入編譯程序的過程當中,時不時的都會出現一些錯誤。單單的靠肉眼去進行修改,不光花費時間久,而且還不能夠完全保證修改正確。而這個軟件自身都有修改錯誤的這一項功能,方便快捷,可以幫助其更加高效的來完成對程序的調整。②使用模擬調試器的過程當中,要對每個子模塊進行調試,設置微控制器的工作模式和輸入的條件,同時也要檢查每個模塊的工作情況等問題,并確保過程結果符合最初設定的設想。③當子模塊調試正確的時候,這是把子模塊和主模塊進行連接用以調試整個程序。確保程序可以實現之前設定的功能。但是程序出現錯誤的時候,要進行對其檢測[23],檢查完成之后把其匯編形成目標文件,然后將目標文件下載到單片機當中,對其進行統一調整。3.2功能展示測試及分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公務員考試筆試試題及詳盡答案解析
- 2026年初中歷史中國現代史試卷
- 鋼材購銷合同(2026版)
- 長期合作合同范本(范本)
- 六年級下冊數學北師大含答案 圖形與測量2
- 秘書實務重點試題及準確答案
- 福星盈門考試題目及對應答案
- 2026年上海市高考物理真題試卷(含答案)
- 河科大機械零件教案第11章 蝸桿傳動
- 惠州電工專項試題及答案展示
- 2025-2030長春現代農業示范區冷鏈物流設施建設項目研究
- 離婚協議書 2026年民政局標準版
- 學校間幫扶協議書
- 鑄鋼件代理協議書
- 咖啡店供貨合同范本
- 實施指南(2025)《JB-T7987-2012普通磨料微晶剛玉》
- 鋼架溫室大棚施工方案(3篇)
- 2025 年小升初西安市初一新生分班考試語文試卷(帶答案解析)-(人教版)
- 呆滯料的預防與管理
- 華為公務接待管理辦法
- 基于AI的網絡性能動態路由優化-洞察闡釋
評論
0/150
提交評論