国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AVR單片機(jī)的物聯(lián)網(wǎng)可編程邏輯控制器設(shè)計(jì)

2022-02-25 03:46:00陳永昕
技術(shù)與教育 2022年4期
關(guān)鍵詞:編程語言圖形化電路設(shè)計(jì)

陳永昕

(吉林工業(yè)職業(yè)技術(shù)學(xué)院智能制造學(xué)院,吉林 吉林 132013)

1 引言

目前,市場上可編程邏輯控制器(PLC)的品類繁多,如信捷、匯川等國內(nèi)主流品牌在性價(jià)比和穩(wěn)定性上具有一定的優(yōu)勢(shì),是很多控制技術(shù)人員首選控制器。然而,在面對(duì)一些點(diǎn)數(shù)較少的開關(guān)量數(shù)據(jù)采集和控制應(yīng)用上,通用型PLC 無論是從成本還是從功能上考慮都存在大材小用的癢點(diǎn),尤其是加上需要通過無線通信方式進(jìn)行數(shù)據(jù)傳輸,更凸顯了通用PLC 的系統(tǒng)臃腫、投入成本較高。

為此,設(shè)計(jì)了一種以單片機(jī)為主控芯片的簡易可編程邏輯控制器,并具有無線通信組網(wǎng)功能。該設(shè)計(jì)方案可使用多種編程方式進(jìn)行程序設(shè)計(jì),降低了應(yīng)用推廣門檻,非常適合在少量開關(guān)量采集和控制方面運(yùn)用物聯(lián)網(wǎng)技術(shù)。

2 設(shè)計(jì)總體方案

圖1為硬件電路總體設(shè)計(jì)框圖。系統(tǒng)核心部分共分為四個(gè)單元:主控單元、輸入單元、輸出單元和通信單元,所有單元均通過供電單元進(jìn)行統(tǒng)一供電。從理論上而言,通信單元可以選擇任何具有TTL 電平UART 串口的無線通信模塊,以實(shí)現(xiàn)無線通信甚至組網(wǎng)功能,但是基于無線通信組網(wǎng)難度和普適性的考慮,后續(xù)設(shè)計(jì)首選ZigBee和LoRa 兩方面技術(shù)。

圖1 控制器電路總體框圖

3 硬件電路設(shè)計(jì)

3.1 主控單元電路設(shè)計(jì)

控制器主控芯片采用AVR 單片機(jī)Atmega328 作為主控芯片。該芯片閃存容量32 KB,集成了I2C、SPI、USART 接口,共三個(gè)定時(shí)器(其中一個(gè)16 位,兩個(gè)8 位),芯片總共28 個(gè)引腳,芯片I/O 接口數(shù)量足夠支持8 輸入和8 輸出開關(guān)量接口使用。與其他8 位單片機(jī)相比,該芯片能夠使用的編程語言種類較多。具體最小系統(tǒng)電路原理圖如圖2所示。

圖2 單片機(jī)最小系統(tǒng)原理圖

最小系統(tǒng)電路是單片機(jī)芯片能夠工作的基本電路結(jié)構(gòu),包括復(fù)位電路、時(shí)鐘電路和電源三部分。單片機(jī)最小系統(tǒng)屬于固定模式的電路,一般不需要使用者具體了解其功能就可以直接使用,因此本文對(duì)其具體功能不再贅述。

為輔助控制進(jìn)行程序調(diào)試和運(yùn)行狀態(tài)顯示,使用電阻和LED 串聯(lián)設(shè)計(jì)了運(yùn)行狀態(tài)指示電路。由電源直接進(jìn)行供電,由于Atmega328P 芯片I/O 口內(nèi)部有20KΩ 的上拉電阻,LED 負(fù)極端連接至單片機(jī)PC4 引腳上,通過拉低電平驅(qū)動(dòng)LED 發(fā)光,具體如圖3所示。

圖3 運(yùn)行狀態(tài)指示電路

3.2 輸入單元電路設(shè)計(jì)

輸入接口電路設(shè)置8 路開關(guān)量輸入通道,CN2 為輸入接口端子,可對(duì)外提供24 V 直流電源并作為傳感器電源接口使用;輸入端使用光耦作為隔離,將輸入外設(shè)24 V 電路同控制核心單片機(jī)5V 電路進(jìn)行隔離;每個(gè)信號(hào)輸入端配有一個(gè)LED 作為信號(hào)指示,具體如圖4所示。

圖4 輸入接口電路

3.3 輸出單元電路設(shè)計(jì)

CN1 為輸出端接線端子,端子上可提供24 V 直流電壓,用于輸出端負(fù)載供電使用;每個(gè)輸出端口使用光耦進(jìn)行隔離,將5 V 電路系統(tǒng)和24 V 電路系統(tǒng)進(jìn)行光電隔離;每個(gè)輸出口上配有一個(gè)LED 用于輸出接口信號(hào)指示,具體如圖5所示。

圖5 輸出接口電路

3.4 通信單元電路設(shè)計(jì)

AVR 單片機(jī)可通過UART 串口進(jìn)行程序下載,電路板上預(yù)留的程序下載接口U2 可作為通信模塊的接口使用;通過串行口同ZigBee 或者LoRa 等無線模塊進(jìn)行通信,以實(shí)現(xiàn)控制器的無線通信功能,具體如圖6所示。

圖6 通信接口電路設(shè)計(jì)

3.5 供電單元電路設(shè)計(jì)

3.5.1 電源電路設(shè)計(jì)

控制器主電源采用24 V 直流電源供電,主控芯片和通信模塊均使用直流5 V 電源供電,因此需要對(duì)電源電壓進(jìn)行降壓,本設(shè)計(jì)則采用LM2596S 降壓模塊進(jìn)行降壓調(diào)壓,具體如圖7所示。IN+和IN- 為電壓輸入端,輸入直流電壓范圍3.2~46 V,輸入電壓必須比輸出電壓高1.5 V 以上;OUT+和OUT- 為電壓輸出端,輸出直流電壓范圍1.25~35 V,電壓連續(xù)可調(diào),轉(zhuǎn)化效率高,最大輸出電流為3 A。通過電位器調(diào)節(jié)模塊電壓,逆時(shí)針方向調(diào)節(jié)時(shí)為降壓,順時(shí)針方向調(diào)節(jié)時(shí)則為升壓。

3.5.2 電源上電指示電路

電源上電指示電路使用電阻和LED 串聯(lián)5 V 供電,電源上電則LED 發(fā)光指示,具體電路如圖8所示。

圖8 電源上電指示電路

4 支持多種編程語言進(jìn)行程序設(shè)計(jì)

本設(shè)計(jì)中的控制器可使用的編程語言較多,其中圖形化語言和梯形圖編程是本設(shè)計(jì)重點(diǎn)推薦的。圖形化編程語言的適用年齡段較寬,即使是具備少兒編程圖形化語言編程基礎(chǔ)的兒童都可使用該控制器編寫程序,而對(duì)于習(xí)慣PLC 梯形圖編程的技術(shù)員而言,可繼續(xù)直接使用梯形圖進(jìn)行程序編寫。

4.1 傳統(tǒng)編程語言

AVR 程序編寫應(yīng)用最廣泛的編程語言是C語言和匯編語言,其中C 語言在單片機(jī)嵌入式系統(tǒng)開發(fā)領(lǐng)域具有更多的用戶群。這兩種語言均要求程序員具有較高程序編寫經(jīng)驗(yàn),并且學(xué)習(xí)難度相對(duì)較大。

4.2 圖形化編程語言

4.2.1 ArduBlock 等類似圖形化語言

以ArduBlock 為代表的圖形化編程語言大幅度降低了程序編寫難度,因而比較適合程序設(shè)計(jì)零基礎(chǔ)的人員使用。近幾年,該程序設(shè)計(jì)的技術(shù)方案更是被大量優(yōu)化升級(jí)為少兒編程的主流語言。

Atmega328 芯片被用于ArduinoUno 模塊的主芯片設(shè)計(jì),因此本設(shè)計(jì)中控制器也使用ArduinoUno 的所有開發(fā)資源進(jìn)行程序設(shè)計(jì),圖形化編程界面如圖9所示。

圖9 圖形化編程界面

4.2.2 FlowCode 流碼語言

FlowCode 適用于電子和機(jī)電系統(tǒng)開發(fā)的高度集成開發(fā)環(huán)境(IDE),并且無論是專業(yè)人員還是學(xué)術(shù)人員,都可以快速掌握單片機(jī)嵌入式系統(tǒng)的程序開發(fā)。此外,F(xiàn)lowCode 還允許全仿真(包括C 代碼仿真),用戶可以將C 代碼轉(zhuǎn)換成流程圖和其它編程語言。圖10是FlowCode 軟件的編程界面。

圖10 FlowCode流碼程序界面

圖10中類似程序流程圖的結(jié)構(gòu)即為FlowCode 流碼程序,因此只要能夠看懂程序流程圖,就可以進(jìn)行嵌入式程序設(shè)計(jì)。

4.2.3 Proteus 可視化編程

Proteus 軟件是單片機(jī)開發(fā)人員熟知的一款仿真軟件,從8.6 版本開始增加了可視化程序設(shè)計(jì)功能Visual,該功能是面向Arduino 平臺(tái)進(jìn)行程序設(shè)計(jì)的一種圖形化語言,因此也可以用于本控制器的程序開發(fā),Proteus 仿真界面和Visual程序設(shè)計(jì)界面如圖11所示。

從圖11可以看出,該圖形化程序與FlowCode 流碼程序設(shè)計(jì)思路類似,均是類似于程序流程圖的編程語言,因此該方法對(duì)于程序員程序設(shè)計(jì)基礎(chǔ)要求不高,非常容易掌握。

圖11 Proteus仿真界面和Visual程序設(shè)計(jì)界面

4.3 梯形圖語言

LDMicro 是一款可用于AVR 和PIC 單片機(jī)的編程軟件,LDMicro 梯形圖編程界面如圖12所示。

圖12 LDMicro梯形圖編程界面

該軟件使用梯形圖進(jìn)行程序設(shè)計(jì),能夠?qū)⑻菪螆D邏輯編譯生成適用于AVR 和PIC 單片機(jī)的HEX 文件?;谠摴δ苁褂肞LC 的自動(dòng)化工程師,因此較為容易掌握程序設(shè)計(jì)方法。LDMicro軟件部分版本的源代碼有開源版本,因此程序設(shè)計(jì)工程師可以結(jié)合本控制器硬件設(shè)計(jì)方案和LDMicro 源代碼來進(jìn)一步完善上下位機(jī)系統(tǒng),以形成更為完善的產(chǎn)品。

5 通信協(xié)議設(shè)計(jì)

本設(shè)計(jì)中的控制器功能較為簡單,適合簡單邏輯控制應(yīng)用,具有成本低、搭建系統(tǒng)迅速的優(yōu)點(diǎn)。由于在無線通信方面使用常見的工業(yè)通信協(xié)議,會(huì)使得程序開發(fā)變得復(fù)雜,因此結(jié)合上述軟硬件設(shè)計(jì)方案設(shè)計(jì)出一種既簡單實(shí)施又可以保障通信可靠穩(wěn)定的通信協(xié)議方案。該協(xié)議方案的協(xié)議幀由包頭、地址、命令幀、數(shù)據(jù)幀、校驗(yàn)幀和包尾6 部分組成,如表1所示。

表1 協(xié)議幀數(shù)據(jù)格式

包頭、地址和包尾均為一個(gè)字節(jié)的十六進(jìn)制數(shù),數(shù)據(jù)幀和校驗(yàn)幀可以根據(jù)實(shí)際需要定義數(shù)據(jù)長度,校驗(yàn)幀存儲(chǔ)的是地址和命令幀所有十六進(jìn)制數(shù)的求和值。通信發(fā)送端和接收端同時(shí)使用該協(xié)議,接收端接收完包頭和包尾所有數(shù)據(jù)后,再進(jìn)行校驗(yàn)對(duì)比,如果收到的數(shù)據(jù)校驗(yàn)和同接收到的數(shù)據(jù)幀中交驗(yàn)幀一致,則說明接收數(shù)據(jù)正確。

6 通信組網(wǎng)方式

目前,物聯(lián)網(wǎng)技術(shù)工程實(shí)踐以無線通信為主,這使得物聯(lián)網(wǎng)終端具有安裝簡單、便于移動(dòng)狀態(tài)使用等優(yōu)點(diǎn),因此為大量的多終端實(shí)施數(shù)據(jù)集中采集和管理提供了技術(shù)上的可行性和工程安裝的便利性。對(duì)于本設(shè)計(jì)中的控制器,推薦使用ZigBee 和LoRa 技術(shù)來實(shí)現(xiàn)無線組網(wǎng)功能,通過圖6預(yù)留的串行通信接口即可實(shí)現(xiàn)有線組網(wǎng)通信,也可直接掛接Zigbee 和LoRa 無線通信模塊。通常ZigBee 用于近距離通信,而LoRa 則用于遠(yuǎn)距離通信。

6.1 ZigBee 組網(wǎng)

ZigBee 是基于IEEE802.15.4 標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議,作為一種近距離、低復(fù)雜度、低功耗、低速率和低成本的雙向無線通訊技術(shù),主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸,以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時(shí)間數(shù)據(jù)傳輸?shù)膽?yīng)用,可工作在2.4 GHz(全球流行)、868 MHz(歐洲流行)和915 MHz(美國流行)三個(gè)頻段上,分別具有最高250 kbit/s、20 kbit/s 和40 kbit/s 的傳輸速率,其傳輸距離在10~75 m 范圍內(nèi)且可以繼續(xù)增加。本設(shè)計(jì)在實(shí)際應(yīng)用中主要采用ZigBee 網(wǎng)絡(luò)結(jié)構(gòu),具體如圖13所示。

圖13 ZigBee組網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)

6.2 LoRa 組網(wǎng)

LoRa 是一種LPWAN 通信技術(shù),也是美國Semtech 公司采用和推廣的一種基于擴(kuò)頻技術(shù)的超遠(yuǎn)距離無線傳輸方案。該方案改變了以往關(guān)于傳輸距離與功耗的折衷考慮方式,而是為用戶提供一種簡單且能夠?qū)崿F(xiàn)遠(yuǎn)距離、低功耗(電池壽命長)、多節(jié)點(diǎn)、低成本和大容量的系統(tǒng),進(jìn)而擴(kuò)展傳感網(wǎng)絡(luò)。目前,LoRa 主要在全球免費(fèi)頻段運(yùn)行,包括433 MHz、868 MHz、915 MHz 等。圖14為本設(shè)計(jì)在實(shí)際應(yīng)用中所使用的LoRa 網(wǎng)絡(luò)結(jié)構(gòu)。

圖14 LoRa組網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)

7 結(jié)語

本設(shè)計(jì)中的這種可用于物聯(lián)網(wǎng)領(lǐng)域的小型可編程邏輯控制器產(chǎn)品,不僅可以進(jìn)行網(wǎng)絡(luò)終端簡單地開關(guān)量邏輯控制,還降低了邏輯控制成本,并為不同程序設(shè)計(jì)技術(shù)水平的工程技術(shù)人員提供了適合的程序設(shè)計(jì)方案,設(shè)計(jì)人員可根據(jù)實(shí)際需要對(duì)硬件系統(tǒng)進(jìn)行增減I/0 點(diǎn)配置。目前,本設(shè)計(jì)方案主要應(yīng)用在開關(guān)量輸入輸出狀態(tài)需要遠(yuǎn)距離傳輸顯示或者控制的場所,如生產(chǎn)線上開關(guān)量報(bào)警狀態(tài)、開關(guān)量傳感器信號(hào)、多開關(guān)量輸入和多開關(guān)量輸出的邏輯控制等遠(yuǎn)距狀態(tài)顯示或輸出控制。

猜你喜歡
編程語言圖形化電路設(shè)計(jì)
壓力-體積轉(zhuǎn)換在CFC編程語言中的實(shí)現(xiàn)解析
Java編程語言的特點(diǎn)與應(yīng)用
Altium Designer在電路設(shè)計(jì)中的應(yīng)用
電子制作(2019年16期)2019-09-27 09:34:58
負(fù)反饋放大電路設(shè)計(jì)
電子制作(2019年23期)2019-02-23 13:21:36
LKJ自動(dòng)化測(cè)試系統(tǒng)圖形化技術(shù)研究
淺談不同編程語言對(duì)計(jì)算機(jī)軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
面向?qū)ο骔eb開發(fā)編程語言的的評(píng)估方法
基于UC3843的60W升壓電路設(shè)計(jì)
運(yùn)用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
新竹县| 青龙| 轮台县| 连城县| 乌拉特前旗| 朝阳县| 闽清县| 镇安县| 大埔区| 偃师市| 平原县| 拜城县| 宁夏| 大港区| 淮安市| 临猗县| 鄂伦春自治旗| 全州县| 通山县| 长岭县| 镇原县| 新田县| 徐州市| 泗洪县| 马边| 比如县| 利川市| 长垣县| 南开区| 湖北省| 大城县| 浏阳市| 富蕴县| 含山县| 宣汉县| 元谋县| 论坛| 庄浪县| 仲巴县| 通江县| 冷水江市|