開發套件的限制 - 如何確定相容性

有人曾經查詢過是否可以和 Arduino 開發套件配合使用的產品嗎? 這個問題我已經查證了多次,甚至我自己也想知道。於是,這篇文章將歸納相關的資訊,以及可用於確定可行的方法。

擴充板

Arduino 具有非常廣泛的功能,能夠針對以開發板來開發稱為擴充板的客製化產品,從而可直接連接到排母上。 通常,這些擴充板擁有充分定義的庫,這些庫專門設計用於擴充板中所包含的任何技術。以下是可與 Arduino、Raspberry Pi、ARTIK、MegaPi、Pioneer 和 Qwiic 配合使用的子卡/擴充板列表

另請查看以下文章,以了解一些關於擴充板的資訊:

注意,除了Arduino之外,還有更多可用選項,該清單僅作範例參考。 這些擴充板都圍繞著一個事實:Arduino 具有設計上的限制和相應的規格。 每個開發板都有一定的限值,且不同的版本有不同的規格(具體請參閱規格書或網站文件)。 甚至有的擴充板會提供空的原型板,以製作符合開發板規格的任何類型的電路。 擴充板並不是僅適用於 Arduino 的,因為還有其他的開發套件,例如 Beaglebone 和Raspberry Pi。

電氣限制

以下規格通常適用於大多數 Arduino 模組,不過最好仍然是細看產品的規格書,以確定其額定值。 根據文獻資料,各接腳的絕對最大額定值為 40mA(各 I/O 接腳);如果使用 USB 連接,則 5V 輸出應限制在 400mA 左右,因為 USB 連接埠將電流限制為 500mA;如果外部電源與圓形插孔搭配使用,則 5V 輸出可增加到 900mA 左右,因為所用板載穩壓器的最大額定值約為1A。 請勿以最大電流或接近最大電流的電流運行,因為這可能會損壞接腳或開發板。 應該使用安全係數來延長開發板的壽命。 如果開發套件與 Arduino 不同,請務必閱讀產品提供的規格書,以了解相關建議。

數據和速度限制

資料儲存

需為應用設定最大儲存空間和 RAM 規格,具體取決於所用開發工具套件的產品編號。 Arduino Uno 的最大儲存空間為 32KB,EEPROM+SRAM 的組合儲存空間為 3KB,而 Mega 的儲存空間為 256KB,EEPROM+SRAM 的組合儲存空間為 12KB。 RAM 的數量將決定可同時執行多少個操作。 儲存空間的大小將決定需要保存多少資料。

內部時脈頻率

Arduino Uno 和 Mega 的內部振盪器使用 16MHz 晶體進行操作。 若包含需要更高資料速率的設計,則會因去同步化而導致一些資料遺失或資料完全遺失。 此外,由於內部電路不是針對該層次頻率設計的,因此產品也可能出現意外行為。 所有微控器的規格書內都會列出額定時脈頻率(內部或外部)。

介面選項

雖然 Arduino 上的微處理器非常優秀,但資料介面的數量有限。 如果你希望使用的技術目前無法透過擴充板或接腳使用,則很可能難以使該技術與 Arduino 相容。 始終建議你閱讀規格書中包含的選項。 如果你的要求超出了開發套件的範圍,則建議採用具有更廣泛資料介面選項的工業標準微處理器。 許多廠商都會生產這些產品,如 Microchip、Analog Devices、Infineon、Intel 等。

庫實現

網路中已有大量針對某些技術的開放原始碼庫。 如果你還沒啟動,可以在網路上搜尋一下,看看是否已經有適用於所需應用程式的現有程式庫(甚至還可能包含擴充板)。 曾見過列印客製化噴墨庫、快速傅立葉轉換庫、步進馬達驅動器庫,以及 LED 燈條庫等。 利用現有程式庫可更輕鬆地進行編碼,而不必從頭開始建置。 這也不是 Arduino 的專屬優勢。

如果某項技術沒有庫,那就必須從頭開始開發。 許多開發工具通常都是開源的,容許技術人員自行開發自己的庫,但這超出了我的理解範圍。

最後說明

可以針對某個問題多想幾個解決方案,而不是只專注於一個。 例如,如果某些產品無法與 Arduino 配合使用,那麼可以看看其他開發工具,也許具有更符合你的應用要求的規格。 Arduino 對於某些問題來說可能非常容易實現,而對於其他問題,則可能幾乎無法實現或不可實行。