陳永昕,陳洪寶
(1.吉林工業(yè)職業(yè)技術學院,吉林 吉林 132013;2.吉林石化公司有機合成廠電氣車間,吉林 吉林 132000)
智能家居等物聯(lián)網(wǎng)應用環(huán)境中的基本控制會經(jīng)常需要開關量控制,比如電燈、水泵、電磁閥控制流體流通和截止的情況。目前,常見的策略是應用嵌入式技術設計制作控制主板,完成網(wǎng)絡通信和開關量甚至模擬量的采集及控制。這對開發(fā)者的要求較高,需要具有嵌入式技術基礎,能夠進行高級語言程序編寫,能夠完成通信任務,并同其他控制計算機或者網(wǎng)絡終端進行通信,實現(xiàn)網(wǎng)絡控制。為了降低開發(fā)簡單開關量控制系統(tǒng)的技術難度,本設計給出了一種簡易的終端硬件解決方案,其中重點介紹可編程邏輯控制終端的設計實現(xiàn)方案,能夠滿足物聯(lián)網(wǎng)技術應用中簡單開關量的控制需求。
可編程邏輯控制終端采用宏晶科技公司生產的增強型51單片機作為控制核心,電路板配有RS232通信接口,由串口傳遞控制信息,實現(xiàn)開關量控制。電路板整體框圖如圖1所示[1]。
軟件編程通過傳統(tǒng)單片機編程軟件進行編寫,可以使用C語言或者匯編語言,但這兩種語言要求技術人員有較好的編程基礎。相對這類代碼語言,PLC編程使用的梯形圖更容易被工程人員接受。本設計方案編程實現(xiàn)途徑計劃采用梯形圖對功能程序進行編寫[2]。
控制核心選擇STC12C5616AD直插式窄體封裝28腳單片機,時鐘電路晶振采用11.059 2 MHz晶振配合30 pF瓷片電容。電源電路使用LM7805將12 V直流電壓降壓為5 V,對單片機系統(tǒng)供電[3]。具體串行口通信接口電路圖如圖2所示。
使用MAX232芯片進行通信接口電路設計,將單片機串行口轉為232電平,通過九針串口接口同上位機系統(tǒng)進行連接。具體電路圖如圖3所示。
圖3 RS232通信接口電路
開關量輸出部分電路本方案中采用機械繼電器進行實現(xiàn),單片機對繼電器的驅動選用ULN2003芯片,該芯片本質上是高耐壓、大電流復合晶體管陣列,由七個硅NPN復合晶體管組成,每一對達林頓都串聯(lián)一個2.7 K的基極電阻,在5 V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。每個芯片可以支持七路繼電器,在本方案的硬件電路中需要14路繼電器開關量輸出,因此需要兩片ULN2003芯片[4]。具體芯片和單片機連接關系如圖4所示。
圖4 ULN2003芯片與單片機連接關系圖
以第4組繼電器開關量輸出電路為例進行介紹,具體電路圖如圖5所示,圖中K4為機械繼電器,線圈輸入端并聯(lián)電路中有一個泄放二極管和一個工作指示發(fā)光二極管。繼電器輸出端直接連接四位接線端子,可輸出控制直流或交流0~380 V電壓的通斷任務。
圖5 開關量輸出及指示電路
圖6 完整電路原理圖
結合上述局部電路設計,按照總體硬件系統(tǒng)框圖機構設計電路圖,整個電路外接口能夠支持14路繼電器開關量輸出,通過RS232串口給入控制命令,可以和PC電腦上位機、組態(tài)觸摸屏等多種串口通信設備進行完成控制命令的輸入。在RS232接口上連接無線通信轉換模塊,可以完成無線聯(lián)網(wǎng)開關量可控制[5]。
PCB電路板布局:本設計使用的是Altium designer軟件,在電路圖中添加元件,封裝后導入PCB電路板圖文件,在機械層和禁止布線層繪制電路板邊框,然后將所有元件封裝合理布局到電路板外框中。在PCB繪圖界面中元件封裝布局如圖7所示。
圖7 PCB元件封裝布局
封裝布局時注意元件擺放整齊和周邊相連元件的方向,方便進行布線時線路走向美觀、線路距離短。
電路板布線、覆銅:在布線規(guī)則中設定開關量輸出信號線線寬60 mil,其他電路板信號線線寬20 mil,按照雙層布線,在PCB繪圖界面菜單欄執(zhí)行“Auto Route->All...”,在彈出窗口上點擊右下角Route All按鈕完成自動布線;最后需要在頂層和底層進行覆銅,覆銅和GND網(wǎng)絡連通。覆銅形狀及位置如圖8所示。
圖8 PCB電路板圖繪制效果
圖8頂層和底層覆銅大小及位置要一致,并且電路板兩側的覆銅需要分成兩部分,直流電路部分和交流部分覆銅分開。防止通斷交流信號干擾直流電路。
該邏輯控制器程序編寫可采用C語言、匯編語言這類代碼語言,通過單片機開發(fā)環(huán)境進行程序編寫,但對工程人員編程技術要求較高。本方案中重點介紹的是一種使用PLC梯形圖編寫單片機程序的解決方案[6]。PMW2HEX軟件是一種將三菱PLC梯形圖轉成51單片機HEX文件的工具軟件[7]。該軟件新版本除對基本開關量梯形圖指令有支持外,在串行口通信和ModBus總線協(xié)議上都有側重支持,而增加的WIFI模塊功能的支撐,也使得PLC梯形圖編程方法在物聯(lián)網(wǎng)終端應用上有了更好的支持。同時,該軟件在STC8、STC15和STC12系列單片機梯形圖編程上都有支撐。
該轉換軟件的應用界面如圖9所示,通過界面上“PLC I/O端口映射”區(qū)域進行端口對應設置,單片機的I/O引腳和PLC進行一一對應設置,便于轉換后邏輯輸入輸出關系之間的對應。此處對梯形圖指令的使用不再進行贅述[8]。
圖9 PMW2HEX轉換軟件界面
由于使用三菱PLC兼容指令,對工業(yè)組態(tài)軟件有了更好的支撐,比如技術人員可以使用MCGS或者組態(tài)王這類工業(yè)組態(tài)軟件完成上位機人機界面程序的編寫或者直接使用工業(yè)HMI設計觸控人機界面[9]。
有些項目應用環(huán)境數(shù)據(jù)傳輸較為簡單,不需要或者工程師不期望使用較為復雜的工業(yè)通信協(xié)議,比如工程技術人員自行編寫上位機軟件,為了保障通信控制命令穩(wěn)定,就需要自行編寫串行口通信數(shù)據(jù)協(xié)議。這里介紹一種簡易通信協(xié)議設計方法[10]。
一個協(xié)議幀由包頭、地址、數(shù)據(jù)段、校驗位和包尾5個部分組成。
例如:如表1所示,包頭、地址和包尾都為一個字節(jié)的十六進制數(shù),數(shù)據(jù)段可以根據(jù)實際需要定義數(shù)據(jù)長度,這里電路板上有14路開關量輸出接口,定義14個字節(jié)。校驗位是兩字節(jié)十六進制數(shù),用于存儲地址、數(shù)段所有十六進制數(shù)求和。第一個字節(jié)存儲求和高八位二進制數(shù),第二個字節(jié)用于存儲求和后的第八位二進制數(shù)。發(fā)送端和接收端根據(jù)協(xié)議定義,對每次接收的數(shù)據(jù)幀重新做一次求和,然后同接收道德校驗位進行比較,數(shù)值一樣說明接收的數(shù)據(jù)無誤。
表1 協(xié)議幀數(shù)據(jù)格式
通過上述內容介紹,給出了一種可編程邏輯控制終端的簡易實現(xiàn)方案。對于一些簡單開關量控制終端,使用成品PLC來做成本相對較高,使用傳統(tǒng)單片機制作硬件系統(tǒng)開發(fā)難度又相對較大,本設計中提供的實現(xiàn)方案既降低了開發(fā)難度,又能穩(wěn)定保障簡單邏輯控制在民用和工業(yè)中的應用。本方案中設計硬件終端實物照片如圖10所示。該控制板目前已經(jīng)用于會議室窗簾和投影幕的開關控制上,實現(xiàn)了會議室投影模式和普通模式的切換功能。
圖10 可編程邏輯控制終端實物圖