單片機(jī)控制的直流斬波器設(shè)計(jì).doc_第1頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì).doc_第2頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì).doc_第3頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì).doc_第4頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本本 科科 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì) 論文 計(jì) 論文 題目題目 單片機(jī)控制的直流斬波器單片機(jī)控制的直流斬波器 院院 系系 專業(yè)名稱專業(yè)名稱 電子信息工程電子信息工程 年級(jí)班級(jí)年級(jí)班級(jí) 學(xué)生姓名學(xué)生姓名 指導(dǎo)教師指導(dǎo)教師 年年 月月 日日 摘要摘要 傳統(tǒng)開(kāi)關(guān)電源是模數(shù)結(jié)合的硬件為主的控制方式 其控制精度 響 應(yīng)速度等都由電路拓?fù)浣Y(jié)構(gòu)和器件本身的參數(shù)決定 很難進(jìn)一步提升其 性能 隨著微處理器處理技術(shù)的日趨成熟 開(kāi)關(guān)電源的軟硬件結(jié)合的控 制技術(shù)得到了廣泛的關(guān)注 它呈現(xiàn)出純硬件控制方式無(wú)法比擬的優(yōu)點(diǎn) 本論文以單片機(jī)為控制核心對(duì)開(kāi)關(guān)電源進(jìn)行了可編程控制的設(shè)計(jì) 首先介紹了開(kāi)關(guān)電源數(shù)控技術(shù)的研究現(xiàn)狀及趨勢(shì) 對(duì)整個(gè)系統(tǒng)的硬件電 路進(jìn)行了各模塊的設(shè)計(jì)及對(duì)應(yīng)器件的選型 在此基礎(chǔ)上 對(duì)軟件部分實(shí) 現(xiàn)過(guò)程進(jìn)行了詳細(xì)闡述 關(guān)鍵詞 單片機(jī) 開(kāi)關(guān)電源 Abstract Conventional switching power supply is combined with hardware based module control mode the control accuracy response speed by the circuit topology and device parameters of the decision itself it is difficult to further improve its performance With the microprocessor processing technology matures switching power supply control software and hardware combination technology has been widespread concern it presents a pure hardware control mode can not match advantage In this thesis the core of the microcontroller for the control of switching power supply for the programmable control of the attempt First introduced the technique of switching power supply CNC status and trends on the whole system has briefly introduces the hardware design and partial implementation of the software process described in detail Key words microcontroller switching power supply 目錄 目錄 3 第一章 前言 6 1 選題目的和意義 6 2 國(guó)內(nèi)外綜述 6 第二章 系統(tǒng)硬件設(shè)計(jì) 8 2 1 系統(tǒng)原理 8 2 2 硬件的選取 9 2 3 半橋輸出的 PWM 波產(chǎn)生電路 10 2 4 A D 采樣及調(diào)理電路 10 2 41 電壓采樣電路 11 2 42 電流采樣調(diào)理電路 11 2 5 矩陣鍵盤(pán)電路 12 2 6 液晶 LCD 顯示電路 14 2 61 液晶 1602 顯示器介紹 14 2 62 本系統(tǒng)中 1602 的應(yīng)用 15 第三章 系統(tǒng)軟件設(shè)計(jì) 16 3 1 軟件設(shè)計(jì)總體思路 17 3 2 系統(tǒng)主程序模塊 17 3 21 始初化模塊 18 3 22 PWM 波發(fā)生模塊 19 3 23 A D 轉(zhuǎn)換模塊 23 3 24 PID 算法處理模塊 27 3 25 LCD 液晶顯示模塊 29 3 26 按鍵處理模塊 29 3 3 中斷服務(wù)程序模塊 31 3 31 中斷程序原理及框圖 31 3 32 數(shù)字濾波算法 32 第四章 結(jié) 論 34 致 謝 36 參考文獻(xiàn) 37 附錄 39 目錄 前 言 1 選題目的和意義 直流斬波電路 DC Chopper 的功能是將直流電變?yōu)榱硪还潭妷?或可調(diào)電壓的直流電 也稱為直接直流 直流變換器 DC DC Converter 直流斬波電路包括六種基本斬波電路升降壓斬波電路應(yīng)用最為廣泛 路 包括六種基本斬波電路升降壓斬波電路應(yīng)用最為廣泛 直流斬波器能起 調(diào)壓的作用 所以可以做開(kāi)關(guān)電源用 開(kāi)關(guān)電源作為電力電子領(lǐng)域的一個(gè)重要分支 隨著電力電子技術(shù)的 高速發(fā)展而被廣泛應(yīng)用于以電子計(jì)算機(jī)為主的各種終端設(shè)備和通信設(shè)備 中 是當(dāng)今電子信息產(chǎn)業(yè)飛速發(fā)展不可缺少的一種電源方式 采用傳統(tǒng) 控制方式的開(kāi)關(guān)電源 其控制精度 響應(yīng)速度等都由電路拓?fù)浜推骷?身的參數(shù)決定 如果想進(jìn)一步提高開(kāi)關(guān)電源的性能 就只能選用參數(shù)更 優(yōu)的器件 或者對(duì)原有電路進(jìn)行大范圍的改動(dòng) 這對(duì)電源產(chǎn)品的研發(fā) 生產(chǎn)都會(huì)帶來(lái)很多麻煩 也制約了開(kāi)關(guān)電源性能的提升 同時(shí) 由于模 擬信號(hào)在傳遞過(guò)程中可能會(huì)出現(xiàn)信號(hào)失真 畸變以及受到外界電磁干擾 造成開(kāi)關(guān)電源工作狀態(tài)不穩(wěn)定 所以 采用傳統(tǒng)控制方式的開(kāi)關(guān)電源在 性能上的提升相當(dāng)有限 隨著數(shù)字處理技術(shù)的日趨成熟 開(kāi)關(guān)電源的可編程數(shù)控技術(shù)得到了 快速的發(fā)展和廣泛的關(guān)注 與硬件控制方式相比 數(shù)字控制技術(shù)具有其 無(wú)法比擬的優(yōu)勢(shì) 2 國(guó)內(nèi)外綜述 開(kāi)關(guān)電源的發(fā)展方向是高頻 高可靠 低耗 低噪聲 抗干擾和模 塊化 由于開(kāi)關(guān)電源輕 小 薄的關(guān)鍵技術(shù)是高頻化 因此國(guó)外各大開(kāi) 關(guān)電源制造商都致力于同步開(kāi)發(fā)新型高智能化的元器件 特別是改善二 次整流器件的損耗 并在功率鐵氧體 Mn Zn 材料上加大科技創(chuàng)新 以 提高在高頻率和較大磁通密度 Bs 下獲得高的磁性能 而電容器的小型 化也是一項(xiàng)關(guān)鍵技術(shù) SMT 技術(shù)的應(yīng)用使得開(kāi)關(guān)電源取得了長(zhǎng)足的進(jìn)展 在電路板兩面布置元器件 以確保開(kāi)關(guān)電源的輕 小 薄 開(kāi)關(guān)電源的 高頻化就必然對(duì)傳統(tǒng)的 PWM 開(kāi)關(guān)技術(shù)進(jìn)行創(chuàng)新 實(shí)現(xiàn) ZVS ZCS 的軟開(kāi)關(guān) 技術(shù)已成為開(kāi)關(guān)電源的主流技術(shù) 并大幅提高了開(kāi)關(guān)電源的工作效率 對(duì)于高可靠性指標(biāo) 美國(guó)的開(kāi)關(guān)電源生產(chǎn)商通過(guò)降低運(yùn)行電流 降低結(jié) 溫等措施以減少器件的應(yīng)力 使得產(chǎn)品的可靠性大大提高 目前 開(kāi)關(guān)電源以小型 輕量和高效率的特點(diǎn)被廣泛應(yīng)用于以電子 計(jì)算機(jī)為主導(dǎo)的各種終端設(shè)備 通信設(shè)備等幾乎所有的電子設(shè)備 是當(dāng) 今電子信息產(chǎn)業(yè)飛速發(fā)展不可缺少的一種電源方式 目前市場(chǎng)上出售的 開(kāi)關(guān)電源中采用雙極性晶體管制成的 kHz 用 制成 的 kHz 電源 雖已實(shí)用化 但其頻率有待進(jìn)一步提高 要提高開(kāi) 關(guān)頻率 就要減少開(kāi)關(guān)損耗 而要減少開(kāi)關(guān)損耗 就需要有高速開(kāi)關(guān)元 器件 然而 開(kāi)關(guān)速度提高后 會(huì)受電路中分布電感和電容或二極管中 存儲(chǔ)電荷的影響而產(chǎn)生浪涌或噪聲 這樣 不僅會(huì)影響周圍電子設(shè)備 還會(huì)大大降低電源本身的可靠性 其中 為防止隨開(kāi)關(guān)啟 閉所發(fā)生的電 壓浪涌 可采用 R C 或 L C 緩沖器 而對(duì)由二極管存儲(chǔ)電荷所致的電流 浪涌可采用非晶態(tài)等磁芯制成的磁緩沖器 不過(guò) 對(duì) 1MHz 以上的高頻 要采用諧振電路 以使開(kāi)關(guān)上的電壓或通過(guò)開(kāi)關(guān)的電流呈正弦波 這樣 既可減少開(kāi)關(guān)損耗 同時(shí)也可控制浪涌的發(fā)生 這種開(kāi)關(guān)方式稱為諧振 式開(kāi)關(guān) 目前對(duì)這種開(kāi)關(guān)電源的研究很活躍 因?yàn)椴捎眠@種方式不需要 大幅度提高開(kāi)關(guān)速度就可以在理論上把開(kāi)關(guān)損耗降到零 而且噪聲也小 可望成為開(kāi)關(guān)電源高頻化的一種主要方式 當(dāng)前 世界上許多國(guó)家都在 致力于數(shù)兆 Hz 的變換器的實(shí)用化研究 3 本論文的任務(wù)及工作 第二章 系統(tǒng)硬件設(shè)計(jì) 本章將對(duì)硬件部分的設(shè)計(jì)進(jìn)行詳細(xì)介紹 其中包括以單片機(jī)為核心 最小系統(tǒng)的搭建以及外圍電路的設(shè)計(jì)和優(yōu)化 并對(duì)一些在設(shè)計(jì)中遇到的 問(wèn)題進(jìn)行分析和解決 2 1 系統(tǒng)原理 本次制作的是 36V 3A 的開(kāi)關(guān)電源 要求能夠?qū)敵龅碾妷哼M(jìn)行恒 定的控制 使整個(gè)系統(tǒng)具有很好的穩(wěn)定性 可以通過(guò)鍵盤(pán)的輸入值對(duì)開(kāi) 關(guān)電源在 20V 36V 的輸出控制 而對(duì)其進(jìn)行恒壓的控制是根據(jù)設(shè)置的電 壓值與采集到的電壓值的偏差進(jìn)行比較 由單片機(jī)來(lái)完成 PID 算法處理 得到電壓的偏差信號(hào) 再根據(jù)偏差信號(hào)的大小改變單片機(jī) ECCP 模塊所產(chǎn) 生兩路推挽的 PWM 波的占空比 從而改變半控橋電路中兩個(gè) MOS 管通斷 時(shí)間的大小 從而起到穩(wěn)壓的作用 同時(shí)外加 LED 顯示模塊 對(duì)實(shí)時(shí)的 電壓電流起到了檢測(cè)和顯示的作用 系統(tǒng)的硬件框圖如圖 2 1 所示 圖 2 1 系統(tǒng)硬件框圖 實(shí)際的硬件系統(tǒng)中 通過(guò)抗干擾電路來(lái)減少外界干擾如果沒(méi)有該部 分輸入電路就會(huì)有干擾對(duì)輸出有很大的影響 整流濾波電路使輸入和輸 出的波形更接近理想化 這樣可以減少誤差 如果沒(méi)有該部分加大了誤 差有可能使結(jié)果和理想狀態(tài)下有很大的出入 單片機(jī)模塊輸出兩路推挽的 PWM 波 通過(guò)高速光耦隔離并且進(jìn)行電 平的轉(zhuǎn)換 再通過(guò)以 IR2113 為核心的驅(qū)動(dòng)電路將 PWM 波供給開(kāi)關(guān)電源的 半橋控制的逆變電路 從開(kāi)關(guān)電源輸出端電壓經(jīng)分壓后采集回單片機(jī)模 塊進(jìn)行 A D 轉(zhuǎn)換 通過(guò) LCD 液晶顯示采樣回來(lái)的電壓值 通過(guò)軟件的控 制使電壓穩(wěn)定在某一值 具體的電壓值由按鍵模塊確定 2 2 硬件的選取 本設(shè)計(jì)采用的是 Microchip 公司的高性能 8 位單片機(jī) PIC18F4520 并 且使用 C 語(yǔ)言進(jìn)行程序的編寫(xiě) 同時(shí)在 MPLAB IDE 集成開(kāi)發(fā)環(huán)境中程 序的編譯和調(diào)試對(duì)整個(gè)系統(tǒng)進(jìn)行描述和設(shè)計(jì) 本設(shè)計(jì)所使用的 PIC18F4520 單片機(jī)是采用 10 位 A D 及納瓦技術(shù)的 40 腳的增強(qiáng)型閃存單片機(jī) 如圖 2 2 所示 21 2 PIC18F4520 DPIP 封裝的引腳圖 此單片機(jī)具有高性能的 RISC Reduced Instruction Set Computer 結(jié)構(gòu) CPU 有較寬的工作電壓范圍 2 0 5 5V 同時(shí)驅(qū)動(dòng)能力強(qiáng) 驅(qū)動(dòng)電流高達(dá) 25mA 還具有超低的功耗 多級(jí)的中斷 由單片機(jī)來(lái)完成 PID 算法處理 得到電壓的偏差信號(hào) 再根據(jù)偏差信號(hào)的大小改變單片機(jī) ECCP 模塊所產(chǎn) 生兩路推挽的 PWM 波的占空比 從而改變半控橋電路中兩個(gè) MOS 管通斷 時(shí)間的大小 從而起到穩(wěn)壓的作用 在本設(shè)計(jì)中主要使用的是單片機(jī)的 ECCP 模塊 增強(qiáng)型捕捉 比較 PWM 模塊 10 位輸出的 A D 轉(zhuǎn)換模塊 同時(shí)加上外圍的鍵盤(pán)輸入模 塊 以及 LCD 顯示模塊 2 3 半橋輸出的 PWM 波產(chǎn)生電路 由于原先在選擇單片機(jī)時(shí)選擇的是 PIC18F4520 其內(nèi)部本身就具有 ECCP 模塊 所以只需要單片機(jī)的最小系統(tǒng)就可以實(shí)現(xiàn)兩路推挽的 PWM 波 的輸出 無(wú)需外加其他電路 2 4 A D 采樣及調(diào)理電路 本系統(tǒng)主要對(duì)輸出的電壓以及電流進(jìn)行采樣 通過(guò)分壓或者信號(hào)調(diào) 理電路進(jìn)行整形和放大送至 A D 轉(zhuǎn)換器 由于 PIC 單片機(jī)本身就內(nèi)置有 A D 轉(zhuǎn)換模塊 所以不必外擴(kuò)展 A D 轉(zhuǎn)換器 使得整個(gè)系統(tǒng)的硬件電路 變得更為簡(jiǎn)捷 圖 2 3 PIC18F4520 各管腳電路圖 圖 2 4 電壓分壓采樣電路 2 41 電壓采樣電路電壓采樣電路 單片機(jī)的 A D 轉(zhuǎn)換器所能接受的輸入轉(zhuǎn)換電壓為 0 5V 而從開(kāi)關(guān)電 源的輸出端所輸出的電壓在 24V 36V 之間 要將其轉(zhuǎn)換成相應(yīng)的數(shù)量值 就必須將輸出端的電壓進(jìn)行降壓處理 故采用了分壓電路 將輸出電壓 的值降到 2 4V 之間 考慮到電阻的功耗問(wèn)題 兩個(gè)分壓電阻不宜太小 同時(shí)考慮到電阻的阻值越大越容易受干擾 阻值又不宜取太大 因此 我們最終選定 100k 和 10k 這兩個(gè)電阻分壓以便單片機(jī)的 A D 轉(zhuǎn)換器進(jìn)行 模數(shù)的轉(zhuǎn)換 具體的分壓電路較為簡(jiǎn)單 如圖 2 4 所示 2 42 電流采樣調(diào)理電路 本系統(tǒng)采用康銅絲 6 進(jìn)行電流的采樣 用康銅絲是考慮到功率損耗 的問(wèn)題 是因?yàn)榭点~絲的阻值很小 一般在 0 01 左右 電流流經(jīng)康銅 絲后的電壓很小 最大值不會(huì)超過(guò) 50mV 信號(hào)比較微弱 因此 在進(jìn)行 采樣的時(shí)候 我們需要將此電壓信號(hào)放大到 PIC 單片機(jī)的 A D 模塊能夠 接受的 0 5V 之間的范圍 本系統(tǒng)根據(jù)實(shí)際的需要將該電壓進(jìn)行大約 100 倍的放大 這一模塊的電路圖如 2 5 所示 直接用提供的公式計(jì)算 當(dāng) U1 U2 Uf 時(shí) 滿足輸出 Uo U1 U2 當(dāng)然如果要求說(shuō)滿足一個(gè)確定 的關(guān)系式時(shí) 可以通過(guò)改變兩個(gè)電阻與 Rf 的比值得到所需要的比例關(guān)系 從運(yùn)算放大器輸出的電壓 Vout 1 R31 R33 R32 Vcurrent 放大倍數(shù)由 R31 R33 R32決定 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 10 M ay 2010Sheet of File C Documents and Settings Administrator 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) ddbDrawn By AR1 OPAM P VCC5V R33 100k R32 1k Current Amp R31 1k 圖 2 5 電流采樣信號(hào)調(diào)理電路 2 5 矩陣鍵盤(pán)電路 通過(guò)鍵盤(pán)的輸入值對(duì)開(kāi)關(guān)電源在 20V 36V 的輸出控制 而對(duì)其進(jìn)行 恒壓的控制是根據(jù)設(shè)置的電壓值與采集到的電壓值的偏差進(jìn)行比較 如圖 2 6 所示為 3 3 的矩陣式鍵盤(pán) 這一鍵盤(pán)的電路設(shè)計(jì)是采用電 阻分壓式設(shè)計(jì) 配合 A D 轉(zhuǎn)換器一查表得方式做按鍵的判斷 所以只要 使用一個(gè)具有 A D 功能的輸入口即可完成對(duì) 3 3 的矩陣式鍵盤(pán)的掃描操 作 圖中的 AnJian 端口與圖 2 3 的 AN0 相連接 為 A D 功能的輸入口 此外 一般的按鍵所用開(kāi)關(guān)都是機(jī)械彈性開(kāi)關(guān) 由于機(jī)械觸點(diǎn)的彈 性作用 按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地連接 在斷開(kāi)時(shí)也不會(huì)馬上 完全的斷開(kāi) 在閉合和斷開(kāi)的瞬間均有一連串的抖動(dòng) 所以一般在程序 中會(huì)加按鍵的去抖動(dòng)的部分 按鍵按下的電壓信號(hào)波形圖如圖 2 7 所示 從圖中可以看出按鍵按下和松開(kāi)的時(shí)候都存在著抖動(dòng) 抖動(dòng)時(shí)間的長(zhǎng)短 因按鍵的機(jī)械特性不同而有所不同 一般為 5ms 10ms 如果不處理鍵抖動(dòng) 則有可能引起一次按鍵被誤讀成多次 所以為了確 保能夠正確地讀到按鍵 必須去除鍵抖動(dòng) 確保在按鍵的穩(wěn)定閉合和穩(wěn) 定斷開(kāi)的時(shí)候來(lái)判斷按鍵狀態(tài) 判斷后再做處理 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 7 May 2010 Sheet of File C Documents and Settings Administrator 業(yè)業(yè) 業(yè)業(yè)業(yè)業(yè) ddbDrawn By S1 K1 S2 K2 S3 K3 S4 K4 S7 k7 S5 K5 S8 K8 S6 K6 S9 K9 R24 10k R25 4 7k R26 2 2k VCC5V R27 20k R28 10k R29 20k R30K 30k AnJian Amp 圖 2 6 3 3 矩陣式鍵盤(pán) 在本系統(tǒng)的按鍵去抖動(dòng)設(shè)計(jì)中 主要是判斷按鍵是否抬起 如果此 法效果不是很好 那就可以采用延時(shí)再判斷的方法 如前所述 機(jī)械按 鍵的抖動(dòng)時(shí)間一般在 10ms 20ms 之間 在程序中首先 A D 采樣進(jìn)來(lái)的電 壓值與延時(shí) 10ms 后的電壓值進(jìn)行比較 若相等 則說(shuō)明按鍵已經(jīng)確定按 下 按鍵的抖動(dòng)已經(jīng)消除 假若不相等 則按鍵不確定已經(jīng)按下 需要 重新再掃描 實(shí)驗(yàn)證明 本系統(tǒng)中只需要采用判斷按鍵是否抬起的方法 已經(jīng)可以很好的去抖動(dòng)滿足要求了 按鍵按下 前抖動(dòng)穩(wěn)定閉合后抖動(dòng) 按鍵松開(kāi) 圖 1 7 按鍵抖動(dòng) 2 6 液晶 LCD 顯示電路 2 61 液晶 1602 顯示器介紹 液晶顯示器以其微功耗 體積小 顯示內(nèi)容豐富以及超薄輕的諸多 優(yōu)點(diǎn) 在各類儀表和低功耗系統(tǒng)中得到廣泛的應(yīng)用 7 8 根據(jù)顯示內(nèi)容可以分為字符型液晶 圖形液晶 根據(jù)顯示容量又可 分為單行 16 字 2 行 16 字 兩 20 字等等 本系統(tǒng)中采用的是一款應(yīng)用相當(dāng)廣泛 功能精簡(jiǎn)但完全可以滿足要 求的 1602 液晶模塊 它是 16 字 2 行的字符型液晶模塊 是一種通用 模塊 與數(shù)碼管相比該模塊主要有如下優(yōu)點(diǎn) 1 位數(shù)多 可顯示 32 位 而 32 個(gè)數(shù)碼管體積相當(dāng)龐大了 2 顯示內(nèi)容豐富 可顯示所有數(shù)字和大 小寫(xiě)字母 3 程序簡(jiǎn)單 如果用數(shù)碼管動(dòng)態(tài)顯示 會(huì)占用很多時(shí)間來(lái)刷新顯示 而 1602 自動(dòng)完成此功能 1602 采用標(biāo)準(zhǔn)的 16 腳接口 各管腳功能如表 2 1 所示 管腳序號(hào)名稱功能 1VSS電源地端 2VDD電源 5V 端 3VEE液晶顯示器對(duì)比度調(diào)整端 4RS寄存器選擇 高選數(shù)據(jù)寄存器 低選 指令寄存器 5R W讀寫(xiě)信號(hào) 高為讀 低為寫(xiě) 6E使能端 高電平跳變?yōu)榈碗娖綍r(shí)有效 表 2 1 1602 各管腳及其功能 2 62 本系統(tǒng)中 1602 的應(yīng)用 根據(jù)系統(tǒng)設(shè)計(jì)的實(shí)際需要 液晶模塊主要是顯示設(shè)定電壓值 AD 采 集得到的時(shí)間電壓值 電流值 1602 的各管腳和單片機(jī)各端口的連接如 圖 2 8 所示 實(shí)物圖如圖 2 9 所示 液晶顯示器 1602 的 D0 D3 分別與 PIC18F4520 的 RD0 RD3 相連接 使能端 E 則與單片機(jī)的 Vref 端相連 RS 端與 RD4 連接 R W 端則與 RD6 相連 具體可以把圖 2 3 與圖 2 8 這兩 幅圖聯(lián)合起來(lái)看 15 16 腳是用來(lái)調(diào)節(jié)背光 達(dá)到即使黑暗的地方也能 看清液晶屏上顯示的字符 但它有損于液晶屏的壽命 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 1 May 2010 Sheet of File D PROGRAM FILES EXAMPLES BACKUP 11 DDBDrawn By V CC5V RS RW E D 0 D 1 D 2 D 3 V CC5V S1 K1 S2 K2 S3 K3 S4 K4 S7 k7 S5 K5 S8 K8 S6 K6 S9 K9 R24 10K R25 4 7K R26 2 2K V CC5V R27 20K R28 10K R29 20K R30K 30K AnJian G ND 1 V CC 2 V O 3 RS 4 RW 5 E 6 D B0 7 D B1 8 D B2 9 D B3 10 D B4 11 D B5 12 D B6 13 D B7 14 BG V CC 15 BG G ND 16 LCD 1602 U4 LCD1602 圖 2 8 1602 與單片機(jī)引腳連接圖 7 14D0 D7雙向數(shù)據(jù)口 15 16LED LED 調(diào)節(jié)液晶背光 第三章 系統(tǒng)軟件設(shè)計(jì) 單片機(jī)傳統(tǒng)的開(kāi)發(fā)語(yǔ)言是匯編語(yǔ)言 因?yàn)閰R編語(yǔ)言是最接近機(jī)器碼 的一種語(yǔ)言 其主要優(yōu)點(diǎn)是占用資源少 程序執(zhí)行效率高 但是不同的 CPU 其匯編語(yǔ)言可能有所差異 所以不易移植 作為一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言 C 語(yǔ)言的特點(diǎn)就是可以使你盡量 少地對(duì)硬件進(jìn)行操作 具有很強(qiáng)的功能性 結(jié)構(gòu)性和可移植性 因此常 常被優(yōu)選作為單片機(jī)系統(tǒng)的編程語(yǔ)言 用 C 編寫(xiě)程序比匯編更符合人們 的思考習(xí)慣 開(kāi)發(fā)者可以擺脫與硬件無(wú)必要的接觸 更專心的考慮功能 和算法而不是考慮一些細(xì)節(jié)問(wèn)題 這樣就減少了開(kāi)發(fā)和調(diào)試的時(shí)間 C 語(yǔ)言具有良好的程序結(jié)構(gòu) 適用于模塊化程序設(shè)計(jì) 因此采用 C 語(yǔ)言設(shè)計(jì) 單片機(jī)應(yīng)用系統(tǒng)程序時(shí) 首先要盡可能地采用結(jié)構(gòu)化的程序設(shè)計(jì)方法 將功能模塊化 由不同的模塊完成不同的功能 這樣可使整個(gè)應(yīng)用系統(tǒng) 程序結(jié)構(gòu)清晰 易于調(diào)試和維護(hù) 不同的功能模塊 分別指定相應(yīng)的入 口參數(shù)和出口參數(shù) 對(duì)于一些要重復(fù)調(diào)用的程序一般把其編成函數(shù) 這 樣可以減少程序代碼的長(zhǎng)度 又便于整個(gè)程序的管理 還可增強(qiáng)可讀性 和移植性 綜上 C 語(yǔ)言具有很強(qiáng)的功能性和結(jié)構(gòu)性 可以縮短單片機(jī)控制系 統(tǒng)的開(kāi)發(fā)周期 而且易于調(diào)試和維護(hù) 已經(jīng)成為目前單片機(jī)語(yǔ)言中最流 行的編程語(yǔ)言 本程序設(shè)計(jì)正是將每一功能模塊化 一個(gè)一個(gè)模塊進(jìn)行 C 語(yǔ)言的編寫(xiě) 再一塊一塊調(diào)試 從整個(gè)設(shè)計(jì)下來(lái)的結(jié)果看 用 C 語(yǔ)言 編寫(xiě)程序達(dá)到了很好的效果 本設(shè)計(jì)使用單片機(jī)對(duì)開(kāi)關(guān)電源進(jìn)行數(shù)字的控制 代替原來(lái)的 PWM 控 制芯片 KA7500 9 原先的 KA7500 所實(shí)現(xiàn)的功能是對(duì)輸出的電壓以及電 流進(jìn)行反饋采樣 通過(guò)誤差放大器之后對(duì)輸出的 PWM 波的占空比進(jìn)行相 應(yīng)的調(diào)節(jié) 起到了穩(wěn)壓恒流的作用 改用 PIC18F4520 后 采取雙通道 A D 采樣 分別為電壓采樣和電流的采樣 轉(zhuǎn)換為相應(yīng)之后進(jìn)行 PID Proportional Integral Differential 算法 同樣起到了穩(wěn)壓恒 流的作用 同時(shí)外圍增設(shè)鍵盤(pán)和 LCD 顯示電路 對(duì)輸出的電壓和電流有 實(shí)時(shí)的控制和監(jiān)測(cè) 本章將對(duì)整個(gè)軟件部分的設(shè)計(jì)思路及其具體實(shí)現(xiàn)進(jìn)行闡述 3 1 軟件設(shè)計(jì)總體思路 本系統(tǒng)的軟件主要有主程序模塊 中斷服務(wù)程序模塊組成 其中 主程序模塊主要完成系統(tǒng)的初始化模塊 PWM 波發(fā)生模塊 ADC 信號(hào)采集 模塊以及 PID 算法處理模塊 鍵盤(pán)以及 LCD 顯示模塊 中斷服務(wù)程序主 要完成 TMR0 定時(shí) 10ms 和 A D 模塊的數(shù)據(jù)采集濾波處理功能 3 2 系統(tǒng)主程序模塊 主程序模塊的程序框圖如圖 3 1 所示 圖 3 1 主程序框圖 3 21 始初化模塊 主程序中的初始化模塊主要完成系統(tǒng)全局變量的初始化 ECCP 模塊 的初始化 A D 轉(zhuǎn)化的初始化 LCD 顯示的初始化 TMR0 定時(shí)器的初始 化和 CPU 中斷系統(tǒng)的初始化 初始化模塊的程序框圖如圖 3 2 所示 ECCP 模塊的初始化將設(shè)置有兩路互補(bǔ)推挽輸出的 PWM 波 A D 轉(zhuǎn)化初始 化將 A D 模塊初始化為 10 位的 A D 轉(zhuǎn)換 TMR0 初始化完成每 10ms 采樣 一次電壓及電流值 圖 3 2 初始化模塊框圖 3 22 PWM 波發(fā)生模塊波發(fā)生模塊 在PIC18F4520 中 CCP1模塊為帶有增強(qiáng)的PWM功能的標(biāo)準(zhǔn)CCP模塊 10 這些增強(qiáng)的功能包括提供2路或4路輸出通道 用戶可選的極性 高電平 有效或低電平有效 死區(qū)控制以及自動(dòng)關(guān)閉和重啟 因此 增強(qiáng)型PWM 模式提供了更多的PWM 輸出選項(xiàng)以適應(yīng)范圍更廣的控制應(yīng)用 圖3 3所示為PWM操作的簡(jiǎn)化框圖 所有的控制寄存器都是雙重緩沖 的 并且在一個(gè)新的PWM周期的開(kāi)始時(shí)刻 Timer2復(fù)位時(shí)的周期邊界 被 裝載以防止在任何輸出上出現(xiàn)毛刺 但PWM延遲寄存器PWM1CON例外 該 寄存器在占空比邊界或周期邊界 選擇兩者中首先出現(xiàn)的那個(gè) 被裝載 由于緩沖 模塊將不會(huì)立即啟動(dòng) 而要等到分配的定時(shí)器復(fù)位為止 這 意味著增強(qiáng)型PWM 波形并不完全與標(biāo)準(zhǔn)的PWM 波形吻合 而是偏移一個(gè) 完整的指令周期 4TOSC 11 圖 3 3 增強(qiáng)型 PWM 模式工作原理示意圖 每個(gè)增強(qiáng)型CCP模塊至多有4路PWM 輸出 這取決于選定的操作模式 這些輸出 P1A至P1D 與PORTC和PORTD上的I O引腳復(fù)用 輸出是否有效 取決于選定的CCP操作模式 因此 若想要單片機(jī)工作于半橋輸出的增強(qiáng) 型的PWM模式 必須按照以下幾個(gè)步驟 1 通過(guò)分別設(shè)置CCP1CON寄存器的P1M1 P1M0 和CCP1M3 CCP1M0 位 可配置模塊的輸出模式和極性 如圖3 4所示為CCP1CON寄存器各配置位 圖3 4 CCP1CON寄存器配置位 由于本設(shè)計(jì)中為兩路互補(bǔ)推挽的PWM波輸出 所以設(shè)置 P1M1 P1M0 10 即半橋輸出 P1A和P1B為帶死區(qū)控制的調(diào)制輸出 P1C和 P1D被指定為端口引腳 同時(shí)設(shè)置CCP1M3 CCP1M0 1100 使P1A和P1B都為 高電平有效 2 使P1A和P1B都為輸出模式 即配置TRISC和TRISD的相應(yīng)引腳為 0 3 設(shè)置PWM波的周期 PWM 周期可以通過(guò)寫(xiě)PR2寄存器來(lái)指定 用以 下公式來(lái)計(jì)算PWM周期 PWM周期 PR2 1 4 TOSC TMR2預(yù)分頻值 根據(jù)本系統(tǒng)所需PWM波的實(shí)際情況 原先的PWM控制芯片所產(chǎn)生的PWM 波的頻率要求為25kHz 即周期為4 10 5s 而單片機(jī)外部的振蕩器為 16MHz TOSC 1 16 106s 經(jīng)計(jì)算的PR2 159 4 設(shè)置PWM波的占空比 通過(guò)寫(xiě)CCPR1L寄存器和CCP1CON位來(lái) 指定PWM占空比 最高分辨率可達(dá)10位 CCPR1L包含占空比的高8位 而 CCP1CON包含低2位 由CCPR1L CCP1CON 表示完整的10位值 計(jì)算占空比的公式如下 PWM占空比 CCPR1L CCP1CON TOSC TMR2預(yù)分頻值 可以在任何時(shí)候?qū)懭隒CPR1L和CCP1CON 但是在PR2和TMR2發(fā)生 匹配 即周期結(jié)束 前占空比值不會(huì)被鎖存到CCPR1H中 在PWM模式中 CCPR1H 是只讀寄存器 CCPR1H寄存器和一個(gè)2位的內(nèi)部鎖存器用于給PWM 占空比提供雙重緩沖 這種雙重緩沖結(jié)構(gòu)非常重要 可以避免在PWM工作 過(guò)程中產(chǎn)生毛刺 同樣根據(jù)本系統(tǒng)所需 PWM 波的實(shí)際情況 PWM 的占空比在 25 左右 所以需要配置 CCPR1L 和 CCP1CON 經(jīng)計(jì)算得 CCPR1L 0X28 同時(shí) CCP1CON 00 5 設(shè)置死區(qū)延時(shí) 在半橋輸出模式下 兩個(gè)引腳用作輸出端來(lái)驅(qū) 動(dòng)推挽式負(fù)載 PWM 輸出信號(hào)在P1A引腳上輸出 而互補(bǔ)的PWM輸出信號(hào) 在P1B引腳上輸出 如圖3 5所示 圖 3 5 半橋 PWM 波輸出波形示意圖 在半橋應(yīng)用中 模塊在所有時(shí)間以PWM頻率的調(diào)制信號(hào)驅(qū)動(dòng)電源開(kāi) 關(guān) 關(guān)閉電源開(kāi)關(guān)通常比打開(kāi)它需要更多的時(shí)間 如果上方的電源和下 方的電源開(kāi)關(guān)同時(shí)切換 一個(gè)打開(kāi) 另一個(gè)關(guān)閉 兩個(gè)開(kāi)關(guān)可能會(huì)在一 段很短的時(shí)間內(nèi)都處于打開(kāi)狀態(tài) 直到一個(gè)開(kāi)關(guān)完全關(guān)閉為止 在這很 短的間隔內(nèi) 很大的電流 直通電流 可能流過(guò)兩個(gè)電源開(kāi)關(guān) 從而導(dǎo) 致半橋供電電源短路 為了避免在切換期間流過(guò)這種潛在的破壞性直通 電流 一般延遲打開(kāi)其中的一個(gè)開(kāi)關(guān)等待另一個(gè)開(kāi)關(guān)完全關(guān)閉 在半橋 輸出模式下 可編程的死區(qū)延遲可用來(lái)避免直通電流破壞構(gòu)成半橋的電 子開(kāi)關(guān) 該延遲在信號(hào)從非有效狀態(tài)到有效狀態(tài)轉(zhuǎn)換時(shí)發(fā)生 PWM1CON 寄存器 如圖3 6所示 中的PDC6 PDC0位根據(jù)單片機(jī)指令周期設(shè)置延遲 時(shí)間 TCY或4個(gè)TOSC 13 圖 3 6 PWM1CON 寄存器 其中 bit6 bit0 為 PWM 延遲計(jì)數(shù)位 延遲時(shí)間為 PWM 信號(hào)變?yōu)橛行?的預(yù)計(jì)時(shí)間和實(shí)際時(shí)間之差 其單位為 FOSC 4 4 TOSC 周期 14 根據(jù)本設(shè)計(jì)的情況 設(shè)定延時(shí)時(shí)間為占空比時(shí)間的 5 即 5 10 7s 故 對(duì) PWM1CON 寄存器賦值為 0 x84 3 23 A D 轉(zhuǎn)換模塊轉(zhuǎn)換模塊 在本系統(tǒng)中需要對(duì)電壓和電流進(jìn)行相應(yīng)的 A D 轉(zhuǎn)換 硬件電路的設(shè) 計(jì)已經(jīng)在前一章進(jìn)行了較為詳細(xì)的描述 在此不再贅述 這一小節(jié)主要 介紹 PIC 單片機(jī)中的 A D 轉(zhuǎn)換的原理以及在本實(shí)驗(yàn)中所需要用到 A D 轉(zhuǎn) 換功能的程序設(shè)計(jì) PIC 單片機(jī)中的 A D 轉(zhuǎn)換模塊 15 如圖 3 7 所示 可用軟件選擇模擬參考電壓為器件的正電源電壓和負(fù)電源電壓 VDD 和VSS 或RA3 AN3 VREF 引腳和RA2 AN2 VREF CVREF引腳上的電平 A D轉(zhuǎn) 換器具有可在休眠模式下工作的特性 要使A D轉(zhuǎn)換器在休眠狀態(tài)下工作 A D轉(zhuǎn)換時(shí)鐘必須來(lái)自于A D 模塊內(nèi)部的RC振蕩器 采樣保持電路 16 的輸出是轉(zhuǎn)換器的輸入 轉(zhuǎn)換器采用逐次逼近法得 到轉(zhuǎn)換結(jié)果 器件復(fù)位操作將強(qiáng)制所有寄存器進(jìn)入復(fù)位狀態(tài) 這將迫使 A D模塊關(guān)閉并中止正在進(jìn)行的轉(zhuǎn)換 可以將每個(gè)與A D轉(zhuǎn)換器相關(guān)的端 口引腳配置為模擬輸入或數(shù)字I O ADRESH和ADRESL寄存器保存A D轉(zhuǎn)換 的結(jié)果 當(dāng) A D轉(zhuǎn)換完成之后 轉(zhuǎn)換結(jié)果被裝入ADRESH ADRESL寄存器對(duì) GO DONE位 ADCON0寄存器 被清零且A D中斷標(biāo)志位ADIF被置1 上電復(fù) 位時(shí) ADRESH ADRESL寄存器中的值保持不變 上電復(fù)位后 ADRESH ADRESL寄存器中的值不確定 在根據(jù)需要配置好A D模塊之后 必須在轉(zhuǎn)換開(kāi)始之前對(duì)選定的通道進(jìn)行采樣 必須將模擬輸入通道相應(yīng) 的TRIS位選擇為輸入 采集時(shí)間一結(jié)束 即可啟動(dòng)A D轉(zhuǎn)換 可將采集時(shí) 間編程設(shè)定在GO DONE位置1和實(shí)際轉(zhuǎn)換啟動(dòng)之間 圖 3 7 10 位 A D 轉(zhuǎn)換器模塊原理框圖 在執(zhí)行 A D 轉(zhuǎn)換時(shí)應(yīng)該遵循以下步驟 1 配置 A D 模塊 17 1 通過(guò) ADCON0 寄存器選擇輸入通道 ADCON0 寄存器各配置位如圖 3 8 所示 其中 bit7 bit6 為未用位 bit5 bit2 為模擬通道選擇位 從 0000 1100 分別代表 AN0 AN12 這 13 個(gè)通道 bit1 為 A D 轉(zhuǎn)換狀態(tài) 位 1 表示轉(zhuǎn)換正在進(jìn)行 0 表示空閑 bit0 為 A D 轉(zhuǎn)換使能位 1 表示 使能 0 表示禁止 圖 3 8 ADCON0 寄存器各配置位 2 通過(guò) ADCON1 寄存器配置模擬引腳 參考電壓和數(shù)字 I O 口 ADCON1 寄存器各配置位如圖 3 9 所示 其中 bit7 bit6 為未用位 bit5 bit4 為參考電壓配置位 在本次設(shè)計(jì)中將其配置位 00 使得參考電壓在 0 5V 之間 bit3 bit0 為 A D 端口配置控制位 如表 3 1 所示 圖 3 9 ADCON1 寄存器各配置位 表 3 1 A D 端口配置控制位 由于 AN0 為按鍵采集 AN1 為電壓采集 AN2 為電流采集 所以 ADCON1 寄存器的 bit3 bit0 設(shè)置為 1100 3 通過(guò)配置ADCON2從而設(shè)置A D轉(zhuǎn)換的采集時(shí)間 每當(dāng)GO DONE位置 1 用戶就可利用ADCON2寄存器選擇采集時(shí)間 該寄存器還提供了自動(dòng)設(shè) 定采集時(shí)間的選項(xiàng) 可以使用ACQT2 ACQT0 位 ADCON2 設(shè)置采集 時(shí)間 采集時(shí)間的范圍是2到20 個(gè)TAD 當(dāng)GO DONE位置1時(shí) A D模塊繼 續(xù)對(duì)輸入進(jìn)行采樣 采樣時(shí)間為所選擇的采集時(shí)間 然后自動(dòng)啟動(dòng)轉(zhuǎn)換 由于采集時(shí)間已被編程 因此在選擇通道和GO DONE 位置1之間無(wú)需另外 等待一個(gè)采集時(shí)間 若ACQT2 ACQT0 000 則表示選擇手動(dòng)采集 當(dāng)GO DONE位置1時(shí) 采 樣停止并啟動(dòng)轉(zhuǎn)換 用戶有責(zé)任確保在選定所需要的輸入通道和GO DONE 位置1之間經(jīng)過(guò)了所需要的采集時(shí)間 此選項(xiàng)也是ACQT2 ACQT0位的默認(rèn) 復(fù)位狀態(tài) 并且與不提供可編程采集時(shí)間的器件兼容 在這兩種情況下 當(dāng)轉(zhuǎn)換完成時(shí) GO DONE位被清零 ADIF 標(biāo)志位 被置1且A D 再次開(kāi)始對(duì)當(dāng)前選定的通道進(jìn)行采樣 如果采集時(shí)間已經(jīng)被 編程 那么將不會(huì)有任何指示顯示采集時(shí)間何時(shí)結(jié)束 轉(zhuǎn)換何時(shí)開(kāi)始 ADCON2寄存器各配置位如圖2 10所示 圖 3 10 ADCON2 寄存器各配置位 bit5 bit3為A D采集時(shí)間選擇位 在本設(shè)計(jì)中將這3位設(shè)置成010 為4TAD 每位A D轉(zhuǎn)換時(shí)間被定義為TAD 而每完成一次10位A D轉(zhuǎn)換需要 11個(gè)TAD 圖3 11顯示了GO置位為1 bit5 bit3位被設(shè)置為010 且在轉(zhuǎn) 換開(kāi)始之前選擇4TAD采集時(shí)間后A D轉(zhuǎn)換器的工作狀態(tài) 在轉(zhuǎn)換期間將GO DONE位清零將中止當(dāng)前的A D轉(zhuǎn)換 不會(huì)用尚未完 成的A D轉(zhuǎn)換結(jié)果來(lái)更新A D結(jié)果寄存器對(duì) 這意味著ADRESH ADRESL寄存 器將仍然保持上一次的轉(zhuǎn)換結(jié)果 或上一次寫(xiě)入ADRESH ADRESL寄存器的 值 在A D轉(zhuǎn)換完成或中止以后 需要等待2個(gè)TAD才能開(kāi)始下一次采集 等待時(shí)間一到 將自動(dòng)開(kāi)始對(duì)選定通道進(jìn)行采集 圖 3 11 A D 轉(zhuǎn)換周期 TAD ACQT 010 TACQ 4TAD 2 配置A D中斷 1 清零ADIF位 2 將ADIE位置1 3 將 GIE 位置 1 3 等待所需要的采集時(shí)間 4 啟動(dòng)轉(zhuǎn)換 將 ADCON0 寄存器中的 GO DONE 為置 1 5 等待 A D 轉(zhuǎn)換完成 在本設(shè)計(jì)中是以中斷的形式來(lái)判斷轉(zhuǎn)換是否 完成 6 讀取 A D 結(jié)果寄存器 ADRESH ADRESL 7 再次進(jìn)行 A D 轉(zhuǎn)換 3 24 PID 算法處理模塊算法處理模塊 1 PID 算法原理簡(jiǎn)介 18 典型 PID 控制的傳遞函數(shù)如式 1 所示 1 1 1 sT sT K sX sX sG d i p i O 式中 Kp為比例系數(shù) Ti為積分常數(shù) Td為微分常數(shù) 簡(jiǎn)單說(shuō)來(lái) PID 控制器各校正環(huán)節(jié)的作用如下 比例環(huán)節(jié) Proportiona1 及時(shí)成比例地反映控制系統(tǒng)的偏差信號(hào) 偏差一旦產(chǎn)生 控制器立即產(chǎn)生控制作用 以減少偏差 積分環(huán)節(jié) Integra1 主要用于消除靜差 提高系統(tǒng)的無(wú)差度 積 分作用強(qiáng)弱取決于積分時(shí)間常數(shù)Ti Ti越大 積分作用越弱 反之則越 強(qiáng) 微分環(huán)節(jié) Differentia1 能反映偏差信號(hào)的變化趨勢(shì) 變化速率 并能在偏差信號(hào)值變得太大之前 在系統(tǒng)中引入一個(gè)有效的早期修正信 號(hào) 從而加快系統(tǒng)的動(dòng)作速度 減小調(diào)節(jié)時(shí)間 若令 則式 1 可以改寫(xiě)為 i i p K T K ddp KTK 2 sK s K KsG d i p 將式 2 經(jīng)過(guò)拉氏變換 并考慮初始值 即可求得時(shí)域內(nèi)理想的模擬 PID控制算式 如下 3 0 u dt tde KdtteKteKtu dip 由于單片機(jī)根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量 19 因此式 3 中的 積分和微分項(xiàng)不能直接使用 需要做離散化處理 按照模擬PID控制算法 的算式 3 現(xiàn)以一系列的采樣時(shí)刻點(diǎn)代表連續(xù)的時(shí)間 以和式代替積分 以增量代替微分 則可得到離散化的PID表達(dá)式為 4 n j nndjinpn ueeKeKeKu 1 01 式中 j為采樣序號(hào) j 0 1 2 n un第n次采樣時(shí)刻的控制器輸出值 en為第n次采樣時(shí)刻輸入的偏差值 en 1為第n 1次采樣時(shí)刻輸入的偏差值 數(shù)字PID控制分為位置式PID控制算法和增量式PID控制算法 式 4 所示便是位置式PID算式 由式 4 可得控制器第n 1次的輸出量un 1為 5 0 1 1 2111 ueeKeKeKu n j nndjinpn 所以 增量式PID控制算式如下所示 6 2 2111 nnndninnpnn eeeKeKeeKuuu 2 本系統(tǒng)的PID算法程序框圖 在開(kāi)關(guān)電源結(jié)構(gòu)中 開(kāi)關(guān)電源是通過(guò)修改PWM波占空比改變逆變橋中 COOLMOSFET的通斷時(shí)間 從而控制輸出電壓的大小 當(dāng)輸出電壓超過(guò)給 定值時(shí) 減小PWM波占空比 減小COOLMOSFET開(kāi)通時(shí)間 降低輸出電壓 反之 當(dāng)輸出電壓小于給定值時(shí) 則增加PWM波占空比 增加COOLMOSFET 開(kāi)通時(shí)間 使輸出電壓升高 可見(jiàn) 在控制器進(jìn)行調(diào)節(jié)的時(shí)候我們所關(guān) 心的是此次PWM波的占空比需要改變的量 即每次輸出控制量的增量 因 此 本系統(tǒng)使用增量式PID控制算法 程序框圖如圖3 12所示 圖 3 12 PID 算法程序框圖 3 25 LCD 液晶顯示模塊液晶顯示模塊 本設(shè)計(jì)中的 LCD 現(xiàn)實(shí)這一塊相對(duì)清晰 主要進(jìn)行的是對(duì) LCD 的讀寫(xiě) 操作 但是在編寫(xiě)程序的過(guò)程中主要的是將讀寫(xiě)的時(shí)序有很好的理解 如圖 2 13 和如圖 2 14 分別為顯示了 1602 的讀和寫(xiě)的操作 3 26 按鍵處理模塊 通過(guò)按鍵實(shí)現(xiàn)設(shè)定電壓的增減 如按一下增加鍵 鍵 1 則設(shè)定電 壓值加一伏 但是如果設(shè)定電壓值大于或是等于 36V 時(shí) 則不在增加 同理 按一下減少鍵 鍵 2 則設(shè)定電壓值減一伏 但是如果設(shè)定電壓 值小于或是等于 24V 時(shí) 設(shè)定值將不在減少而是保存原值不變 圖 3 13 LCD1602 讀操作時(shí)序圖 圖 3 14 LCD1602 寫(xiě)操作時(shí)序圖 注 tsp1和 tsp2的最小值一般在 30 40ns 之間 tHD1和 tHD2最小值一 般在 10ns tPW的最小值為 150ns tC的最小值為 400ns tF的最大值一般為 25ns tR的最大值一般為 25ns tD的最大值一般為 100ns 此模塊采用 AD 采集的方式來(lái)識(shí)別按鍵的按鍵模塊 每個(gè)按鍵對(duì)應(yīng)于 不同的電壓 因此每個(gè)按鍵對(duì)應(yīng)于不同的 AD 值 從而通過(guò)判斷 AD 值的 大小范圍就可以判定出按鍵的值 而此按鍵模塊只需一個(gè) AD 采集口就夠 了 大大的減少了 IO 口的占用情況 各個(gè)按鍵按下所得到的 AD 值如下 Key1 2 5V 0 x200 Key2 2 0V 0 x199 Key3 1 67V 0 x156 Key4 2 882V 0 x24E Key5 2 24V 0 x1CA Key6 1 795V 0 x16F Key7 3 11V 0 x27C Key8 2 37V 0 x1E5 Key9 1 916V 0 x188 3 3 中斷服務(wù)程序模塊 3 31 中斷程序原理及框圖 此系統(tǒng)的中斷服務(wù)程序采取兩級(jí)中斷 主要是 TMR0 定時(shí) 計(jì)數(shù)器產(chǎn) 生 10ms 定時(shí)的溢出中斷 主要完成定時(shí) 10ms 對(duì) A D 模塊的數(shù)字量讀取 和重新開(kāi)始新的 A D 轉(zhuǎn)換 每當(dāng) ADCBuffer 緩沖區(qū)的內(nèi)容滿時(shí) 對(duì)所有 采集到的數(shù)據(jù)進(jìn)行數(shù)字濾波從而讀取正確的 A D 轉(zhuǎn)換后的電壓數(shù)字量傳 給主程序的電壓變換模塊從而交于 PID 算法處理模塊進(jìn)行處理 在此分 析電壓中斷服務(wù)子程序 程序的框圖如圖 3 15 所示 圖 3 15 電壓中斷服務(wù)程序框圖 3 32 數(shù)字濾波算法 數(shù)字PID控制是一種采樣控制 它只能根據(jù)采樣時(shí)刻的偏差值計(jì)算控 制量 而測(cè)量信號(hào)中總是存在一些干擾 噪聲或者畸變 這些因素都影 響上述控制算法的精度 從而使整個(gè)控制系統(tǒng)的性能下降 因此 利用 數(shù)字濾波技術(shù)能夠有效地對(duì)偏差信號(hào) 測(cè)量信號(hào) 中的干擾 噪聲進(jìn)行濾 波或者對(duì)其畸變進(jìn)行動(dòng)態(tài)補(bǔ)償 從而提高數(shù)字PID控制算式的精度 改進(jìn) 控制系統(tǒng)的性能 本系統(tǒng)中軟件中采用TMR0定時(shí)10ms 每10ms定時(shí)的時(shí)間到就將 A D轉(zhuǎn)換的結(jié)果讀出來(lái) 存儲(chǔ)在定義的unsigned char ADCBuffer 5 緩沖區(qū) 中 當(dāng)緩沖區(qū)滿時(shí) 將緩沖區(qū)的內(nèi)容進(jìn)行排序 抑制掉最大值和最小值 只取中間的值作為轉(zhuǎn)換的結(jié)果 這部分?jǐn)?shù)字濾波的具體實(shí)現(xiàn)方法如下 采用數(shù)字濾波算法 用排序法完成 for i 0 i sizeof ADCBuffer 2 i for j i j sizeof ADCBuffer 2 j if ADCBuffer i ADCBuffer j temp ADCBuffer i ADCBuffer i ADCBuffer j ADCBuffer j temp 獲取濾波后的 AD 轉(zhuǎn)換值 將該值載入 ADCValue 中 ADCValue ADCBuffer sizeof ADCBuffer 2 第四章 結(jié) 論 此畢業(yè)設(shè)計(jì)主要完成的任務(wù)是對(duì)開(kāi)關(guān)電源進(jìn)行數(shù)字的控制即程序的 編寫(xiě) 其實(shí)從硬件電路的角度講難度并不是很大 因?yàn)橹饕褪请妷汉?電流的采集 然后進(jìn)行 A D 的轉(zhuǎn)換 再調(diào)節(jié) PWM 波的占空比 原理相對(duì) 簡(jiǎn)單 但是要做成功其實(shí)并不是一件容易的事情 主要碰到的問(wèn)題有不 同電壓情況下 PWM 波的占空比是不一樣的 要想通過(guò)進(jìn)行電壓的設(shè)定以 及將電壓穩(wěn)定在設(shè)定的狀態(tài)需要對(duì) PWM 波的占空比有比較精確的定量認(rèn) 識(shí) 在這個(gè)情況下面 需要極其耐心地對(duì)每個(gè)電壓所對(duì)應(yīng)的 PWM 波的占 空比做一個(gè)較為詳細(xì)的記錄 以便進(jìn)行軟件程序的編寫(xiě) 在開(kāi)關(guān)電源中 相對(duì)模擬系統(tǒng)而言 數(shù)字系統(tǒng) 22 具有設(shè)計(jì)周期短 易實(shí)現(xiàn)模塊化管理 能夠消除因分立元件引起的不穩(wěn)定和電磁干擾等優(yōu) 點(diǎn) 因此 近年來(lái)數(shù)字控制在開(kāi)關(guān)電源中得到迅速的發(fā)展 隨著芯片技 術(shù)的不斷發(fā)展 特別是單片機(jī)技術(shù)的發(fā)展 各種在模擬電路中難以實(shí)現(xiàn) 的現(xiàn)代控制方法也開(kāi)始應(yīng)用于開(kāi)關(guān)電源的控制中 使得模擬控制向數(shù)字 控制轉(zhuǎn)變 相信隨著數(shù)字技術(shù)的不斷發(fā)展和電子技術(shù)的不斷發(fā)展 單片機(jī)的數(shù) 字控制將會(huì)越來(lái)越受到關(guān)注 也會(huì)越來(lái)越廣泛地被運(yùn)用到高效率 高功 率因素的開(kāi)關(guān)電源中 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) 發(fā)現(xiàn) 提出 分析和解決實(shí)際 問(wèn)題 鍛煉實(shí)踐能力的重要環(huán)節(jié) 是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考 察過(guò)程 隨著科學(xué)技術(shù)發(fā)展的日新日異 單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用 中空前活躍的領(lǐng)域 在生活中可以說(shuō)得是無(wú)處不在 因此作為二十一世 紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的 隨著科技的發(fā)展 單片機(jī)已不是一個(gè)陌生的名詞 它的出現(xiàn)是近代計(jì)算 機(jī)技術(shù)發(fā)展史上的一個(gè)重要里程碑 因?yàn)閱纹瑱C(jī)的誕生標(biāo)志著計(jì)算機(jī)正 式形成了通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩大分支 單片機(jī)單芯片 的微小體積和低的成本 可廣泛地嵌入到如玩具 家用電器 機(jī)器人 儀器儀表 汽車電子系統(tǒng) 工業(yè)控制單元 辦公自動(dòng)化設(shè)備 金融電子 系統(tǒng) 艦船 個(gè)人信息終端及通訊產(chǎn)品中 成為現(xiàn)代電子系統(tǒng)中最重要 的智能化工具 本文所涉及的是市場(chǎng)占有率最高的是 MCS 51 系列 因?yàn)槭澜缟虾?多知名的 IC 生產(chǎn)廠家都生產(chǎn) 51 兼容的芯片 到目前為止 MCS 51 單 片機(jī)已有數(shù)百個(gè)品種 還在不斷推出功能更強(qiáng)的新產(chǎn)品 致 謝 經(jīng)過(guò)三個(gè)多月的時(shí)間 畢業(yè)設(shè)計(jì)按照預(yù)期完成了 由于本人的知識(shí) 水平有限 論文和設(shè)計(jì)中有遺漏和缺陷的地方懇請(qǐng)指正 我要感謝河南理工大學(xué) 感謝電氣系對(duì)我四年的培養(yǎng) 讓我學(xué)到了 許許多多的知識(shí) 感謝各位老師在這四年里對(duì)我的關(guān)懷與照顧 在此致 以我深深的謝意 感謝我的導(dǎo)師給了我莫大的幫助 在她悉心的指導(dǎo)和嚴(yán)格的要求下 作品和論文順利完成了 論文從選題和最終完成 凝結(jié)著導(dǎo)師的辛勤的 汗水 她不辭勞苦的教導(dǎo) 嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我終生受益 在此畢業(yè)設(shè)計(jì)完 成之際 謹(jǐn)向?qū)熀退袔椭^(guò)我的老師致以崇高的敬意和衷心的感謝 還有感謝家人 朋友還有宿舍里所有的室友 是他們給我創(chuàng)造了良 好的學(xué)習(xí)氛圍 在學(xué)習(xí)和生活中給了我支持和幫助 在以后的學(xué)習(xí)生活 中我會(huì)時(shí)時(shí)敦促自己更加努力 不辜負(fù)師長(zhǎng) 親人 朋友對(duì)我的期望 畢業(yè)設(shè)計(jì)是綜合運(yùn)用所學(xué)知識(shí)的一次能力鍛煉 在設(shè)計(jì)過(guò)程中 不 但要汲取新的知識(shí)而且對(duì)以前所學(xué)的知識(shí)也要融會(huì)貫通 此次的畢業(yè)設(shè) 計(jì)不但增強(qiáng)了自己的動(dòng)手能力 而且也使我學(xué)會(huì)了如何用所學(xué)的知識(shí)解決 實(shí)際問(wèn)題 同時(shí)它也使我認(rèn)識(shí)到同學(xué)之間相互討論 相互學(xué)習(xí)的重要性 讓我在以后的工作中更加注重一個(gè)團(tuán)隊(duì)的合作精神 最后 感謝在百忙之中抽出時(shí)間參加論文評(píng)閱和課題答辯的各位老 師 在此致以最衷心的感謝 參考文獻(xiàn) 1 王小波 直流開(kāi)關(guān)電源的數(shù)字控制設(shè)計(jì)及應(yīng)用 M 電子工業(yè)出版社 2005 1 3 2 常敏慧 申功邁等 開(kāi)關(guān)電源應(yīng)用 設(shè)計(jì)與維修 M 科學(xué)技術(shù)文獻(xiàn) 出版社 2007 55 57 3 何希才 實(shí)用開(kāi)關(guān)電源數(shù)字控制技術(shù) M 電子工業(yè)出版社 2002 169 175 4 高飛 田玉冬 36V 2A穩(wěn)壓開(kāi)關(guān)電源的設(shè)計(jì) J 上海電機(jī)學(xué)院學(xué)報(bào) 2007 10 2 94 97 5 林 雯 淺談開(kāi)關(guān)電源的技術(shù)發(fā)展趨勢(shì) J 通信電源技術(shù) 2008 25 6 79 80 6 孔鋒封 開(kāi)關(guān)電源單片機(jī)外圍元器件選擇與檢測(cè) M 北京 中國(guó)電 力出版社 2009 1 3 7 劉松又 高頻開(kāi)關(guān)電源的數(shù)字化控制電路的設(shè)計(jì) J 湖南大學(xué)學(xué)報(bào) 2003 6 97 8 雷媛媛 吳勝益 試論開(kāi)關(guān)電源技術(shù)的發(fā)展 J 通信電源技術(shù) 2008 25 4 75 77 9 胡瑋 康永 基于單片機(jī)控制的雙路輸出數(shù)字開(kāi)關(guān)電源的研制 J 上海電機(jī)學(xué)院學(xué)報(bào)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論