




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-12-第1章緒論1.1課題的來源及意義隨著計算機技術,電子技術的發展,各種生產流程也在不斷的發展完善,其中檢測與反饋是實踐生產過程中實現工業自動化的重要標志。在實踐生產中常被檢測的參數有溫度,壓強,流量等。正如我們可以根據天氣溫度的變化來增添衣物一樣,在實際的工業設計中,系統的溫度高低也包含了很多有用的信息量,我們可以根據溫度這個有效的參數來評估當前系統的工作狀態,從而及時對系統進行調整,使整個系統保持一個最佳狀態。因此,本文的目的就是要將測量所得到本地溫度與理想溫度進行比較,根據比較的結果來與熱交換器相結合,通過一定的反饋,使系統處于理想溫度狀態。此設計在實際應用中具有廣泛的實用性與通用性。1.2課題可行性論證結論可行性分析:(1)技術可行性:本人已掌握基本的操作技能和實驗方法,同時有優秀的老師進行指導,提出了很多好的建議和要求。(2)經濟可行性:該課題所需經費較少,易于實踐。已具備的實驗條件:目前,已經準備好了與本次設計相關的元器件參考資料,同時找到多篇相關學術報告。學校的實驗室提供了良好的實驗環境,實驗過程中所用到的相關軟件也準備就緒。1.3非技術因素影響非技術因素在實際處理應用過程中非常重要,非技術因素處理不恰當有可能導致設系統設計的失敗。在此設計中,主要考慮的非技術因素有以下幾點:(1)要樹立創新意識,打破常規,在已有的經驗和基礎上尋找突破點;(2)要樹立安全意識,在實踐的過程中注意電路安全及實驗室環境安全;(3)成本問題也是一個很重要的影響因素,要根據實際情況選擇最合理的元器件節約資源,降低成本;(4)還要樹立知識產權意識,尊重他人的勞動成果,論文中引用的部分要標明出處(5)個人的心態問題。此系統設計不是一個一蹴而就的事情,需要有足夠的耐心,不斷的進行思考與反饋。因此,需要保持一個良好的心態不斷優化系統設計。第2章系統總體結構水循環溫度控制的總體結構框圖見圖2.1。此設計適用的溫度范圍為6℃~55℃,電壓工作范圍為DC0V~36V。水循環溫度控制系統由加熱系統和換熱系統兩個部分組成,通過這兩部分的熱交換使目標系統在一定時間內向外散發的熱量與吸收的熱量相等,從而達到系統熱平衡,使系統溫度維持在一個相對恒定的狀態。溫控器主要由單片機STC15W4K32S4LQFP44、A/D轉換電路等構成,通過溫控器來控制熱交換器的熱量交換使目標系統達到理想溫度。即在此系統設計中,通過單片機來控制熱交換器之間的熱量交換,實現水循環溫度控制的功能。換熱系統與加熱系統之間通過水泵連接。加熱系統內含加熱棒,初試狀態下加熱系統內部液體溫度較低,換熱系統內部液體溫度較高。我們采用了兩路NTC傳感器來分別采集加熱系統端和換熱系統端的系統溫度。將采集到的溫度傳遞給溫控器,輸出系統溫度。將真實測量出的溫度反饋到輸入端,控制系統輸入。根據加熱系統和換熱系統之間的熱交換使系統維持相對穩定的溫度。若采集到的溫度低于理想溫度,則控制水泵向目標系統中加溫度較高的液體以提高目標系統的溫度;若采集到的溫度高于理想溫度,則控制加熱棒的通斷來減少加熱時間以降低系統的溫度。在此設計中設置理想溫度設置為30℃。溫控器與上機位之間通過RS485完成通信作用。水循環溫度控制系統要求目標系統的溫度維持在一個穩定的狀態,需要對溫度進行定時檢測,實時反饋控制。在實際應用過程中,如果在檢測到理想溫度時再停止加熱或者降溫過程,則系統的溫度在接下來的一段時間仍然會發生變化產生震蕩。因此,在檢測到系統溫度快要到達理想溫度時,要提前停止加熱或者降溫過程,給系統一個延時遲滯,防止系統溫度產生震蕩。根據實際生活經驗和多次測量結果來確定停止加熱或降溫時的溫度高低。圖2.1水循環系統框圖圖2.2為系統的硬件結構框圖。微控制器為單片機STC15W4K32S4LQFP44。通過前端模擬器采集系統溫度。100μA恒流源電流流過NTC傳感器,把溫度引起的電阻值變化量轉換為電壓變換量輸出,由于此時的電壓輸出范圍符合A/D轉換電路的要求,因此不需要另加調理電路。在單片機的控制下A/D模塊對電壓信號進行采集,通過正交編碼器實現信號采集過程中的計數與鑒相功能,并根據溫度與電阻的關系得出此時的溫度數值。顯示模塊采用OLED驅動芯片SSD1306,SSD1306與單片機之間通過IIC總線連接,根據得到的溫度找出對應的液晶顯示碼字符數組,控制液晶正確顯示。將鍵盤與顯示器結合,實現溫度設置等功能。將采集到的溫度反饋到輸入端以此改變輸入端的輸入。固態繼電器主要用于兩個功率電源的開關控制。此設計含有兩個功率電源輸出,功率電源輸出1控制水泵的開關,功率電源輸出2控制加熱棒的通斷。通過水泵和加熱棒來完成加熱系統與換熱系統之間的熱交換,使目標系統維持在一個相對穩定的溫度。此系統設計了RS232和RS485兩個串行接口,均用于上位機與下位機之間的信息交換。RS232主要用于近距離通信,RS485主要用于遠距離通信。在此設計的實際運用中使用RS232接口,RS485為備用接口。除此之外,此系統設計還預留一個藍牙接口用于無線功能的實現。圖2.2硬件結構框圖第3章系統的硬件設計3.1微處理器3.1.1單片機的介紹此課題的控制過程主要由單片機完成。單片機主要面向控制。單片機具有很高的集成度,體積小,功能完善,在實際工程設計過程中有很高的應用。本課題采用的單片機是STC15W4K32S4LQFP44,屬于STC15W4K32S4系列。這種單片機有專門的EEPROM,不可將用戶程序區的程序FLASH當EEPROM使用,SRAM的空間大小為4K,程序空間大小為32K,內部含有4組高速異步串行通信口,可以同時并行使用,含有SPI,內含EEPROM功能和A/D轉換功能,共有44個管腳。此系列的單片機可以兼容8051系列的單片機,但是在速度上相比于8051有很大的優勢,可以比8051系列單片機快8~12倍;除此之外,此單片機內部集成了高可靠的復位電路,可大大降低由外部晶振、復位電路等帶來的設計成本。此單片機的主要特點如下:此單片機無需外部晶振和外部復位,可以對外輸出時鐘和低電平復位信號片內含有大容量4096字節的SARM工作電壓范圍:2.5V~5.5V含有8通道的10位高速ADC支持程序加密后傳輸,防攔截支持RS485下載3.1.2單片機控制電路設計對于此單片機,在VCC和GND之間加0.1μF非電解電容C31和10μF電解電容E32的目的是使電源線與地線之間是低阻抗,使電源接近理想電壓源。單片機的引腳連接圖見圖3.1。圖3.1單片機線路連接圖P0口作為數據線/地址總線存在,P1口作為A/D轉換通道使用。P3.0和P3.1用于下載仿真。P3.3定義為光隔離光耦數字輸入,與A/D轉換接口相連;P3.4定義為隔離光耦數字輸出,均需外接電源。與正交編碼器電路相連時,P4.1定義為旋轉編碼器電路開關EC11_K,定義開關斷開時為高電平;P3.2定義為編碼器脈沖輸出端EC11_A;P4.0定義為編碼器旋轉方向端EC11_DIR;P3.5定義為和編碼器同接口內的開關狀態監測SN_K。與其他電路相連時,P2.4與報警蜂鳴器電路相連;P2.5與報警LED燈相連;P2.6定義為運行指示燈LED;P2.3定義為藍牙使能開關,0為有效位;單片機與液晶顯示SSD1306模塊通過IIC總線連接,P2.0接LCD_SCL總線,P4.4接LCD_SDA總線。P0.4定義為RS485發送使能開關。在系統的功率輸出控制中,通過P0.5將設備上電5V控制,0有效;P0.6與P0.7接入的控制電壓為24V。P0.7定義為加熱棒接口,0有效;P0.6定義為水泵接口,0有效。3.2溫度傳感器3.2.1溫度傳感器介紹溫度傳感器是在工業生產中最早使用的一類傳感器,溫度傳感器的原理是將系統的溫度轉換為信號的形式輸出,在實際生產過程中根據實際情況選擇合適的溫度傳感器。溫度傳感器根據不同的分類方法可分為接觸式和非接觸式兩大類,也可分為熱電阻式和熱電偶式兩類。常見的接觸式傳感器有壓力式溫度傳感器,熱敏電阻,玻璃液體溫度計等等。接觸式溫度傳感器在日常生活,工業生產中都有很多的應用,但是,對于運動的物體,體積較小的物體或者溫度變化迅速的物體等進行溫度測量時,采用接觸式傳感器會有較大的誤差,在這種情況下常使用非接觸式溫度傳感器,又稱非接觸式測溫儀表。根據電阻變化與溫度變化的關系來測量溫度的傳感器是熱電阻溫度傳感器。熱電阻傳感器的溫漂系數定義為電阻值隨溫度的變化。如果溫度系數為正數,則電阻值隨著溫度的升高而增加,隨著溫度的下降而降低;如果溫度系數為負數,則電阻值隨著溫度的升高而降低,隨著溫度的下降而升高。大部分的金屬材料溫漂系數為正。根據電動勢變化與溫度變化的關系來測量溫度的傳感器是熱電偶溫度傳感器。熱電偶傳感器由不同的兩個導體組成,此類傳感器感應速度快,可以檢測快速變化的過程。3.2.2溫度傳感器的選擇由于本課題所要采集的是液體(水)溫度,水的熱容量已知,容器中水的多少也是提前設定好的,屬于一個小場景的應用。所以我們要根據實際情況選擇最合適的傳感器,在此設計中使用的溫度傳感器為NTC傳感器。NTC傳感器主要由NTC熱敏電阻,探頭(金屬殼或塑料殼,引線)等兩部分組成。探頭可以保證浸入液體而不損壞傳感器,NTC電阻的溫漂系數為負,隨著溫度的升高,電阻值會降低。此課題具體使用的電阻型號為AT-10K-3950,測溫范圍為6℃~55℃,此溫度范圍下對應的電阻最大值為3.1584kOhms~25.6649kOhms。因為我們要分別測量加熱系統和換熱系統內部液體(水)的溫度,所以需要兩個傳感器,其中第一個傳感器I1測量加熱器的溫度,第二個傳感器I2測量水箱溫度。在電路設計中,常使用瞬態抑制二極管作為一種高效能電路保護元件。當電路正常工作時,此電路元件不起作用;當電路的電壓異常時,此電路元件起保護電路的作用。在此設計中,我們選擇的瞬態抑制二極管型號為TPD4E1U06,此元件具有四通道,超低電容的特性。利用此元件來保護NTC傳感器電路。NTC傳感器接口見圖3.2。圖3.2傳感器接口電路3.3恒流源電路的設計測量結果精度的高低影響測量結果的好壞。在實際工程應用中,盡可能減少分立元件對系統的影響,同時要使輸出的信號噪聲盡可能的小以保證高精度測量的實現。由于NTC傳感器的溫度與電阻之間存在一定的關系,所以我們只要通過一定的方法測出傳感器的電阻,再根據傳感器電阻與溫度的關系,通過查表法就可以查出此時系統的溫度。若選擇一個恒流源,則傳感器電阻與輸出電壓則是一個線性關系,這樣的線性關系能極大的便于接下來的數據處理。綜上,我們選擇精度為100μA±0.5%,溫度系數為±25ppm/°C,電壓范圍為2.5V~40V的REF200-100μA的精密電流源來完成。由于NTC的傳感器的電阻范圍為3.1584kOhms~25.6649kOhms,所以當0.1mA的恒流源流過電阻時,輸出的電壓范圍為0.31584V~2.56649V。電流基準源連接電路部分見圖3.3。圖3.3電流基準源電路其中,H端接入高電平,L端接入電路。因此管腳1接第一個NTC傳感器I1,管腳2接第二個NTC傳感器I2,管腳7和管腳8外接高電平。直流電源V5與地之間接一個10μF的電解電容的目的是使電源線和地線之間為低阻抗,使電源接近理想電壓源。3.4A/D轉換電路的選擇 由于給NTC傳感器加一個恒流源之后采集到的電壓信號是模擬信號,而計算機無法處理模擬信號,必須把模擬信號轉換為數字信號才能被處理。模擬信號轉換為數字信號要經過采樣、量化、編碼三個步驟。其中采樣是把時間上連續的信號轉換為時間上離散的信號,其中采樣過程必須要滿足采樣定理;由于采樣后的信號在僅僅在時間上是離散的,在幅值上仍是連續的,此時的信號仍然是模擬信號,量化的目的就是把信號轉變為時間、幅值上都離散的信號;編碼則是將量化后的信號轉換為之相對應的數字信號。以上三步是A/D轉換的過程。在此設計中,采樣即在不同的時間對電阻值進行采集;量化主要解決的是不同的電阻值對應的溫度是多少,通常我們使用查表法來完成。衡量A/D轉換電路的能力好壞有多種參數,比如A/D轉換器對信號的分辨率、轉換誤差、轉換精度、轉換速度等等。綜合多方面因素的影響,此課題選用AD7705芯片來完成A/D轉換。3.4.1AD7705概述AD7705是一個自帶校正功能的Σ-ΔA/D轉換器,該芯片有兩個通道差分輸入,可以進行兩種模擬量的轉換。AD7705可以通過指令的不同設定,實現對輸入信號不同程度的放大,放大倍數有1/2/4/8/16/32/64/128。基于此特性,A/D傳感器既可以接收低電平的輸入信號,又可以接收高電平(10V)信號,是一種典型的16位A/D轉換芯片。圖3.4為AD7705管腳圖,AD7705芯片的主要管腳功能如下:SCLK:串行時鐘輸入端;CS:芯片選擇輸入端;DIN:串行數據輸入端;DOUT:串行數據輸出;DRDY:狀態信號輸出端;MCLKIN:主時鐘信號;RESET:邏輯輸入。圖3.4AD7705管腳圖3.4.2AD7705在設計中的應用 在實際應用過程中,AD7705與微處理器的接口有三線、四線、五線及多線方式,與接口相關的引腳有CS、SCLK、DOUT、DIN以及DRDY。在此課題設計中選擇的接線方式為五線制。DOUT和DIN與微處理器的串行口相連,主要用于輸入數據或者輸出數據,SCLK主要用于輸入串行時鐘脈沖,CS引腳以及DRDY引腳由微處理器的某一端口線控制。在此課題中,定義微處理器的P1.6為DRDY接口,P1.5為SCLK接口,P1.4為DIN接口,P1.3為DOUT接口,P1.2為CS接口。AD7705與CPU之間采用SPI接口。SPI接口是一種同步外設接口,共需要4條線。分別為MISO,MOSI,SCK以及NSS。其中MISO為主設備輸入/從設備輸出引腳;MOSI為主設備輸出/從設備輸入引腳;SCK為串口時鐘引腳;NSS為設備選擇引腳。AD7705的A/D轉換部分電路圖見圖3.5。圖3.5A/D轉換電路在此課題設計中,MCLKIN和MCLKOUT外接時鐘電路。接入的晶振頻率為2.4576M,電容C26與電容C24分別接到晶振的兩端,另一端都接地。這兩個電容的串聯的電容量等于負載電容,這樣做的目的是為了得到晶振標稱的諧振頻率。在電源與地之間接兩個并聯電容,這樣做的目的是濾除電源的雜波和交流成分,濾除電源中的高頻雜波信號,維持電路的穩定工作狀態。基準電壓與地之間接一個0.1μF的電容C27目的是濾去電源的雜波、噪聲等成分。3.4.3電壓基準由于在額定的工作電流范圍內,基準電壓源器件的精度要優于普通的穩壓二極管,所以基準電壓源器件常用于需要高精度基準電壓作為參考電壓的場合。由于單片機電路進行A/D轉換時,對于輸入模擬信號或者輸出模擬信號需要一個參考VERF值進行轉換。因此,在此電路中利用電壓基準芯片為REF5025來為A/D轉換電路提供基準電壓。本課題中選用的REF50系列的芯片具有低噪聲,極低漂移的特點。REF50系列的芯片引腳功能如下:DNC:不連接;VIN:輸入電源電壓;TEMP:溫度監控引腳。提供取決于溫度的輸出電壓;GND:接地;NC:沒有內部連接;Vout:參考電壓輸出;TRIM/NR:輸出調整和降噪引腳REF50系列芯片的基本電路見圖3.6。基于此基本電路來設計電壓基準電路,此系統的電壓基準電路見圖3.7。噪聲電壓會隨著輸出電壓和工作溫度的升高而增加。為了確保輸出阻抗不會降低性能,在TRIM引腳加電容C56通過濾波來改善輸出噪聲水平。,基于此思路,在VIN和GND之間接旁路電容,把輸入信號中的高頻噪聲濾去,減少信號之間的干擾。在VOUT和GND之間接輸出電容,以此保障輸出的穩定性。圖3.6REF50系列芯片基本電路圖3.7電壓基準電路3.5系統的電源設計3.5.15V供電電源可以把一個直流電壓轉換為其他的直流電壓的轉換器被稱為DC-DC轉換器。本模塊主要使用的是XL7005A,利用XL7005A將24VDC轉換為5VDC。XL7005A的輸入電壓范圍為5V~80V,輸出電壓可調范圍為1.25V~20V,開關頻率固定為150KHz,內含高壓功率晶體管,具有優秀的負載調節能力,可以驅動0.4A負載。同時內置輸出短路保護功能和電流限制功能,當發生輸出短路保護功能時,工作頻率從150KHz降低至45KHz。XL7005A的各個引腳功能如下:VIN:電源電壓輸入引腳。XL7005A在5V至80V直流電壓下工作,用一個適當的大電容繞過Vin至GND,以消除輸入噪聲;SW:電源開關輸出引腳(SW);FB:反饋引腳(FB)。通過外部電阻分壓網絡,反饋可感測輸出電壓并對其進行調節。參考電壓為1.25V;EN:使能引腳。EN引腳為低電平時可開啟設備,為高電平可關閉設備。浮動默認為低電平;GND:接地引腳。典型的5V/0.4A供電電源電路圖如圖3.8所示。基于此典型電路完成控制板5V供電電路的設計。VIN與GND之間接了一個10μF/35v的電解電容,用來防止芯片電流發生變化在電源線上造成紋波,影響其他芯片。EN引腳接地為低電平,開啟設備,使用EN引腳接地,5~8管腳也接地。當開關管導通的時候,電感存儲能量,流經電感的電流增加,同時給電容充電,給負載提供能量。當開關斷開的時候,電感放電,輸出電壓靠電容放電和減小電感電流維持。通過計算比例分壓的方式,將輸出電壓反饋至輸入引腳FB。再將反饋引腳FB與芯片內置比較相比較,使輸出電壓穩定在5V。為了防止電流過大燒壞電路,在此模塊中添加保險絲保護電路。此系統中的控制板5V供電電路見圖3.9。圖3.8典型5V供電電路圖3.9控制板5V供電電路3.5.2固態繼電器開關控制固態繼電器為四端有源器件,由兩個輸入控制端和兩個輸出端組成。輸入輸出間為光隔離,當輸入端達到一定電流值后,輸出端就能從斷態轉變成通態,可以通過開關來控制被控制電路。本課題中選用的固態繼電器的型號為FC435,電源方式為直流電,不能控制交流負載,負載電壓為40VDC,負載電流為10A,本固態繼電器利用光耦隔離來完成信號分離的功能,利用續流二極管保護來進行模塊保護。本產品的體積小,響應速度快,觸發時間在1.5ms以下,控制電流大,性能穩定可靠。固態繼電器開關控制電路見圖3.10。圖3.10固電器開關控制電路當輸入端有觸發電壓時,負載端1、2兩腳會接通,但是只能接直流負載,并且有極限之分。輸出端串聯RC并聯電路,具有衰減低頻信號的作用。為了防止電流過大損壞電路在輸出端的負極接保險絲。此系統固電器的電壓輸出為24V。輸入端Vctrl-接單片機的P0.5,輸出端Vout-接穩壓輸出電路。通過固態繼電器的通斷控制穩壓輸出電路的通斷,改變加熱棒、水泵的工作狀態,改變目標系統的溫度,使目標系統溫度維持在一個相對穩定的狀態。3.6通信接口的設計通信接口是指CPU與通信子系統之間的接口,有串行、并行兩種通信方式,工作方式有全雙工、半雙工、單工三種。在實際應用中,常見的通信接口有RS485、RS232、USB、無線等。在此設計中共設計了兩個通信接口,分別為串行RS485和串行RS232。RS485主要用于遠距離通信,RS232主要用于近距離通信。根據實際情況進行選擇。3.6.1RS485通信電路RS485采用的是差分負邏輯,標準節點數為32。差分輸入范圍-7V~12V。RS485總線具有抗共模干擾能力強、成本低、抗噪能力強、傳輸距離遠、傳輸速率高、可連接多達256個收發器等優點,廣泛應用于工業智能儀表,通訊設備等各個領域。本課題中選用的485通信芯片是ISO3082,采用的是半雙工差分線路收發器,此芯片可以在-40℃~+85℃的溫度下正常使用,符合本設計的溫度要求。ISO3082的引腳圖如下圖3.11所示。圖3.11ISO3082引腳圖主要引腳功能如下:A:I/O口;B:I/O口;D:驅動輸入;DE:啟用(高電平時)或禁用(低電平或斷開時)ISO3082驅動程序輸出;R:接收端輸出;RE:禁用(高電平或開路時)或啟用(低電平時)ISO3082的接收器輸出。本課題中RS485主要應用于溫控器和上位機之間遠距離的通信。由于實際應用中通信載體的材質為雙絞線,而雙絞線的特性阻抗大約為120Ω,因此在電路設計中,在A、B引腳之間接一個120Ω的負載,以減少線路上傳輸信號的反射。RXD3接收數據,與單片機的P0.0相連;TXD3發送數據,與單片機的P0.1相連;RS485_DE控制程序的輸出或者接收,RS485_DE為低電平時發送禁止,接收有效;RS485_DE為高電平時發送有效,接受禁止。通過軟件控制ISO3802的收發模式。在主從模式下,主機發送完命令后,應該立即拉低RS485_DE,處于接收模式;而同時處于從機的設備,一般情況下處于接收狀態,只有收到發給自己的命令后且需要應答的,才拉高RS485_DE,進行發送。RS485_DE與單片機的P0.4相連。由于485通信接口外部節點連接高壓時,后端電路極有可能損壞,可能會在使用端產生觸電。因此,RS485電路需要加隔離電路。通過DC-DC器件產生一組與CPU完全隔離的電源輸出,為RS485收發器提供+5V電源。在此設計中,選用的DC-DC器件為H0505S-1W。隔離485通信電路的電路圖見圖3.12。圖3.12RS485通信電路3.6.2RS232通信電路RS232是非常常用的一種串行接口,具有多種傳輸波特率,可以根據實際情況進行選擇。本課題中選用的232通信芯片是MAX3311E。MAX3311E是低功耗的5VEIA/TIA-232兼容收發器且在1μA低功耗關斷。發射器輸出和接收器輸入均被保護在±15kV的電壓范圍內,符合人體模型,提高設備的安全性。MAX3313E具有一個INVALID輸出,當連接了有效的RS-232電纜信號時,該信號輸出為高電平,向主機發送信號,表明外圍設備已連接至通信端口。MAX3311E的引腳圖如圖3.13所示。圖3.13MAX3311E引腳圖VCC:+5V外部電源。用0.1pF電容去耦接地;C1-:電壓逆變器電荷泵電容器的負極端子;SHDN:關斷低電平有效(0=關閉,1=開啟);TIN:TTL/CMOS發射器輸入;ROUT:TTL/CMOS接收器輸出;RIN:±15kVESD保護,RS-232接收器輸入;TOUT:±15kVESD保護,RS-232兼容的變送器輸出;V-:電荷泵產生的-4.3V。將一個0.1pF的電容器接地;C1+:電壓逆變器電荷泵電容器的正極;GND:接地。在本設計中,RS232主要應用與計算機與微處理器之間近距離的通信。MAX3311E的典型應用電路圖如圖3.14所示。基于此基本電路來設計RS232通信電路。RS232通信電路見圖3.15。圖3.14MAX3311E典型應用電路圖3.15RS232電路直流電源和地之間使用0.1μF無極性電容和10μF電解電容并聯,這樣做的原因是使電源接近理想電壓源。電解電容的寄生電感較大,消除高頻紋波能力較差;但是電解電容體積小,成本低。無極性電容寄生電感小,濾除高頻紋波能力較好,但是無極性電容的缺點是體積過大,成本高。因此采用無極性電容與電解電容并聯的方式來實現。
C1、C2之間接一個0.1μF的電容,V-與地之間接一個0.1μF的電容。TIN端發送TXD_2信號,與單片機P1.1相連;ROUT端接收RXD_2信號,與單片機P1.0相連。RS-232串口通信可以傳遞信息的最遠距離是50英尺,也可以做到雙向傳輸和全雙工通訊,最高傳輸速率20kbps;除此之外,RS-232上傳送的數字量采用負邏輯。本課題中選用的串口接口為9針的DB9,在此串口圖中,2腳接收數據,3腳發送數據,5腳為接地線。在通信過程中,只有2腳和3腳參與通信,2腳與MAX3311E的RIN相接,3腳與MAX3311E的TOUT端相接,5腳接地,即完成RS232的引腳電路連接。藍牙主要應用于短距離的數據無線傳輸領域,可以方便的與其他設備或者模塊相連,在兩者之間傳輸數據,避免繁瑣的線路連接,可以完成串口線的功能。常應用于車載藍牙、工程定位等等。因此,本課題設計了藍牙接口與RS232相結合用于短距離的數據無線傳輸。在此課題中Blootooth_open置為0時,藍牙打開。通過三極管的通斷來控制。藍牙接口部分見圖3.16。圖3.16藍牙接口電路圖3.7正交編碼器正交編碼器又可稱為雙通道增量式編碼器,此器件的工作原理是是將線性移位轉換為脈沖信號輸出。在實際工程應用中,正交編碼器常用來做速度和位置的反饋控制。增量式正交編碼器一共有A相、B相、Index相三個輸出。在正交編碼器中,線數即每轉一圈輸出脈沖的個數。基于線數可以得到正交編碼器的分辨率。A相與B相為互差90度的方波或者正弦波脈沖,通過A相與B相之間相位超前和相位滯后的比較,來判斷編碼器旋轉的方向,實現鑒相的功能。利用相位和線數來測量速度和位置。由于Index相每轉一圈只輸出一個脈沖,因此用來做誤差校正。我們主要利用正交編碼器對輸入脈沖來完成解碼和計數功能。由于在本設計中我們選擇的單片機沒有正交解碼的功能,因此我們利用D觸發器來實現正交編碼器。D觸發器是一個具有記憶功能的信息存儲器件,含有兩個穩定狀態,分別為“0”和“1”。D觸發器含有兩種觸發方式,分別為電平觸發和邊沿觸發。D觸發器的次態取決于觸發器前D端的狀態。正交編碼器電路見圖3.17。圖3.17正交編碼器電路在本設計中我們選擇的D觸發器是74HC74D,該設備由兩個D觸發器組成,分別具有置位,復位和時鐘輸入功能,工作電壓范圍為2.0V~6.0V,觸發方式為上升沿邊沿觸發。此旋轉編碼器使用的電壓為DC5V,D端輸入脈沖EC11_CLKB,CLK端輸入脈沖EC11_CLKA,開關量為EC11_K,輸出方向為EC11_DIR。若A相超前于B相,則輸出端輸出低電平;若B相超前于A相,則輸出端輸出高電平。根據輸出端的高低電平來判斷A相與B相的超前滯后關系,可以得到編碼器的旋轉方向。A相與B相的脈沖數相等。通過對脈沖數和旋轉方向的判斷解出此正交編碼器內含的信息完成計數與鑒相的功能。3.8系統輸出電路本系統的輸出部分應用了功率型降壓穩壓芯片AP1501A。AP1501A系列是單芯片IC,專為降壓DC/DC轉換器而設計,并具有驅動5A負載的能力而無需額外的晶體管組件。外部關機功能可以通過邏輯電平控制,進入待機模式。內部補償使反饋控制無需外部設計就可以具有良好的線路和負載調節率。AP1501A系列以150Khz的開關頻率工作,工作電壓最高可達40V,輸出負載電流為5A,輸出電壓包括固定的3.3V,5V,12V和可調類型。AP1501A的各個引腳功能如下:VIN:工作電壓輸入;OUTPUT:開關量輸出;GND:接地;FB:輸出電壓反饋控制;SD:開/關。AP1501A的典型開關應用電路圖如圖3.18所示。此設計共有兩個穩壓輸出,兩個穩壓輸出的電路圖相同,不同之處在于穩壓輸出1控制加熱棒的通斷,穩壓輸出2控制水泵的通斷。在此只展示一個系統穩壓輸出電路圖,見圖3.19。圖3.18典型應用電路圖圖3.19系統穩壓輸出電路基于此芯片的開關典型應用電路來設計此系統穩壓輸出電路。系統穩壓輸出電路的輸入電壓為24V。通過調節滑動變阻器的阻值大小來改變分壓使輸出電壓為24V。用這兩個輸出反饋來完成對液體溫度的控制。其中VIN為IC開關穩壓器的正輸入電源。該引腳上必須存在一個合適的輸入旁路電容,以最大程度地減小電壓瞬變并提供穩壓器所需的開關電流。在實際工程應用中有許多保護電路的設計,如防止電流過大(在此電路設計中可以流過的電流最大值為2A)損壞芯片連接保險絲;防止后續電路超壓損壞,在接地端與輸出端連接一個二極管起保護作用。系統穩壓輸出電路正常工作時,電源指示燈亮;系統穩壓輸出電路無法正常工作時,電源指示燈不亮。3.9其他電路3.9.1OLED顯示電路在電子設計中,常用的顯示元件有LED和OLED。LED只能顯示特定的數字或者字符,在實際應用中有一定的局限性。因此,我們選擇OLED作為本課題的顯示器件。使用OLED顯示與按鍵交互的形式,通過按鍵可以設計系統的溫度上限、下限以及理想溫度。本文選用的OLED芯片為SSD1306。SSD1306為點矩陣圖形顯示,由128個段和64個公用部分組成。內置對比度控制,顯示RAM和片內振蕩器,含有256級亮度控制。引腳可選的MCU接口有位6800/8080系列并行接口、3/4線串行外設接口、IIC接口。在此設計中,單片機與SSD1306通過IIC總線進行連接。IIC總線是一種串行通信總線,一般含有兩根信號線,分別為SDA和SCL。SDA為雙向數據線,SCL為時鐘線。在此設計中,選擇的是OLED4接口電路,GND要接地,VCC接+5V電源,D0為SCL信號線,與單片機的P2.0相連,D1為SDA信號線,與單片機的P4.4相連。3.9.2報警電路在系統溫度超過所設置的系統上限或者小于系統下限時,報警電路響應。報警電路由三極管和蜂鳴器組成。本課題采用的是有源蜂鳴器,內部自帶震蕩源,只有接上額定電源就會發出聲音。報警驅動電路是通過單片機的buzzer端進行驅動控制的,單片機通過buzzer端輸出脈沖信號,經晶體管Q1放大后,去驅動蜂鳴器,使之發出聲響。報警電路圖見圖3.20。圖3.20蜂鳴器報警電路3.9.3防雷保護在實際應用中常在電路中加入許多保護電路。陶瓷氣體放電管是在防雷保護中廣泛應用的一種開關器件,可以用此器件將雷電流瀉放入大地,常見的有二級放電管和三級放電管。在本課題中,我們選用的是浪拓電子公司的陶瓷氣體放電三極體系列,型號為B3D090L-C。此型號的器件標稱直流擊穿電壓為90V,耐沖擊電流值為5kA。此型號器件的特點為通過流量大,極間電容小,耐壓高,漏電流低且使用壽命長。防雷保護見圖3.21。圖3.21防雷保護第4章系統的軟件設計在此設計中,軟件設計與硬件設計同等重要。硬件是搭建系統的基礎,而所有的控制過程都需要用軟件來實現。軟件設計的好壞在一定程度上決定了系統功能的好壞。在編寫軟件時,要滿足易理解性、實時性、準確性等要求。軟件設計部分使用的的軟件是keiluvision4。4.1主程序設計此系統主要完成的功能有各項參數的設置、液晶屏幕顯示、溫度采集、溫度反饋等。在實現這些軟件功能時,我們采用模塊化的方法。整個軟件主要由顯示模塊、A/D轉換模塊、串行通信模塊、數據存儲模塊、數據采集處理模塊和主程序模塊組成。本課題采用C語言進行編程。主程序流程圖如圖4.1所示。主程序的設計思想是這樣的。系統上電后,首先進行單片機端口初始化和系統資源初始化。系統資源初始化包含串口初始化和SSD1306初始化。OLED進行清屏,初試界面顯示為“河北大學換熱系統主控板”。在兩路溫度設定值顯示完成后進行溫度測量,顯示溫度測量結果。將輸出的溫度反饋到輸入端來調節系統輸入。依照這種方式來完成系統的溫度控制,使系統可以維持在一個理想的溫度。主程序流程圖見圖4.1。由于STC15W4K32S4系列單片機,在上電后與PWM相關的I/O口為高阻狀態,需要手動設置為普通雙向IO口,因此需要進行單片機端口初始化。與PWM相關的I/O口有P0.6,P0.7,P1.6,P1.7,P2.1,P2.2,P2.3,P2.7,P3.7,P4.2,P4.4和P4.5。單片機端口初始化代碼如下所示。即將P1口,P2口,P3口,P4口,P5口端口均設置成準雙向輸入輸出口;將P1.2,,P1.3,P1.5設置為推挽輸出(強上拉輸出);同時將P5.4,P5.5也設置為推挽輸出(強上拉輸出)。voidSYS_Init(){ P0M0=0x00;P0M1=0x00;P1M0=0x00;P1M1=0x00;P2M0=0x00;P2M1=0x00;P3M0=0x00;P3M1=0x00;P4M0=0x00;P4M1=0x00; P5M0=0x00;P5M1=0x00; P1M0=0x2c; P5M0=0x30;}將測量出的溫度值反饋到系統輸入端,改變系統的輸入來調節系統溫度進行溫度控制。其中加熱系統與換熱系統之間的熱交換通過加熱棒與水泵的工作狀態進行調節。加熱棒初始為關閉狀態。在此軟件設計中,0代表開啟狀態,1代表關閉狀態。T1_yudu定義為水箱溫度(傳感器2)大于換熱器溫度(傳感器1)的數值大小,在此設計中的取值為1.0。加熱棒與水泵控制部分代碼如下://控制加熱棒if(F_T2<T2_max)Heat_rod_on=0;elseHeat_rod_on=1;if(F_T1<T1_max) if(F_T2>T1_max+T1_yudu) Pump_on=0; else Pump_on=1; else Pump_on=1;圖4.1主程序流程圖4.2子程序設計本課題中包含的子程序有延時子程序,串口通信子程序,溫度檢測子程序以及顯示系統子程序等。其中延時子程序在此不再贅述。溫度檢測的程序處理流程圖見圖4.2。溫度檢測的主要方法是通過ADC采樣,設定一定的時間間隔,完成數據的采樣和處理,然后根據測量出來的溫度結果判斷是否超過了報警值,通過串口子程序發送數據,進行數據的更新,最后送入屏幕顯示。在本設計的串口子程序設計中,共使用了4個串口,波特率為9600bps。通過四個串口發送串口數據和字符串,將數據寫到UART數據寄存器。串口1選擇定時器1為波特率發生器,發送數據至顯示屏;串口2選擇定時器2作為波特發生器,從流量計讀取數據;串口3選擇定時器作為串口發生器,其波特率為T2溢出率的四分之一,發送數據到藍牙,更新APP數據;串口4選擇串口4作為波特率發生器,從流量計讀取數據。AD7705模塊與CPU之間通過SPI連接。SPI工作方式為在主設備和從設備中都有移位寄存器,主設備發送數據時會先把信息放至寄存器,寄存器通過信號線發送給從設備。從設備發送數據的方法與主設備相同。AD7705讀取兩個通道ADC數據部分代碼如下,為了避免通道切換造成讀數失效,要進行2次讀數。TM7705_WaitDRDY的函數功能是等待內部操作完成,使DRDY口線為0,由于自校準的時間較長,因此需要等待。TM7705_WriteByte函數功能是寫入一個字節,帶CS控制,此處通道1寫入的是00111000,通道2寫入的是00111001。TM7005_Read2Byte的函數功能是讀2字節數據,讀取的數據為16位。uint16_tTM7705_ReadAdc(uint8_t_ch){ uint8_ti; uint16_tread=0; for(i=0;i<2;i++) { TM7705_WaitDRDY(); if(_ch==1) { TM7705_WriteByte(0x38); } elseif(_ch==2) { TM7705_WriteByte(0x39); } read=TM7705_Read2Byte(); } returnread;}溫度計算與輸出部分程序如下所示。其中Computer_T_Write_buff(uchardatasensor_no)是計算溫度值的函數,SendData(unsignedchardat)為通過串口1發送串口數據函數。sprintf為輸出函數,輸出的數據類型為直輸出實型數據,總共輸出4個字符,小數點后保留1位。OLED_ShowString為字符串顯示OLED函數,第一路溫度的坐標顯示位置(21,0)第二路溫度的坐標顯示位置為(89,0)。Global_data=adc1; F_T=Computer_T_Write_buff(1); D_T1=F_T*10; SendData(0xcc); SendData(0x55); SendData(D_T1>>8); SendData(D_T1); F_T1=F_T; sprintf(LCD_str_buf,"%4.1f",F_T); OLED_ShowString(21,0,LCD_str_buf,3); Global_data=adc2; F_T=Computer_T_Write_buff(2); D_T2=F_T*10; SendData(0xdd); SendData(0x55); SendData(D_T2>>8); SendData(D_T2); F_T2=F_T; sprintf(LCD_str_buf,"%4.1f",F_T); OLED_ShowString(89,0,LCD_str_buf,3);圖4.2溫度檢測流程圖4.3軟件設計過程中相關算法4.3.1數字濾波算法在單片機采集數據的過程中,隨機干擾的存在導致系統可能出現隨機誤差。隨機誤差會對系統的性能產生影響。在硬件上常常采用濾波器濾除干擾性強的信號,克服隨機誤差的影響,提高系統的可靠性。但是這種方法需要阻抗匹配,提高系統的成本。因此在此設計中選擇利用軟件完成隨機干擾的去除。采用數字濾波算法可以大大提高系統的精度同時不需額外增加成本,除此之外,只需要算法進行適當的改變就可以滿足不同的濾波需求,應用廣泛。中值濾波法、限幅濾波法、算術平均濾波法、加權平均濾波等都是常見的濾波算法。本設計中主要采用的算法為中值濾波算法和算術平均濾波算法。中值濾波算法的過程是先對參數進行連續采樣,把采集到的數據按照從小到大的順序排列,去掉兩邊的數據,取中間的值為采樣結果。中值濾波法常適用于被測量值變化速度較慢的情況。由于偶然因素引起的波動和采樣器不穩定引起的干擾,采用中值濾波也能很好的將干擾信號去除。算術平均濾波其實就是對采樣得到的多個值求平均,一般來講,采樣的個數越多,經過算術平均濾波得到的信號可靠性越高,采樣的個數越低,經過算術平均濾波得到的信號的可靠性越低。在此設計中,我們對溫度進行采樣,采樣的次數為10次,定義每次ADC采樣基本單位計算間隔數為1,再將采樣得到的10個數據進行排序,按照由小到大的順序,留下中間的5個數據,將可能出現的干擾濾除。完成中值濾波后,我們對剩下的是5個數取平均值,完成算術平均濾波,進一步提高測量的溫度的精度。4.3.2插值法查表法是我們讀取溫度所用到的一種方法。不同的電阻值對應不同的溫度,我們可以通過這個表格根據當前測量的電阻值來查到此時的系統的溫度。把這個表格錄入微處理器的內存部分,在后續使用時調出。由于NTC傳感器的溫度與電阻不是線性的關系,所以在查表法時盡可能的把查表間隔選小一點,保證查表的精度和可信度,減小誤差。從電阻與溫度的表格關系中可以看出最小的溫度間隔為1℃,因此,如果我們想要得到較高精度的結果,需要對表格中的內容進行線性內插,通過插值法提高所測溫度的精度。插值法是常用的離散函數近似方法。可以根據有限的點的取值估算出函數關系進而求得其他點的函數值。在此設計中采用的是雙線性插值法。雙線性插值法法原理如下:若有兩個點的坐標分別為(x0,y0)(x1,y1),則可以得到一條線性直線。此線性直線的表達式為:,由此線性直線可以得到任意x對應的唯一y值。在此軟件設計中Rntc定義為計算得到的NTC值,dat_Rntc定義為NTC電阻修正值,N定義為修正表參數個數。溫度計算公式為Tempreture=T0+dT*(R0-Rntc)/dR。利用插值法根據電阻求溫度的部分代碼如下所示。floatT_interpolation(floatRntc,floatdat_Rntc,ucharN){uchari;floatdT,dR,R0,T0;floatTempreture;if((Rntc<=Rntc_T[1][0]+dat_Rntc)&(Rntc>=Rntc_T[1][N-1]+dat_Rntc)){ for(i=0;i<N;i++) { if(Rntc>Rntc_T[1][i]+dat_Rntc) { dR=Rntc_T[1][i-1]-Rntc_T[1][i]; dT=Rntc_T[0][i]-Rntc_T[0][i-1]; R0=Rntc_T[1][i-1]+dat_Rntc; T0=Rntc_T[0][i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機二級Web考試信息獲取試題及答案
- 共性工廠招商方案(3篇)
- DB3415-T 82-2024 急流救援技術培訓規范
- 從容應對C語言的考試挑戰試題及答案
- JAVA編程與產業結合探討試題及答案
- 計算機四級名師講解試題及答案
- 邏輯推理與實際應用場景的結合試題及答案
- VFP考試重要復習資料試題及答案
- 適合新手的ACCESS考試指南試題及答案
- 紅色印記輝煌足跡-年終總結分享
- GB 15990-1995乙型病毒性肝炎的診斷標準及處理原則
- FZ/T 20008-2015毛織物單位面積質量的測定
- 打起手鼓唱起歌二聲部改編簡譜
- 新版ECMO并發癥學習課件
- 2023版泌尿外科前列腺增生癥診療指南
- 一般行業主要負責人和安全管理人員考試復習題庫
- 計算機組裝與維護立體化教程ppt課件(完整版)
- 痛風性關節炎 課件
- 項目部管理人員名單
- 四川省廣安市中考數學真題含答案
- 電腦企業之 組裝作業指導書(DK607 Nupro760)
評論
0/150
提交評論