程控電源控制器_第1頁
程控電源控制器_第2頁
程控電源控制器_第3頁
程控電源控制器_第4頁
程控電源控制器_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1 緒論直流繼電器廣泛運(yùn)用于電動汽車,近年面對日益加劇的能源和生態(tài)危機(jī),電動汽車成為汽車行業(yè)發(fā)展的主要方向。電動汽車在充電及運(yùn)行過程中,直流繼電器可能出現(xiàn)意外事故,造成動力系統(tǒng)的竄動、擠壓、短路、開裂、漏電、熱沖擊、爆炸、燃燒等,由此對乘員產(chǎn)生機(jī)械傷害、電傷害、化學(xué)傷害、電池爆炸傷害以及燃燒傷害等,并可能引發(fā)更大的連發(fā)性事故以及二次傷害。為了減小事故的發(fā)生,對直流繼電器性能測試是非常重要的,為了測試直流繼電器的性能,測試儀器研發(fā)顯得非常重要。1.1 課題研究背景及意義本課題來源于企業(yè)產(chǎn)品設(shè)計,根據(jù)要求,利用微控制器以及信號調(diào)理電路為特殊設(shè)備提供程序化控制試驗電源。需要分段設(shè)定施加電壓的時間及電

2、壓升降的變化速度,重復(fù)次數(shù)及周期,并對試驗過程進(jìn)行過壓、過流、過溫、短路等保護(hù)。通過微控制器輸出控制信號,利用控制信號控制試驗電源的電流、電壓,繼而測試電器的性能。微控制器A/D端檢測兩路信號,測量試驗電源實際輸出。圖1 系統(tǒng)簡圖通過研發(fā)測量儀器,可以測量到特殊設(shè)備的一些重要運(yùn)行參數(shù),為產(chǎn)品的安全性提供保障。隨著經(jīng)濟(jì)活動在轉(zhuǎn)入高新技術(shù)產(chǎn)業(yè)迅猛發(fā)展時期。程控電源控制器是電子技術(shù)常用的儀器設(shè)備之一,廣泛的應(yīng)用于教學(xué)、科研等領(lǐng)域,是電子實驗員、電子設(shè)計人員及電路開發(fā)部門進(jìn)行實驗作和科學(xué)研究所不可缺少的電子儀器。1.2 本課題的主要工作(1)硬件設(shè)計:信號調(diào)理電路設(shè)計,電源電路設(shè)計、通信電路設(shè)計等。(

3、2)軟件設(shè)計:串口接收、發(fā)送,信號的A/D檢測等。(3)系統(tǒng)的綜合調(diào)試。2 程控電源控制器的系統(tǒng)組成2.1 程控電源控制器的參數(shù)實現(xiàn)功能:輸出一組050V,3A直流電源,提供試驗繼電器線圈工作電壓。輸出電壓值由觸摸屏設(shè)置,并有對應(yīng)的顯示。輸出電壓可程控,在每個運(yùn)行周期的高電流階段可以切斷,接通。具體切斷,接通的時間可設(shè)置。具有過壓、過流保護(hù)功能。工作形式:對電源輸出電流的控制過程為:圖2 控制波形圖其中:I1為低檔電流值,設(shè)置范圍11000A,設(shè)置分辨率1A。I2為高檔電流值,設(shè)置范圍1003000A,設(shè)置分辨率1A。T1為低檔電流的起始維持時間,設(shè)置范圍11000S設(shè)置分辨率1S。T2為電流

4、上升的時間,設(shè)置范圍1001000mS,設(shè)置分辨率1mS。Ta為T3開始后到關(guān)斷V2輸出的時間,設(shè)置范圍11000ms,設(shè)置分辨率1mS。Tb為關(guān)斷V2輸出的時間,設(shè)置范圍11000ms,設(shè)置分辨率1mS。T3為高檔電流的維持時間,設(shè)置范圍12000mS,設(shè)置分辨率1mS。T4為電流下降的時間,設(shè)置范圍1002000mS,設(shè)置分辨率1mS。T5為低檔電流的后期維持時間,設(shè)置范圍11000S,設(shè)置分辨率1S。周期數(shù):從T1T5完成為一個周期,可設(shè)置運(yùn)行周期數(shù),設(shè)置范圍19999??稍O(shè)置任意電流值時的連續(xù)工作。2.2 程控電源控制器總體方案圖3 程控直流恒流源控制器的系統(tǒng)框圖STM32利用IO口驅(qū)

5、動外部D/A芯片,輸出控制信號,由于D/A芯片參考內(nèi)部電壓為2.5V,不能滿足為試驗電源提供控制信號的要求,利用信號調(diào)理電路,使得控制信號達(dá)到05V,用來驅(qū)動試驗電源。為了測量試驗電源輸出信號大小,由于STM32不能直接檢測外部信號,將外部信號經(jīng)過輸入信號調(diào)理電路,轉(zhuǎn)換成STM32 A/D可以檢測的信號,如果檢測到信號過壓,過流,那么啟動保護(hù)電路。觸摸屏用來設(shè)置參數(shù)(I1、I2、T1、T2、T3、T4、T5、V2),如圖2所示。為了方便客戶,設(shè)置的參數(shù)都會由存儲器保存,以便下次直接使用。2.3 微控制器由于程控電源控制器對時間要求很高,一般的單片機(jī)運(yùn)行速度不夠,例如處理通信協(xié)議、D/A轉(zhuǎn)換、A

6、/D轉(zhuǎn)換、存儲、計算波形數(shù)據(jù)(浮點數(shù))等其他中斷資源消耗的時間,難以讓時間精度控制在1ms。所以選用STM32F103ZET6單片機(jī)。內(nèi)核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。時鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動電壓。上電復(fù)位(POR)、掉電復(fù)位(PDR)和可編程的電壓探測器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校

7、準(zhǔn)用于RTC的32kHz的晶振。低功耗:3種低功耗模式:休眠,停止,待機(jī)模式。為RTC和備份寄存器供電的VBAT。調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。DMA:12通道DMA控制器。支持的外設(shè):定時器,ADC,DAC,SPI,IIC和UART。3個12位的us級的A/D轉(zhuǎn)換器(16通道):A/D測量范圍:0-3.6V。雙采樣和保持能力,片上集成一個溫度傳感器。2通道12位D/A轉(zhuǎn)換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。最多高達(dá)112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部

8、中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。最多多達(dá)11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個16位的6通道高級控制定時器:最多6個通道可用于PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器用于驅(qū)動DAC。2.4 DGUS觸摸屏傳統(tǒng)的自動化控制系統(tǒng)通常采用鍵盤、開關(guān)作為控制輸入設(shè)備,采用液晶、數(shù)碼管作為顯示輸出設(shè)備,這樣的人際界面操作復(fù)雜、方式笨重。而通常的TFT觸摸屏GUI界面集成在操作系統(tǒng)內(nèi)。由于其界面都有代碼繪制而成集成在系統(tǒng)內(nèi)無疑增加變量設(shè)置、增加系統(tǒng)復(fù)雜程度同時浪

9、費(fèi)了芯片資源,并且還增加了系統(tǒng)的不穩(wěn)定性,也降低了顯示的實時性 。DGUS屏是TFT觸摸屏的開發(fā)應(yīng)用,將鍵盤與界面集成為一體,結(jié)構(gòu)更加緊密對系統(tǒng)資源的利用率更高,同時也能更好地滿足實時性需求。DGUS觸摸屏優(yōu)點:借助PC軟件進(jìn)行設(shè)計,實現(xiàn)豐富功能;簡化CPU代碼量,5條指令實現(xiàn)人機(jī)交互;在實際的應(yīng)用中,針對DGUS的通信機(jī)制,控制系統(tǒng)與觸摸屏之間不能進(jìn)行直接通訊,而需要根據(jù)DGUS所使用的協(xié)議對通訊程序進(jìn)行開發(fā)。采用編程實現(xiàn)DGUS屏幕與STM32F103芯片的通訊。2.5 嵌入式實時操作系統(tǒng) UC/OS-II 簡單的小系統(tǒng)通常在設(shè)計成前后臺系統(tǒng),這個結(jié)構(gòu)包含一個死循環(huán)和若干中斷服務(wù)程序:應(yīng)用

10、程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的操作(后臺),中斷服務(wù)程序用于處理系統(tǒng)的異步事件(前臺)。前臺也稱做中斷級,后臺是任務(wù)級。為了保證得到及時處理,那些本該在任務(wù)級執(zhí)行的關(guān)鍵代碼也必須放在中斷里執(zhí)行,這導(dǎo)致中斷程序的運(yùn)行時間變長。中斷程序即使立刻生成了特定的數(shù)據(jù),后臺程序也必須運(yùn)行到對應(yīng)的處理代碼時才能進(jìn)行處理,這稱為任務(wù)級響應(yīng)延遲。最長的任務(wù)及響應(yīng)延遲取決于后臺循環(huán)的運(yùn)行時間,因此特定模塊的運(yùn)行時間間隔是不確定的,并且后臺循環(huán)的任何修改都會使所有功能模塊的運(yùn)行時間間隔受到影響。很多低成本、大批量的微控制器應(yīng)用(例如微波爐、電話或玩具)都采用了前后臺的設(shè)計。實時內(nèi)核是用于管理微處理器、微控制

11、器或數(shù)字信號處理器的時間及硬件資源的軟件代碼。設(shè)計實時系統(tǒng)時,可把系統(tǒng)功能劃分成多個任務(wù),每個任務(wù)僅負(fù)責(zé)實現(xiàn)某一功能。每個任務(wù)(或稱線程)都是一段簡單的程序,通常是個死循環(huán)。CPU在任意時刻只能執(zhí)行一個任務(wù),但每個任務(wù)都認(rèn)為自己在獨自使用整個CPU。 實時內(nèi)核負(fù)責(zé)管理這些任務(wù),決定運(yùn)行哪個任務(wù),何時停止運(yùn)行當(dāng)前任務(wù)并切換到其他任務(wù),這稱為多任務(wù)管理。CPU在多個順序執(zhí)行的任務(wù)代碼間切換。多任務(wù)管理造就了多CPU的假象,實現(xiàn)對CPU資源的最大化利用。多任務(wù)管理也有助于實現(xiàn)應(yīng)用程序開發(fā)的模塊化,能幫助程序員實現(xiàn)復(fù)雜的實時應(yīng)用。3 硬件設(shè)計3.1 信號調(diào)理電路設(shè)計圖4 OP07引腳圖Op07芯片是一

12、種低噪聲的雙極性運(yùn)算放大器集成電路。由于OP07具有非常低的輸入失調(diào)電壓(對于OP07A最大為25V),所以O(shè)P07在很多應(yīng)用場合不需要額外的調(diào)零措施。OP07同時具有輸入偏置電流低(OP07A為±2nA)和開環(huán)增益高(對于OP07A為300V/mV)的特點,這種低失調(diào)、高開環(huán)增益的特性使得OP07特別適用于高增益的測量設(shè)備和放大傳感器的微弱信號等方面。 優(yōu)點:超低偏移: 150V最大 。  低輸入偏置電流: 1.8nA 。  低失調(diào)電壓漂移: 0.5V/ 。 &#

13、160;超穩(wěn)定,時間: 2V/month最大 高電源電壓范圍: ±3V至±22V OP07是具有兩個輸入端,一個輸出端的高增益、高輸入阻抗的電壓放大器。若在它的輸出端和輸入端之間加上反饋網(wǎng)絡(luò)就可以組成具有各種功能的電路。當(dāng)反饋網(wǎng)絡(luò)為線性電路時可實現(xiàn)乘、除等模擬運(yùn)算等功能。運(yùn)算放大器可進(jìn)行直流放大,也可進(jìn)行交流放大。 使用OP07時,調(diào)零和相位補(bǔ)償是必須注意的兩個問題,此外應(yīng)注意同相端和反相端到地的直流電阻等,以減少輸入端直流偏流引起的誤差。 圖5 輸入信號調(diào)理電路設(shè)計同相放大器具有輸入電阻很高,輸出電阻很低的特點,廣泛用于前置放大器。

14、同相放大器的閉環(huán)增益為 Af =(1+) 當(dāng)輸入為075mv信號時,由于STM32檢測03.3V信號,利用D17、D18、R68、R69、R70、R71、C26、R66、R67構(gòu)成同相放大器,將信號進(jìn)行放大使之對應(yīng)03.3V。Af=44倍當(dāng)R69 = 1K時,由上式可知39K其中,反饋電阻R69不能取得太大,否則會產(chǎn)生較大的噪聲及漂移,其值一般取幾十千歐到幾百千歐之間。 若將輸出電壓的全部反饋到反相輸入端,就構(gòu)成電壓跟隨器。Af = 1當(dāng)輸入05V信號時,將信號電壓跟隨,由R125、R126 構(gòu)成分壓電路轉(zhuǎn)換成03.3V信號,再利用A/D檢測。A1=0.66倍利用電阻分壓原理:當(dāng)R125=2K

15、時,由上式可知R126 =R125/A13K由于沒有精準(zhǔn)的3K電阻,加上電阻的制造誤差,換5.1K滑動變阻器進(jìn)行調(diào)節(jié)。(3)信號的輸入為05V或075mV,由于是兩路信號,使用其中一個,所以用短路帽進(jìn)行人工選擇。最后由U18 構(gòu)成電壓跟隨器,傳送到A/D檢測端。為了防止輸入信號過大,導(dǎo)致送到STM32檢測端信號大,損壞STM32,所以使用瞬態(tài)抑制二極管進(jìn)行保護(hù)。實際輸入信號不穩(wěn)定(例如受到電網(wǎng)波動,打雷等影響),出現(xiàn)很大的脈沖,可能會損壞運(yùn)放的輸入引腳,所以在U17輸入端用二極管做了限幅。為防止受到高頻干擾,這里使用電容組成RC網(wǎng)絡(luò)進(jìn)行濾波,使信號趨于穩(wěn)定值。為了防止由于阻抗不匹配,導(dǎo)致信號衰

16、減,所以由電壓跟隨器降低輸出電阻,再傳輸信號到A/D檢測端。由于運(yùn)算放大器輸入級采用差分放大,產(chǎn)生失調(diào)電壓,失調(diào)電流,利用電位器(例如R70)調(diào)節(jié)。3.2 D/A轉(zhuǎn)換電路如圖2.1.2所示,系統(tǒng)要求電流的最大值可達(dá)3000A,設(shè)置分辨率0.1A,如果僅僅用STM32內(nèi)部的D/A,加上參考電壓不是非常精準(zhǔn)的3.3V,轉(zhuǎn)換精度是不夠的。所以采用DAC8562芯片,使用內(nèi)部的2.5V參考電壓,支持雙通道16位D/A轉(zhuǎn)換,轉(zhuǎn)換速度也快。圖6 DAC8562內(nèi)部圖解表1 DAC8562引腳定義名稱引腳描述AVDD9/CLR5異步清零輸入,在下降沿清零所有寄存器,24個跳變沿后退出該模式。在該模式中輸入被

17、禁止。Din8SPI 24位數(shù)據(jù)輸入口。/LDAC4在同步模式下,數(shù)據(jù)與24個下降沿更新SCLK周期,如下一個下降邊緣同步。這種同步更新,LDAC引腳是不需要的,它必須連接到接地或永久性的斷言和舉行低之前,發(fā)送命令到設(shè)備。在異步模式下,LDAC引腳是用來作為一個負(fù)邊沿觸發(fā)定時信號同步DAC的更新。多個單通道命令可以寫為設(shè)置不同的通道緩沖器所需的值,然后在LDAC引腳下降沿同時更新DAC輸出寄存器。SCLK7SPI 信號輸入,最大到50MHz/SYNC6級別觸發(fā)控制輸入(低電平)。這個輸入是輸入的數(shù)據(jù)幀同步信號。當(dāng)同步變低,它使輸入移位寄存器,并在隨后的下降時鐘采樣數(shù)據(jù)邊緣。DAC輸出更新后的2

18、4時鐘的下降沿。如果是采取同步高前23時鐘的上升沿同步邊緣,作為中斷,和寫序列被忽略。VOUT11A路輸出VOUT22B路輸出VREF參考電壓輸入或2.5V參考電壓輸出圖7 應(yīng)用電路由于DAC8562使用內(nèi)部參考電壓,輸出02.5V信號,放大信號到05v,再將信號電壓跟隨,作為后續(xù)的控制信號。圖8 輸出信號調(diào)理電路設(shè)計(1)同相放大器具有輸入電阻很高,輸出電阻很低的特點,廣泛用于前置放大器。同相放大器的閉環(huán)增益為 Af =(1+) 當(dāng)DA輸出為02.5v信號時,利用R20、R21、R26、R25、R24構(gòu)成同相放大器,將信號進(jìn)行放大使之對應(yīng)05V。Af = 2倍令R20= 3K時,由上式可知=

19、3K 由于無法得到精確3K電阻,放大倍數(shù)無法很精確,利用R26、R23進(jìn)行調(diào)節(jié).其中,反饋電阻R21不能取得太大,否則會產(chǎn)生較大的噪聲及漂移,其值一般取幾十千歐到幾百千歐之間。 為了與后級電路阻抗匹配,最后由U23構(gòu)成電壓跟隨器,由于跟隨器輸入級采用差分放大,產(chǎn)生失調(diào)電壓,失調(diào)電流,利用電位器(例如R102)調(diào)節(jié)。3.3 電源電路本系統(tǒng)需要多個電源,單片機(jī)使用+3.3V穩(wěn)壓電源。在高精度的系統(tǒng)中,穩(wěn)壓電源有著非常重要的作用。在進(jìn)行研究后得出以下方案。本電源先通過變壓器電壓變換隔離,橋式全波整流,電容濾波,再通過三端固定輸出集成穩(wěn)壓器產(chǎn)生穩(wěn)定電壓+12V,-12V。為了改善負(fù)載的瞬態(tài)響應(yīng),在輸出

20、端加接電容。采用三端集成穩(wěn)壓器7805得到+5V,采用AMS1117得到+3.3V。 圖9 5V電壓電路圖圖10 3.3電壓電路圖3.4 串口通信電路隨著電子技術(shù)的不斷發(fā)展,單片機(jī)的應(yīng)用范圍越來越廣泛,在工業(yè)控制、家電控制、數(shù)據(jù)采集等多個領(lǐng)域都有著十分重要的作用,由于單片機(jī)的使用,越來越多的系統(tǒng)開始向智能化方向發(fā)展。利用單片機(jī)的串口通信可以實現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸、數(shù)據(jù)分析與系統(tǒng)綜合控制功能,尤其是在數(shù)據(jù)量比較大的場合下,利用一個主機(jī)向各個從機(jī)發(fā)送控制指令是一個很好的解決方案。在本課題中實現(xiàn)與觸摸屏、上位機(jī)通信。圖11 串口通信電路圖4 系統(tǒng)軟件設(shè)計4.1 系統(tǒng)總程序簡圖系統(tǒng)上電開始初始化數(shù)據(jù),需要

21、將所有初始化數(shù)據(jù)裝載到發(fā)送數(shù)據(jù)隊列,由發(fā)送數(shù)據(jù)任務(wù)負(fù)責(zé)給上位機(jī)、觸摸屏發(fā)送數(shù)據(jù)。并開始檢測外部的信號,根據(jù)檢測外部信號是否異常,執(zhí)行系統(tǒng)動作,并實時通知給顯示系統(tǒng)(觸摸屏、上位機(jī)),即需要發(fā)送數(shù)據(jù)入隊,由發(fā)送數(shù)據(jù)任務(wù)負(fù)責(zé)發(fā)送數(shù)據(jù),讓用戶知道系統(tǒng)產(chǎn)生異常。當(dāng)接收到來自上位機(jī)、觸摸屏數(shù)據(jù)時,數(shù)據(jù)入隊。當(dāng)執(zhí)行到接收數(shù)據(jù)任務(wù)時,接收數(shù)據(jù)出隊,執(zhí)行協(xié)議分析,分析收到的數(shù)據(jù),并且判斷數(shù)據(jù)的有效性,用來對數(shù)據(jù)存儲,相關(guān)數(shù)據(jù)的計算,系統(tǒng)動作等提供條件,實時通知當(dāng)前系統(tǒng)的運(yùn)行情況,即將通知信息裝載到發(fā)送隊列,由發(fā)送數(shù)據(jù)任務(wù)進(jìn)行發(fā)送數(shù)據(jù)。圖12 系統(tǒng)程序簡圖 總程序主要分為三個任務(wù),接收數(shù)據(jù)任務(wù)、發(fā)送數(shù)據(jù)任務(wù)、檢

22、測信號任務(wù)。由于系統(tǒng)本身要對處理指令,具有足夠快的響應(yīng),所以接收數(shù)據(jù)任務(wù)的優(yōu)先級是最高的,把時間控制在每7ms執(zhí)行一次,雖然也可以換做其他值,但經(jīng)過實際驗證,7ms的時間響應(yīng)比較好,也不影響其它軟件功能。發(fā)送數(shù)據(jù)任務(wù)負(fù)責(zé)發(fā)送數(shù)據(jù),任何需要通知上位機(jī)、觸摸屏都需經(jīng)過發(fā)送數(shù)據(jù)任務(wù)處理、所以它的優(yōu)先級相對于接收數(shù)據(jù)任務(wù)要低一點。檢測新號任務(wù)負(fù)責(zé)檢測外圍的信號,因為系統(tǒng)本身,會輸出一定的電壓、電流,那么運(yùn)行情況如何,會對周圍環(huán)境造成什么影響,所以必須要監(jiān)測電壓、電流實際輸出。所以檢測信號任務(wù)也尤為重要,經(jīng)過以上分析,時間安排,優(yōu)先級安排,如圖13所示。圖13 時間流程圖4.2 串口接收與發(fā)送4.2.1

23、 串口接收因為程控電源控制器與上位機(jī),觸摸屏通信數(shù)據(jù)量較多,所以我采用隊列的方式,也便于程序調(diào)用。將所有接收到的數(shù)據(jù)存到二維數(shù)組中,即隊列中。隊列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾,通常用一個稱為尾指針(rear)的指針指向隊尾元素,即尾指針總是指向最后被插入的元素;允許刪除的一端稱為排頭(也稱為隊頭),通常也用一個排頭指針(front)指向排頭元素的前一個位置。顯然,在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。因此,隊列又稱為“先進(jìn)先出”的線性表。在隊列的隊尾(rear)接收一幀數(shù)據(jù)稱為入隊運(yùn)算,從隊列的

24、排頭(front)讀取一幀數(shù)據(jù)稱為出隊運(yùn)算。在循環(huán)隊列中,當(dāng)隊列滿時而再要進(jìn)行入隊時,只要隊列的第一個位置空閑,便可將隊尾指針指向第一個位置,即隊列的第一個位置作為隊尾。在隊列中,用隊尾指針rear指向隊列中的隊尾元素,用排頭指針front指向排頭元素的前一個位置,因此,從排頭指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素。每進(jìn)行一次入隊運(yùn)算,隊尾指針就進(jìn)一。rear=rear+1每進(jìn)行一次出隊運(yùn)算,排頭指針就進(jìn)一。front = front+1當(dāng)隊列滿時由front=rear,而當(dāng)隊列空時也有front=rear,即在對列中,當(dāng)front=rear

25、時,不能確定是隊列滿還是隊列空。在實際使用中,為了區(qū)分隊列滿還是空,通常增加一個標(biāo)志判斷。圖14 循環(huán)隊列示意圖從圖4.1.1中可以看出,當(dāng)串口接收到數(shù)據(jù)時DATA0,啟動定時器,定時1ms,如果在1ms之內(nèi)串口接收到數(shù)據(jù)DATA1,那么重置定時器。如果1ms之內(nèi)沒有接收到數(shù)據(jù),那么這幀數(shù)據(jù)接收完畢,隊尾指針進(jìn)一。當(dāng)然1ms的時間不是固定的,它是根據(jù)你的通信速度(波特率)決定。4.2.2 串口發(fā)送將需要發(fā)送的數(shù)據(jù)寫入二維數(shù)組(與串口接收二維數(shù)組不同),即發(fā)送數(shù)據(jù)入隊,原理與上節(jié)相同。當(dāng)系統(tǒng)進(jìn)行出隊操作時,發(fā)現(xiàn)還有未發(fā)送的數(shù)據(jù),立刻將數(shù)據(jù)發(fā)送出去。4.3 輸出波形控制算法由于DAC8562無法寫

26、入小數(shù),在程序進(jìn)行計算時,往往取整數(shù),這就會造成誤差。圖15 線性圖從圖中可以看出I1、I2的值,上升T2為1ms。假設(shè)I1為100(假設(shè)對應(yīng)AD轉(zhuǎn)換值1000),I2為250(假設(shè)對應(yīng)DA轉(zhuǎn)換值1550),DA差值為550,將1ms分解成10個100us,即550/10=55。每100us DA值加55??梢钥闯鲈诓徽{(diào)節(jié)的情況下,線性度極差,在調(diào)節(jié)的情況下,線性度有所好轉(zhuǎn)。若DA差值很小,再分解成10次,線性度基本不變。如何避免差值過小帶來無用調(diào)節(jié),是個重要的問題,因為分解成10個100us,意味著在1ms的時間內(nèi)程序做了10次無用調(diào)節(jié)。使系統(tǒng)運(yùn)行效率下降,實時性變低。令平均因子為X,DA差

27、值為E, X隨著E的變化動態(tài)取值: ,X = E;| >10 , X = 10;0|E|< 2 ,X = 1;這樣就可以避免時間資源的浪費(fèi),實時性得到了改善。4.4 滑動濾波算法微控制器需檢測實際輸出電流、電壓,實際信號會有干擾的存在。軟件抗干擾就顯得尤為重要。圖16 滑動濾波示意圖把連續(xù)N個采集值看成一個隊列,每次采集到的新數(shù)據(jù)放入隊尾,并扔掉原來隊首的數(shù)據(jù)。把隊列中的N個數(shù)據(jù)進(jìn)行平均計算,即可獲得新的濾波結(jié)果。圖17 濾波流程圖5 系統(tǒng)綜合調(diào)試5.1 硬件調(diào)試輸入信號調(diào)理電路調(diào)試:當(dāng)輸入信號為075mv,對應(yīng)到A/D端為03.3V,如圖5所示。將P22端輸入0V,查看P24 引

28、腳1是否為0V,若不是0V,調(diào)節(jié)R70 、R67直到0V為止。 將P22端輸入75mv,查看P24 引腳1是否為3.3V,若不是3.3V,調(diào)節(jié)R70 、R67直到3.3V為止。當(dāng)輸入信號為05v,對應(yīng)到A/D端為03.3V,如圖5所示。將P21端輸入0V,查看P24 引腳3是否為0V,若不是0V,調(diào)節(jié)R124 、R126直到0V為止。 將P22端輸入5v,查看P24 引腳1是否為3.3V,若不是3.3V,調(diào)節(jié)R124 、R126直到3.3V為止。將信號利用后級電路進(jìn)行電壓跟隨,若P24 引腳2與PA3電壓不一致,則調(diào)節(jié)R72 直到電壓相等為止。輸出信號調(diào)理電路調(diào)試:當(dāng)輸入信號為02.5v,對應(yīng)

29、輸出為05V,如圖8所示。將V-A端輸入0V,查看R34 調(diào)節(jié)端電位是否為0V,若不是0V,調(diào)節(jié)R24 、R23 ,直到0V為止。將V-A端輸入2.5V,查看R34 調(diào)節(jié)端電位是否為5V,若不是5V,調(diào)節(jié)R24 、R23 ,直到5V為止。將信號利用后級電路進(jìn)行電壓跟隨,若R34 調(diào)節(jié)端電壓與P4端電壓不一致,則調(diào)節(jié)R102 直到電壓相等為止。5.2 系統(tǒng)調(diào)試5.2.1 通信調(diào)試在實際的應(yīng)用中,針對DGUS的通信機(jī)制,控制系統(tǒng)與觸摸屏之間不能進(jìn)行直接通訊,而需要根據(jù)DGUS所使用的協(xié)議對通訊程序進(jìn)行開發(fā)。利用微控制器串口發(fā)送相應(yīng)協(xié)議,編程實現(xiàn)DGUS屏幕與微控制器芯片的通訊,初始化運(yùn)行數(shù)據(jù)。圖1

30、5 運(yùn)行參數(shù)5.2.2 功能調(diào)試根據(jù)設(shè)置的參數(shù),點擊觸摸屏啟動,圖中可以看出圖標(biāo)變?yōu)榫G色提示,示意圖如下。圖16 運(yùn)行監(jiān)控點擊啟動之后,用示波器檢測電流波形圖如下。圖17 電流波形示意圖 裝機(jī)調(diào)試將程控電源控制器接入試驗電源,將程序下載到微控制器,仿真器在線調(diào)試。圖18 調(diào)試 結(jié)論1本系統(tǒng)利用自動控制監(jiān)測技術(shù),設(shè)計開發(fā)了一套操作方便、簡潔實用的程控電源控制器。2系統(tǒng)軟硬件設(shè)計合理,其中軟件采用模塊化的程序設(shè)計方法,各模塊相互獨立,提高了系統(tǒng)的可靠性和可擴(kuò)展性,整個系統(tǒng)具有較高的性能價格比。3系統(tǒng)C語言編程,程序結(jié)構(gòu)清晰,顯示板界面非常友好,使得操作者在使用該系統(tǒng)時就像是在操作一臺實際的控制儀器一樣。4系統(tǒng)功能獨立,配置合理。5經(jīng)運(yùn)行驗證,系統(tǒng)具有響應(yīng)速度快,操作簡便,工作可靠等特點。6.系統(tǒng)軟件結(jié)構(gòu)可以進(jìn)一步優(yōu)化,操控界面可以做的更人性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論