基于nRF2401的PLC無線通信控制器
2.3 波特率的設置
在接口電路設計完成后。要使單片機與nRF2401之間實現通信,還要考慮單片機的傳輸率,此處選擇單片機的波特率為9 600 b/s。根據波特率計算公式:
式中,波特率控制位SMOD置O,定時器時間常數X=253。
由此可得晶振頻率fosc=11.0592MHz,則單片機選用11.0592MHz的晶體振蕩器。
2.4 電源
該系統(tǒng)的電源部分由外部電源、集成穩(wěn)壓電路和部分外圍元件組成,這里選用集成穩(wěn)壓電路LMlll7為構成各元件提供供電電源。為了改善nRF2401的瞬態(tài)響應,在LMlll7外接2只電容,且在輸出端另加2只電容用于濾波,以改善輸出電壓波形。
3 軟件部分設計
在單片機與PLC的通信中,主要利用單片機向PLC發(fā)送命令和接收返回數據,用于讀取數據或修改PLC程序中控制參數。通信協議選用莫迪康Modbus ASCII串行通訊協議。
實現來自于RS-485通信接口基于Modbus ASCII串行通信協議的命令及數據轉換成滿足無線數據傳輸要求的通信格式,并傳送給其他通信終端,同時將現場采集的實時信號及狀態(tài)信號轉換為滿足Modbus ASCII串行通信協議要求的格式,并傳送給RS-485通信接口。圖4為無線通信控制器發(fā)送數據程序流程。圖5為無線通信控制器接收數據的程序流程。
圖4中,在單片機與nRF2401通信端,單片機先向nRF2401寫入配置字,然后檢測CE是否為高,若CE為高電平,則檢測通道1的中斷DRl是否為高,DRl為高,則有中斷信號,使nRF2401進入發(fā)送狀態(tài),開始發(fā)送數據,每發(fā)送完l位,系統(tǒng)檢查l幀數據發(fā)送是否完成,若未完成,則繼續(xù)發(fā)送,反之,結束該幀的發(fā)送程序。由此將獲取的現場數據傳送給另一通信終端設備。
4 試驗結果
實驗室采用GFG8016G信號發(fā)生器與計算機進行模擬PLC數據無線傳輸,試驗結果表明,在9 m范圍內,該無線通信控制器可實現數據的無線傳輸。
5 結論
基于nRF2401的PLC無線通信控制器,可根據需求實現短距離無線數據傳輸;對于該無線傳輸研究,后續(xù)需從其傳輸中的抗干擾和擴展傳輸距離方面進一步研究。
評論