王麗麗 , 王啟增 , 胡小安 ,3, 偉利國 ,3, 張小超 ,3
(1.中國農業機械化科學研究院 北京 100083;2.前鋒農場 黑龍江 佳木斯 156325;3.土壤植物機器系統技術國家重點實驗室 北京 100083)
電磁繼電器是自動控制系統中應用比較廣泛的一種電子元器件,在實際應用時,如何根據控制電路的特點和負載的數量及形式來正確選擇和使用繼電器[1]呢?在控制電路中,不僅要保證低壓電路的控制信號能夠控制高壓的執行部件,還要采用隔離器件保障電路和人員的安全[2],為此,單片機的外圍電路設計和繼電器的正確使用在系統中起著關鍵性的作用。
該控制系統主要由傾角傳感器 WDD35D-4,AD7706,PIC18F6527,電磁繼電器JQC-3F及其外圍電路組成。整個系統采用5 V工作電壓,低功耗設計,與繼電器的接口進行光電隔離,降低了外部干擾,提高了系統工作的可靠性[2]。傳感器的電壓輸出范圍為0~5 V,對系統上電后,AD7706將實時地采集傳感器的輸出模擬信號,并通過串口發送到上位機,PIC18F6527通過軟件編程對輸出電壓進行判斷,當采集到的電壓大于或等于2.5 V時,單片機發出控制信號,將繼電器接通,當采集到的電壓小于2.5 V時,控制信號將驅動繼電器斷開。整個控制過程不斷循環,實現了對繼電器的實時控制功能。
傾角傳感器選用的是北京昆侖傳感技術中心生產的一款導電式塑料電位器WDD35D-4,阻值為5 kΩ,獨立線性度為0.1%,其功能是把一個機械位移轉換成電信號,使內部產生一個電壓分配器,當轉軸轉動時,電位器的阻值分配就會改變,繼而使輸出端的電壓發生變化。導電塑料電位器價格相對便宜,低溫下輸出變化小,低扭矩操作和高速應用是它的顯著優點。設計中傳感器的供電電壓是5 V,因此輸出電壓范圍為0~5 V,AD采集后通過串口發送到上位機的數據范圍為0000-FFFF。
AD7706是AD公司推出的16位AD轉換器,它具有3個準差分輸入通道,帶有增益可編程放大器,可用于直接測量傳感器輸出的低頻模擬信號,其優點是分辨率高、低功耗、動態范圍廣、自校準等[3]。設計中AD的供電電壓和參考電壓都為5 V,引腳串行時鐘輸入口SCLK,片選/CS,復位/RESET,指令或數據輸入DIN,轉換結果輸出DOUT,狀態信號/DRDY作為與單片機的通訊端口。傳感器的輸出模擬信號由AD7706進行采集,并通過單片機的指令信號將數據通過串口發送到上位機。
PIC18F6527是Microchip公司推出的高性能單片機,該處理器采用納瓦技術,功耗低,運行速度快,功能強大,抗干擾能力強,具有豐富的外圍接口,如CCP模塊、MSSP模塊、EUSART模塊、AD轉換模塊等[4],PIC18F6527在整個控制系統中處于核心地位,外圍硬件電路和軟件編程都是圍繞著單片機展開的,設計中單片機的供電電壓是5 V,系統采用的是外部晶振7.372 8 MHz。引腳中RD3~RD7,RB0是與AD7706相連接的端口,負責采集傳感器的實時電壓,RC6,RC7是與電平轉換芯片MAX232相連接的端口,負責將采集數據發送到上位機,RF6是與繼電器電路相連接的端口,負責驅動或斷開繼電器。單片機將AD采集到的數據實時的發送到上位機,然后對采集到的數據進行判斷,決定繼電器的開關狀態。當AD采集到的高八位數據大于或者等于128時,將RF6置為高電平,繼電器的常閉觸點斷開,相當于開關閉合,當AD采集到的高八位數據小于128時,將RF6置為低電平,繼電器的常閉觸點吸合,相當于開關斷開。
電磁繼電器JQC-3F通常用于自動控制電路中,它實際上是一種“自動開關”,在電路中起著自動調節、安全保護、轉換電路等作用[1]。設計中采用5 V電壓驅動繼電器,在繼電器的線圈兩端并上一個二極管,可以保護三極管被擊穿,釋放線圈產生的感應電動勢,并消除對電路的干擾[2]。單片機和繼電器之間的光耦EL817起到了隔離的作用,還可以消除對負載的影響。
整個硬件電路圖如圖1所示。

圖1 PIC18F6527外圍電路圖Fig.1 Schematic circuit of PIC18F6527
PIC18F6527可以用C語言來完成程序設計,首先要對系統和各芯片進行初始化,然后通過調用子程序來完成數據采集和控制繼電器動作的功能[5]。軟件開發環境為MAPLAB IDE V8.60,并利用Hitech公司開發的PICC編譯器進行編譯,還可以在線調試,最后用ICD3把程序燒寫到單片機中,當系統上電時,便可以完成實時控制。程序流程圖如圖2所示。
系統軟件是用C語言來完成的,其使用方便,靈活,執行效率高[6]。其中部分源程序如下:
int main(void)
{ NOP();
InitSys();

圖2 程序控制流程圖Fig.2 Programming flow chart
InitUSART1();
InitSPI2();
InitADMod();
TRISF=0X00;
CYB_K2=0;
while(1)
{
if(!AD_RDY1)
{
AD1_ReadData();
USART1_SendAD();
}
else continue;
if(ResAD1[0]>=128) CYB_K2=1;
else CYB_K2=0;
}
}
AD7706采集到傳感器的值通過串口顯示在上位機的串口調試助手窗口中,或者可以通過電壓表測量傳感器的輸出電壓,利用該值可以確定繼電器的通斷情況,下面將隨機采集到的10個樣本列表如表1所示。
由表1可以看出,改變傳感器的輸出電壓,可以實時調節繼電器的通斷,正確率為100%。說明這個控制系統是可行有效的。
設計的基于PIC18F6527的控制系統能夠實現對電磁繼電器的實時控制,并且該系統結構簡單,響應速度快,可靠性高,在工業系統控制、農業機械控制等都有廣闊的應用前景。

表1 實驗數據Tab.1 Experimental data
[1]王彥勇.淺談電磁繼電器參數、種類和選用方法[J].家庭電子,2005(3):52-53.WANG Yan-yong.Analyses ofelectromagnetic relay’s parameters, species and selection method[J]. Family Electronics, 2005(3):52-53.
[2]劉華昌.基于PIC16F87X的電磁繼電器控制設計[J].低壓電器,2008(15):16-18.LIU Hua-chang.Control design of electromagnetic relay based on PIC16F87X[J].Low Voltage Apparatus, 2008(15):16-18.
[3]朱延釗.AD7705/AD7706的原理與應用[J].電子設計工程,2002(6):59-61.ZHU Yan-zhao.Principle and application of AD7705/AD7706[J].Electronic Design Engineering, 2002(6):59-61.
[4]Microchip Company:PIC18F8722 Family Data Sheet.
[5]丁錦滔.PIC單片機C語言程序設計[J].電子制作,2010(11):54-57.DING Jin-tao.C program design based on PIC[J].Electronics Diy,2010(11):54-57.
[6]譚浩強.C程序設計[M].2版.北京:清華大學出版社,2005.