事實(shí)證明,開(kāi)源的 Arduino 概念已在業(yè)余愛(ài)好者和創(chuàng)客中取得巨大成功。同時(shí)此概念亦被專(zhuān)業(yè)設(shè)計(jì)人員所接受,用于早期開(kāi)發(fā)和原型設(shè)計(jì),最近又被用于完整設(shè)計(jì)。隨著諸如可穿戴設(shè)備和健康監(jiān)測(cè)之類(lèi)應(yīng)用的出現(xiàn),這兩類(lèi)用戶(hù)都需要在越來(lái)越小的電路板外形尺寸中,實(shí)現(xiàn)更高的性能和更多的功能。 本文簡(jiǎn)要討論了如何使用 Arduino 板來(lái)滿(mǎn)足創(chuàng)客和專(zhuān)業(yè)人士對(duì)低功耗、空間受限型應(yīng)用中的高性能和功能需求。然后介紹并展示了如何從 Arduino 家族的最新成員——來(lái)自 Seeed Technology Co. 的 Seeeduino XIAO——著手來(lái)啟動(dòng)項(xiàng)目。
如何使用 Arduino 來(lái)滿(mǎn)足可穿戴式設(shè)計(jì)需求
許多業(yè)余愛(ài)好者和設(shè)計(jì)人員都對(duì)開(kāi)發(fā)小物理尺寸的產(chǎn)品感興趣,以便部署在空間受限的環(huán)境中,包括可穿戴設(shè)備。這些通常是智能電子系統(tǒng),常常基于微控制器與檢測(cè)與顯示設(shè)備的組合。有時(shí),這些產(chǎn)品可用作高科技飾品。有時(shí),則可緊貼和/或佩戴在皮膚表面上,可供檢測(cè)、分析和傳輸身體數(shù)據(jù),例如體溫、心率和脈搏氧合,以及環(huán)境數(shù)據(jù)。還有些時(shí)候,可為佩戴者提供即時(shí)的生物反饋。 對(duì)于這類(lèi)設(shè)計(jì),很多業(yè)余愛(ài)好者和創(chuàng)客都使用 Arduino 微型計(jì)算機(jī)開(kāi)發(fā)板。于是,越來(lái)越多的專(zhuān)業(yè)工程師也開(kāi)始將這些開(kāi)發(fā)板用作評(píng)估和原型開(kāi)發(fā)平臺(tái),以便加快 IC、傳感器和外設(shè)的評(píng)估速度并降低成本。 這類(lèi)用戶(hù)通常從 A000073 Arduino Uno Rev3 著手,該板被譽(yù)為“人手必備的入門(mén)開(kāi)發(fā)板”(圖 1)。該開(kāi)發(fā)板基于 Atmel(現(xiàn)為 Microchip Technology)的 ATMEGA328P-AUR 微控制器。這款 5 V 處理器提供 14 個(gè)數(shù)字輸入/輸出 (I/O),其中 6 個(gè)可提供脈沖寬度調(diào)制 (PWM) 功能,以及 6 個(gè)模擬輸入引腳,在必要時(shí)也可用作數(shù)字 I/O。此外,在數(shù)字 I/O 引腳 2 和 3 上還支持兩個(gè)外部中斷,以及 UART、SPI 和 I2C 接口各一個(gè)。
此開(kāi)發(fā)板具有 8 位數(shù)據(jù)路徑和 16 MHz 時(shí)鐘的限制,再加上 Arduino Uno 僅提供 32 KB 的閃存程序存儲(chǔ)器和 2 KB 的 SRAM;除此之外,尺寸為 68.6 x 53.4 mm (36.63 cm2),這對(duì)于許多應(yīng)用來(lái)說(shuō)太大了。 如要減少該微處理器開(kāi)發(fā)板的物理尺寸,一種方法是遷移到 ABX00028 Arduino Nano Every,后者基于 Atmel 的 ATMEGA4809-MUR 微控制器(圖 2)。程序存儲(chǔ)器比 Arduino Uno 多 50% (48 KB),SRAM 容量是 Arduino Uno 的 3 倍 (6 KB)。與 Arduino Uno 一樣,Arduino Nano Every 也基于 5 V 處理器,該處理器提供 14 個(gè)數(shù)字 I/O 以及 6 個(gè)模擬輸入引腳,而這些引腳在必要時(shí)也可用作數(shù)字 I/O。此外,與 Uno 一樣,Nano Every 也提供 UART、SPI 和 I2C 接口各一個(gè)。但是,與僅支持兩個(gè)外部中斷的 Uno 不同,Nano Every 的所有數(shù)字引腳都可以用作外部中斷。
雖然 Arduino Nano Every 仍有 8 位數(shù)據(jù)總線的限制,但具有更快的時(shí)鐘 (20 MHz) 和更多的存儲(chǔ)空間(48 KB 閃存和 6 KB SRAM)。對(duì)于尺寸受限的項(xiàng)目更重要的是,Arduino Nano Every 僅為 45 x 18 mm (8.1 cm2)。 另一個(gè)流行選擇方案是來(lái)自 SparkFun Electronics 的 DEV-13736 Teensy 3.2,該板可以使用 Arduino 的集成開(kāi)發(fā)環(huán)境 (IDE) 進(jìn)行編程(圖 3)。在 I/O 方面,這款 3.3 V 開(kāi)發(fā)板得到大幅強(qiáng)化,它有 34 個(gè)數(shù)字引腳,其中 12 個(gè)支持 PWM,以及 21 個(gè)高分辨率模擬輸入。
Teensy 3.2 采用 NXP 的 MK20DX256VMC7R Kinetis K20 微控制器。K20 采用 32 位 Arm Cortex-M4 處理器內(nèi)核,運(yùn)行頻率為 72 MHz,并具有 256 KB 閃存和 64 KB SRAM。對(duì)于尺寸受限的項(xiàng)目來(lái)說(shuō),特別值得關(guān)注的是,Teensy 3.2 的尺寸為 35 x 18 mm (6.3 cm2),大約是 Arduino Nano Every 的四分之三。
Seeeduino XIAO 簡(jiǎn)介
盡管 Teensy 3.2 只有 6.3 cm2,但這對(duì)于許多應(yīng)用來(lái)說(shuō)仍然太大。對(duì)于那些尋求更小、更強(qiáng)大平臺(tái)的人來(lái)說(shuō),解決方案就在龐大的 Arduino 生態(tài)系統(tǒng)中。一種相對(duì)較新的選擇是 Seeed Technology 的 Seeeduino XIAO(圖 4),尺寸僅為 23.5 x 17.5 mm (4.11 cm2),相當(dāng)于一張標(biāo)準(zhǔn)郵票的大小。Seeeduino XIAO 的設(shè)計(jì)人員還很注重超低成本。
XIAO 采用來(lái)自 Atmel 的 ATSAMD21G18A-MUT SAMD21G18 微控制器。該微控制器采用 32 位 Arm Cortex-M0+ 處理器內(nèi)核,運(yùn)行頻率為 48 MHz,并由 256 KB 的閃存和 64 KB 的 SRAM 提供支持。 雖然 XIAO 僅提供 11 個(gè)數(shù)據(jù)引腳,但每個(gè)引腳都可以用作數(shù)字 I/O 或模擬輸入(圖 5)。其中 10 個(gè)引腳支持 PWM,1 個(gè)引腳配備數(shù)模轉(zhuǎn)換器 (DAC),從而提供真正的模擬輸出能力。此外,XIAO 還支持 UART、SPI 和 I2C 接口各一個(gè)。
部署和使用 Seeeduino XIAO
一般來(lái)說(shuō),使用 Seeeduino XIAO 與使用其他 Arduino 或兼容 Arduino 的開(kāi)發(fā)板一樣簡(jiǎn)單,但也有一些值得注意的技巧與訣竅。 確保使用最新版本的 Arduino IDE 是一個(gè)很好的著手點(diǎn)。接下來(lái),訪問(wèn) Seeeduino XIAO Wiki,獲得有關(guān)如何使用適當(dāng)?shù)拈_(kāi)發(fā)板管理器來(lái)增強(qiáng) Arduino IDE 的說(shuō)明。 許多 Seeeduino XIAO 項(xiàng)目(可穿戴和其他項(xiàng)目)將涉及使用基于 WS2818 的三色 NeoPixel(來(lái)自 Adafruit),例如每米帶 144 個(gè) NeoPixel 的 2970燈帶(圖 6)。
一個(gè)潛在的問(wèn)題是,雖然傳統(tǒng)的 Arduino 開(kāi)發(fā)板可以繼續(xù)使用舊版本的 Adafruit NeoPixel 庫(kù),但 Seeeduino XIAO 需要最新且最好的版本。 如果安裝了舊版 NeoPixel 庫(kù),奇怪和混亂的錯(cuò)誤信息可能會(huì)隨之而來(lái)。解決方法是從系統(tǒng)中刪除所有舊版本的庫(kù),然后按照 Adafruit NeoPixel überguide 上的說(shuō)明安裝最新且最好的版本。 一個(gè)潛在的擔(dān)憂(yōu)是 NeoPixel 對(duì)其數(shù)據(jù)引腳上的過(guò)沖和欠沖很敏感。而問(wèn)題是,來(lái)自現(xiàn)代微控制器的信號(hào)快速邊緣變化率可能導(dǎo)致此類(lèi)特性。解決方法是在 NeoPixel 鏈中盡可能靠近第一個(gè)元件串聯(lián)一個(gè)電阻(圖 7)。像 Stackpole Electronics Inc. 的 CF14JT390R 碳膜電阻器這樣的 5% 公差、1/4 W、390 ? 的電阻器就是一個(gè)合適的選擇。
另一個(gè)與 NeoPixel 相關(guān)的問(wèn)題是 Seeeduino XIAO 的 3.3 V 數(shù)字輸出可能不足以驅(qū)動(dòng) NeoPixel 的 5 V 數(shù)據(jù)輸入。一種解決辦法是使用來(lái)自 SparkFun 的 BOB-12009 邏輯電平轉(zhuǎn)換器分線板(圖 8)。
NeoPixel 應(yīng)用只需要一個(gè)單向通道。BOB-12009 的問(wèn)題在于它提供了四個(gè)雙向通道,對(duì)于空間受限的項(xiàng)目來(lái)說(shuō)是一個(gè)相對(duì)較大的解決方案,而對(duì)于成本敏感的項(xiàng)目來(lái)說(shuō)則是一個(gè)相對(duì)昂貴的解決方案。一個(gè)簡(jiǎn)單的替代方案是使用一個(gè) Comchip Technology 的 1N4001 二極管(圖 9)。
NeoPixel 將邏輯 1 視為高于 0.7 * VCC 的電壓。在此例中,NeoPixel 將邏輯 1 視為 0.7 * 5 = 3.5 V。 通過(guò)具有 0.7 V 正向壓降的 IN4001 二極管為“犧牲的” Pixel(像素)供電,結(jié)果是產(chǎn)生 VCC 為 5 - 0.7 = 4.3 V 的供電電壓,這意味著它將邏輯 1 視為 0.7 * 4.3 = 3.01 V。反過(guò)來(lái),這意味著 Seeeduino XIAO 的 3.3 V 信號(hào)足以驅(qū)動(dòng)犧牲的像素。同時(shí),犧牲像素的 4.3 V 輸出足以驅(qū)動(dòng)鏈中下一個(gè) NeoPixel 的數(shù)據(jù)輸入。
總結(jié)
早期的 Arduino 開(kāi)發(fā)板如 8 位、16 MHz 的 Arduino Uno,物理尺寸大,容量和性能受限。如今,Arduino 生態(tài)系統(tǒng)包括的開(kāi)發(fā)板種類(lèi)繁多,涵蓋了各種形狀、尺寸和功能。 對(duì)于可穿戴設(shè)備等尺寸受限的項(xiàng)目,Seeeduino XIAO 提供了運(yùn)行頻率為 48 MHz 的 32 位 Arm-Cortex-M0+ 處理器內(nèi)核,并配備 256 KB 閃存和 64 KB SRAM。所有這些都呈現(xiàn)在一個(gè)試驗(yàn)板友好型小平臺(tái)上,尺寸只有 4.11 cm2,同時(shí)還具有廣泛的生態(tài)系統(tǒng)支持。 作者:Clive "Max" Maxfield 投稿人:Digi-Key 北美編輯
責(zé)任編輯:xj
原文標(biāo)題:評(píng)估不同的可穿戴應(yīng)用開(kāi)發(fā)板和原型板
文章出處:【微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5106瀏覽量
97890 -
可穿戴
+關(guān)注
關(guān)注
4文章
762瀏覽量
85475
原文標(biāo)題:評(píng)估不同的可穿戴應(yīng)用開(kāi)發(fā)板和原型板
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論