隨著工業(yè)應用中對檢測的需求不斷增長,業(yè)界需要一個能夠適應多樣化終點設備和連接要求的有效 IO 控制器平臺。 雖然開發(fā)人員可以通過 IO 機架滿足這些要求,但有一種更有效的方法可以最大限度減少功率耗散、基底面以及成本。
本文將討論工業(yè)傳感和控制的要求,以及目前為止的處理方法。 接著會介紹 Maxim Integrated Pocket IO 開發(fā)平臺,并說明其如何滿足工業(yè) 檢測和高 IO 計數(shù)應用中開發(fā)人員的需求。 之后,文中會展示實現(xiàn)技術(shù)。
靈活性和效率推動工業(yè) IO
過去,由于在早期工廠應用中部署的傳感器相對較少,工程師可以依靠與可編程邏輯控制器 (PLC) 的硬接線連接。 行業(yè)標準接口(如 IO-Link)的出現(xiàn)提供了一種更有效的連接選項,能夠在單個連接上鏈接多個傳感器和外圍設備。 同時,對更靈活的接口選擇的需求繼續(xù)推動對更廣范圍的模擬和數(shù)字 IO 能力的需求。
在這種環(huán)境下,工程師會發(fā)現(xiàn)自己面臨包括現(xiàn)場總線通信和電機控制以及支持更多專用模擬和數(shù)字 IO 設備的組合需求。 同時,工程師需要將這種更強大的功能嵌入更緊湊、低功耗、能夠在散熱風扇和通風口易出問題的工廠車間操作的設計中。 Maxim Integrated 的 Pocket IO 旨在幫助工程師快速滿足這些要求。
多外設控制器平臺
Maxim 的 Pocket IO 既可用作開發(fā)平臺,又可用作參考設計(圖 1)。 特別值得一提的是,參考設計展現(xiàn)了如何使用高度集成的 IC 來支持多樣化 IO,包括:
-
四個模擬輸入,具有高度集成的 MAX11254 24 位模數(shù)轉(zhuǎn)換器 (ADC)
-
一個模擬輸出,使用 MAX5216 16 位數(shù)模轉(zhuǎn)換器 (DAC)
-
八個數(shù)字輸入,基于八路開關(guān)/驅(qū)動器 MAX31913
-
八個數(shù)字輸出,基于八路數(shù)字輸入設備 MAX14913
-
兩個支持 Profibus 的 RS-485 接口,使用半雙工 RS-485/422 收發(fā)器 MAX14783E
-
四個 IO-Link 主通道,每個基于一個單獨的 MAX14824 IO-Link 主收發(fā)器 IC
-
三個電機編碼器/控制通道,每個由一個 MAX14890 編碼器接收器 IC 和一個 MAX14870 電機驅(qū)動器 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 模塊托管控制軟件,對全都支持 SPI 接口的 Pocket IO 設備進行全面控制。 專用的 STM32F103RET6 MCU 執(zhí)行電機控制程序,并控制 MAX14890 編碼器和 MAX14870 電機驅(qū)動器 IC。 另一個專用 STM32F103RET6 MCU 運行 IO-Link 堆棧并管理主收發(fā)器設備。 一系列數(shù)字隔離器保護處理器 IO 通道。
體積小于 10 立方英寸的 Pocket IO(因其可裝入襯衫口袋而命名)使用電池即可運行且無需風扇,同時可在其許多外圍通道上提供高吞吐量。 這些 IC 封裝在兩個小型板(命名為MAXREFDES150MAIN# 和 MAXREFDES150LED#)上,然后封裝在 Pocket IO 機箱中。
Intel Edison 模塊和大多數(shù)組件安裝在 MAXREFDES150MAIN# 板上。 MAXREFDES150LED# 板包含直流電機驅(qū)動器電路及其對STM32F103RET6 MCU 的控制功能;IO-Link 電路及其對STM32F103RET6 MCU 的控制功能。 第三塊板提供外部連接器,并通過兩個 40 引腳電纜組件連接到 Pocket IO 機箱中的電路板。 工廠應用軟件可通過 Pocket IO 的 USB 接口或通過 Intel Edison 模塊的藍牙或 Wi-Fi 連接選項進行連接。
工程師使用 Arduino IDE,通過隨 Pocket IO 軟件包提供的綜合庫和例程,創(chuàng)建在 Intel Edison 上運行的軟件來進行開發(fā)。 Maxim Integrated 提供了每個 IO 子系統(tǒng)的詳細原理圖,以及用于開發(fā)相關(guān)軟件例程的應用編程接口 (API)。
參考設計
Pocket IO 中使用的數(shù)字 IO 設備(例如 MAX31913 和 MAX14913)在與主機 Edison 處理器的 SPI 連接之外幾乎不需要額外的電路。 相比之下,模擬 IO 設備需要補充電路來緩沖或以其他方式提供額外的信號調(diào)節(jié)。
例如,DAC 輸出功能的參考設計原理圖使用 Maxim Integrated MAX9632 運算放大器來緩沖 MAX5216 的輸出(圖 2)。
圖 2: Pocket IO 參考設計原理圖演示了如何在輸入通道上使用信號調(diào)節(jié)電路,以及在此處所示的數(shù)模轉(zhuǎn)換通道等輸出上使用緩沖器。 (圖片: Maxim Integrated)
參考設計在基于 MAX11254 的 Pocket IO 模擬輸入功能的電路方面更進一步。 對于該子系統(tǒng),原理圖包括詳細的信號調(diào)節(jié)電路,以支持 Pocket IO 的單獨電壓和電流輸入通道。
MAX11254 集成了完整的信號處理路徑,包括可編程增益放大器 (PGA)、模擬濾波器、24 位三角積分 ADC 和數(shù)字濾波器。 此外,模擬多路復用器支持設備的六個差分輸入通道,而數(shù)字定序器可自動執(zhí)行模擬通道掃描和傳感器監(jiān)視等功能。 設備甚至包含 GPIO,可用作電阻型傳感器中所需的傳感器激勵源。 該器件的 SPI 串行接口簡化了主機處理器(在本例中為 Pocket IO 的 Edison 處理器)的連接和控制。
對于開發(fā)人員來說,高度集成的 MAX11254 設備幾乎不需要額外的組件來實現(xiàn)完整的傳感器數(shù)據(jù)采集系統(tǒng)。 通常,工程師至少會采用緩沖電路,或提供應用所保證的更多信號調(diào)節(jié)電路。 在 Pocket IO 參考設計中,它為兩個電壓輸入和兩個電流輸入通道提供單獨的調(diào)節(jié)電路。 每個調(diào)節(jié)電路包括一對用于信號緩沖和增益調(diào)節(jié)的運算放大器。 電流輸入通道還通過一對 MOSFET 和瞬態(tài)電壓抑制二極管來預調(diào)節(jié)其輸入,以保護運算放大器。
使用低級 SPI 命令開發(fā)復雜 IO 事務的代碼即便在最好的情況下都很慢,并且容易出錯。 因此,Maxim 針對每個 IO 設備(包括 MAX11254 ADC)為開發(fā)人員提供了一個 C ++ 類別,并提供了操作(例如模數(shù)轉(zhuǎn)換)中所涉及復雜序列的簡單抽象概念。 至于轉(zhuǎn)換模擬輸入,開發(fā)人員只需將類別的一個實例進行實例化
adc = new Max11254();
然后使用類別方法重置設備,執(zhí)行自校準序列,并捕獲數(shù)據(jù):
adc->reset();
adc->selfCal();
adc->singleConvert(channel, rate);
另一個 Pocket IO C ++ 庫 PioAi 甚至會隱藏這些細節(jié),將模擬數(shù)據(jù)采樣簡化為 PioAi.readcode() 的單一調(diào)用。 PioAi 庫例程會轉(zhuǎn)而使用 PioSpi 庫中提供的 PioSpi 類別,該類別將 IO 事務轉(zhuǎn)換為一系列相應的 SPI 命令序列。
除了特定的設備支持庫,Maxim 還提供示例代碼,說明 IO 操作(如電機控制)的基本設計模式(列表 1)。
#include
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 軟件包內(nèi)含示例代碼,如演示基本電機控制操作的此片段。 (代碼來源: Maxim Integrated)
根據(jù)代碼: 設置后,無限循環(huán)使電機速度在最小值和最大值之間連續(xù)上升。 片段中引用的 PioMtr 庫包含 writeSpeed() 例程,后者又使用低級 Arduino 例程來操作相應的硬件寄存器。
開發(fā)人員可以通過使用 Arduino IDE 編寫用于 Intel Edison 的 Arduino 草圖,以及每個 Pocket IO 外圍設備的 API 中包含的類庫,將這些代碼片段擴展到完善的應用程序中。 Maxim Integrated 為 Edison 工具鏈和 Intel Edison 工具提供軟件包,以及 Pocket IO 庫套件。
結(jié)論
工業(yè)自動化依賴于日益普及的傳感器所取得的詳細測量值,傳感器會監(jiān)測和控制每個生產(chǎn)步驟的細節(jié)。 在適應更多種類型的輸入和輸出設備的同時,開發(fā)人員需要使用能夠適應嚴苛工廠車間環(huán)境的緊湊、低功耗且經(jīng)濟高效的解決方案。
Maxim Integrated Pocket IO 平臺具備完整的硬件/軟件參考設計,可加速新興工業(yè)自動化應用專用控制器的開發(fā),從而滿足這些需求。
-
Maxim
+關(guān)注
關(guān)注
8文章
859瀏覽量
87059 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3100瀏覽量
126699
發(fā)布評論請先 登錄
相關(guān)推薦
評論