利用小型 IO 平台實現工業自動化
資料提供者:DigiKey 北美編輯群
2016-12-28
工業應用對感測的需求日益攀升,因此需要可支援眾多不同端點裝置與連線需求且效率優異的 IO 控制器平台。 雖然開發人員可選擇採用 IO 支架來因應這些需求,但有另一種更具效率的方式可將功率耗散、覆蓋區以及成本降至最低。
本文將探討工業感測與控制的需求,以及到目前為止需求的因應情況。 接著會介紹 Maxim Integrated 的 Pocket IO 開發平台,並說明其如何滿足開發人員在工業感測與高 IO 數應用方面的需求。 此外,本文亦會展示實作技術。
靈活性與效率促使工業 IO 向前邁進
以往,早期的工廠應用所部署的感測器數量相對較少,因此工程師需仰賴固定線路連接至可編程邏輯控制器 (PLC)。 在 IO-Link 等工業標準介面興起後,提供了更高效率的連線選擇,可透過單一連線連結多部感測器和周邊裝置。 同時,業界不斷要求提供更靈活的介面選擇,進而推動更多種類比與數位 IO 功能的需求。
在此情況下,工程師會面臨眾多的需求組合,包括現場匯流排通訊與馬達控制,並且需支援額外的專用類比與數位 IO 裝置。 除此之外,工程師還需將更強大的功能納入到更小型的低功率設計當中,才能在不易提供風扇與通風散熱的工廠樓面中順暢運作。 Maxim Integrated 的 Pocket IO 設計有助於工程師快速因應這些需求。
多重周邊控制器平台
Maxim 的 Pocket IO 既可當作開發平台,又可當作公版設計(圖 1)。 特別之處在於,公版設計能示範如何使用高度整合 IC 來支援多種 IO 組合,包括:
- 四個類比輸入,採用高度整合的 MAX11254 24 位元類比數位轉換器 (ADC)
- 一個類比輸出,採用 MAX5216 16 位元數位類比轉換器 (DAC)
- 八個數位輸入,採用 MAX31913 八通道開關/驅動器架構
- 八個數位輸出,採用 MAX14913 八通道數位輸入裝置架構
- 兩個 Profibus 功能的 RS-485 介面,採用 MAX14783E 半雙工 RS-485/422 收發器
- 四個 IO-Link 主通道,每個通道皆採用個別的 MAX14824 IO-Link 主收發器 IC 架構
- 三個馬達編碼器/控制通道,每個通道皆包含一個 MAX14890 編碼器接收器 IC 和一個 MAX14870 馬達驅動器 IC
圖 1:Maxim Integrated 的 Pocket IO 平台運用 Maxim IO 裝置的高度整合能力,提供豐富的 IO 功能。 (圖片來源:Maxim Integrated)
Pocket IO 平台提供獨立的低雜訊 15 V 與 3.6 V 電源軌,以及適用於 DAC 的 3.0 V 參考電壓與 ADC 用的 1.5 V 參考電壓。 此設計亦含有一組精密處理器,包括 Intel Edison 與一對 STMicroelectronics STM32 MCU。 一個 Intel Edison 模組具有控制軟體,能對 Pocket IO 裝置(皆支援 SPI 介面)進行全面控制。 專用的 STM32F103RET6 MCU 執行馬達控制常式,並且控制 MAX14890 編碼器和 MAX14870 馬達驅動器 IC。 另一個專用的 STM32F103RET6 MCU 執行 IO-Link 堆疊,並且管理主收發器裝置。 一系列的數位隔離器可保護處理器 IO 通道。
Pocket IO(可放入襯衫口袋而得名)體積不到 10 立方英吋,可使用電池驅動且無需使用風扇,即可在眾多周邊裝置通道達到高傳輸量。 IC 裝配至兩個小型板上(指定為 MAXREFDES150MAIN# 與 MAXREFDES150LED#),然後再裝入 Pocket IO 外殼中。
Intel Edison 模組以及絕大多數元件皆安裝在 MAXREFDES150MAIN# 板上。 MAXREFDES150LED# 板具有 DC 馬達驅動器電路、控制用的 STM32F103RET6 MCU,以及 IO-Link 電路及控制用的 STM32F103RET6 MCU。 第三個板件提供外部連接器,並透過兩個 40 引腳纜線組件連接至 Pocket IO 外殼中的板件。 工廠應用軟體可透過 Pocket IO 的 USB 介面,或是透過 Intel Edison 模組的藍牙或 Wi-Fi 連線選項進行連線。
若要進行開發,工程師可運用 Pocket IO 軟體套件提供的完整函式庫與常式,透過 Arduino IDE 打造可在 Intel Edison 上運作的軟體。 Maxim Integrated 針對各個 IO 子系統提供詳盡的線路圖,並提供用來開發相關軟體常式的應用程式開發介面 (API)。
公版設計
除了連接至主機 Edison 處理器的 SPI 連線外,Pocket IO 使用的數位 IO 裝置(例如 MAX31913 和 MAX14913)僅需少許額外電路。 相較之下,類比 IO 裝置則需要補充電路進行緩衝,或是提供額外的訊號調節。
舉例而言,DAC 輸出功能的公版設計線路圖使用 Maxim Integrated 的 MAX9632 運算放大器,來緩衝處理 MAX5216 的輸出(圖 2)。
圖 2:Pocket IO 公版設計線路圖示範如何在輸入通道和輸出的緩衝器上使用訊號調節電路,例如在此所示的數位類比通道。 (圖片來源:Maxim Integrated)
公版設計可進一步使用於以 MAX11254 為基礎的 Pocket IO 類比輸入功能電路。 在此子系統中,線路圖包含詳細的訊號調節電路,以支援 Pocket IO 的獨立電壓與電流輸入通道。
MAX11254 整合完整的訊號處理路徑,包括可編程增益放大器 (PGA)、類比濾波器、24 位元三角積分 ADC 以及數位濾波器。 此外,類比多工器可支援此裝置的六個差動輸入通道,而數位定序器會自動化處理諸如類比通道掃描和感測器監測等功能。 此裝置甚至還包含 GPIO,可做為電阻式感測器所需的感測器激磁來源。 此裝置的 SPI 序列介面可簡化主機處理器(在此範例中為 Pocket IO 的 Edison 處理器)的連線與控制。
對於開發人員而言,高度整合的 MAX11254 裝置僅需少許額外元件,即可實作完整的感測器數據採集系統。 一般而言,工程師至少會納入緩衝電路,或是提供更密集的訊號調整電路,如應用所保證。 在 Pocket IO 公版設計中,則針對雙電壓輸入以及雙電流輸入通道,提供個別的調節電路。 每個調節電路皆包含一對運算放大器,可用來進行訊號緩衝和增益調整。 電流輸入通道亦會透過 MOSFET 對和暫態電壓抑制二極體來預先調節輸入,以保護運算放大器。
使用低階 SPI 命令來開發複雜 IO 交易的程式碼,不僅十分緩慢,而且容易出錯。 因此,Maxim 為開發人員提供了適合每個 IO 裝置的 C++ 類別(包括 MAX11254 ADC),並針對諸如類比數據轉換等操作的相關複雜序列,提供了簡易的抽象作法。 若要轉換類比輸入,開發人員僅需啟動該類別的執行個體即可
adc = new Max11254();
然後使用類別方法來重置裝置,執行自我校準序列,接著再擷取資料:
adc->reset();
adc->selfCal();
adc->singleConvert(channel, rate);
另一個 Pocket IO C++ 函式庫 PioAi 甚至還可隱藏這些細節,將類比數據取樣工作簡化成單次調用:PioAi.readcode()
。 PioAi 函式庫常式接著會使用 PioSpi 函式庫中的 PioSpi
類別,將 IO 交易轉換成對應的一連串 SPI 命令序列。
除了支援特定裝置的函式庫,Maxim 還提供程式碼範例,說明 IO 作業(例如馬達控制)的基本設計模式(列表 1)。
#include <PioMtr.h>
PioMtr pioMtr;
uint8_t motor = M1;
void setup() {
// put your setup code here, to run once:
pioMtr.writeEnable(motor, 1);
pioMtr.writeDirection(motor, COUNTERCLOCKWISE);//
}
uint8_t spd = 0;
bool shouldDecrease = false;
void loop() {
// put your main code here, to run repeatedly:
if(spd == 255)
{
shouldDecrease = true;
}
else if(spd == 0)
{
shouldDecrease = false;
}
if(shouldDecrease)
{
spd--;
}
else{ spd++; }
pioMtr.writeSpeed(motor, spd);
delay(50);
}
程式碼列表 1:Pocket IO 軟體套件含有程式碼範例,如上述程式碼片段即說明基本的馬達控制操作。 (程式碼來源:Maxim Integrated)
按程式碼:設定完成後,無限迴圈會導致馬達速度在最小值與最大值之間持續爬升。 程式碼片段所示的 PioMtr 函式庫包含 writeSpeed()
常式,其接著會使用低階 Arduino 常式來操控相關的硬體暫存器。
開發人員可使用 Arduino IDE,以及每個 Pocket IO 周邊裝置 API 所包含的類別函式庫,撰寫適用於 Intel Edison 的 Arduino 草稿碼,以將這些程式碼片段延伸至完善的應用程式中。 Maxim Integrated 提供適用於 Edison 工具鏈和 Intel Edison 工具的軟體套件,以及 Pocket IO 函式庫套件。
結論
工業自動化的發展仰賴逐漸增長的感測器提供詳盡的量測數據,以便監測和控制每個生產步驟的細節。 開發人員在支援更加多樣化的輸入與輸出裝置之餘,亦需利用小型、低功率且高成本效益的解決方案,方可因應廠區的各種嚴峻挑戰。
Maxim Integrated 的 Pocket IO 平台具備完整的硬體/軟體公版設計,可針對新興工業自動化應用加速專用控制器的開發工作,進而滿足這些需求。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。