使用Arduino來進行實時的工業(yè)控制
(文章來源:工控碼農(nóng))
隨著公司開發(fā)硬件和軟件來支持各種有趣的應(yīng)用程序,地下機器人制造商的“制造者”世界繼續(xù)增長。已經(jīng)出現(xiàn)了許多微控制器,它們以非常低的前期硬件和軟件成本執(zhí)行各種功能。
已經(jīng)出現(xiàn)了許多板,包括微控制器,現(xiàn)場可編程門陣列(FPGA)和單板計算機。其中,Arduino和Raspberry Pi是兩個主要名稱。兩者都是開放源代碼的設(shè)備,具有可從各種供應(yīng)商處獲得的組件,并且它們都需要高水平的編程技能和一定的想象力,然后才能用于實時工業(yè)控制應(yīng)用。
一些工業(yè)用戶可能會想到這些平臺可以替代入門級PLC。畢竟,如果Arduino可以控制機器人來參加STEM競賽,那為什么它不能控制工業(yè)機器人或簡單的機器呢?如果有可能以低至20美元的價格購買Arduino,為什么要在PLC上花費數(shù)百美元?Arduino可以做很多事情,但是正如我發(fā)現(xiàn)的那樣,即使在簡單的工業(yè)應(yīng)用程序中工作也要說起來容易做起來難。
Raspberry Pi實際上是基于Linux的小型單板PC,而Arduino更像是PLC。盡管這兩種平臺都合適,但我還是選擇了Arduino供我們的項目使用:對泵產(chǎn)生的流量進行閉環(huán)控制。傳感器測量流量并將數(shù)據(jù)發(fā)送到Arduino,后者調(diào)整控制閥執(zhí)行器以維持設(shè)定點。這是最基本的工業(yè)模擬自動化功能之一,通常使用PID回路作為控制算法。
Arduino使用PI控制功能-這種類型的回路不需要派生-從流量計讀取信號并調(diào)節(jié)閥以達到并保持設(shè)定值。這個概念很簡單,但是,在使用實際工業(yè)設(shè)備時,它變得更加復(fù)雜。
Arduino是價格合理的準(zhǔn)系統(tǒng)設(shè)備,但如果可以編寫正確的程序來匹配應(yīng)用程序,它確實具有廣泛的功能。對于程序員而言,這是一片空白,沒有本機功能或功能塊可以上傳,因此我不得不從頭開始創(chuàng)建PI算法。
它具有離散和模擬I / O。但是,選擇是有限的。模擬輸入為0-5 V,模擬輸出為脈寬調(diào)制(PWM)。這適用于調(diào)節(jié)電動機的速度或調(diào)節(jié)溫度控制回路,但不適用于許多其他應(yīng)用。大多數(shù)工業(yè)模擬儀器和執(zhí)行器都是為4-20 mA電流環(huán)路設(shè)計的,因此該標(biāo)準(zhǔn)已在演示項目中使用,需要大量的設(shè)計和工程工作。
? ? ? ?