pic單片機范文
時間:2023-03-16 20:16:32
導語:如何才能寫好一篇pic單片機,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
中圖分類號:TP368.12 文獻標識碼:A 文章編號:1674-7712 (2012) 16-0049-01
肺功能測定是臨床較為常見的一種檢查,對于患者肺及氣道早期檢查具有積極作用,同時可以對患者病情嚴重程度給予評估。能夠通過檢測呼氣流速實現多項生理參數評估的醫學儀器,由于一些早期肺功能測定儀不支持USB通信,在數據導入導出中不夠方便,本研究通過帶有USB模塊的單片機改造,實現了USB通信功能。
一、PIC單片機USB模塊
帶改造肺功能測試儀采用的單片機為PIC18F6720型,為確保兼容性,加快改進速度,本次選用的單片機為PIC18F67J50系列單片機。
(一)USB外設
PIC18F67J50系列單片機的USB模塊能夠實現USB2.0串口兼容,同時可支持全速接口(12Mb/s)和低速接口(1.5Mb/s),可以全面支持中斷、控制及批量傳輸,能夠支持雙向16對端點,最多32個端點(雙向16對),RAM具有CPU和USB模塊雙重存取特性。
(二)USB電源模式
在USB電源配置方面,有著不同的要求和配置,比較常見模式為的電源模式包括Self-Power Only(僅自供電)、Dual Powe(雙電源)、Bus Power Only(僅總線供電)等三種供電模式。其中僅總線供電模式下是最簡單和是最常用的一種供電方式,這種方式電源自USB接口,在供電方式上非常簡單。為符合USB2.0對于浪涌電流的規范化要求,Vbus同接地端間等效電容應在l0uF以下。按照USB2.0的規范,USB還應可以支持低功耗掛起模式。在USB提供V的Vbus線供電過程中,其實際電流消耗應在500uA以內,通信停止至少3ms來實現主機和外設之間的掛起模式通信。在elf-Power Only(僅自供電)模式中,USB采取自身提供電源的方式,僅有很小電源來自USB,并通常都需要增加相應的連接指示器,來顯示USB和主機連接及Vbus供電情況。
(三)振蕩器
USB模塊具有相應的時鐘要求。在低速運行狀態下,需要給予USB模塊6MHz的時鐘脈沖頻率,在全速運行狀態下,需要USB模塊48MHz的時鐘脈沖頻率為48MHz。然而,無論USB模塊的時鐘脈沖頻率如何,單片機CPU等外設振蕩器均需要在一定的時鐘速度運行。
二、PIC單片機固件開發
本研究選擇的PIC單片機程序環境為MPLAB IDE,改集成開發環境平臺中,可全面支持機器碼編譯連接、源程序編寫、開發調試工具等功能。軟件可免費通過微芯公司官方網站進行下載,此外,在開發語言上也完全支持C語言以及第三方語言工具,主要包括:Byte Craft、CCS、B Knudsen Data、HI-TECH等。本研究中原有肺功能檢測儀的采取的程序編譯器為第三方提供的HI-TECH,有因此支持nc器件較少,開發成本較高,在綜合考慮成本因素和實用因素的基礎上,本研究最終采用的編譯器為微芯公司的MPLAB C18。
而采取微芯公司的MPLAB C18需要對而這需要對肺功能檢測儀原程序的變量定義實施修改,所以必須首先對MPLAB C18的變量的存儲區進行定義。默認狀態下,編譯器會假定無跨越存儲區邊界問題。因此在創建超過256字節的變量中可對鏈接描述文件進行相應修改。
三、固件編程
肺功能檢測儀固件改進的目的重要在于通過USB接口實現計算機數據處理和本機數據提取功能。因此,在主要改進容物就集中在保持原有操作代碼基礎上的USB的HID類通信上,實現USB總線的通信命令傳送和數據采集并及時返回。
(一)USB狀態和控制
在編寫USB模塊固件程序時會用到USB傳輸狀態寄存器(USTAT)、USB配置寄存器(UCFG)、USB控制寄存器(UCON) 3個寄存器進行當前工作狀態的設置和查詢,并進入到相應的控制流程當中。
控制寄存器主要包括零電平復位、USB模塊等狀態配置管理;配置寄存器主要包括片上上拉電阻、總線速度、片上收發器與USB模塊硬件相關的配置;狀態寄存器則主要負責提供串行接口引擎(SIE)中的狀態報告,一旦發現中斷信號,應首先進行該寄存器的讀取工作,并以此完成傳輸的狀態的確認。
(二)USB中斷
USB模塊的絕大部分活動均有中斷進行觸發,和其他單片機中斷源一樣,該模塊也有著自身的特定中斷邏輯結構。能夠通過一組寄存器允許USB中斷,同時可以用一組單獨的標志寄存器來實現中斷事件捕獲。在本研究中的單片機中斷邏輯中,USB中斷源均通過頂層的USB中斷請求來反應和標志位USBIF,在通過中斷第二層寄存器來進行確認。
四、系統流程與釆集
當肺功能測試儀開啟后,應首先對單片機以及液晶屏等進行初始化處理。再通過USB檢測引腳來對高電平情況進行判斷,如果出現高電平則可以說明已連接上了USB線,可以對PIC單片機的USB模塊進行初始化配置工作,在肺功能測試儀液晶屏上出現“連接USB線”提示,在這一期間應禁止鍵盤中斷使能,也就是不允許實施本機操作。隨后實施USB枚舉過程,進行接口和端點配置。在完成配置工作后,即可以實施相應的計算機操作工作。通過控制輸出端點0上位機將命令向下位機進行發送。設備完成對命令的響應工作,開始進行數據采集工作,通過中斷輸入端點1可實現返回數據。
參考文獻:
[1]張巍,鄭建彬.基于VC++實現在線簽名認證系統與USB的通信[J].計算機與數字工程,2007,10.
[2]扶文樹,何軍,陸信如.USB HID數據通信接口的設計與實現[J].工業控制計算機,2009,22(2).
[3]葉君耀,劉克寧.加密存儲設備驅動程序的優化設計[J].軟件導刊,2010,2.
篇2
關鍵詞 Microchip 單片機 功耗 編程
由美國Microchip公司生產的PIC系列單片機,由于其超小型、低功耗、低成本、多品種等特點,已廣泛應用于工業控制、儀器、儀表、通信、家電、玩具等領域,本文總結了作者在PIC單片機開發過程中的一些經驗、技巧,供同行參考。
1 怎樣進一步降低功耗
功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C××系列單片機本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。為進一步降低功耗,在保證滿足工作要求的前提下,可采用降低工作頻率的方法,工作頻率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其電流可減小到15μA),但較低的工作頻率可能導致部分子程序(如數學計算)需占用較多的時間。在這種情況下,當單片機的振蕩方式采用RC電路形式時,可以采用中途提高工作頻率的辦法來解決。 具體做法是在閑置的一個I/O腳(如RB1)和OSC1管腳之間跨接一電阻(R1),如圖1所示。低速狀態置RB1=0。需進行快速運算時先置RB1=1,由于充電時,電容電壓上升得快,工作頻率增高,運算時間減少,運算結束又置RB1=0,進入低速、低功耗狀態。工作頻率的變化量依R1的阻值而定(注意R1不能選得太小,以防振蕩電路不起振,一般選取大于5kΩ)。
另外,進一步降低功耗可充分利用“sleep”指令。執行“sleep”指令,機器處于睡眠狀態,功耗為幾個微安。程序不僅可在待命狀態使用“sleep”指令來等待事件,也可在延時程序里使用(見例1、例2)。在延時程序中使用“sleep”指令降低功耗是一個方面,同時,即使是關中斷狀態,Port B端口電平的變化可喚醒“sleep”,提前結束延時程序。這一點在一些應用場合特別有用。同時注意在使用“sleep”時要處理好與WDT、中斷的關系。
圖1 提高工作頻率的方法
例1(用Mplab-C編寫) 例2(用Masm編寫) Delay() Delay { ;此行可加開關中斷指令 /*此行可加開關中斷指令*/ movlw.10 for (i=0; i
INTCON中的各中斷允許位對中斷狀態位并無影響。當PORT B配置成輸入方式時,RB引腳輸入在每個讀操作周期被抽樣并與舊的鎖存值比較,一旦不同就產生一個高電平,置RBIF=1。在開RB中斷前,也許RBIF已置“1”,所以在開RB中斷時應先清RBIF位,以免受RBIF原值的影響,同時在中斷處理完成后最好是清RBIF位。
3 用Mplab-C高級語言寫PIC單片機程序時要注意的問題
3.1 程序中嵌入匯編指令時注意書寫格式 見例3。
例3
…… …… while(1) {#asm while(1) { …… #asm /*應另起一行*/ #endasm …… }/*不能正確編譯*/ #endasm …… }/*編譯通過*/ …… 當內嵌匯編指令時,從“#asm”到“endasm”每條指令都必須各占一行,否則編譯時會出錯。
3.2 加法、乘法的最安全的表示方法 見例4。
例4
#include #include unsigned int a, b; unsigned long c; void main() { a=200; b=2; c=a*b; } /*得不到正確的結果c=400*/ 原因是Mplab-C以8×8乘法方式來編譯c=a*b,返回單字節結果給c,結果的溢出被忽略。改上例中的“c=a*b;”表達式為“c=a;c=c*b;”,最為安全(對加法的處理同上)。
3.3 了解乘除法函數對寄存器的占用
由于PIC片內RAM僅幾十個字節,空間特別寶貴,而Mplab-C編譯器對RAM地址具有不釋放性,即一個變量使用的地址不能再分配給其它變量。如RAM空間不能滿足太多變量的要求,一些變量只能由用戶強制分配相同的RAM空間交替使用。而Mplab-C中的乘除法函數需借用RAM空間來存放中間結果,所以如果乘除法函數占用的RAM與用戶變量的地址重疊時,就會導致出現不可預測的結果。如果C程序中用到乘除法運算,最好先通過程序機器碼的反匯編代碼(包含在生成的LST文件中)查看乘除法占用地址是否與其它變量地址有沖突,以免程序跑飛。Mplab-C手冊并沒有給出其乘除法函數對具體RAM地址的占用情況。例5是乘法函數對0×13、0×14、0×19、0×1A地址占用情況。
例5
部分反匯編代碼 #include 01A7 081F MOVF 1F,W #include 01A8 0093 MOVWF 13 ;借用 unsigned long Value @0x1 01A9 0820 MOVF 20,W char Xm @0x2d; 01AA 0094 MOVWF 14 ;借用 void main() 01AB 082D MOVF 2D,W {Value=20; 01AC 0099 MOVWF 19 ;借用 Xm=40; 01AD 019A CLRF1A ;借用 Value=Value*Xm 01AE 235F CALL 035Fh ;調用乘法函數 …… 01AF 1283 BCF 03,5 } 01B0 009F MOVWF 1F ;返回結果低字節 01B1 0804 MOVF 04,W 01B2 00A0 MOVWF 20 ;返回結果高字節 4 對芯片重復編程
對無硬件仿真器的用戶,總是選用帶EPROM的芯片來調試程序。每更改一次程序,都是將原來的內容先擦除,再編程,其過程浪費了相當多的時間,又縮短了芯片的使用壽命。如果后一次編程的結果較前一次,僅是對應的機器碼字節的相同位由“1”變成“0”,就可在前一次編程芯片上再次寫入數據,而不必擦除原片內容。
在程序的調試過程中,經常遇到常數的調整,如常數的改變能保證對應位由“1”變“0”,都可在原片內容的基礎繼續編程。另外,由于指令“NOP”對應的機器碼為“00”,調試過程中指令的刪除,先用“NOP”指令替代,編譯后也可在原片內容上繼續編程。
另外,在對帶EPROM的芯片編程時,特別注意程序保密狀態位。廠家對新一代帶EPROM芯片的保密狀態位已由原來的EPROM可擦型改為了熔絲型,一旦程序代碼保密熔絲編程為“0”,可重復編程的 EPROM 芯片就無法再次編程了。使用時應注意這點,以免造成不必要的浪費(Microchip 資料并未對此做出說明)。
參考文獻
篇3
【關鍵詞】溫度測量;PIC16F877;DS18B20;仿真測試
在日常生活經常要用到溫度的檢測及控制,傳統的測溫元件有熱電偶和熱電阻,而熱電偶和熱電阻測出的一般是電壓,在轉換成對應的溫度,需要比較多的硬件支持,硬件電路很復雜,軟件調試也復雜,制作成本高。而且測出來的溫度精度也沒有技術成熟的溫度傳感器高。
本文基于PIC單片機來設計數字式測溫計,直接采用數字式溫度傳感器DS18B20,用單片機對18B20進行控制,來進行測溫[1]。顯示部分可用lcd1602,單片機可直接驅動lcd1602顯示溫度,硬件較簡單,穩定。DS18B20采用單總線技術,容易擴展,并且具有轉換速度快,轉換精度高,可由片機直接讀出溫度并顯示出來等優點。
一、設計目標和思路
本文采用PIC16F877的USART異步通信模式,可廣泛應用于單片機與PC機,以及單片機與單片機之間的通信。USART接口由RC6、RC7這兩只引腳構成。RC6用于數據的發送,RC7用于接收數據[2]。
當單片機需要通過USART發送數據時,只需將所發送數據送入數據緩沖寄存器TXERG,然后系統會自動將TXREG寄存器內容送入發送移位寄存器TSR,接著系統會根據所設置的波特率脈沖信號,通過RC6引腳從高位到低位依次發送出去。當系統將TXERG寄存器內容加載到TSR中時,會自動將中斷發送標志位TXIF置位,根據程序決定是否進入中斷。而當單片機需要通過USART接受數據時,通過RC7引腳將數據依次送入接收移位寄存器RSR中,當收到一個停止位時,移位寄存器RSR就把收到的8位數據自動送入接收數據緩沖器RCREG中。在接收數據緩沖器RCREG收到一個穩定的數據后,接收中斷標志位RCIF將自動置位,根據程序決定是否進入中斷。
二、原理結構圖
本文利用PIC16F877和DS18B20傳感器設計了測溫計,其包含主控器部分、溫度顯示部分、傳感測試部分和按鍵設計部分[3]。
基于PIC16F877的測溫計原理電路圖結構如圖1所示。
其中,電源部分的S1為復位按鈕它在被按得時候斷開放開后自動閉合,在其斷開又閉合的瞬間使整套電路中各芯片的供電電壓實現從5V降到0V再升到5V的過程,從而達到復位的目的。輸入電容C2一般情況不接,但當集成穩壓器遠離整流、濾波電路時應接入一個0.33μf的電容器,它的作用是改善紋波和抑制輸入的瞬時過電壓,保證78L05的輸入與輸出間的電壓差不會超過允許值。輸出電容C3一般不采用大容量的電解電容器,只要接入0.1μf的電容器便可以改善負載的瞬態響應。但是,為了減小輸出的紋波電壓,在輸出端并聯一只大容量的電解電容C4,會取得更好的效果。然而,這樣將隨之產生一種弊端:一旦78L05的輸入端出現短路時,輸出端上的大電容器上儲存的電荷將通過集成穩壓器內部電路調整管的發射極與基極泄放,因大容量電容器釋放能量較大,會造成集成穩壓器內部調整管的損壞,導致電路無法工作。為了防止這一點,在78L05的輸入端與輸出端之間跨接一個二極管,它為C4上電荷的泄放提供了一個分流通路,對集成穩壓器起保護作用。
串口接收溫度函數流程圖如圖2所示。
三、Protues仿真調試
為調試和檢驗上述的電路原理圖的正確性和合理性,本文通過Protues軟件仿真來進行波形調試。
在仿真調試的過程中,先后對DS18B20測溫模塊、lcd1602顯示模塊、PIC單片機的USART模塊通信等,分別進行了仿真測試。待各部分均測試正確無誤后,方才對整體電路進行測試。圖3所示即為本文對溫度測量部分進行仿真調試和測試。
從Protues的仿真結果來看,本文設計的數字溫度測量電路,以PIC16F877單片機為工作處理器的核心,外接DS18B20和LCD1602,用單片機處理數字信號,再把其送入顯示器顯示。在經過反復的仿真調試和測試后,驗證其使用起來比較方便且結果簡單易讀。與此同時,如果在本文涉及的基礎上在擴展其功能,如多點測溫、溫度報警等,則只需調整PIC單片機程序即可。這樣的話,本文設計的測溫系統,在具有電路簡單、維護方便等優點的同時,還具有擴展兼容性好、讀數準確易懂等特點,能夠滿足日常生活對測溫計的一般基本要求。
參考文獻
[1]劉君華.傳感器技術及應用實例[M].電子工業出版社, 2008.
[2]彭樹生,莊志洪,趙惠昌.《PIC單片機原理及應用》P224-226[M].機械出版社,2001,1.
[3]李榮正.PIC單片機原理及應用[M].北京航空航天大學出版社,2005.
作者簡介:
篇4
實驗操作是理論聯系實際的重要環節,實驗報告必須在科學實驗的基礎上進行,實驗報告的撰寫是知識系統化的吸收和升華的過程,實驗報告應該體現完整性、規范性、正確性、有效性。現將撰寫實驗報告的有關內容說明如下:
1.實驗名稱
2.實驗目的
本次實驗所涉及并要求掌握的知識點。
3.實驗內容與實驗步驟
實驗內容、原理、原理圖分析及具體實驗步驟。
4.實驗環境
實驗所使用的器件、儀器設備名稱及規格。
5.設計實驗數據表格
6.實驗過程與分析
詳細記錄在實驗過程中發生的故障和問題,并進行故障分析,說明故障排除的過程及方法。
根據具體實驗,記錄、整理相應數據表格、繪制曲線、波形圖等,并進行誤差分析。
7.實驗結果總結
對實驗結果進行分析,完成思考題目,總結實驗的心得體會,并提出實驗的改進意見。
注:1.前5項必須在做實驗之前完成,并由指導教師簽字后才能做實驗。
2.對于學生自擬實驗題目、參與科研、創新實驗等形式實驗項目的實驗報告可采用論文、實驗總結報告等形式完成。
3.此封皮標準頁面為16K,實驗報告:實驗名稱:
熟悉PIC系列單片機的開發環境及簡單編程
實驗目的:
1. 通過順序結構的簡單程序設計,熟悉PIC系列單片機的開發環境,掌握基本應用步驟和命令;
2. 熟悉匯編語言指令,掌握基本的程序設計方法。
實驗環境:
PC計算機 MAPLAB編譯環境
實驗原理 :
實驗一:交換兩個寄存器內容(例如交換f10H和f11H的內容) 實驗過程比較簡單,無分支程序,而且思路十分清晰,難度不大。
實驗二:(選作)將某一寄存器內容中的奇偶位數據交換。
本實驗的思想是:將寄存器中數據同10101010二進制數相與,得到原數據的奇數位,并向右移一位后存至一個寄存器,作為結果數據的偶位數;再將寄存器中數據同01010101二進制數相與,得到原數據的偶數位,并向左移一位后存至另外一個寄存器,作為結果數據的奇位數。最后,將這兩個寄存器中的數字進行或運算,得到結果。
實驗中,使用了RO作為記錄原數奇位數的寄存器,RE作為記錄原數偶位數的寄存器,RN作為記錄員數據的寄存器,RR作為記錄結果的寄存器。
實驗程序:
實驗一:
LIST P=16C54
RA EQU 10
RB EQU 11
RT EQU 12
ORG 1FFH
GOTO MAIN
ORG 0
MAIN NOP
MOVLW 0
MOVWF RT
MOVLW 15H
MOVWF RA
MOVLW 3AH
MOVWF RB
MOVF RA,0
MOVWF RT
MOVF RB,0
MOVWF RA
MOVF RT,0
MOVWF RB
END
實驗二:(選作)
LIST P=16C54
RO EQU 10
RE EQU 11
RN EQU 13
STATU EQU 3
CARRY EQU 0
RR EQU 12
ORG 1FFH
GOTO MAIN
ORG 0
MAIN NOP
MOVLW 99H
MOVWF RN; GIVE VALUE
ANDLW B'10101010'
MOVWF RE
BCF STATU, CARRY
RRF RE; ODD->EVEN
MOVF RN,0
ANDLW &nbs p; B'01010101'
BCF STATU, CARRY
MOVWF RO
RLF RO; EVEN->ODD
MOVF RO,0
IORWF RE,0; ADD THE TWO PARTS OF THE NUMBER BY OR THEM
MOVWF RR
END
調試結果:
實驗一結果:
1、賦值后
2、調換中
3、調換后
實驗二結果:
1、賦值后
2、取奇數位的數值存入RE
3、將奇數位的數值右移一位
5、取偶數位的數值存入RO
6、將偶數位的數值左移一位
7、得到最后結果
實驗分析與實驗體會:
本實驗通過順序結構的簡單程序設計,我基本掌握了PIC系列單片機的開發步驟和命令,熟悉了PIC系列單片機的開發環境MAPLAB,并在具體變成過程中,熟悉匯編語言指令,掌握基本的程序設計方法。
雖然本實驗是基本練習,目的是為了熟悉實驗環境,但是,在實驗中還是學到了很多東西:
篇5
關鍵詞:單片機;溫度監測;自動撥號;語音報警
中圖分類號:TP2文獻標識碼:A文章編號:1672-3198(2009)06-0272-02
1系統硬件電路的設計
1.1系統的功能框圖
系統的主要組成部分包括:溫度傳感器DS18B20、PIC16F877單片機、可編程鍵盤/顯示器接口芯片8279、OCM4X8C液晶顯示器、MODEM、ISD2560語音芯片和信號音檢測模塊CR6230,系統的功能框圖如圖1所示。
系統選用美國Microchip公司生產的價格低廉、性能優良的PIC16F877單片機作為控制主體,充分利用其提供的軟硬件資源,可使控制系統硬件電路設計相對簡潔,提高系統的可靠性。但由于系統中的各種功能模塊較多,每個模塊都需要單片機給出一定數量的控制線、數據線等來完成相應的功能,而單片機的I/O資源有限,所以必須進行I/O擴展。這里是通過由單片機的3個I/O引腳(RC1-RC3)控制譯碼器74LS138從而給出8個選通信號,分別選通幾個74LS373和74LS245來實現對各模塊的控制與通信的。
此外,需要給單片機設計復位電路,這里采用RC復位電路,頻率約為4MHz。
1.2多路溫度采集
針對測量環境、精度和系統主機對監測點傳輸距離的不同要求,以及考慮元件的成本,選擇美國DALLAS半導體公司最新推出的一種數字化單總線器件DS18B20。在硬件上,DS18B20與單片機的連接有兩種方法。一種是將DS18B20的UDD接外部電源,GND接地,其I/O與單片機的I/O線相連;另一種是用寄生電源供電,此時DS18B20的UDD、GND接地,其I/O接單片機I/O。無論是內部寄生電源還是外部供電,DS18B20的I/O口線要接5K見左右的上拉電阻。DS18B20有六條控制命令,如表1所示。
CPUCPU對DS18B20的訪問流程是:先對DS18B20初始化,再進行ROM操作命令,最后才能對存儲器操作和對數據操作。DS18B20每一步操作都要遵循嚴格的工作時序和通信協議。
1.3信息顯示
采用OCM4X8C液晶顯示模塊作為輸出顯示??娠@示漢字及圖形,采用單片機8位并行連接方式,通過給定命令和顯示數據完成不同界面的顯示。當單片機通過譯碼器對連接液晶顯示模塊的雙向鎖存器74LS245使能,并且相關引腳通過單片機傳送適當的電平時,給出一定的指令字。實現顯示的過程是:在傳送命令的狀態下先選擇指令集清屏,然后指定在資料寫入或讀取時游標的移動方向及顯示的移位,開顯示,設定顯示地址,然后進入傳送數據的狀態,根據要顯示的內容從中文字庫中找出相應的16進制代碼并將其依次傳給液晶顯示器(此時要注意每行顯示的字數限制),之后單片機就可以對液晶顯示模塊進行讀寫操作。
1.4撥號設計
采用外置MODEM來實現撥號功能,單片機與MODEM之間采用串行通信,連接方式見圖2。將電話線接入MODEM后,單片機按照RS232通信標準與MODEM相連,這里是通過MAX232芯片來實現TTL電平與RS232電平的轉換,按照MODEM的工作波特率(9600bps)設置后,單片機串口發出相應AT命令可實現對MODEM的控制,同時MO-DEM在執行該命令后會返回一定的信息。返回信息對于判斷MODEM是否正常工作以及電話是否撥通和被接聽都有重要的作用。
選用4選1模擬開關4052芯片完成單片機與MODEM串行通信外和傳感器模塊的MAX485串行通信的控制。當單片機端口C的RC3=1、RC2=0、RC1=1時,譯碼器74LS138的譯碼線Y5有效,使得74LS373有效,因而來自單片機的RD4位鎖存至4052的INH端,此時RD4的低電平來控制4052的選通。因4051的INH端通過反相器連接4052的INH端,所以不被同時選中。
為了實現MODEM與單片機的實時通信,將系統板上用于連接MODEM的D型插口的RST與CTS互聯,DTR與DSR互聯。
1.5語音控制模塊
該部分主要是通過單片機控制語音芯片ISD2560來實現多段語音存儲和播放。通過給定相應段地址和控制信號(錄放音P/R和使能控制CE),ISD2560及其電路即可實現對多段語音的存儲和播放。由于語音的存儲有600個地址,所以要用A0-A9共十位進行表示,對ISD2560輸入地址,首先單片機的端口D通過74LS373輸入A0-A7八位地址,然后再單獨輸入A8、A9兩個高位地址。錄音和放音是單片機通過RD7控制錄放音引腳P/R實現的。
1.6信號音檢測模塊
信號音檢測模塊CR6230用于實現準確識別各種電話信號音,包括撥號音、回鈴音、忙音和催掛音等功能。即:若得出某種結果后,相應的信號引腳則輸出有效TTL電平。
接聽的判斷過程是單片機控制MODEM撥號后,識別回鈴音信號是否有效,若無效則重撥或改撥號碼;回鈴音信號有效則等待,若其變為無效則判斷此時對方是否接聽,此后還要根據MODEM的返回值來進一步確定是否真被接聽。信號的識別需要一定的周期才可以保證可靠性和準確率,所以在檢測到信號音后要延時大約1s的時間,以保證準確的識別結果;同理,當信號消失后也應略有延時再清除。硬件設計是將電話線路經通信變壓器CRE變換隔離后接入到CR6230的信號輸入端IN引腳。通信變壓器CRE3用于電話終端產品和中繼線產品的線路接口部分,技術指標符合郵電部入網標準。將CR6230的BS、RS、PS、SS引腳分別通過鎖存器74LS373與單片機的D3~D0連接,單片機通過讀取端口D的低四位就能獲得CR6230返回的當前信號狀態。另外,若單片機通過控制譯碼器的Y2引腳將CR6230的CS引腳設置為接收低電平時,BS、RS、PS、SS引腳也將被設置為低電平,這樣,其上的信號被清除以等待接收新的信號。
2系統的軟件設計流程圖
系統軟件設計的難點在于對DS18B20的控制(如圖3)。
3結語
設計以PIC單片機系統為核心,由單片機、溫度傳感器、RS-485串口通信和計算機組成,利用了DS18B20“一線總線”數字化溫度傳感器,能夠對多點的溫度進行實時巡檢。各檢測單元(從機)能獨立完成各自功能,同時能夠根據主控機的指令對溫度進行定時采集,測量結果不僅能在本地顯示,而且可以利用單片機串行口,通過RS-485總線及通信協議將采集的數據傳送到主控機,進行進一步的存檔、處理。主控機負責控制指令的發送,控制各個從機進行溫度采集,收集測量數據,并對測量結果(包括歷史數據)進行整理、顯示和存儲。主控機與各從機之間能夠相互聯系、相互協調。本系統運行穩定、工作精度高,經測試,在-10℃~+70℃間測得誤差為0.25℃,80℃到105℃時誤差為0.5℃,當T>105℃誤差增大到1℃左右。實踐證明,該控制系統操作方便,維修簡單,運行穩定、可靠。
參考文獻
[1]王志鵬.可編程邏輯器原理與程序設計[M].北京:北京航天航空出版社,2005.
[2]劉啟中,李容正,王力生,等.PIC單片機原理及應用[M].北京:北京航天航空出版社,2003.
[3]李雪梅.簡單實用的有線報警系統[J].微型計算機信息測控自動化,2005,(7):144-145.
[4]文哲雄,羅中良.單總線多點分布式溫度監控系統的設計[J].微型計算機信息測控自動化,2005,(6):63-65.
篇6
【關鍵詞】單片機;PIC16F877A;A/D轉換;Proteus
隨著科技進步,機械自動化水平不斷提高。當前人力資源匱乏,企業被要求改善工作環境的背景下,對傳統機械進行自動化改造勢在必行。本文的研究解決的問題就是為了減輕傳統粉粒物料運輸車在卸料過程中對人工操作的過分依賴。同時實現自動卸料后可以減輕粉塵對操作工身體的傷害。
PIC單片機具有較強的驅動電流,處理數據速度較快。內部整合了多個模塊,可以降低電路的開發難度。
1 電路設計與驅動器模型
根據卸料的步驟,在Proteus里設計完成相應動作的硬件電路。為減小電磁驅動器對PIC單片機干擾,這里采用光電耦合元件PC827進行強弱信號隔離。利用小信號放大管BC184與中功率放大管TIP31、TIP32構成H橋直流電磁驅動電路[1],如圖1。
柳州運力雙倉粉粒物料運輸車的卸料流程圖[2]為:
上圖通過控制信號端口M3與M4,其組合有以下三種[3]:
(1)M3:M4=01時的工作原理為:
M3端口為低電平時Q13、Q10截止,Q15、Q9導通,電磁驅動器左端為高電平。M4端口為高電平時Q11、Q16截止,Q12、Q14導通,電磁驅動器右端為低電平。此時電磁驅動器推動閥門開啟。
(2)M3:M4=10時電磁驅動器拉動閥門關閉。
(3)M3:M4=00或者11時電磁驅動器停止工作。
電磁驅動器利用線圈導電產生電磁力推動動鐵芯進行閥門的開關,電磁驅動器模型[4]如圖3。
根據圖2控制流程圖,通過Proteus設計的系統控制電路。圖中將AN2作為A/D輸入端口,共陽極LED屏顯示實時罐體的氣壓值,PIC單片機通過光電耦合元件PC827與驅動電路隔離。卸料系統電路如圖4。
2 PIC單片機C語言程序設計
當前設置輸入PIC單片機A/D端口的模擬電壓為0~5V,罐體內最大氣壓為0.2MPa。在MPLAB平臺上利用HI-TECH PICC編寫C語言程序[4]。
利用C語言10個常用的函數,可以編寫出大部分復雜PIC單片機控制程序,使控制程序可讀性較強,移植性較好,并且縮短了系統的開發時間。
將以上完整程序進行編譯燒寫入單片機內,在Proteus虛擬環境中可以模擬卸料的基本動作。由于實際中使用的是電磁驅動器,因其結構簡單須利用機械結構對驅動器進行限位,從而到達預期的閥門開度。
3 控制系統的改進
以上控制電路只是實現了閥門開關的基本動作。從實際應用角度來看,需要添加一些附加功能,才能投入實際應用中。在本系統是一個可擴展控制的電路,在RD的I/O口有多余的引腳,因此對于三倉的粉粒物料運輸車,僅僅需要在RD引腳增加2對控制端口。對于不同卸料高度,對管道內二相流體流動性有不同的影響。因此可以根據流體出口的密度,利用PIC單片機控制助風閥的開度,對管道內二相流體流動性進行控制,提高卸料的效率,同時便于粉粒物料運輸車的卸料系統能夠實現智能化。
4 結論
PIC單片機高速度、低電壓、低功耗、大電流,減少硬件電路設計的復雜性。圖4所示為卸料系統的基本硬件電路,利用PIC單片機可以很好的對電路進行簡化,增強電路的可控性。
利用C語言進行單片機編程,可以降低系統的開發難度。開發者不必過多的了解單片機的內部結構,只需要了解某些外設特殊寄存器相關位的設置。而且C語言比匯編語言可讀性較強,能夠更好地發現編程的邏輯錯誤。在MPLAB平臺上利用HI-TECH PICC編譯器,可以對所編寫程序進行自動優化,使程序轉換成二進制時更加的精煉,減少占用內部存儲空間。同時PICC編譯器可以實現自動分頁,編程者不用過多考慮PIC單片機分頁問題。對具有基本C語言能力的編程者,也能較快編寫所需的控制程序。利用PIC單片機與C語言結合進行控制電路設計,將極大提高產品設計、研發的效率。
【參考文獻】
[1]韓軍,周鏡平.基于PIC單片機的直流電機控制器研究[J].制造業自動化,2011,1(33):147-149.
[2]劉麗,蔣存波,王聰.粉狀物料運輸車智能卸料控制器的設計[J].科學技術與工程,2008,8(23):6372-6374.
篇7
關鍵詞:PIC;TCP/IP;嵌入式; 以太網
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2007)12-21589-01
One Kind Embedded Ethernet Based on the PIC Monolithic Integrated Circuit to Turn on the System
LI Zhong-lin,YUN Gui-quan
(Computer Engineering Department,Sichuan College of Vocational and Information Technology,Guangyuan 628017,China)
Abstract:This article constructs the system is Embedded System by the PIC16F877 monolithic integrated circuit achievement the central processing element,and Realizes the TCP/IP agreement stack through the hardware integrated circuit S-7600A agreement stack chip, Because the ethernet already became one kind widely to turn on Internet the way, May turn on through the RTL8019A ethernet control chip this system the ethernet, Then turns on Internet through the ethernet, thus may realize Embedded system regarding this the long-distance access and the control.
Key words:PIC;TCP/IP;Embedded;Ethernet
1 引言
目前大多數嵌入式系統是以微控制單元(MCU),與一些監測、伺服、指示設備配合實現一定的功能。在一些工業中,有時要求實現多個嵌入式系統之間的信息通信??梢杂么锌偩€RS-232、工業控制總線CAN等總線將多個嵌入式系統連接起來形成一個網絡,但這種網絡的通信范圍比較小,并且一般是孤立于Internet以外的。Internet現已成為社會重要的基礎信息設施之一,是信息流通的重要渠道,如果嵌入式系統能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個地方。
將嵌入式系統與Internet結合起來的想法其實很早以前就有了,主要的困難在于,Internet上面的各種通信協議對于計算機存儲器、運算速度等的要求比較高,而嵌入式系統中除部分32位處理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet協議將占用大量系統資源,或根本不可能。
本文將以專用硬件實現TCP/IP協議,并以8位PIC單片機做了中央處理器構建一個能實現Internet訪問的嵌入式系統。
2 系統硬件
系統框圖
如以上系統框圖所示,主要的硬件包括:PIC16F877,S-7600A,RTL8019A,62256等。下面介紹一下主要部件所完成的功能及在系統中的作用。
(1)PIC16F877
它主要完成系統的數據處理功能。要完成從S-7600A來的PPP包的處理使之轉換IP包。還要完成對用戶接口來的數據的讀取,處理,以及整個系統的協調。
(2)S-7600A
它是大規模集成電路工藝的TCP/IP協議棧芯片,支持:TCP/IP(Ver 4),UDP,PPP協議。對從PIC來的數據封裝過程如下:
其它部件RTL8019A作為網絡控制芯片,起網絡適配功能。62256為32K的SRAM,作為系統的數據存儲器。
3 系統的工作流程
4 結束語
該系統具有體積小,成本低,功耗低等特點。并且采用系統直接接入網絡的方式,即每個系統都有自己的IP地址。因此不用再配網關。
參考文獻:
[1]駱麗.嵌入式系統設計.北京航空航天大學出版社,2004.
[2]袁勤勇,黃紹金,唐青.嵌入式系統構件(原書第2版).機械工業出版社,2002.
篇8
0 引言
PIC18F__8單片機是美國微芯公司推出的16位RISC指令集的高級產品,由于芯片內含有A/D、內部E2PROM存儲器、I2C和SPI接口、CAN接口、同步/異步串行通信(USART)接口等強大的功能,具有很好的應用前景。但是,目前介紹其應用和以C語言編程的中文參考資料很少。本文將探討該型單片機異步串行通信的編程應用,程序用HI-TECH PICC-18 C語言編寫,并在重慶大學-美國微芯公司PIC單片機實驗室的PIC18F458實驗板上通過。
1 PIC18FXX8單片機同步/異步收發器(USART)
通用同步/異步收發器(USART)模塊是由PIC18FXX8內的三個串行I/O模塊組成的器件之一(USART也叫串行通信接口即SCI),可以配置為全雙工異步方式、半雙工同步主控方式、半雙工同步從動方式三種工作方式。
TXSTA是PIC18FXX8單片機串行通信發送狀態和控制寄存器,RCSTA是接收狀態和控制寄存器。由于在實際工程中,異步方式用得最多,這里僅介紹異步工作方式,其它方式可參閱相關資料。
1.1 USART 異步工作方式
在異步工作方式下,串行通信接口USART采用標準的不歸零(NRZ)格式(1位起始位、8位或9位數據位和一位停止位),最常用的數據位是8位。片內提供的8位波特率發生器BRG可用來自振蕩器時鐘信號產生標準的波特率頻率。通過對SYNC位(在TXSTA寄存器中)清零,可選擇USART異步工作方式。
1.2 USART波特率發生器(BRG)
USART帶有一個8位的波特率發生器(BRG),這個BRG支持USRAT的同步方式和異步方式。用SPBRG寄存器控制一個獨立的8位定時器的周期。在異步方式下,BRGH位(控制寄存器TXSTA的)也被用來控制波特率。在同步方式下,用不到BRGH位。表1給出了在主控方式下(內部時鐘)不同USART工作方式時的波特率計算式。
表1 主控方式下的波特率計算式
SYNC
BRGH=0(低速)
BRGH=1(高速)
(異步)波特率=FOSC/[64(X+1)]
波特率 = FOSC/[16(X+1)]
1
(同步)波特率=FOSC/[4(X+1)]
無
1.3 USART 異步工作方式配置
下面是串行通信異步工作方式配置步驟(順序可以改變):
(1)配置發送狀態和控制寄存器TXSTA;
(2)配置接收狀態和控制寄存器RCSTA;
(3)配置RX(RC7引腳)、TX(RC6引腳)分別為輸入和輸出方式;
(4)通過設定的通信波特率配置SPBRG寄存器,計算公式參見表1;
(5)設置串行通信接收或發送中斷是否使能;
(6)清串行通信接收或發送中斷標志;
(7)設置串行通信接收中斷或發送中斷的優先級是高或低優先級中斷方式,PIC18單片機默認情況下是高優先級中斷,若是低優先級中斷,則必須進行設置;
(8)設置串行通信接收和發送數據是否允許。
若用到了中斷功能,還需設置總中斷和中斷使能,以開放未屏蔽的中斷。
2 USART接口硬件電路
利用PC機配置的串行口,可以很方便地實現PC機與PIC18單片機的串行數據通信。PC機與PIC單片機USART連接最簡單的是三線方式。由于PIC單片機輸入、輸出電平為TTL電平,而RS-232C PC機配置的是RS-232C標準串行接口,二者電氣規范不一致,因此要完成PC機與微控制器的串行數據通信,必須進行電平轉換。圖1為PIC18F458單片機的RS-232電平轉換電路。圖中MAX232(或MAX202)將PIC18單片機TX輸出的TTL電平信號轉換為RS-232C電平,輸入到PC機,并將PC機輸出的RS232C電平信號轉換為TTL電平輸出到PIC微控制器的RX引腳。J9和PC機的連接方式見RS-232標準,與單片機相接的D型頭(J9)的2腳(PIC接收信號)與接PC機D型頭的3腳(PC機發送信號)相連,與單片機相接的D型頭(J9)的3腳(PIC發送信號)與接PC機D型頭的2腳(PC機接收信號)相連,二者的5腳與5腳相連(地相連)。PC機串口數據的發送和接收顯示均可采用各種串口調試軟件,我們使用的是串口調試助手V2.2(或V2.1、V2.0均可),在網上可以下載該調試軟件,該軟件操作簡單,這里不作介紹。
3 USART異步工作方式編程
串行通信的接收有查詢和中斷2種方式,在實際應用中,一般不采用查詢接收數據,常用的是中斷接收數據。發送有中斷發送和非中斷發送,在下面的例程中我們采用了中斷接收數據,發送數據采用中斷方式還是非中斷方式可以在程序中通過對發送方式標志Send_Mode(不為0,中斷方式發送;=0,非中斷方式發送)進行設置實現。
在PIC單片機發送數據時,發送中斷標志TXIF不能用軟件清0,只有當新的發送數據送入發送數據寄存器TXREG后,TXIF位才能被硬件復位,因此在程序中清該標志是無效的。采用中斷發送數據的方法是:在主程序中啟動發送一串數據的第一個數據,然后利用發送完成中斷啟動下一個數據發送,當一串數據發送后,不再發送數據,但有發送完成中斷標志,程序還要進入一次中斷,這最后一次中斷對數據發送是無用的,必須將該標志清0,采用的方法是禁止發送使能(TXEN=0)而引起發送被終止或對發送器復位。
下面是一個用串行通信進行接收和發送數據的例程,程序實現功能:PIC18單片機接收到PC機下發的8個數據后,將收到的8個數據以中斷或非中斷發送方式返送回PC機。
#include "pic18.h" /* PIC18系列的頭文件 */
unsigned char receive232[8]; /* 接收數據數組 */
unsigned char send232[8]; /* 發送數據數組 */
unsigned char receive_count=0; /* 接收數據個數計數 */
unsigned char send_count=0; /* 發送數據個數計數 */
unsigned char *point
er; /* 發送數據指針 */
unsigned char i; /* 程序中用到的循環變量 */
unsigned char SciReceiveFlag; /* =1,接收到8個數據 */
unsigned char Send_Mode=0; /* 不為0,中斷方式發送;=0,非中斷方式發送 */void sciinitial() /* 串行通訊初始化子程序 */
{
TXSTA=0x04; /* 選擇異步高速方式傳輸8位數據 */
RCSTA=0x80; /* 允許串行口工作使能 */
TRISC=TRISC|0X80; /* :將RC7(RX)設置為輸入方式 */
TRISC=TRISC&0Xbf; /* RC6(TX)設置為輸出 */
SPBRG=25; /* 4M晶振且波特率為9600時,SPBRG設置值為25 */
PIR1=0x00; /* 清中斷標志 */
PIE1=PIE1|0x20; /* 允許串行通訊接口接收中斷使能 */
RCIP=0; /* 設置SCI接收中斷為低優先級中斷 */
CREN=1; /* 允許串口連續接收數據 */
if(0==Send_Mode) TXEN=1; /* Send_Mode=0,非中斷方式發送,串口發送數據使能 */
else /* Send_Mode=1,中斷方式發送 */
{
PIE1=PIE1|0x10; /* 允許中斷發送 */
TXIP=0; /* 發送低優先級中斷 */
}
}
void interrupt low_priority LOW_ISR() /* 低優先級中斷子程序 */
{
if(RCIF==1) /* RS232接收中斷 */
{
RCIF=0; /* 清中斷標志 */
receive232[receive_count]=RCREG; /* 接收數據并存儲 */
send232[receive_count]=RCREG; /* 接收數據存放到發送緩沖數組 */
receive_count++; /* 接收計數器加1 */
if(receive_count>7) /* 如果已經接收到8個數據 */
{
receive_count=0; /* 接收計數器清0 */
SciReceiveFlag=1; /* 置接收到8個數據標志 */
}
}
else if((0!=Send_Mode)&&(TXIF==1)) /* 中斷發送數據方式且為發送中斷 */
{
if(send_count>7) /* 已經發送完8個數 */
{
TXEN=0; /* 發送不使能 */
return;
}
else
{
send_count++; /* 發送計數器加1 */
TXREG=*pointer++; /* 發送當前應發送數據,發送指針加1 */
}
}
}
main() /* 主程序 */
{
INTCON=0x00; /* 關總中斷 */
ADCON1=0X07; /* 設置數字輸入輸出口,不用作模擬口 */
PIE1=0; /* PIE1 的中斷不使能 */
PIE2=0; /* PIE2 的中斷不使能 */
PIE3=0; /* PIE3 的中斷不使能 */
Send_Mode=1; /* Send_Mode不為0,中斷方式發送數據;
Send_Mode =0,非中斷方式發送數據 */
sciinitial(); /* 串行通訊初始化子程序 */
IPEN=1; /* 使能中斷高低優先級 */
INTCON=INTCON|0xc0; /* 開總中斷、開接口中斷 */
while(1)
{
if(1==SciReceiveFlag) /* 是否接收到8個通信數據 */
{
SciReceiveFlag=0; /* 清接收到8個通信數據標志 */
if(0!=Send_Mode) /* Send_Mode不為0,中斷方式發送 */
{
send_count=0; /* 發送數據計數清0 */
pointer=&send232[0]; /* 發送指針指向發送數據數組首地址 */
TXREG=*pointer++; /* 發送第一個數據后,將發送指針加1 */
TXEN=1; /* 使能發送 */
}
else /* Send_Mode =0,非中斷方式發送數據 */
{
pointer=&send232[0]; /* 發送指針指向發送數據數組首地址 */
for(i=0;i<8;i++)
{
TXREG=*pointer++; /* 發送數據后,將發送指針加1 */
while(1) /* 等待發送完成 */
{
if(TXIF==1) break; /* 等待發送完成 */
}
}
}
}
}
}
篇9
關鍵詞:弧光接地; 金屬接地;鐵磁諧振
中圖分類號:TM864文獻標識碼:A
[WT]文章編號:1672-1098(2011)02-0066-05
收稿日期:2011-03-31
基金項目:合肥學院科研發展基金計劃資助項目(08KY008ZR)
作者簡介:龍夏 (1982-),男,湖南湘西自治州人,助教,碩士,主要研究方向為測控技術。
[JZ(〗[WT3BZ]Design of DSPIC-based Arc-Suppression and Resonance Eliminating Device
LONG Xia, TAN Ming , XIAO Lian-jun
(Department of Computer Science & Technology, Hefei University, Hefei Anhui 230601, Chian)
Abstract:In order to solve easy occurrence of arc in current distribution network, over-voltage of metal grounding, magnetic resonance phenomena and its hazards, control algorithm of arc and harmonic elimination was proposed.
How to use the microcontroller hardware and software design to make accurate judgments of grounding and resonant failure, and make them a certain degree of stability and fault tolerance were presented.
Key words:arc grounding; metal grounding; ferro resonance
在我國3~35 kV供電系統中,大部分為中性點不接地系統,這種系統在發生單相接地時,電網仍可帶故障運行,這就大大降低了運行成本,提高供電系統的可靠性,但這種供電方式在單相接地電流較大時容易產生弧光接地過電壓和相間短路,給供電設備造成了極大的危害。以前的解決辦法是在中性點加裝消弧線圈補償電容電流來抑制故障點弧光發生的機率。很顯然,這種方法的目的是為了消除弧光,但由于消弧線圈的自身的諸多特點,很難對電容電流進行有效補償,特別是高頻分量部分對供電設備造成的危害無法克服[1]。
而當電壓互感器的非線性電感與線路對地電容發生匹配時會引起鐵磁諧振過電壓,會威脅到電力系統的安全運行,損壞電氣設備,嚴重時會引起電壓互感器的爆炸,造成變電站母線停電事故,造成嚴重后果[2]。長期以來,電力系統中消除鐵磁諧振的方法一般是在PT開口三角繞組中并聯一個電阻來破壞諧振點,復雜的電力環境造成諧振點的不唯一,所以這種方法很難做到完全消諧,費時費力。
智能消弧裝置,該裝置在出現弧光接地時,通過一組可以分相控制的真空接觸器,使故障相接地,達到徹底消除弧光的目的[3]。
本設計采用PIC高性能DSP系列單片機為處理器,實時采集電網三相電壓及PT開口電壓,采用合理的算法,當檢測到故障相出現弧光接地時發出控制信號,使故障相弧光接地迅速轉變為金屬性接地,而檢測到鐵磁諧振時驅動可控硅動作消除由鐵磁諧振引起的過電壓,并配以監控界面,便于修改參數,能夠很好地起到消弧消諧的目的,保護電網安全。
1裝置工作原理
當電網正常工作時,PT開口三角處零序電壓為零,一旦線路發生故障,中性點對地絕緣的供電系統會出現零序電壓,將零序電壓作為啟動信號開始計算,然后再根據發生故障時每相電壓的情況進行邏輯分析計算,判定接地故障發生的相別及接地屬性,再根據判定結果做出以下處理:
1) 如果發生間歇性弧光接地,控制器使故障相對應的真空接觸器閉合,使系統由不穩定的弧光接地瞬間轉變為穩定的金屬接地,故障相電壓降為零,電弧消失。500 ms后斷開真空接觸器,并再次判斷,若故障消失,則說明本地弧光接地為電網電壓沖擊引起的瞬時性接地故障,系統已恢復。若再次檢測到故障,則認定為永久性的接地故障,再次閉合真空接觸器,記錄故障,聲光報警,并向上位機上傳故障記錄,等待工作人員處理。
2) 如果發生金屬接地故障,則記錄故障,聲光報警,不做任何處理,等待工作人員處理。
3) 如果發生三相斷線故障,則記錄故障,聲光報警,等待工作人員處理。
4) 如果發生50 Hz基頻、100 Hz、150 Hz倍頻鐵磁諧振,驅動可控硅三次瞬間短接PT開口端,破壞諧振條件,消除鐵磁諧振,并記錄故障。諧振頻率的判定可以通過快速FFT判別諧振頻率[4]。
2 硬件設計
2.1 系統介紹
控制器是系統的核心,其性能的優劣直接影響系統的性能。選用DSPIC33FJ128GP206為處理器,電路包括模擬量采樣轉換電路、485通信電路、可控硅觸發電路、真空接觸器觸發電路、HMI電路及聲光報警等(見圖1)。由4路電壓互感器采樣三相電壓及PT開口電壓,經過一定處理變換為單片機AD口能夠處理的0~3V電壓,單片機利用采樣得的4路電壓,輔助以一定的算法,判斷當前接入電網是否存在弧光接地、金屬接地、PT斷線以及電磁諧振現象,若存在,在液晶屏上顯示當前的故障,存儲故障,并做出相應的處理。
圖1 系統框圖
2.2 MCU介紹
在本設計采用PIC公司的高性能16位數字信號控制器DSPIC33FJ128GP206,16位寬數據總線,24位寬指令,可尋址最大4M 指令字的線性程序存儲空間,可尋址最大64 kB 的線性數據存儲空間,具有最多67個中斷源,最多85個IO口,具有SPI、IIC、UART、DCI、增強型CAN、PWM等外部接口,方便使用,同時具有兩個AD通道,可進行順序、同時等各種方式的采樣。在此利用其同時采樣4路電壓信號,并判定是否發生弧光接地、諧振等故障,同時外擴鍵盤、顯示、通信、報警等功能。
2.3 信號采樣電路
根據分析需采樣三相交流相電壓電壓UA、UB、UC及PT開口電壓UPT,送入單片機內部AD采樣前需經過一定的變換,即降壓、交轉直。4路交流電先通過電壓互感器降壓,再通過基準電壓抬升至直流。電壓互感器選用南京擇明電子的ZM-BPT系列電壓互感器,變比為456 V/3.53 V,額定輸入電壓為380 V,額定輸出電壓為2.941 V,過載倍數1.2,耐壓強度3 000 V,完全能達到要求。電壓互感器輸出小信號交流電,而AD只能處理單極性電壓,所以通過由LM258輸出的1.65 V基準電壓抬升后轉為單極性AD合理范圍的電壓信號,并通過濾波送入AD,同時加入一個3.3 V的穩壓管保護AD端口(見圖2)。
圖2 信號處理電路
對于DSPIC33系列的單片機,內部有兩個10位/12位AD模塊,最多有32個模擬量輸入引腳,轉換速度最高達1.1MSPS,最多4通道同時采樣,可以選擇不同的觸發源,轉換結果通過DMA傳送,預排轉換序列,在精度要求不是很高的情況下完全能達到要求。在本設計中,要求同時采樣三相電壓及PT開口電壓,由此算出4路通道的有效值,并判斷開口電壓序列是否出現諧振,DSPIC33的內部AD完全能達到轉換要求。 在此選用AN5、AN4、AN3、AN2分別作為三相電壓及PT開口電壓的輸入通道,采用4通道同時采樣、分時轉換的策略。
2.4 開關量電路
在系統中需要監控機柜中多路開關量的狀態,包括三路真空接觸器合閘信號、三路高壓熔絲熔斷信號、一路隔離刀開關信號及一路遠程復位信號。同時需要輸出多路開關量,包括失電報警、斷線報警、諧振報警、三相弧光接地報警等。電網環境比較惡劣,現場信號極易串入弱電系統,使系統控制邏輯紊亂甚至損壞。為保護弱電控制系統,所有輸入輸出量與系統接入時均通過光電隔離,實現了測控系統和現場環境的隔離,增強了系統的抗干擾能力。選用Toshiba的4通道非線性光耦TLP523-4,最大輸出電流可達150 mA。輸出開關量通過光耦后驅動固態繼電器給機柜相應的24 V控制報警信號。機柜相應的輸入信號均為24 V開關量,有一定的雜波,為保證系統正確運行,送入前經過簡單的濾波,具體如圖3所示。
圖3 光電隔離
2.5 可控硅觸發電路
采用先進的過零觸發電路, 以電壓過零型雙向可控硅取代由分立元件組成的功放電路及脈沖變壓器等驅動環節, 簡化了觸發控制電路的結構, 并提高了控制器的可靠性[5]。
采用MOC3081芯片設計晶閘管過零觸發電路。當電力系統正常工作時, PT開口三角處零序電壓為零,一旦系統發生諧振或單相接地, PT開口三角處即伴有不同頻率成分的零序電壓,多為倍頻電壓和分頻電壓。發生諧波時,MCU 只需改變MOC3081輸入端電平即可立即觸發雙向晶閘管導通;切除時,只要撤銷觸發信號即可,開關在電流過零之后會自行關斷。這樣,MCU就可有效控制晶閘管的導通及導通時間,消除有害諧波。具體電路如圖4所示。
圖4 可控硅觸發電路
2.6 人機接口
人機接口由LCD顯示和鍵盤組成。LCD主要顯示一次側電壓互感器三相電壓、PT開口電壓、故障類型及故障記錄、系統時間等。鍵盤主要用于系統參數設置、故障記錄瀏覽、通信參數設置、系統時間設置等。
2.7 通信設置
系統采用485通信,485通信采用差分方式傳輸,可靠性高、傳輸距離遠,在電力系統中得到廣泛應用。采用MODBUS通信規約,報文格式分為下行報文(監控向裝置下發報文)、無故障上行報文(裝置向監控中心上發報文)、故障上行報文(裝置向監控中心上發報文)。報文用于上傳故障記錄、三相電壓及PT開口電壓、開關量狀態等。
3 軟件設計
控制器實時采樣三相電壓及PT開口電壓,分別計算三相電壓及PT開口電壓的有效值。DSPIC33內部AD可以實現4通道同時采樣,并可以切換通道,實現任意采樣。在此采樣同步采樣、分時轉換的策略,為方便進行FFT,每周波采樣點數定為128個點,采樣每個點的時間為156.25μs,DSPIC內部AD完全能達到要求。在采樣并判斷4路電壓有效值的同時,通過快速FFT判斷PT開口電壓是否出現倍頻、基頻及分頻諧振,主要判斷50 Hz基頻諧振、 100 Hz和150 Hz倍頻諧振、 25 Hz和15 Hz的分頻諧振。為防止由于外部環境的擾動造成控制器的誤動作,在設計中采用了延時動作的策略,根據實驗,選定在10個周波內連續出現故障的周波數大于6個時認定為故障,否則認定為擾動,取得了良好的效果,不僅能及時動作,同時提高了抗擾動能力(見圖5)。
圖5 控制器主程序流程圖
經過理論分析和長期的各種環境的實驗及經驗, 總結出一套判斷各種故障的數據組, 取得了良好的效果, 并在長期使用中證明是穩定可靠的(見表1)。
4 結束語
本文提出一種基于DSPIC單片機的消弧消諧一體機的研制方案,并對信號采樣處理、開關量控制、可控硅控制、人機接口及通信等模塊進行了詳細的描述,并給出實現方案。該裝置能夠準確測量三相電壓及PT開口電壓,并能準確判定并消除弧光接地、鐵磁諧振、短線等故障。將故障狀態記錄在液晶屏上的同時將故障數據記錄并上傳至PC監控中心。該系統具有一定的穩定性和抗干擾能力,已經在某公司研發成功并投入使用,取得了良好穩定的效果。
參考文獻:
[1] 高亞棟,杜斌.中性點經小電阻接地配電網中弧光接地過電壓的研究[J ]. 高壓電器, 2004, 40 (5):345 - 348.
[2] 郭光榮. 電力系統繼電保護[M ]. 北京:高等教育出版社, 2006:1-37.
[3] 仁,董浩斌,李景祿.自動消弧裝置的接入對配電網運行的影響及對策[J].華北電力技術,2003(8):18- 21.
篇10
【關鍵詞】直流電機;單片機;模糊控制;Fuzzy-PID參數自整定
一、引言
通常,工業生產中對于直流電機轉速控制的要求有調速、加速或減速、穩速三個方面。其中,前兩個要求已能很好地實現,但工程應用中穩速指標卻往往不能達到預期的效果,穩速即要求在生產過程中直流電機能以所需要的轉速穩定運行,并具有良好的抗干擾能力。
穩速很難達到要求的原因在于數字直流調速裝置中的PID調節器對被控對象及其負載參數變化適應能力差。模糊控制不要求被控對象的精確模型且適應性強,為了克服常規數字直流調速裝置的缺點,可將模糊控制與PID調節器結合,形成fuzzy-PID復合控制方案,設計能在負載、模型參數的大范圍變化以及非線性因素的影響下均可以滿足控制穩定轉速精度要求的直流電機控制器。
二、硬件設計
整個直流電機調速系統的硬件由電機控制模塊、速度反饋模塊、隔離保護模塊、電機驅動模塊、過流保護模塊、串口通信模塊幾部分組成。速度反饋模塊由安裝在直流電機的輸出軸上的增量式光電編碼盤反饋電機的實際位置,它的輸出直接聯到LM629的A、B輸入端,形成反饋環節。主控單元采用AT89S52單片機實現模糊控制以及與運動控制芯片LM629的數據傳送,單片機通過LM629獲得電機轉速數據,并通過中值濾波得到實際轉速V,之后經模糊運算得到的KP、KI、KD參數,再發送至LM629。電機驅動模塊采用LMD18200實現受限單極性驅動方式。過流保護模塊采用比較器LM339構成。系統采用RS232串口與PC機實現通信。
三、軟件設計
(一)直流電機Fuzzy-PID控制器的設計
本控制系統采用Fuzzy-PID參數自整定控制,即在一般的PID控制系統的基礎上,采用模糊推理思想,加上一個模糊推理環節。模糊推理環節是為了根據系統實時狀態調節PID的參數而設置的。
由Fuzzy-PID參數自整定控制系統結構圖可知,模糊控制器實際上是對PID調節參數進行修正,其輸入語言變量為直流電機轉速偏差絕對值│E│和直流電機轉速偏差變化率絕對值│EC│,輸出語言變量為KP、KI、KD三個參數。
用于在線自整定PID參數的模糊控制器是以誤差和誤差變化率為輸入語言變量,以比例系數、積分系數和微分系數為輸出語言變量的雙輸入三輸出模糊控制器,其控制規則其控制規則就是對參數KP、KI、KD的調節規則。由此可建立模糊調節規則表,再通過模糊推理和模糊運算,計算得到KP、KI、KD參數的精確值,以此做為PID調節的整定值,從而實現Fuzzy-PID參數自整定控制的功能。
(二)控制系統AT89S52單片機程序實現
在本系統中單片機主要工作是對LM629的控制,其中包括LM629硬件軟件啟動、相關運動參數的設定,速度數據采集,實現模糊控制,并完成與上位機的數據通信。單片機程序采,其內部含有梯形速度發生器和數字PID調節器,極大地簡化了位置伺服控制模塊的軟件設計。其PID控制算法可表示為:
為進一步提高控制精度,達到穩速的效果,對此算法進行改進后得到Fuzzy-PID參數自整定控制算法。即在PID算法的基礎上,通過計算當前系統誤差e和誤差變化率e,e、e則構成此二維模糊控制器的輸入量,再利用模糊規則進行模糊推理,實時計算進行PID參數調整,得到此時針對直流電機轉速調節最適合的PID參數。
模糊隸屬度函數的實現方式可以采用的點斜式存儲方式實現。為了簡化該程序設計,實驗中將│E│和│EC│共設置為5種簡單組合。
四、結論
通過實驗,Fuzzy-PID參數自整定控制系統較好地實現了對直流電機轉速的穩定控制。加上上位機監控平臺的使用,使對該直流電機的轉速控制更加方便快捷。當前,直流電機調速系統的控制方案層出不窮,并且控制效果也越來越好,自適應模糊控制及模糊神經網絡控制等智能控制方式也是直流調速系統控制的重要手段。
參考文獻:
[1] 陳梅,楊琳琳,許正榮.直流電機的模糊PID控制[J].自動化技術與應用,2008,02.
[2]紀友芳,林美娜.模糊PID復合智能控制參數自整定研究[J].微計算機應用,2007,08.