欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對位置反饋設(shè)備的改進(jìn)的制作方法

文檔序號:12504469閱讀:496來源:國知局
對位置反饋設(shè)備的改進(jìn)的制作方法與工藝

存在對感測人和動物的身體部分的位置和/或方向的持續(xù)需求。例如,關(guān)于感測姿勢,相比于在人們身體上的急劇的力,使自己在延長的時間期間置于不良姿勢中的人會引起更大的物理損傷。這是因為與作為短沖擊施加的具有類似幅度的力相比,在一段時間期間的不良姿勢隨著時間的過去施加更多的力??蓪?dǎo)致長期姿勢相關(guān)損傷的姿勢的種類也包括在使用計算機時的姿勢、舉重的物體或在進(jìn)行重復(fù)的身體任務(wù)(例如在難操縱的位置上敲釘子)時的背勞損。

目前,存在試圖抑制這樣的姿勢問題的很多方法。例如,存在傳送關(guān)于如何在使用計算機時在工作場所和家中保持良好姿勢的消息的直接消息廣告活動。還存在被給予常常必須攜帶重物品(特別是有日常任務(wù)例如對高架子補充庫存)的雇員的培訓(xùn)。

生物糾正物理治療師使用姿勢帶子來在不良姿勢發(fā)生之后修復(fù)不良姿勢。這常常需要趨訪物理治療師,這占用他們的能夠被更好地花費在不太可預(yù)防的損傷上的時間,并對社會增加健康護(hù)理的總費用。

在醫(yī)療領(lǐng)域中,已經(jīng)存在用于為了研究目的而獲得例如身體的確切角度的昂貴的設(shè)備(常常是光纖)。這很重要,但因為它用于研究且是龐大的和笨重的,它不適合于隨著時間的過去的背部損傷的普遍防止。

還存在簡單的程序,其以特定的間隔推薦某些牽伸運動以在再次使用計算機之前減輕肌肉勞損。此外,存在例如LUMOBack的設(shè)備,其基于附著到背部下方的單個方向傳感器來測量你多長時間坐下或跑步或進(jìn)行其它活動一次。它們常常通過將良好的活動如跑步轉(zhuǎn)變成實質(zhì)上游戲化的分?jǐn)?shù)來鼓勵更健康的生活方式,并提供對做得更好和更健康的激勵。

當(dāng)前的方法中沒有一個能足夠地鼓勵用戶糾正他們的行為,或被定價到用于一般使用的程度(且這因此限制該方法對保守的解決方案的有效性,與預(yù)防性解決方案相反)。

以類似的方式,存在對有成本效益的、通??傻玫降奈恢煤?或方向檢測設(shè)備的持續(xù)需求,以有助于開發(fā)基于運動技能或其他移動或姿勢的活動。

在這個說明書中對任何現(xiàn)有技術(shù)的提及不且不應(yīng)被理解為對該現(xiàn)有技術(shù)形成公知常識的部分的承認(rèn)或任何形式的建議。



技術(shù)實現(xiàn)要素:

根據(jù)本發(fā)明的一個方面,提供了裝置,其包括用于檢測受驗對象的身體部分的位置和/或方向的至少一個傳感器和可選的用于傳輸傳感器數(shù)據(jù)的發(fā)射機,傳感器與計算設(shè)備通信以處理傳感器數(shù)據(jù)。

在另一方面中,本發(fā)明提供用于檢測受驗對象的身體部分的位置和/或方向的系統(tǒng),其包括傳感器和與傳感器通信的計算設(shè)備,計算設(shè)備能夠?qū)⑺袦y的數(shù)據(jù)優(yōu)選地處理成適合于提供反饋的形式。

本發(fā)明還提供身體部分位置和/或方向檢測裝置,其包括:配置成附著到用戶的傳感器設(shè)備,傳感器設(shè)備包括:柔性傳感器和配置成接收并處理來自傳感器的關(guān)于身體部分的運動的數(shù)據(jù)的微處理器。

在另一方面中,本發(fā)明提供用于檢測身體部分的位置和/或方向的方法,其包括:從與身體部分接觸的柔性傳感器條接收多個電阻值并處理電阻值以確定身體部分位置和/或方向,其中處理步驟可選地包括比較一個或多個電阻值以便得出身體部分的相對位置和/或方向。

本發(fā)明還提供了提供身體部分的位置和/或方向數(shù)據(jù)的方法,其包括:由微處理器從柔性傳感器接收數(shù)據(jù),該方法包括由微處理器基于所接收的傳感器數(shù)據(jù)來確定身體部分的位置和/或方向描述,其中基于所感測的數(shù)據(jù)確定位置和/或方向描述包括:處理傳感器輸入數(shù)據(jù)并可選地基于身體部分的位置和/或方向描述來觸發(fā)反饋,以及其中處理步驟可選地包括比較一個或多個電阻值以便得出身體部分的相對位置和/或方向。

在另一方面中,本發(fā)明提供在計算機可讀介質(zhì)上的計算機程序,其當(dāng)由計算機執(zhí)行時被布置成:從與身體部分接觸的柔性傳感器條接收多個電阻值并處理電阻值以確定身體部分位置和/或方向,其中處理步驟可選地包括比較一個或多個電阻值以便得出身體部分的相對位置和/或方向。

在另一方面中,本發(fā)明提供非暫時計算機可讀介質(zhì),其具有存儲在其上的計算指令,計算指令包括:由微處理器從身體部分傳感器接收數(shù)據(jù)的代碼段;處理所接收的傳感器數(shù)據(jù)的代碼段;由微處理器基于所接收的傳感器數(shù)據(jù)來確定用戶的位置和/或方向描述的代碼段;以及可選的由微處理器基于身體部分的位置和/或方向來觸發(fā)反饋的代碼段,其中處理步驟可選地包括比較一個或多個電阻值以便得出身體部分的相對位置和/或方向。

在本發(fā)明的另一方面中,提供了包括用于檢測受驗對象的身體部分的位置和/或方向的至少一個傳感器和可選的用于在傳感器和計算設(shè)備和/或一個或多個計算設(shè)備之間傳輸傳感器數(shù)據(jù)的發(fā)射機的裝置,傳感器與計算設(shè)備通信以處理傳感器數(shù)據(jù)。

可關(guān)于任何適當(dāng)?shù)纳眢w部分來感測例如與位置、方向、姿勢和物理位置有關(guān)的信息。例如,它可以是關(guān)節(jié)或一系列關(guān)節(jié),例如脊椎、肩膀、肘、腰、數(shù)字關(guān)節(jié)、臀部、膝蓋、踝,或它可以是特定的位置,例如特定的骨突或其它解剖學(xué)標(biāo)志。本發(fā)明對健康和醫(yī)療使用例如修復(fù)姿勢或重復(fù)性勞損是有用的。它可同樣用于其它應(yīng)用,例如在運動或其它人類運動領(lǐng)域中。在一些實施方式中,本發(fā)明用于例如監(jiān)控并改變特定的人類運動,例如高爾夫球揮桿、網(wǎng)球揮桿、踢足球動作等。

在沒有可選的發(fā)射機的一些實施方式中,計算設(shè)備與傳感器物理通信。在一些實施方式中,計算設(shè)備不物理地在傳感器附近,使得通信必須經(jīng)由無線或通過另一手段。傳感器數(shù)據(jù)可例如在傳輸之前由傳感器的部件處理,或它可被傳遞到計算設(shè)備并接著被處理。

在一些優(yōu)選實施方式中,傳感器包括可被改變到所需的長度的一次性條,且該條可選地包括一個或多個預(yù)定位置,長度可在預(yù)定位置處減小。作為例子,條可包括在一個或多個預(yù)定位置處的一個或多個穿孔,使得它可在某個長度處被撕裂或切割以適合特定的受驗對象的身體部分(例如,脊柱、臂等)的長度。在這樣的例子中,條的一端可例如直接插入設(shè)備例如數(shù)據(jù)處理機、計算設(shè)備和/或發(fā)射機內(nèi),而另一端包括一個或多個這樣的位置,長度可在所述位置處改變。

可通過任何適當(dāng)?shù)氖侄蝸淼玫礁鶕?jù)本發(fā)明的條的尺寸和/或形狀的改變。在一些實施方式中,條是套疊的,使得條可向下滑到適當(dāng)?shù)某叽?。在其它實施方式中,條包括一系列單獨的較小的條,其可彼此嚙合以產(chǎn)生特定的尺寸和/或形狀。

在本發(fā)明的一些實施方式中,傳感器包括電阻油墨和導(dǎo)電油墨。這些油墨中的每個可具有任何適當(dāng)?shù)念愋汀?/p>

在一些實施方式中,傳感器包括粘合部分以在工作距離內(nèi)附著到受驗對象的身體部分,其中到身體的附著可選地包括下列項中的一個或多個:到緊身衣的附著和到受驗對象的皮膚(和/或頭發(fā))的附著。附著部分可包括任何適當(dāng)?shù)恼澈蟿T谝恍嵤┓绞街?,它是適合于與皮膚直接接觸的醫(yī)學(xué)級粘合劑。

在一些實施方式中,傳感器包括穿孔部分以附著到受驗對象的身體,其中到身體的附著可選地包括到緊身衣的一個或多個穿孔和到受驗對象的皮膚(和/或頭發(fā))的附著。穿孔部分可包括任何適當(dāng)?shù)拇┛住T谝恍嵤┓绞街?,它是適合于與皮膚直接接觸的制造穿孔。

在一些實施方式中,傳感器包括褶痕或制造劃痕部分以附著到受驗對象的身體,其中到身體的附著可選地包括對緊身衣的一個或多個劃痕和到受驗對象的皮膚(和/或頭發(fā))的附著。折疊的部分可包括任何適當(dāng)?shù)鸟薨?。在一些實施方式中,它是適合于與皮膚直接接觸的所制造的劃痕或褶皺。

本發(fā)明的一些實施方式包括用于低成本更換的一個或多個一次性部件,其可選地包括傳感器條。在這些實施方式的一些中,傳感器條本身是一次性的。

本發(fā)明的一些實施方式還包括數(shù)據(jù)處理機,以從傳感器接收傳感器數(shù)據(jù),并可選地存儲和/或管理所述數(shù)據(jù)到計算設(shè)備的傳遞。在傳感器和數(shù)據(jù)處理機之間的通信可以是通過任何適當(dāng)?shù)氖侄?,例如物理連接、無線通信、藍(lán)牙、zigby、蜂窩網(wǎng)絡(luò)、計算機網(wǎng)絡(luò)、衛(wèi)星等。

在一些實施方式中,傳感器與計算設(shè)備直接通信。這樣的通信可以通過任何適當(dāng)?shù)氖侄?,包括物理連接、無線通信、藍(lán)牙、zigby、蜂窩網(wǎng)絡(luò)、計算機網(wǎng)絡(luò)、衛(wèi)星等。

根據(jù)本發(fā)明的另一方面,提供了用于檢測受驗對象的身體部分的位置和/或方向的系統(tǒng),其包括傳感器和與傳感器通信的計算設(shè)備,計算設(shè)備能夠?qū)⑺袦y的數(shù)據(jù)優(yōu)選地處理成適合于提供反饋的形式。本發(fā)明的一些實施方式提供一種系統(tǒng),其包括移動計算設(shè)備以用反饋通知受驗對象,并可選地存儲和/或處理所感測的姿勢數(shù)據(jù)。

在一些重要的實施方式中,本發(fā)明的裝置和/或系統(tǒng)使用3個關(guān)鍵部分。首先,它使用穿戴式粘合帶傳感器,其可準(zhǔn)確地測量整個脊椎,校準(zhǔn)到用戶的自然的和最好達(dá)到的脊椎位置。其重要方面是粘到身體并極大地減小測量誤差的傳感器的附著和折疊方面。在這些實施方式中,帶傳感器連接到單獨的處理和傳輸設(shè)備,因為傳感器意欲僅僅用于單個到幾個用途(它們是一次性的)。在一些實施方式中,傳輸設(shè)備通過藍(lán)牙連接到智能移動電話,并允許游戲化激勵,用戶的姿勢歷史的記錄。使用對傳輸設(shè)備和移動設(shè)備的軟件升級,一次性粘合條允許到身體的不同部分例如肩膀的未來貼附,其從姿勢糾正方面來說也是重要的。

在本發(fā)明的一些實現(xiàn)中,提供一種裝置或系統(tǒng),其包括:柔性傳感器;加速度計;可選的陀螺儀;數(shù)據(jù)收集單元;通信設(shè)備(其可選地是藍(lán)牙);智能電話;以及能夠處理電阻測量以確定身體部分的位置和/或方向的智能電話應(yīng)用(app)。

在本發(fā)明的一些實施方式中,傳感器系統(tǒng)包括垂直級聯(lián)樣式的多對傳感器。

本發(fā)明的裝置或系統(tǒng)的一些實施方式包括調(diào)度器以最小化在例程等待下一回合來再次運行時停止其它功能。

在一些實施方式中,提供感測身體部分的位置和/或方向的方法,其包括:使傳感器附著到或極接近身體部分,其中傳感器包括電阻和導(dǎo)電油墨和粘合條;產(chǎn)生在傳感器和微處理器傳輸設(shè)備之間的通信使能連接;使用藍(lán)牙將傳輸設(shè)備連接到移動電話;對于條上的每個傳感器,將來自傳輸設(shè)備的原始數(shù)據(jù)實時地發(fā)送到移動電話;在移動電話上運行應(yīng)用,其首先在人的自然的身體部分位置處被校準(zhǔn);在移動電話上核對實時電阻數(shù)據(jù);提供所述數(shù)據(jù)的視覺表示;警告用戶位置和/或方向是否滿足或未能滿足預(yù)設(shè)標(biāo)準(zhǔn);以及在移動電話上記錄數(shù)據(jù)以及因而由條經(jīng)由傳輸設(shè)備提供的數(shù)據(jù)的歷史。

在整個這個說明書(包括所附的任何權(quán)利要求)中,除非上下文另有要求,詞“包括(comprise)”和變形例如“包括(comprises)”和“包括(comprising)”將被理解為暗示包括所陳述的整體或步驟或整體或步驟的組,但不排除任何其它整體或步驟或整體或步驟的組。

附圖說明

圖1描繪根據(jù)本發(fā)明的一個實施方式的示例PCB設(shè)計。

圖2示出根據(jù)本發(fā)明的示例系統(tǒng)的各種子系統(tǒng)的分解。

圖3示出基于光纖的傳感器的測量。-90在左邊,+90在右邊。

圖4示出典型的箔應(yīng)變規(guī)設(shè)計。

圖5示出用于衣服的交織松緊帶的例子。

圖6示出裸導(dǎo)電油漆彈性傳感器的電阻與從40mm伸長的關(guān)系曲線。

圖7示出來自一批裸導(dǎo)電浸泡的彈性光纖的電阻與從40mm伸長的關(guān)系曲線。

圖8示出浸漬的傳感器拉伸測試的變化。

圖9示出當(dāng)傳感器彎曲時,微細(xì)裂縫出現(xiàn)且電阻增加。

圖10示出兩個單獨的SpectraSymbol 2.2”FS柔性傳感器的電阻與彎曲角分布圖。兩個數(shù)據(jù)系列都通過減去內(nèi)在電阻而被標(biāo)準(zhǔn)化。第4階多項式趨勢線被包括。

圖11示出SpectraSymbol 2”FS柔性傳感器。傳感器的電阻元件是黑帶,導(dǎo)電元件放置在上面以減小電阻。兩個傳感器布置在相反的方向上,形成惠斯通橋的一半。

圖12示出SS柔性傳感器對的標(biāo)準(zhǔn)化電壓。向左(+)90和向右(-)90掃描導(dǎo)致磁滯。

圖13示出使用BC油漆、柔性PET卡和鋁箔的手工制造的電阻傳感器。

圖14示出使用裸導(dǎo)電油漆、在柔性PET卡上的鋁箔的手工制造的基于電阻油墨的柔性傳感器的電阻與彎曲角分布圖。兩個數(shù)據(jù)系列都通過減去內(nèi)在電阻而被標(biāo)準(zhǔn)化。

圖15示出打印行程1—碳(藍(lán)綠色)。行程2和3—碳和銀(黑色)。

圖16示出在敞開空氣中的單程和雙程電阻固化。

圖17是在噴墨添加劑過程中使用的錫粒子的顯微視圖。

圖18示出在Methode PET上的6個單獨的Methode油墨柔性傳感器的原始電阻與彎曲分布圖。當(dāng)傳感器在-90到+90之間彎曲時方差是一致的。

圖19示出在在一批中的Methode油墨/PET上的傳感器的方差。第三階多項式趨勢線被包括。

圖20示出示例脊椎感測帶的計算機產(chǎn)生的模型。

圖21示出Methode油墨柔性傳感器對的標(biāo)準(zhǔn)化的電壓與彎曲角分布關(guān)系,第三階多項式趨勢線針對每個傳感器的原始數(shù)據(jù)被添加。

圖22是示例處理單元的各種子系統(tǒng)的分解。

圖23是具有加亮區(qū)的示例PCB設(shè)計。復(fù)用器在PCB的下側(cè)上。(在圖1處的原始圖像)

圖24示出LTC4080一般應(yīng)用示意圖。

圖25示出被配置為電阻到電壓轉(zhuǎn)換器的opAmp。對于正輸出需要負(fù)Verf。

圖26示出半橋惠斯通和儀表放大器的示意圖。

圖27描繪從離散opAmp創(chuàng)建儀表放大器。

圖28示出AD8236 Breakout。

圖29示出MCP42XX Digipot引腳分配。

圖30示出分壓器TLE2426的示意圖。

圖31示出TLE2426引腳分配和Vi/Vo曲線(Vi:Vin)(Vo:Vout)。

圖32示出ADXL345 Breakout。

圖33是根據(jù)一個示例實施方式的固件代碼結(jié)構(gòu)的高級表示。

圖34是調(diào)度器和基于延遲的系統(tǒng)的流程圖,其中調(diào)度器用在SpineSensorV2A FirmwareV0 8 1.ino中。

圖35是readSensor()的函數(shù)流程圖。

圖36描繪關(guān)于身體總曲率如何被得到以及身體的方向被忽略的視覺解釋。

圖37示出從以一致的方式得到角度θ方面來說分量矢量a.b如何與c有關(guān)。

圖38是calibrateSensor()的函數(shù)流程圖。

圖39描繪Atmega32U4 SRAM的總映射。

圖40示出堆棧和大堆陣如何在AVR微控制器內(nèi)增長。

圖41示出在我們的最終PCB中的安裝在底部上的microusb SMD端口的前側(cè)和后側(cè)。

圖42示出在異步模式中的串聯(lián)USART的示例連接布置。

圖43示出根據(jù)RN42數(shù)據(jù)表的引腳分配以及板的平板掃描底側(cè)尺寸。

圖44示出SPI如何由具有時鐘和芯片選擇的移位寄存器的環(huán)組成。

圖45描繪對具有多個CS#線的各個SPI設(shè)備尋址。

圖46描繪使具有環(huán)拓?fù)涞亩鄠€SPI設(shè)備級聯(lián)。所有設(shè)備共用相同的CS#線。

圖47描繪在CS#的上升沿上執(zhí)行命令和值之前被傳送的命令和字節(jié)的典型SPI通信。

圖48描繪命令字節(jié)分解圖。

圖49描繪如何在視覺上解釋SPI模式。第一模式被加亮。

圖50示出I2C設(shè)備的一般配線。注意,存在對SCL和SDL的上拉電阻器的強制需要。

圖51描繪ADXL345寄存器圖。

圖52描繪ADXL345 POWER CTL寄存器。

圖53描繪ADXL345 DATA FORMAT寄存器。

圖54示出被用作復(fù)用器通道選擇的S0到S3。

圖55示出PhoneGap應(yīng)用的用戶界面的線框草稿圖。左:前-后彎曲。又:左到右彎曲。

圖56示出示例PhoneGap架構(gòu)。

圖57示出.html和.class函數(shù)的流行jQuery語法兼容庫的基準(zhǔn)。

圖58描繪畫布元素。測量單位是像素。原點(0,0)在左上角上。畫布是500x375個像素。右下角位置是(500,375)。

圖59描繪javascript畫布庫的比較。

圖60示出Javascript和PaperScript作用域。

圖61示出JavaScript、PaperScope和窗口全局變量(數(shù)據(jù)存儲器)。

圖62描繪對與用戶保存的最佳姿勢位置的偏差的示例計算。

圖63描繪移動應(yīng)用的示例3D表示。對每個曲線有單獨的畫布。

圖64描繪示例電話應(yīng)用過程。

圖65描繪jsperf.com基準(zhǔn),很多循環(huán)實現(xiàn)是可用的。循環(huán)性能基準(zhǔn)。

圖66描繪示例渲染:左:無子像素渲染(混疊的),右:抗混疊用于使子畫面平滑,因為原點不是設(shè)定的整數(shù)。

圖67首先描繪測試柔性條的自動裝備。其次是測試光折柔性傳感器的自動裝備。

圖68示出哪個前傳感器表示哪個subshot。

圖69描繪示例復(fù)用器。

圖70描繪示例微控制器。

圖71描繪示例電源系統(tǒng)。

圖72描繪RN42無線電模塊。

圖73描繪Zif插座。

圖74描繪示例放大器和調(diào)諧系統(tǒng)。

圖75描繪示例振動電機驅(qū)動器。

圖76描繪示例振動電機驅(qū)動器。

圖77描繪示例復(fù)用器。

圖78描繪根據(jù)本發(fā)明的示例條。

圖79描繪示出水平移位的根據(jù)本發(fā)明的示例條。

圖80描繪示出對角移位的根據(jù)本發(fā)明的示例條。

圖81描繪示出垂直移位的根據(jù)本發(fā)明的示例條。

圖82-84示出示例實施方式,其中對不同的身體部分利用本發(fā)明的條。

圖85描繪包括在條和發(fā)射機之間的直接連接的本發(fā)明的一個實現(xiàn)的使用。

具體實施方式

在本文中結(jié)合與感測姿勢有關(guān)的特別優(yōu)選的實施方式且特別是通過參考脊椎位置描述本發(fā)明是方便的。然而,本發(fā)明可應(yīng)用于各種環(huán)境和情況,且應(yīng)認(rèn)識到,其它結(jié)構(gòu)和布置也被考慮為落在本發(fā)明的范圍內(nèi)。對本文所述的結(jié)構(gòu)和布置的各種修改、變更、變化和/或添加也應(yīng)被考慮為落在本發(fā)明的領(lǐng)域和范圍內(nèi)。這樣的修改的例子包括感測在空間中的位置和其它關(guān)節(jié)例如肩膀、膝蓋、肘、腰等的運動。

示例實現(xiàn)—EWo3

這個例子提供人類脊椎糾正設(shè)備,其包括可附著到人的背部的柔性帶并對用戶校準(zhǔn)并將無線信號發(fā)送到智能電話以用于記錄和復(fù)查。在有或沒有醫(yī)療輔助的情況下都可以容易地應(yīng)用該設(shè)備以幫助自我糾正脊椎和姿勢問題。

本發(fā)明的這個特定實施方式目的在于提供監(jiān)控姿勢的廉價的、容易使用的和精確的備選方案。信號從設(shè)備被發(fā)送并例如使用應(yīng)用(App)顯示在手持設(shè)備(例如移動電話)的屏幕上。

各種傳感器可以如在本文詳述的那樣被使用或互換,但在一個實施方式中設(shè)備使用具有線性度和在低成本下的性能的定制傳感器設(shè)計。

Ewo3例子是消費和醫(yī)療設(shè)備,其幫助減小與生活方式和工作習(xí)慣有關(guān)的脊椎損傷的發(fā)生。這包括擴展的運動和靜止姿勢,其將隨著時間的過去導(dǎo)致一系列肌肉勞損和損傷。

根據(jù)本發(fā)明的設(shè)備的益處包括:

1.準(zhǔn)確度——向用戶通知足夠的信息以糾正他們的姿勢的能力。

2.成本——足夠便宜,類似于對醫(yī)師的單次拜訪。

3.動機——如果用戶不遵循指令,準(zhǔn)確度沒有任何意義,所以設(shè)備使用激勵來鼓勵用戶糾正他們的行動。

4.可靠性——用戶可信任結(jié)果、準(zhǔn)確度并改進(jìn)他們的姿勢。

5.互用性——設(shè)備配合空間中的其它解決方案,例如醫(yī)師。

設(shè)備目的在于消費者市場而不是醫(yī)療市場。這意味著對最小化成本的增加的強調(diào)。這個特定的例子更多地聚焦于防止上背損傷,優(yōu)先于下背,因為上損傷更常見。這個特定的低成本例子優(yōu)先考慮前后測量,優(yōu)先于左到右姿勢,因為大部分人知道如何自然地維持左到右姿勢。

生物反饋用于刺激和反饋(經(jīng)由通過移動電話應(yīng)用的長期圖形、中期視覺反饋,以經(jīng)由觸覺反饋警報來立即反饋)。用戶也可給他們的理療醫(yī)師或脊椎指壓治療師發(fā)送例如與他們的進(jìn)步有關(guān)的消息。

圖2示出這個例子的各種子系統(tǒng)的分解。它示出總系統(tǒng)可如何分解成包括下列項:

●背部的彎曲

●柔性傳感器

●加速度計/陀螺儀

●數(shù)據(jù)收集單元

●藍(lán)牙通信

●具有藍(lán)牙的智能電話

●具有校準(zhǔn)的智能電話應(yīng)用

●將數(shù)據(jù)遠(yuǎn)程地發(fā)送到保健專業(yè)人員,例如理療醫(yī)師。

傳感器

總體系統(tǒng)設(shè)計圍繞脊椎感測帶。每個感測帶的配置由多個傳感器組成,使得它可提供檢測人從前到后和從左到右彎曲多少(或以不正確的姿勢彎腰)的解決方案。尺寸外形是細(xì)長的,所以容易在不侵入的情況下應(yīng)用。帶被設(shè)計為低成本的并符合現(xiàn)有的制造工藝。

有三種類型的傳感器特征:單向、雙向和雙極。單向傳感器只有在兩個相反的方向中的一個方向上彎曲時才改變屬性。雙向傳感器當(dāng)在兩個相反的方向上彎曲時改變屬性,僅測量運動的幅度。雙極傳感器在兩個相反方向上改變屬性,每個方向產(chǎn)生不同的測量。

可使用很多不同的感測技術(shù)。優(yōu)選地,感測帶包括用于前后運動的基于阻抗的柔性陣列和(可選的)用于增強的功能和準(zhǔn)確度的加速度計。

光纖布拉格光柵傳感器

光纖布拉格(FBG)傳感器由特別制造的光纖構(gòu)成,感測區(qū)域被處理以選擇性地充當(dāng)對某個波長的光的反射鏡。使光纖應(yīng)變會產(chǎn)生在光柵的間隔中的移位,這可被檢測為在從輸入光源反射的光中的變化,或在光纖的另一端上的光強度的相應(yīng)降低)。這通過定期地改變核心光纖的感測區(qū)域的折射率來實現(xiàn)。它具有非常高的準(zhǔn)確度的優(yōu)點。

通過選擇性磨損或破裂的纖維光學(xué)器件傳感器

也可在一些應(yīng)用中使用柔性傳感器的破裂類型。這涉及在覆蓋有熱收縮的光纖中切割的0.5-1mm間隙。在一端上的白色LED和在另一端上的光依賴電阻器,自動裝備在圖3中報告這些結(jié)果。這顯示光學(xué)柔性傳感器和LDR組合不是線性的,但具有在至少3個連續(xù)試驗上的高重復(fù)性。數(shù)據(jù)表明這個傳感器是雙向的,但不能用于檢測向前或向后運動,僅僅運動的幅度。

微機電系統(tǒng)(MEMS)

MEMS是映射機械變化的IC,例如加速度計或陀螺儀。MEMS相對于它們的成本是極其準(zhǔn)確的。它們常常用在涉及人體的生物醫(yī)學(xué)應(yīng)用中。圖3示出基于光纖的傳感器的測量。-90是左邊,+90是右邊。試驗的平均值被包括在圖表中。

基于電阻的傳感器

裸導(dǎo)電油漆是無毒的基于水的油漆,其用碳聚合物灌輸。它具有適合于絲網(wǎng)印刷或涂覆的55歐姆/Sq/微米的電阻。

常規(guī)應(yīng)變規(guī)是依賴于在絕緣柔性基底(例如聚酰亞胺)上的導(dǎo)電箔的細(xì)絲之間的電阻的無源設(shè)備。因為傳感器是細(xì)長的,當(dāng)細(xì)絲彼此移動時,橫截面面積改變。長平行細(xì)絲布局將方向限制到一個維度。

應(yīng)變規(guī)傳感器能夠檢測彎曲和延伸,其使它們適合于這個示例實施方式。通過集成嵌在帶上的兩列應(yīng)變傳感器,可能檢測到前向和側(cè)向運動。

注意:歐姆/sq(/微米)是導(dǎo)電油墨的工業(yè)標(biāo)準(zhǔn)測量。Sq被定義為電阻部分的長度/寬度之比,實際測量的電阻受到由于涂敷方法而引起的變化(特別是/微米(z方向,涂敷厚度))。

通過使用由裸導(dǎo)電油漆涂敷的彈性光纖來復(fù)制常規(guī)應(yīng)變傳感器的特征。(見圖5:用于衣服的交錯松緊帶。)當(dāng)彈性光纖的長度增加時,在導(dǎo)電碳粒子之間的距離在交叉編織結(jié)構(gòu)內(nèi)增加。當(dāng)端對端測量時,彈性光纖的伸長增加電阻。用于彈性的編織技術(shù)方便地限制只在一個維度(縱向)上的拉伸,這類似于基于箔的量規(guī)。可從圖7中看到電阻分布,通過集成預(yù)先拉伸的應(yīng)變傳感器,可實現(xiàn)雙極感測。

可使用不同的涂敷方法:直接涂覆和浸漬/浸泡。首先,直接油漆涂敷到彈性光纖的表面上在長度的短變化之后產(chǎn)生電阻的明顯增加。通過用以水稀釋的裸導(dǎo)電油漆浸漬傳感器,更多的碳粒子被引入并可用于導(dǎo)電性。從圖8中,有在批次之間的明顯變化。

基于電阻油墨的傳感器

這些柔性傳感器一般由條組成,該條由更像應(yīng)變傳感器的在絕緣材料上的電阻條組成,但不需要相同程度的制造精度。電阻油墨是易碎的,但能夠形成與基礎(chǔ)材料的強結(jié)合。當(dāng)傳感器彎曲時,在彎曲的局部化區(qū)域內(nèi)的絕緣基底展示拉伸,其將導(dǎo)電粒子拉開并引入永久的微裂縫。這是所利用的特性;進(jìn)一步的彎曲將打開和關(guān)閉這些間隙,由于彎曲而導(dǎo)致電阻的變化。當(dāng)在靜止時,柔性傳感器返回到它的內(nèi)在電阻(取決于電阻條的形狀)。

柔性傳感器的電阻根據(jù)在彎曲位置處的半徑而改變。較尖銳的彎曲部分的越小的半徑,電阻就越大,因為與具有大半徑的彎曲部分比較,微裂縫更疏開一些,但它也可引起永久損壞。此外,因為柔性傳感器一般在長度上是2”到5”,沿著一個傳感器的多個彎曲部分將給出沒有代表性的電阻和彎曲角。因此,每個傳感器必須將彎曲暴露限制到一個特定的點,同時為了最好的準(zhǔn)確度也維持一致的彎曲半徑。

Flexpoint、SpectraSymbol和Infusion系統(tǒng)是商業(yè)極柔性傳感器和在市場上的類似大部分柔性傳感器的制造商,它們都是單向傳感器。Flexpoint聲稱沒有與它們的傳感器相關(guān)的磁滯。值得注意的是,F(xiàn)lexpoint傳感器的彎曲分布的電阻是非線性的。

圖6示出裸導(dǎo)電涂覆彈性傳感器的電阻與從40mm伸長的關(guān)系曲線。為了比較,添加使用浸泡方法的傳感器。兩個數(shù)據(jù)系列都具有第三階多項式趨勢線。

圖7示出來自一批裸導(dǎo)電浸泡彈性物的電阻與從40mm伸長的關(guān)系曲線。第三階多項式趨勢線插入每個傳感器內(nèi)。

圖8示出浸漬的傳感器拉伸測試的變化??勺⒁獾剑兓谡麄€同一生產(chǎn)批次中明顯增加。

圖9示出當(dāng)傳感器彎曲時,微細(xì)裂縫出現(xiàn)且電阻增加。在彎曲的局部化區(qū)域處,在所引起的微裂縫之間的距離增加,增加了傳感器的電阻。

電阻油墨柔性傳感器發(fā)展

SpectraSymbol FS柔性傳感器

在一個例子中使用SpectraSymbol的商業(yè)柔性傳感器。傳感器由以導(dǎo)電條分層的電阻元件組成,圖11。主要元件是由于彎曲而改變的電阻部件。導(dǎo)電白條可用于降低傳感器端到端的內(nèi)在電阻的目的。從圖10中,可注意到,它在操作區(qū)0-+90(遠(yuǎn)離被印刷的一側(cè))內(nèi)是非線性的。當(dāng)彎曲到操作區(qū)內(nèi)時,基礎(chǔ)材料的長度增加,從而增加每個微裂縫的距離。朝著被印刷的一側(cè)(-90)彎曲不減小電阻。這是由于電阻碎塊的高密度;距離不能進(jìn)一步減小,從而電阻只改變了最小量。

因為SS柔性傳感器是單向的,僅僅一個傳感器不足以測量運動的前向和后向方向。通過背對背相反地放置兩個并用粘合劑固定(圖11,兩個傳感器中的至少一個將在操作的活動區(qū)中)。傳感器對作為半惠斯通橋被連接,用于使用角彎曲的變化來測量電壓差。

圖10示出兩個單獨的SpectraSymbol 2.2”FS柔性傳感器的電阻與彎曲角分布圖。兩個數(shù)據(jù)系列都通過減去內(nèi)在電阻而被標(biāo)準(zhǔn)化。第4階多項式趨勢線被包括。

圖11示出SpectraSymbol 2”FS柔性傳感器。傳感器的電阻元件是黑帶,導(dǎo)電元件放置在頂部上以減小電阻。兩個傳感器布置在相反的方向上,形成惠斯通橋的一半。

圖12示出SS柔性傳感器對的標(biāo)準(zhǔn)化電壓。向左(+)90和向右(-)90掃描導(dǎo)致磁滯。

手工制造的電阻柔性傳感器

圖13示出使用BC油漆、柔性PET卡和鋁箔的示例手工制造的電阻傳感器。在另一例子中,電阻柔性傳感器使用BC油漆、柔性PET卡和用于導(dǎo)電條的鋁用手創(chuàng)建。電阻的行為與SS柔性傳感器類似。由于制造不一致性,內(nèi)在和操作行為在同一批內(nèi)由于不均勻的BC油漆涂敷(在z方向上)而存在一些變化。雖然電阻的范圍廣泛地改變,當(dāng)受到彎曲時,7/10的所創(chuàng)建的傳感器展示類似的變化。

噴墨打印電阻柔性傳感器

存在很多用于柔性PCB的商業(yè)制造的方法。連同常規(guī)半添加劑處理;在這個例子中給出絲網(wǎng)和噴墨打印方法。圖14示出使用裸導(dǎo)電油漆、在柔性PET卡上的鋁箔的手工制造的基于電阻油墨的柔性傳感器的電阻與彎曲角分布圖。兩個數(shù)據(jù)系列都通過減去內(nèi)在電阻而被標(biāo)準(zhǔn)化。

為示例設(shè)備開發(fā)的方法

半添加劑方法是制造PCB的常見方法。DuPont的柔性的基于聚酰亞胺的Pyralux用作纖維玻璃背襯的簡易替代品。固體油墨打印機用于創(chuàng)建相減掩模。這將只解決導(dǎo)電裂縫的問題,而非電阻油墨的涂敷。

絲網(wǎng)打印是用于大格式海報打印的添加劑方法。在導(dǎo)電和電阻油墨的引入的情況下,它們現(xiàn)在被廣泛地用在涉及定制形狀的電路的工業(yè)中。Flexpoint和SpectraSymbol傳感器都使用這種技術(shù)被打印。建立每個模板掩模的成本是$200-300,然而在進(jìn)行中的制造成本是最小的。

噴墨打印也是使用具有特殊油墨的噴墨打印技術(shù)的添加劑方法,其中粒子尺寸在納米規(guī)模上。由于所需數(shù)量的處理,油墨的成本非常高,但不涉及額外的建立過程,因此與絲網(wǎng)打印比較,不同設(shè)計的數(shù)量不被成本限制。因為設(shè)備涉及很多測試和原型設(shè)計,噴墨打印是對這個示例實施方式的最適合的選擇。

大部分噴墨油墨是基于水的,它們包含其它添加劑例如纖維素樹脂和保濕劑以使油墨穩(wěn)定,用于存儲并通過將粘度控制到適當(dāng)?shù)乃?<20cP)來打印,使得它可懸浮在打印噴嘴內(nèi)而沒有泄漏。最重要地,彩色顏料或?qū)щ娏W颖仨氃诩{米規(guī)模上,以便不阻塞打印頭。這意味著稀釋的裸導(dǎo)電油漆(或來自其它制造商例如Conductive Compounds)由于大粒子尺寸而不能用在噴墨打印機中。需要通過超聲波浴的超聲處理以在它適合于使用之前減小尺寸。

Methode Electronics導(dǎo)電油墨

在市場中有噴墨兼容油墨的很多提供商,例如InkTec、Methode Electronics和Plextronics。InkTec和Methode提供基于銀和碳的油墨,而Plextronics也產(chǎn)生用于光伏和OLED電路的基于有機聚合物的油墨。在這個示例實施方式中,使用Methode油墨。

為Methode Electronics及其油墨特別設(shè)計Methode PET。這兩者都被處理以促進(jìn)油墨干燥和附著。兩個PET版本都是半透明的。

打印技術(shù)

使用3行程過程來打印傳感器。首先,涂敷碳層,之后是在頂部上的銀+碳的另外兩個層。圖15示出打印行程1—碳,行程2和3—碳和銀。因為打印機在任一時間只可以打印一種類型的導(dǎo)電/電阻油墨,需要多行程技術(shù)來防止在銀和碳部分之間的任何微觀間隙,以維持油墨整體性。使用分層技術(shù),將有至少一個端到端連續(xù)路徑(通過底部碳層)。每當(dāng)新層(1微米z)被涂敷時,導(dǎo)電性線性地減小,圖16。

可選的柔性傳感器結(jié)構(gòu)

傳感器被設(shè)計和打印在Methode PET和Epson聚酯上。單獨的傳感器在180度范圍內(nèi)被測試,從圖18中,有在-90到+90范圍內(nèi)的非常顯著的線性度。數(shù)據(jù)還沒有被標(biāo)準(zhǔn)化以展示使用噴墨打印實現(xiàn)的小變化。在圖19中繪出方差與彎曲角的關(guān)系曲線;量非常小且在整個180度操作范圍當(dāng)中是一致的。圖16示出在敞開空氣中的單程和雙程電阻固化。圖17是在類似的噴墨添加劑過程中使用的錫粒子的顯微視圖。

盡管有與商業(yè)柔性傳感器比較的類似的布局,與非線性單向特征比較,我們能夠創(chuàng)建雙極線性傳感器。這是由于由打印頭涂敷的電阻粒子的低密度。來自圖17的類似噴墨涂敷過程的顯微掃描顯示在每個滴之間的間隙。雖然這些間隙被減小并通過多個行程被覆蓋,這引入在z方向上的間距,產(chǎn)生在微碎塊之間的微觀距離。這給出額外的空間用于當(dāng)材料基底在任一方向上彎曲時使粒子“行進(jìn)”。當(dāng)朝著被印刷的一側(cè)彎曲時,材料基底在長度上減小并在距離上減小,導(dǎo)致電阻減小。

圖18示出在Methode PET上的6個單獨的Methode油墨柔性傳感器的原始電阻與彎曲分布圖。線性趨勢線被包括。當(dāng)傳感器在-90到+90之間彎曲時,方差是一致的。圖19示出在在一批中的Methode油墨/PET上的傳感器的方差。第三階多項式趨勢線被包括。

盡管已經(jīng)創(chuàng)建在操作范圍內(nèi)是雙極的和線性的傳感器,但我們決定對這個例子繼續(xù)使用類似于商業(yè)柔性傳感器的對配置(形成惠斯通的一半),而沒有對關(guān)于感測帶和處理單元的現(xiàn)有電路設(shè)計的明顯變化。由于打印機本身的約束的A4尺寸,唯一的成本是與用手連接段相關(guān)的時間量。

每對傳感器以垂直級聯(lián)格式布置以增加分辨率并減小彎曲部分的漏掉的捕獲(與端到端布局比較)。感測帶由12對傳感器組成,每對檢測運動的前向和后向方向。

圖20示出示例脊椎感測帶的計算機產(chǎn)生的模型。圖21示出Methode油墨柔性傳感器對的標(biāo)準(zhǔn)化電壓與彎曲角分布圖,第三階多項式趨勢線對每個傳感器的原始數(shù)據(jù)被添加。

主VCC和接地線給感測帶傳感器供電。由于納米粒子的尺寸,銀#9101導(dǎo)電油墨具有相當(dāng)大的電阻。為了覆蓋長距離(y方向),通過加寬VCC和接地線(x方向)的橫截面面積并打印多個行程(z方向)來最小化電阻。此外,由于VCC和地沿著側(cè)面被布置的缺陷,通過在各種點處的交叉連接使用導(dǎo)電Kemo L100銀油漆來減小電感。使用類似于PCB通孔的CircuitWorks銀導(dǎo)電環(huán)氧樹脂來連接傳感器對。傳感器使用該通孔作為錨定點。沒有將這些對保持在一起的額外粘合劑,以減小由對商業(yè)傳感器觀察到的缺乏柔性引起的任何磁滯。

由于空間約束,銀信號軌道具有在200歐姆的范圍內(nèi)的電阻,然而,這是不重要的,因為柔性傳感器的內(nèi)在電阻在千歐姆和惠斯通配置的范圍內(nèi)。由于無源傳感器設(shè)計,存在最小噪聲。

額外的膨脹能力對暴露的I2C和橫貫到帶的頂部的電源接觸點是可能的,其中加速度計夾子可被附著。使用連接到處理單元上的ZIF的打印機將直接打印20pin 1mm寬ZIF板。

PCB和硬件設(shè)計

圖22示出示例處理單元的各種子系統(tǒng)的分解。圖23是具有加亮區(qū)的最終PCB設(shè)計。復(fù)用器在PCB的下側(cè)上。(在圖1處的原始圖像)

1.分幅器(輸出一半供電電壓)

2.AD8236微功耗儀表放大器

3.MCP42100 100k歐姆256步SPI digipot

4.用于電池感測的分壓器

5.觸覺電動機NMOS驅(qū)動器

6.具有USB支持的Atmega32U4AVR微處理器

7.RN42藍(lán)牙串行模塊

8.鋰離子電池充電器

9.ZIF插座

10.下側(cè)(未示出)CD74HC4067 16通道模擬復(fù)用器

圖24示出LTC4080一般應(yīng)用示意圖。

電源系統(tǒng)

設(shè)備的電源系統(tǒng)圍繞LTC4080IC開發(fā)。它是具有300mA同步降壓轉(zhuǎn)換器的500mA獨立鋰離子電池充電器。它被決定采用一般應(yīng)用示意圖(圖24),但被修改以適合這個例子的要求。

反饋電阻的比被改變。在圖24中的R2減小到315.78千歐姆。每當(dāng)在反饋引腳處的電壓下降到0.8V之下時,觸發(fā)降壓電路。通過放置在反饋引腳和Vout之間的分壓器,該比將允許在輸出處的3.3V被看作針對反饋引腳的大約0.8V。

Vout=3.33V被四舍五入到兩個小數(shù)位

對于電源系統(tǒng)的示意圖,參考圖71。

回退LDO和電池充電器的板放置在PCB上。最后,LTC4080不與電池一起工作,直到額外的二極管被包括為止。由于在PCB設(shè)計中的疏忽,二極管是需要的,其中EN BUCK被布線到USB電源而不是鋰離子電池。這意味著降壓轉(zhuǎn)換器只在連接到USB電源時才起作用,這使合并它與電池的目的受挫。通過二極管,在Vin處的EN BUCK仍可從電池被供電,但來自USB的電流被保護(hù)免于直接給鋰離子電池充電(防止?jié)撛诘幕馂?zāi)危險)。來自最終板的整個系統(tǒng)功率消耗的測量。系統(tǒng)電流是:

LTC4080還具有突發(fā)模式,如果系統(tǒng)使用小于10mA,該突發(fā)模式是有用的,以增加的波紋為代價。(降壓效率與負(fù)載電流的關(guān)系圖)。雖然突發(fā)模式的相應(yīng)PCB軌道被布線,系統(tǒng)從不下降到10mA之下,所以這個特征不被實現(xiàn)。

目前為來自SparkFun的1000mAh Li-Po設(shè)計處理單元。假設(shè)可計算連續(xù)藍(lán)牙傳輸電池壽命。

deciceRuntime(h)=batteryCapacity(mA/h)/consumptuion(mA)

使用降壓轉(zhuǎn)換器:最大值:最小值:

使用LDO:最大值:最小值:

運行時間是估計。在降壓轉(zhuǎn)換器和LDO之間的運行時間差異近似是1小時。由于成本和尺寸,LDO是有利的。在當(dāng)前使用中要改進(jìn)的領(lǐng)域是數(shù)據(jù)傳輸速率的問題。這是在藍(lán)牙傳輸頻率和功率消耗之間的關(guān)聯(lián)。因為用戶不需要真實數(shù)據(jù),直到直接觀看顯示器時為止,可通過將柔性傳感器讀取減慢到一分鐘一次來提高電池壽命。在一些實施方式中,提供了睡眠模式以最小化功率的現(xiàn)行浪費。圖25示出被配置為電阻到電壓轉(zhuǎn)換器的opAmp。對于正輸出需要負(fù)Verf。

根據(jù)本發(fā)明的單元的電池或能量源可放置在任何適當(dāng)?shù)奈恢蒙稀T谝恍﹥?yōu)選實施方式中,它與發(fā)射機安置在一起。在一些優(yōu)選實施方式中,電池位于與發(fā)射機相同的殼體或與它有共同空間的殼體內(nèi)或相鄰于與發(fā)射機相同的殼體或與它有共同空間的殼體。

低電池感測

通過放置兩個分壓電阻器的板來制造低電池感測的框架以將鋰離子電池的電壓(在2.7到4.5V之下之間的電壓)減小到ADC可感測到的范圍內(nèi)。因為準(zhǔn)確度對這個特定的實施方式不重要,兩個1M歐姆電阻器用作感測分壓器比。這將鋰離子電池的電壓減小到一半,其在4.5/2=2.35V和2.7/2=1.35V之間。

信號處理和放大

因為在所打印的柔性傳感器中的可觀察到的變化是非常小的信號,它們在數(shù)據(jù)可被獲取之前需要放大。這包括圖25所示的設(shè)計,例如對電阻放大器的電阻。此外,在最終設(shè)計中的Atmega32U4中的ADC信號輸入被配置為從地到VCC的單側(cè)ADC輸入。

從單側(cè)移動到微分放大器設(shè)計,惠斯通(半橋)電路設(shè)計被采用?;菟雇蚪?jīng)由儀表放大器來測量在電壓中的差異。在半橋設(shè)計中,橋的一半是一對柔性傳感器,而橋的另一半是提供靜止電壓參考的分壓器。靜止電壓參考是當(dāng)拉直的時由柔性傳感器看到的電壓。

圖26示出半橋惠斯通和儀表放大器的示意圖。

測試電路被構(gòu)建以評估該概念。實驗電路板被布線到圖26中的設(shè)計,其中靜止參考電壓由手可調(diào)節(jié)電位計表示。

儀表放大器選擇

最初,NA126被選擇為第一儀表放大器,從數(shù)據(jù)表中有從上軌和下軌的0.9V電壓降。這意味著ADC在3.3V系統(tǒng)中將看到的搖擺的范圍是僅僅1.50002V=3.3V-0.9V*2。

利用ADC的全范圍且不失去在感測范圍中的1.8V是合乎需要的。存在對從LM324N構(gòu)建儀表放大器的可行性的研究。LM324N由具有上電源軌電壓的0V到1.5V的輸出擺動的4個opAmp組成。它被配線為如圖27所示的儀表放大器。作為關(guān)于上軌電壓下降的問題的變通方案,被供應(yīng)到LM324N的電壓比被供應(yīng)到分軌器(在章節(jié)3.2.3中詳述)和半惠斯通橋的電壓高至少2V。5V被供應(yīng)到LM324N,以及3.3V被供應(yīng)到傳感器以及ADC AREF(ADC電壓參考)。

雖然LM324N可被配置為儀表放大器和更高的電源電壓,它最終下降,有利于圖27所示的模擬設(shè)備的AD8236。這是因為使用LM324N將需要供應(yīng)兩個單獨的電壓,一個用于LM324,以及另一電壓給柔性傳感器供電。AD8236具有軌到軌電壓擺動。其次,SOIC芯片小于LM324N。因為AD8236是集成儀表放大器,與LM324N配置相反,需要較少的離散部件。導(dǎo)致較小的PCB。

所有試驗用的放大器設(shè)計使用單個電阻器來設(shè)置設(shè)備的增益。AD8286在性質(zhì)上是類似的,在圖28中的分解示出各種電阻和可被得到的近似增益。為了找到得到特定的增益值所需的確切值,其中RG是增益電阻,且G是期望增益值。注意,存在200的最大增益。圖29示出MCP42XX Digipot引腳分配。

數(shù)字電位計

在這個設(shè)計中的數(shù)字電位計的主要角色是設(shè)置電壓參考以及AD8236儀表放大器的增益。為這個工作選擇MCP42100,其是具有兩個內(nèi)部單獨可控制的電位計的100千歐姆數(shù)字電位計。MCP42100為每個電位計存儲在0-255之間的值。這意味著這個電位計的理論分辨率是:

選擇100千歐姆數(shù)字電位計的原因是因為所需的增益的范圍在10到200的增益之間。這是因為我們測試的大部分柔性傳感器具有在大約0.1到0.3V的一般擺動。這分別需要33和11的增益,設(shè)置增益的100千歐姆數(shù)字電位計將能夠容易從10的增益擺動到200。這給了我們許多余地來最終移動到未來的傳感器,例如對電路有最小修改的真實應(yīng)變規(guī)。

例如在國家儀器白皮書“Measuring Strain with Strain Gages”中,提到應(yīng)變規(guī)一般輸出小于10mV/V(每激發(fā)電壓)。這意味著對于3.3V,可預(yù)期看到大約3.3V*0.01=0.033V。為了放大來自這些應(yīng)變規(guī)(對于3.3V系統(tǒng))的這樣的信號,增益應(yīng)被設(shè)置為:

100=3.3/0.033。

這應(yīng)相應(yīng)于4.42K的增益電阻。且給出具有0.39千歐姆的步進(jìn)分辨率的digipot,可通過將digipot電阻寄存器設(shè)置到11=4.42/0.39來達(dá)到4.42K的增益電阻。

數(shù)字電位計的另一目的是充當(dāng)在靜止時柔性傳感器的電壓參考用于使儀表放大器與其比較。

作為分壓器,digipot可將3.3V分成256步長,每步長0.01288V的步進(jìn)分辨率。因為在digipot數(shù)據(jù)表中,“V+=3V”的一般“全標(biāo)度誤差”和“零標(biāo)度誤差”一般在LSB的0.35處,LSB代表LSB=V+/256,其中V+是被供應(yīng)到分壓器的電壓。因此,LSB是以前計算的電壓步進(jìn)分辨率。因此對于3.3V,我們可預(yù)期大約下列值的誤差范圍:

電壓誤差

digipot被設(shè)置為0.0128V*128=1.6384V,真實值被預(yù)期在1.638437V和1.638437V之間。因為在這個例子的所印刷的柔性傳感器中的電壓變化一般不大于0.1V,這個誤差完全低于誤差裕度。這將是不同的問題,如果對付需要更大的準(zhǔn)確度的應(yīng)變傳感器。

圖30示出分壓器TLE2426的示意圖。

分軌器和虛擬地

如在圖36中看到的,儀表放大器需要地電壓參考。因為Atmega32U4 ADC僅可以在地到AVCC AREF之間獲取,意味著它不能檢測到如果我們將儀表放大器電壓設(shè)置到0V則通常將看到的任何負(fù)電壓。將儀表放大器設(shè)置到這個新虛擬地。允許負(fù)電壓以及正電壓的感測。

TLE2426提供一般在170uA處在5V輸入的情況下操作的高精度虛擬地。這個設(shè)備精確地輸出輸入電壓的一半。為了進(jìn)一步的準(zhǔn)確度,噪聲抑制引腳經(jīng)由1uF電容器連接到地。

分軌器充當(dāng)分壓器,其中Vout=Vin/2。因為分壓器的準(zhǔn)確度基于兩個電阻之比,大部分分軌器被嚴(yán)格控制的電阻容限限制。可在圖30中看到作為緩沖器的OpAmp。

雖然TLE2426被設(shè)計為在4V和40V之間(如在圖31中看到的),它在被供應(yīng)3.3V時仍然工作。這最可能是由于儀表放大器的無緩沖的地參考輸入引腳的低電流消耗。

復(fù)用器

第一設(shè)計最初適用于74HC4051(8通道復(fù)用器,3個數(shù)據(jù)/控制線),但由于對更彎曲的傳感器的需要而之后適用于來自德州儀器的CD74HC4067(16通道復(fù)用器,4個數(shù)據(jù)/控制線)。

外部通信

藍(lán)牙

在這個例子中,由于對與ANT+比較的在當(dāng)前智能電話用戶群當(dāng)中的標(biāo)準(zhǔn)藍(lán)牙協(xié)議的普遍采用以及相對低的能量使用,優(yōu)先于其它無線技術(shù)例如ANT+或WiFI而選擇藍(lán)牙。我們最初選擇HC-05,但切換到RN42,都是藍(lán)牙2.0模塊。這兩個模塊都可由串行UART通過接口連接到MCU。

擴展(I2C)和額外的特征

加速度計

在一個實現(xiàn)中,使用MPU6050。為了更大的準(zhǔn)確度,它具有運動處理單元以合并和結(jié)合來自兩個傳感器的所獲取的數(shù)據(jù)。創(chuàng)建ADXL345的定制分解板(圖32),其為必須使用熱空氣槍回流的LGA(連接盤網(wǎng)格陣列)封裝的加速度計。一旦ADXL345被正確地裝上,它就裝接到I2C線。下面詳述它到主處理單元的通信。

觸覺反饋

觸覺反饋由3V觸覺電動機的NMOS開關(guān)實現(xiàn),分壓器用于限制電動機接收的最大電流,防止燒壞。此外,二極管放置成與電源相反,以在關(guān)閉NMOS門時保護(hù)電路不受振動電動機的電感反沖。對于驅(qū)動器的示意圖,參考在圖75的示意圖。

固件設(shè)計

固件是從處理單元的微處理器的內(nèi)部閃速指令存儲器執(zhí)行的代碼。微處理器基于SparkFun Pro Micro 3.3V/8MHz——Arduino Pro Micro 16MHz的增強。Atmega32U4微控制器包含由Arduino IDE對經(jīng)由USB的串行通信使用的內(nèi)部USB控制器。在圖33中表示固件Arduino草圖的總體結(jié)構(gòu),圖33顯示所有主要部件和在設(shè)備內(nèi)部運行的子系統(tǒng)。

調(diào)度器

代碼的較老版本由執(zhí)行傳感器讀取并接著使用Arduino delay()函數(shù)來提供在讀數(shù)之間的間隔的無限“while”循環(huán)組成。無線地命令設(shè)備經(jīng)由PWM調(diào)度器振動的能力的包括需要調(diào)度器循環(huán)的使用。這通過在某個預(yù)先設(shè)定數(shù)量的時間過去之后周期性地檢查并接著運行特定的函數(shù)或例程來在某個程度上允許系統(tǒng)多任務(wù)。與原始delay()架構(gòu)不同,這具有在例程等待下一回合來再次運行時防止停止其它函數(shù)的優(yōu)點。

圖34示出當(dāng)與基于delay()的流程比較時調(diào)度器代碼如何操作。在基于延遲的流程中,循環(huán)執(zhí)行所花費的時間總是INTERVAL*2。使用調(diào)度器,延遲是最小的,只在需要時運行例程函數(shù)。調(diào)度器的包括提高了設(shè)備的響應(yīng)度。

傳感器讀取和報告

當(dāng)信號在來自儀表放大器的輸出的ADC電壓參考的一半時,來自柔性傳感器的進(jìn)入的電壓信號被定義為處于靜止。如在圖22中看到的,傳感器讀取例程將需要連續(xù)地控制復(fù)用器和兩個數(shù)字電位計,以便有效地讀取附著到系統(tǒng)的所有柔性傳感器。例子的固件通過如下所示的一組函數(shù)來執(zhí)行在設(shè)備中的柔性傳感器的讀取和報告:

int readSensor(int selectSensor)

這個函數(shù)在設(shè)置digipot、復(fù)用器以及將偏差應(yīng)用于ADC傳感器讀數(shù)之后輸出選定傳感器值。來自函數(shù)的結(jié)果可被預(yù)期為從-512到512,其中最大ADC步長尺寸是1024。如果ADC讀取512,則readSensor的輸出應(yīng)為0,因為傳感器被定義為當(dāng)儀表放大器在ADC參考電壓的中點時處于靜止。

圖35陳述根據(jù)這個實施方式在選擇和記錄柔性傳感器時采取的步驟。

函數(shù)setMux()使用兩個陣列來控制參數(shù)selectSensor到復(fù)用器的引腳通道的映射。該映射被級聯(lián)為g_FlexConnectorMapping[g_FlexStripMapping[selectSensor]]并被使用,因為在PCB上的復(fù)用器引腳不以一對一方式相應(yīng)于ZIF插座。此外在條本身上,ZIF跡線不在一對一基礎(chǔ)上相應(yīng)于在條上的傳感器布置。對此的原因是由于避免在PCB和柔性條中的重疊跡線的需要。也通過保持映射作為兩個單獨級聯(lián)的陣列,它允許在對源代碼的最小修改的情況下的柔性傳感器布局的未來修改。

void readAllSensors(int*sensorsBuff)

這個函數(shù)使用for()循環(huán)來連續(xù)地從第一柔性傳感器[readSensor(0)]重復(fù)到最后一個傳感器[readSensor(TOTAL_MUX_CHANNELS-1)]。從在函數(shù)參數(shù)sensorsBuff中給出的陣列指針中,來自每個readSensor()讀數(shù)的結(jié)果被輸入到在sensorsBuff[]陣列中的它的相應(yīng)位置以作為結(jié)果返回。

void readSensorsDetails()

這個函數(shù)檢查被啟用或檢測到的柔性傳感器和加速度計的數(shù)量,并將它以JSON格式打印以便電話應(yīng)用使用。它允許電話應(yīng)用知道從設(shè)備預(yù)期什么并修改它的行為和顯示以適合于進(jìn)入的數(shù)據(jù)。

void readSensorsAsJSON()

這從readAllSensors()取回最近的值并將readSensor()的整數(shù)范圍(-512to512)轉(zhuǎn)換成度數(shù)的浮點表示。它也取回加速度計值,如果從在I2C線上的加速度計可得到的話。使用加速度計原始x、y、z值,它將這些值轉(zhuǎn)換成總的左到右以及前到后彎曲的度數(shù)。這些值可經(jīng)由藍(lán)牙作為JSON串被發(fā)送到智能電話應(yīng)用。

加速度計處理

讀取加速度計值發(fā)生在readSensorAsJSON()中。

ADXL345輸出三個原始值x、y、z。這些表示沿著x、y、z軸的加速度。因為重力總是朝著地恒定的,可假設(shè)在加速度計上的讀數(shù)是指向下的分量矢量。

這個例子的感興趣角度是不能單獨地在柔性傳感器上完成的背部的左到右彎曲。這個處理單元支持充當(dāng)傾斜傳感器的多達(dá)兩個加速度計。使用兩個加速度計,以便可在主體的任何方向處得到背部的實際總曲率。這是通過從來自頂部的加速度計讀數(shù)獲取角度,并從來自底部的加速度計讀數(shù)減去(圖36)。

在測試期間,ADXL345分解如預(yù)期地對左到右運動工作,然而數(shù)據(jù)對前后彎曲是不一致的。這是由于疏忽,當(dāng)計算左到右度數(shù)時,原始計算只采用兩個軸,當(dāng)所有3個軸應(yīng)被考慮時,例如x將不僅僅在左到右但只前后彎曲時降低。圖35示出readSensor()的函數(shù)流程圖。圖37示出從以一致的方式得到角度θ方面來說分量矢量a.b如何與c有關(guān)。

//原始角度計算。由于2D思考而引起的錯誤。

pitch=atan2(z,x);

roll=atan2(y,x);

畢達(dá)哥拉斯定理(a2+b2=c2)應(yīng)被使用以找到對于Z的X相對于Y或?qū)τ赮的X相對于Z的分量矢量。圖37示出這個概念可如何在空間上被表示。

//修改的計算以將額外的維度考慮到浮點的xy、zy內(nèi);

xy=sqrt(x*x+y*y);zy=sqrt(x*x+z*z);

校準(zhǔn)

在這個固件中的校準(zhǔn)函數(shù)在源中宣布為void calibrateSensor(),本身主要涉及找到參考電壓digipot的正確值;使得當(dāng)柔性傳感器彎曲到相同的角度時在儀表放大器的正輸入和負(fù)輸入之間的電壓差是0V,它在該角度被校準(zhǔn)(參考在圖38處的流程圖,用于查看這個函數(shù)如何工作)。

這個函數(shù)通過使用readSensor()作為參考朝著柔性傳感器的中心點掃描參考電壓digipot來工作。參考電壓遞增以匹配讀取傳感器。這個過程重復(fù),直到都匹配多達(dá)3次或最大嘗試數(shù)量被達(dá)到(不能校準(zhǔn))為止。方便的效應(yīng)是這個系統(tǒng)不太可能能夠鎖定到浮點輸出。因此我們在切割條時可使用浮點輸出的效應(yīng)以檢測有效傳感器的數(shù)量。可選地,在傳感器條上的小下拉將允許默認(rèn)的低電壓。

在適當(dāng)?shù)膮⒖糳igipot設(shè)置被找到之后,柔性傳感器設(shè)置被測試3次且輸出被取平均。那個特定的柔性傳感器的3個硬件校準(zhǔn)的柔性傳感器值的平均值在readSensor()中用作條的軟件偏差。對此的原因是為了彌補不能被參考digipot考慮的任何硬件穩(wěn)態(tài)誤差或偏差,這是因為digipot分辨率是僅僅0.01V(3.3V/255=0.01294)。來自ADC參考電壓中點的柔性傳感器輸出變化可以常常小于0.01V,且放大器仍可放大這個差異。

平均花費大約10秒來鎖定到感測帶,但這根據(jù)條結(jié)構(gòu)或在每次試驗之間的延遲而改變。存在加速過程的策略。其中之一是使用比例控制系統(tǒng),與校準(zhǔn)的遞增方法相反。這通過減小達(dá)到平衡所需的步驟的數(shù)量來加速過程,因為比例控制系統(tǒng)最初將產(chǎn)生大的增量,然后當(dāng)它變得更接近中心點時逐漸減小它。簡單的遞增方法使用AVCC AREF的一半作為初始猜測。柔性傳感器大部分時間將在ADC參考電壓的中點周圍,將digipot設(shè)置到中點在校準(zhǔn)被實現(xiàn)之前減小了迭代的數(shù)量。

為了提高準(zhǔn)確度,我們可將兩個電阻器放置在數(shù)字電位計的上和下引腳上,這使參考digipot付出它的從0V到VCC的全范圍,但在這兩者之間在準(zhǔn)確度方面增加??蛇x地,可考慮切換到更高分辨率的digipot或數(shù)模轉(zhuǎn)換器(因為高分辨率數(shù)字電位計可達(dá)到高達(dá)10位,但高端DAC可達(dá)到高達(dá)24位)。圖38示出calibrateSensor()的函數(shù)流程圖。

Ram問題

圖39示出Atmega32U4 SRAM的總映射。

Atmega32U4包含2.5KB的SRAM存儲器。最初,代碼尺寸不是問題,然而,當(dāng)代碼密度增加時,隨機崩潰開始出現(xiàn)。在市場上有具有較高的價格范圍的類似的處理器,其解決存儲器約束。

由于Arduino平臺的選擇,調(diào)試努力被限制到將串行打印語句放置在每個地方。懷疑使RAM溢出是個問題,ram檢查函數(shù)從JeeLab被得到并插入在固件的初始化部分以及標(biāo)準(zhǔn)循環(huán)中??稍趫D40中看到存儲器的問題。

準(zhǔn)系統(tǒng)代碼顯示[memCheck]:2377,其與在固件的初始化階段期間的存儲器的109個字節(jié)形成大的對比。這指示在Arduino開銷之后的Atmega32U4將提供僅僅2.377kB的存儲器。這與Jeelabs的文章“訣竅是保持RAM使用低,因為它的不足的資源:ATmega具有僅僅2048個字節(jié)的RAM”匹配,這些字節(jié)等效于存儲器的2.047kB。記住這一點,固件代碼被修改以在串行傳輸之前減小需要裝載到RAM的串的數(shù)量。

參考圖40,當(dāng)變量被添加并被聲明時,所利用的存儲器在SRAM中朝著0x1100在尺寸上增長。同時,當(dāng)更多的函數(shù)調(diào)用被給出時,堆棧指針也朝著0x1100在尺寸上增長。在這個例子中,推理出打印語句的浪費的使用可能使在大堆陣和堆棧之間的間隙增長得太小,以至于堆棧-大堆陣沖突出現(xiàn)。這意味著存在大堆陣或堆棧被部分地蓋寫或毀壞的可能性。在大堆陣的情況下,它意味著調(diào)度器將花費未規(guī)定數(shù)量的時間來觸發(fā)下一間隔。對于堆棧,返回到從毀壞的堆棧的頂部參考的地址將可能跳到隨機指令空間內(nèi)而不是原始位置,函數(shù)從該原始位置被調(diào)用。

固件崩潰的所注解的(經(jīng)由“>>”)一般征兆。freeRam()被插入以監(jiān)控自由存儲空間的數(shù)量。

>>>'...'代表省略的輸出。

{"fBA":[94.22,98.61,110.92,68.38,-91.23,-78.93,-104.06,...

...

@SYSTEM STARTED@

"freeRam":[109],

"freeRam":[438],

{"fBA":[-71.89,-71.72,-68.91,-111.45,-125.51,-100.55,-1...

"freeRam":[427],

>>程序在此時崩潰

來自JeeLab的代碼碎片,其測量自由RAM的數(shù)量

int freeRam(){

extern int__heap_start,*__brkval;

int v;

return(int)&v-(__brkval==0?(int)&__heap_start:(int)__brkval);

}

協(xié)議和通信

這個例子的硬件使用具有它們自己的要求的一定范圍的部件。

USB

USB是定義物理連接器、功率和協(xié)議標(biāo)準(zhǔn)的計算機和設(shè)備的高度流行的連接標(biāo)準(zhǔn)。

物理連接器

USB標(biāo)準(zhǔn)的重要方面是具有一致的物理接口或端口,以便存在將設(shè)備連接到很多其它類型的設(shè)備的可靠方式。在這個例子中,我們使用存在于很多消費設(shè)備中的無所不在的微USB端口。下面是標(biāo)準(zhǔn)USB引腳配置。

USB功率

USB的主要出售特征是,它是攜帶功率連同信令的幾個標(biāo)準(zhǔn)之一,與較老的串行和并行端口不同。根據(jù)USB標(biāo)準(zhǔn),只有5V可被供應(yīng)。

選擇與桶塞(barrel plug)或其它標(biāo)準(zhǔn)相對的微型USB的主要原因是USB充電的無所不在。這本質(zhì)上意味著用戶將從來不太可能沒有端口給他們的設(shè)備充電。在專用插座方面的這個減小使E廢物的數(shù)量減小。

USB還允許新代碼容易被上傳,且串行控制臺通過USB訪問。這些特征通過去除對外部編程者的需要在裝入Arduino引導(dǎo)加載程序之外允許快速原型設(shè)計。除了通過USB的串行訪問以外還對最終用戶允許未來的升級,以實現(xiàn)對在I2C總線上的新附件的訪問或修復(fù)在固件內(nèi)的故障。

UART和USART

USART代表通用同步/異步接收機/發(fā)射機。UART是通用異步接收機/發(fā)射機。在這個通信標(biāo)準(zhǔn)和其它有線標(biāo)準(zhǔn)例如I2C或SPI之間的顯著差異是,USART和UART不需要專用時鐘信號來用信號通知新位的到達(dá)。替代地,時鐘由數(shù)據(jù)傳輸本身的速度確定。這個速度由在連接的每端處單獨地設(shè)置的匹配波特率確定,在波特設(shè)置中的任何失配可導(dǎo)致數(shù)據(jù)毀壞。

USART將接收引腳定義為RX而將發(fā)射引腳定義為TX。因此對于全雙工通信,你需要將一個設(shè)備的TX連接到另一設(shè)備RX引腳,反之亦然。對于連接布置的例子,參考圖42。

Atmega32U4具有被描述為“具有硬件流量控制的可編程串行USART”的外圍特征。USART還具有傳輸作為主信號的時鐘信號或接收作為從信號的時鐘信號的能力,這個同步模式與異步模式比較允許較快的傳輸。因為傳輸速度較小,USART在這個例子中配置成只在異步模式中操作。

例子的設(shè)備微控制器由USART連接到外部藍(lán)牙模塊。TX的電壓輸出相應(yīng)于其它設(shè)備RX的額定輸入。忽視這個要求帶來燒掉在另一端上的UART設(shè)備的RX輸入的危險。波特率設(shè)置、奇偶性和流量控制模式應(yīng)在兩側(cè)上是相同的。

EWo3設(shè)備以9600波特速度通過USART進(jìn)行通信而沒有硬件流量控制。

在Arduino中,串行對象的波特率由這個函數(shù)Serial.begin(BAUD_RATE)設(shè)置,其中BAUD_RATE一般被設(shè)置到9600的值。當(dāng)你選擇較高的波特率時,在兩端上的振蕩器足夠準(zhǔn)確很重要。這意味著不可能在沒有校準(zhǔn)的情況下使用Atmega32U4的內(nèi)部RC振蕩器。

為了經(jīng)由Arduino通過USART發(fā)送一串字符,輸入:

>>Serial.print(hello);//串行地打印串

>>Serial.print(hello);//用新行字符打印

藍(lán)牙

藍(lán)牙是用于與本地低功率電子設(shè)備的短范圍個人區(qū)域聯(lián)網(wǎng)的無線通信技術(shù)。它常常作為移動電話無線頭戴式耳機使用。

在這個例子中,藍(lán)牙用作將處理單元連接到智能電話的方便方式。到2013年時為止存在藍(lán)牙的兩個版本:藍(lán)牙標(biāo)準(zhǔn)和藍(lán)牙低能量(BLE)。BLE將是未來幾年中的首要選擇,因為它的較低功率消耗和用戶容易連接到這樣的設(shè)備,盡管它與標(biāo)準(zhǔn)藍(lán)牙相比數(shù)據(jù)傳輸容量較低。

然而,即使BLE是對這個應(yīng)用的更好選擇,這個協(xié)議也沒有在標(biāo)準(zhǔn)藍(lán)牙中存在的默認(rèn)串行配置文件(SPP),且我們的優(yōu)先級對于簡單和可靠的通信協(xié)議而言更高,與具有較長的運行時間的設(shè)備(由于更好的能量效率)相反。

漫游網(wǎng)絡(luò)RN42

RN42是具有26uA睡眠、3mA連接、30mA接通傳輸模式的低功率藍(lán)牙收發(fā)機。這是從最低8mA的HC-05待機連接電流到25mA的平均電流的顯著提高。

RN42使用極快的115200的不同波特率。為了減小波特率,完成此的容易的方法是設(shè)置RN42的引腳2(其相應(yīng)于GPIO7)以迫使板在9600波特下運行。然而這以允許將波特率軟件重配置到較高的水平(例如115200)的未來靈活性為代價出現(xiàn)。

圖43示出根據(jù)RN42數(shù)據(jù)表的引腳分配以及板的平板掃描底側(cè)尺寸。

第二種方法是添加代碼,其在重置RN42(其將提供用于進(jìn)入配置模式的60秒窗口)時以非永久方式將發(fā)送配置命令發(fā)送到RN42。

最后一種方法是手動地進(jìn)入關(guān)于第二種方法的配置模式,但不是發(fā)出臨時命令,持久性SET命令是可得到的。這是由于在讓臨時設(shè)置工作時的技術(shù)困難而用于最終PCB的東西。圖44示出SPI如何由具有時鐘和芯片選擇的移位寄存器的環(huán)組成。

命令集參考;

SU,<rate>

波特率,1200、2400、4800、9600、19.2、28.8、38.4、57.6、115K、230K、460K、921K,只有前2個字符是需要的。例子:SU,57將波特率設(shè)置為57600波特。SU,96是我們用于將我們的中斷設(shè)置為9600的東西。

S-,<name>

設(shè)備的串行化友好的名稱,最多15個字符。這個命令將藍(lán)牙MAC地址的最后2個字節(jié)自動附加到名稱。對產(chǎn)生具有唯一編號的定制名稱有用。例子:S-,MyDevice將名稱設(shè)置為MyDevice-ABCD,這些是兩個最可能被尋找的命令,如果設(shè)法為特定的應(yīng)用持久地設(shè)置RN42。

SPI(串行外圍接口)

SPI總線是為在IC(例如微控制器)到數(shù)字電位計之間的通信設(shè)計的簡單串行接口。

圖44示出大部分SPI設(shè)備的一般視圖。實際內(nèi)部電路和每個設(shè)備如何對芯片選擇CS#做出反應(yīng)可以不同。因此查閱數(shù)據(jù)表以找到如何與每個芯片通信的確切規(guī)定非常重要。

處理單元digipot支持SPI接口。它經(jīng)由用于參考的上面的圖被最好地顯現(xiàn),因為兩個移位寄存器作為環(huán)形存儲器結(jié)構(gòu)被連接。為了將字節(jié)從主寄存器轉(zhuǎn)移到從寄存器,每個位在每個CLK(時鐘)周期上順序地從移位寄存器的一個集合移動到另一移位寄存器,直到所有位都在從移位寄存器中為止。

對于這個特定的digipot(MCP42100雙100千歐姆SPI digipot),它使用芯片選擇引腳來確定何時執(zhí)行下一命令。只有在將所有位從微控制器移動到digipot移位寄存器并接著使它的CS#引腳變高以讓digipot知道它不再驅(qū)動MISO線(MISO線將是三態(tài)的,使得總線是空閑的以使其它SPI設(shè)備再次使用)之后,digipot才設(shè)置它的電阻。

CS#:芯片選擇

讓從芯片知道它是否被交談。當(dāng)CS被拉高時,從MISO引腳斷開。

CLK:時鐘

時鐘信號指示下一位準(zhǔn)備被移進(jìn)。

MOSI:主移位寄存器出去,從移位寄存器進(jìn)入

這個引腳允許從芯片在CLK邊緣(上升或下降,取決于規(guī)范)上接收被移進(jìn)其內(nèi)的位。

MISO:主移位寄存器進(jìn)入,從移位寄存器出來。

這個引腳允許從移位寄存器在CLS邊緣上將它的位朝著主移位寄存器移出。

如果考慮IC,則相當(dāng)可能遺漏MISO。但只有當(dāng)主移位寄存器從不預(yù)期收到來自從移位寄存器的回復(fù)時。這是為這個例子做出的選擇,用于到digipot的SPI通信,digipot僅僅是輸出設(shè)備且因此我們不需要知道它的當(dāng)前狀態(tài)。

對在SPI中的多個芯片尋址:下面是與SPI通過接口連接的兩個最常見的方法。還有被稱為mSPI的第三種方法。

芯片選擇

在這個方案中,所有SPI從移位寄存器被連接到公共SPI總線(CLK、MOSI、MISO),且每個從移位寄存器從如圖45所示的主移位寄存器由單獨的芯片選擇線尋址。多于4個從移位寄存器將需要數(shù)字復(fù)用器(具有否定的輸出,因為CS#是低態(tài)有效的),其中第一引腳不被連接,使得所有從移位寄存器可被斷開。

菊花式鏈接

如果時間不是關(guān)鍵因素,且PCB布線空間非常珍貴,則存在將一個芯片的MISO菊花式鏈接到另一MOSI輸入的選擇,如在圖46中看到的。這意味著如果每個從移位寄存器是8位長,則將額外的從移位寄存器添加到SPI線將在理論上增加額外線性時間量。

MCP42100

MCP42100雙100千歐姆digipot是SPI設(shè)備,其具有在它的數(shù)據(jù)表中示出的它自己的命令規(guī)范。去往digipot的命令采取兩個字節(jié)(字節(jié)=8位)的形式。如圖47所示,第一字節(jié)代表待執(zhí)行的命令(命令字節(jié)),而第二字節(jié)代表將在命令中使用的值(數(shù)據(jù)字節(jié))。

圖48指出除了寫命令以外,還可能有斷開digipot通道pinA和使B和C一起短路的停機命令。

存在以二進(jìn)制形式的Digipot寫命令。其中可做出這些組合:

經(jīng)由bit banging傳遞到MCP42100

雖然研究關(guān)于如何傳遞到MCP42100,最初決定避免SPI總線的使用。這是因為存在用于MOSI、CLK和CS#的足夠額外的引腳,以及存在當(dāng)首次裝入Arduino引導(dǎo)加載程序時避免與外部ICSP編程者的任何潛在沖突的要求。這由bit banging實現(xiàn)。

經(jīng)由Arduino SPI.h傳遞到MCP42100

在這個例子中,由于在PCB上的空間約束,決定使用與Arduino IDE包括在一起的SPI.h庫用于與SPI設(shè)備通信。這個方法的益處是,庫利用微控制器的內(nèi)部SPI核心,加速到digipot的通信,因為SPI核心將自主地發(fā)送在它的緩沖器中的任何字節(jié)。

為了幫助保持Arduino草圖干凈且為了未來的可擴展性,digipot代碼被整理到庫內(nèi)。

在使用之前建立Arduino SPI.h。應(yīng)設(shè)置SPI.setBitOrder(MSBFIRST),其指示字節(jié)的最高有效位應(yīng)首先被發(fā)送。如果在一些SPI設(shè)計中最低有效位需要首先被發(fā)送,則LSBFIRST代替MSBFIRST。

接著,應(yīng)設(shè)置SPI的模式,其指示微控制器在通過SPI與從移位寄存器通信時應(yīng)解釋的時鐘極性和時鐘相位。時鐘極性是CLK在空閑時應(yīng)在什么狀態(tài)。時鐘相位是數(shù)據(jù)是否被鎖在CLK的上升沿或下降沿上。

注意:

CPOL:0=“低空閑”;1=“高空閑”

CPHA:0=“上升沿”;1=“下降沿”

參考源:[34]

參考圖47中的時序圖并對照圖49進(jìn)行比較,為時鐘相位選擇正時鐘極性和正時鐘沿將是最好的。

SPI.setDataMode(SPI MODE0);通過下列操作來發(fā)送字節(jié):

SPI.transfer(byte);//其中字節(jié)是待發(fā)送到從移位寄存器的字節(jié)。

圖50示出I2C設(shè)備的一般布線。注意,存在對SCL和SDL的上拉電阻器的強制需要。

I2C(電路間通信)

I2C是Philips的專用外圍總線,且標(biāo)準(zhǔn)由兩條線組成——一條時鐘和一條數(shù)據(jù)。這個設(shè)置的優(yōu)點是,數(shù)據(jù)線是雙向的、時鐘控制的和帶總線的。標(biāo)準(zhǔn)的同步性質(zhì)意味著設(shè)備I2C處理機的復(fù)雜度與UART/USART相比被簡化了。時鐘控制的數(shù)據(jù)不依賴于定時,且因此需要較少的邏輯。由于待布線的電線的減小的數(shù)量,與SPI比較,雙向性以及芯片選擇的缺乏意味著減小的PCB復(fù)雜度。還有在市場中的I2C設(shè)備的廣泛支持和選擇的優(yōu)點,使這幾乎與在工程術(shù)語中的“即插即用”一樣簡單。

ADXL345 I2C通信

姿勢感測設(shè)備使用I2C來訪問I2C加速度計ADXL345。創(chuàng)建基于Wire.h Arduino標(biāo)準(zhǔn)庫的庫,其對從兩個加速度計讀取的能力是有幫助的。

在ADXL345.cpp庫中的關(guān)鍵點:

Wire.beginTransmission(i2cAddress)建立到I2C地址的連接。I2C地址指加速度計的地址。

Wire.endTransmission()告訴Arduino結(jié)束連接,且還顯示它在什么變量處。

writeToReg(DATA FORMAT,0x01)將范圍設(shè)置到-+4g。對于相應(yīng)的位位置及其含義,參考圖51。

writeToReg(POWER CTL,0x08)打開測量位,將POWER CTL中的測量位設(shè)置到1以啟用測量模式“0的設(shè)置意味著待機模式”、“1意味著測量模式”。ADXL345默認(rèn)在待機模式上。對于相應(yīng)的位位置及其含義,參考圖52。

readFromReg(byte(0x32),6,accBuff)將寄存器指針設(shè)置到0x32,并將6個字節(jié)讀到在accBuff處的字節(jié)陣列(又稱對accBuff[0]的指針)??赡軓囊粋€調(diào)用得到x、y、z的所有3個整數(shù)值,因為在圖51中的結(jié)果寄存器顯示在0x32到0x37之間順序地取回字節(jié)將對所有3個軸到達(dá)所有數(shù)據(jù)1和數(shù)據(jù)0結(jié)果寄存器。

圖52示出ADXL345 POWER CTL寄存器形式。

圖53示出ADXL345 DATA FORMAT寄存器形式。

圖54示出被用作復(fù)用器通道選擇的S0到S3。

并行信令

并行信令用于控制在最終PCB中使用的CD4097 16通道模擬復(fù)用器。沿著控制線S0、S1、S2、S3發(fā)送4位信號,如在圖54中看到的,其中S0是最低有效字節(jié)(LSB),以及S3是最高有效字節(jié)(MSB)。使用4個控制線,可控制16個通道??刂凭€中的變化導(dǎo)致在復(fù)用器通道中的幾乎即時的變化。

控制復(fù)用器的代碼——這個函數(shù)將通道選擇值分成它的相應(yīng)位以切換復(fù)用器的控制線。

電話應(yīng)用

例子涉及創(chuàng)建消費產(chǎn)品。為了降低成本同時增加采用,使設(shè)備信息在日常智能手機而不是專用顯示設(shè)備上容易顯示給用戶很重要。

圖55示出PhoneGap應(yīng)用的用戶界面的線框草稿圖。左:前-后彎曲。又:左到右彎曲。

智能電話應(yīng)用將最終涵蓋占主流的智能電話生態(tài)系統(tǒng)、Android和iOS。主要由于沒有要進(jìn)入的金融屏障,被選擇用于開發(fā)的生態(tài)系統(tǒng)是Android。iOS需要加入MFi程序來使用藍(lán)牙2.0。

移動開發(fā)

1.經(jīng)由藍(lán)牙連接到處理單元

2.重構(gòu)并顯示來自傳感器數(shù)據(jù)的脊椎曲線

3.保存用戶的最佳位置

4.當(dāng)脊椎不在最佳位置時提供視覺和觸覺反饋

使用下面的開發(fā)工具。

Native Android SDK使用Java,具有陡峭學(xué)習(xí)曲線,但具有大部分特征和靈活性。

PhoneGap(Apache Cordova)是通過Adobe,一種使用HTML5和JavaScript的交叉平臺開發(fā)工具。藍(lán)牙插件是可用的,包括設(shè)備特定特征例如硬件Android硬件支持和NFC。

Icenium(Apache Cordova)也是在Cordova上構(gòu)建的變形。Icenium與PhoneGap及其插件兼容。

Unity的交叉平臺3D引擎通常用于游戲開發(fā)。沒有預(yù)先存在的藍(lán)牙庫。

Corona Labs SDK是使用C++和OpenGL之上的LUA的交叉平臺。藍(lán)牙支持是模糊的。

Appcelerator Titanium SDK是獨立的基于HTML和JavaScript的平臺。藍(lán)牙系列插件由第三方開發(fā),且需要以席位的形式授予許可證。

以重要性的順序的選擇標(biāo)準(zhǔn)

1.藍(lán)牙系列支持

2.容易使用,但對文檔編制是靈活的

3.進(jìn)入的成本

4.編程語言

PhoneGap

PhoneGap在這個例子中被選擇為用于原型設(shè)計的開發(fā)平臺。后原型設(shè)計電話應(yīng)用將在它們的本機平臺例如iOS和Android中被構(gòu)建。PhoneGap的主要原因是可訪問的文檔的數(shù)量和對藍(lán)牙系列配置文件的現(xiàn)有支持。HTML和JavaScript都是非常強大的視覺語言,盡管是較不語法嚴(yán)格的。通過在web采用中的增加,與本機代碼比較,JavaScript引擎現(xiàn)在在速度上是可比較的。圖56示出PhoneGap架構(gòu)。

PhoneGap由phonegap.js——充當(dāng)在應(yīng)用的JavaScript和本機OS Java之間的翻譯器的JavaScript庫——組成。除顯示應(yīng)用之外的任何功能例如硬件按鈕支持或藍(lán)牙經(jīng)由PhoneGap插件來完成。

智能電話應(yīng)用

參考JavaScript和樣式庫,整個應(yīng)用被包含在一個HTML文件內(nèi)。因為應(yīng)用是網(wǎng)頁,在HTML文檔對象模型(DOM)內(nèi)的所有操縱必須通過JavaScript來完成。應(yīng)用使用來自HTML5和CSS3的最近版本的元素。

操縱DOM

通過使用JavaScript框架如jQuery用于DOM操縱,可能通過用單個語句運行多個查詢來將查詢“鏈接”在一起,允許具有更少行的代碼的更多功能。

${element-type}.selectingElementByIdentifier().action1().followedByAction2();

大部分功能是英文命名的,其連同鏈接一起使自我文檔編制變得簡單明了。忠于交叉平臺基本原理,框架使OS兼容性變得更容易管理。

智能電話應(yīng)用利用被稱為tt.js的jQuery語法兼容庫——特別為移動設(shè)備設(shè)計的基于選擇器的查詢的高速實現(xiàn)。決定基于在應(yīng)用、html和addClass功能內(nèi)的最常用的jQ查詢的性能。通過使用jQuery語法,任何兼容庫可用作直接簡易替代者,例如在努力期間的Intel App Framework(主要發(fā)起者)。

tt.js庫由兩個部分——TTWorker和tt.object——組成。這兩個部分都在應(yīng)用內(nèi)被使用。

TTWorker涉及選擇元素和類,設(shè)置視覺風(fēng)格和DOM操縱。

tt.object處理所有非視覺功能,包括分析JSON、AJAX裝入和陣列操縱。

圖57示出.html和.class函數(shù)的流行jQuery語法兼容庫的基準(zhǔn)。條越高越好。

畫布元素

圖58示出畫布元素。測量單位是像素。原點(0,0)在左上角上。畫布是500x375個像素。右下角位置是(500,375)。畫布是圖形元素容器,其通過使用HTML5畫布API的JavaScript來允許操縱。畫布上下文對象是需要的,2d或webgl(3D),其包含渲染圖形所需的方法和特性。每當(dāng)畫布被調(diào)整大小時,內(nèi)容被清除。動畫需要畫布的清除和在每個新幀上重畫,因為沒有現(xiàn)有圖形或所存在的線的所存儲的存儲器特征。

圖59示出javascript畫布庫的比較。雖然本機JavaScript可用于控制畫布元素和DOM,有容易可得到的畫布庫,其簡化難的功能以使畫布更容易操縱。在本機JavaScript中,與可采用數(shù)據(jù)作為對象或嵌套陣列的庫的使用比較,繪制線涉及x和y坐標(biāo)[40,20],[20,52]...的嚴(yán)格語法。

PaperJS畫布庫

存在可用的大范圍的畫布JavaScript庫。雖然JavaScript庫為開發(fā)者提供靈活性,這可能有時以性能為代價出現(xiàn)。jsperf.com用于比較不同庫的性能。雖然每個庫具有它自己對特定的一條代碼的實現(xiàn),它可提供粗略估計。

庫PaperJS以與本機速度可比較的速度比其它庫更好地一致地運轉(zhuǎn)?;诹餍械腁dobe Illustrator插件Scriptographer,它具有在示例網(wǎng)站上有詳細(xì)的文檔的非常廣泛的功能庫。另外,它還具有強大的特征,例如簡化點以節(jié)省計算功率。折衷是,庫是相對新的,但在主動開發(fā)之下;一些基本功能例如立即響應(yīng)式動畫還沒有被開發(fā)。在JavaScript內(nèi)的PaperScope作用域的使用對于專家是有利的但對于新開發(fā)者是不利的。圖60示出Javascript和PaperScript作用域。

每個單獨的畫布元素被分配它自己的PaperScope。通過有具有PaperJS的被定范圍的PaperScope,它不用變量污染全局公共命名空間,且它也意味著不同的PaperScript代碼可同時運行而彼此不沖突,這對多個畫布或涉及類似的變量名稱的并行操縱是特別有用的。

作用域特征是一個難的概念。當(dāng)PhoneGap使用JavaScript時,它不能直接訪問在PaperScope中的變量。為了使用具有一般JavaScript功能(或JavaScript庫如jQuery)的PaperScript,可使用在PaperJS的特征之前的存在于全局命名空間/javascript空間中的當(dāng)前PaperScope。

一種方法是將每個PaperScope存儲為JavaScript對象,例如mypaper[0]、mypaper和切換,在操縱每個畫布元素之前將每個PaperScope安裝到全局命名空間內(nèi)。

Zack Grossbart的代碼被張貼在PaperJS Google組內(nèi)。loader.js文件是使多個畫布的切換容易地自動化的函數(shù),同時為了整潔也保持每個paperscript在單獨的.pjs文件中。

loader.js

這個代碼的函數(shù)檢查外部PaperScript.pjs文件和畫布是否是有效的和存在,都通過AJAX被裝入并附著到在焦點上的選定畫布。在選定的.pjs文件內(nèi)的代碼然后被評估。

Javascript和Paperscript互操作性

默認(rèn)地,由于被定范圍的結(jié)構(gòu),PaperJS不能在本機與JavaScript變量一起工作。在PaperJS的網(wǎng)站上的Javascript互操作性參考頁面還有待由開發(fā)者完成。為了使PaperJS與本機JavaScript一起工作,變量必須放置到由PaperJS開發(fā)者建議的全局命名空間內(nèi)作為interm解決方案。變量必須被分配到全局命名空間“窗口”內(nèi)。不僅這暴露具有JavaScript的一組PaperScript,而且通過有中央數(shù)據(jù)存儲器來允許在畫布/PaperScope之間的數(shù)據(jù)的共享,而不經(jīng)由loader.js函數(shù)傳遞數(shù)據(jù)。圖61示出JavaScript、PaperScope和窗口全局變量(數(shù)據(jù)存儲器)。

觸摸事件

在智能電話之前,為具有鼠標(biāo)光標(biāo)的桌上型計算機設(shè)計HTML和Javascript。JavaScript只支持點擊而不是叩擊。在智能電話上,這引起在響應(yīng)中的延遲和/或?qū)γ總€按鈕需要雙叩擊。通過使用觸摸框架,叩擊和手勢響應(yīng)可對最終用戶在本機速度下在網(wǎng)頁應(yīng)用內(nèi)被識別出。使用Hammer.js,一種jQuery語法友好的手勢框架。雖然不是jQuery集合的部分,鏈接可以類似的語法風(fēng)格完成。

Bluetooth.Serial PhoneGap插件

應(yīng)用利用由Don Coleman開發(fā)的Bluetooth.Serial插件。插件充當(dāng)具有默認(rèn)的Android藍(lán)牙堆棧Bluedroid的翻譯器。藍(lán)牙命令經(jīng)由JavaScript被發(fā)送并轉(zhuǎn)換成對智能電話上的藍(lán)牙無線電的本機命令。支持從2.0到4+的Android版本。應(yīng)用利用下面的數(shù)條代碼。

bluetoothSerial.subscribe

這例示長運行回調(diào)以在背景中運行,這在任何新數(shù)據(jù)由處理單元接收到時觸發(fā)。預(yù)訂函數(shù)管理bluetoothSerial.readUntil和讀/寫緩沖器。

bluetoothSerial.write

經(jīng)由藍(lán)牙發(fā)送文本。成功的回調(diào)被調(diào)用,如果成功地被發(fā)送。

bluetoothSerial.list

掃描以前成對的藍(lán)牙設(shè)備的區(qū)域并返回JSON格式的數(shù)據(jù)。這個數(shù)據(jù)隨后被處理成用戶要選擇的列表。

bluetoothSerial.connect/disconnect

允許與選定設(shè)備MAC地址的連接/斷開。

應(yīng)用功能

由于對PaperJS的范圍的限制,有由方向(前面和側(cè)面)分離的4個畫布元素以允許同時畫布繪制和操縱,例如:更新一個曲線/畫布并不意味著重新繪制其它曲線/畫布。因為每個曲線用新數(shù)據(jù)被更新,PaperJS重新繪制整個畫布。這在高頻率下動態(tài)地被處理。

應(yīng)用具有校準(zhǔn)到最終用戶的最佳脊椎并檢測從這個位置的任何偏差的選項。每當(dāng)你使用應(yīng)用時,最佳姿勢參考只被更新一次或兩次,因此不需要以每個數(shù)據(jù)更新連續(xù)地重新繪制,對于每個方向?qū)⑻幚淼牧繙p小了一半。最佳姿勢參考畫布在數(shù)據(jù)曲線之下是直接分層的以給出單個畫布元素的外觀。

在文檔準(zhǔn)備好時

這類似于具有jQuery的onDOMReady。一旦電話應(yīng)用被裝入設(shè)備中,建立查詢的下面的部分運行。這建立并捆綁硬件密鑰、bluetoothSerial.subscribe回調(diào)Hammer.js以檢測觸摸。

將數(shù)據(jù)轉(zhuǎn)換到JSON

由處理單元發(fā)送的數(shù)據(jù)是JSON格式的文本串。一旦接收到新數(shù)據(jù),就將串解析成JSON格式。這發(fā)起畫布操縱。

計算曲線位置

通過三角學(xué)從底部位置完成曲線位置計算。代碼計算在數(shù)據(jù)對象中接收的數(shù)據(jù)點的數(shù)量,并評估脊椎的長度。使用PaperJS內(nèi)置平滑化函數(shù)來簡化曲線,并在畫布內(nèi)顯示因而產(chǎn)生的脊椎曲線。

觸覺反饋

經(jīng)由指定的單字符串將信號發(fā)送到處理單元。代碼可從變化的一系列脈沖和振動功率選擇。

從最佳姿勢計算偏差

圖62示出從用戶保存的最佳姿勢位置計算偏差。

圖63示出移動應(yīng)用的3D表示。對每個曲線有單獨的畫布。每當(dāng)新數(shù)據(jù)被發(fā)送時,在曲線被顯示之前,PaperJS代碼運行比較檢查以查看沿著身體的某些點是否落在按照距離測量的容限閾值內(nèi)。如果距離大于容限,則它將經(jīng)由藍(lán)牙觸發(fā)在處理單元內(nèi)的觸覺反饋信號,后面是圖的視覺顏色變化。一旦從醫(yī)療專業(yè)人員得到適當(dāng)?shù)拈撝邓?,多個點就可用作比較。這個配置文件可保存在應(yīng)用內(nèi),且額外的參考配置文件可動態(tài)地被裝入,這將使它對特定的姿勢例如運動或瑜伽變得可能。

性能

對子像素四舍五入

HTML畫布支持子像素渲染/抗混疊,如果所供應(yīng)的數(shù)據(jù)點為浮點數(shù)的形式。這引起在各種瀏覽器例如iOS和Mac平臺中的性能問題。因為我們的計算點的公式有時給出非整數(shù)值,則四舍五入可能是增加速度的必要選項。

選項涉及使用內(nèi)置Math.floor四舍五入或電算(hacks)。電算看起來執(zhí)行得更快,例如將0.5加到數(shù)字,并使用逐位移位去尾到零小數(shù)點。

rounded=~~(0.5+somenum);http://jsperf.com/math-round-vs-hack/3

使用查找表而不是JavaScript.Math函數(shù)

計算曲線點在計算上是昂貴的。目前,每當(dāng)更新曲線時,使用內(nèi)置JavaScript數(shù)學(xué)函數(shù)。使用查找表來代替正弦和余弦函數(shù)的思想。如果使用數(shù)學(xué)函數(shù)作為數(shù)據(jù)以度數(shù)給出,則除了三角計算以外,我們還需要關(guān)于浮點Math.PI(或緩存的舍入值)將度數(shù)值轉(zhuǎn)換成弧度。

var cosLUT=[度數(shù)的預(yù)先計算的值]cosLookup(角度):取角度作為在角度/第n個位置處的cosLUT返回值中的第n個位置。

函數(shù)的輸入填充陣列(陣列第n個元素=度數(shù)查找)。函數(shù)也將需要考慮負(fù)度數(shù),且額外的條件語句是需要的。這產(chǎn)生變化的結(jié)果。http://jsperf.com/testing-lut-neg-and-trig-functions。

最初,查找表LUT技術(shù)明顯比使用數(shù)學(xué)函數(shù)快。對Chrome 30.0的測試導(dǎo)致與OS平臺更一致的LUT優(yōu)點。在Samsung Galaxy S2上,數(shù)學(xué)函數(shù)比LUT快18倍(18M Op/sec)。與具有更多小數(shù)位的測試比較,具有到5dp的舍入LTU值的單獨測試顯示一致的增加。這種方法被置于保持狀態(tài),直到更一致的測試可被完成為止。

For循環(huán)效率

每當(dāng)數(shù)據(jù)的新集合由MCU經(jīng)由藍(lán)牙接收到時,從所獲取的數(shù)據(jù)計算曲線點的循環(huán)運行。這條高頻代碼因此需要非常快,以便節(jié)省計算功率。通過增加計算/秒的數(shù)量,曲線繪制的速度可明顯提高且負(fù)載減小。

圖65示出jsperf.com基準(zhǔn),很多循環(huán)實現(xiàn)是可用的。循環(huán)性能基準(zhǔn)。

當(dāng)前函數(shù)的格式是舊的n busted。在不重寫緩存for循環(huán)運行到的長度的初始參數(shù)的情況下,我們可將操作/秒增加為1.5倍。While實現(xiàn)是負(fù)計數(shù)器(與0比較,不是像len一樣的變量),其可減小計算周期。雖然我們的曲線點循環(huán)是不同的,這個小加法允許我們處理此,而沒有對當(dāng)前代碼的急劇變更。注意:這根據(jù)哪個瀏覽器被使用而改變,因為不是所有JavaScript引擎都同等地被創(chuàng)建。此外,i++和++i遞增以相同的方式工作。

圖66示出:左:無子像素渲染(混疊的),右:抗混疊用于使子畫面平滑,因為原點不是設(shè)定的整數(shù)。

跨越iOS和Android兩者的WebView的某些實現(xiàn)支持在畫布上的點的浮點數(shù)。WebView以抗混疊的形式渲染跨越最接近的多個像素的這些實現(xiàn)。這導(dǎo)致額外的計算以使圖形趨于平滑。在我們的情況下,大部分計算在小數(shù)位中,因此這也是聚焦于加速應(yīng)用的另一領(lǐng)域。

藍(lán)牙錯誤檢測

雖然最初有藍(lán)牙字符遺漏問題,我們考慮是否將循環(huán)冗余校驗添加到JSON串的末尾作為后綴以檢查JSON串本身是否是有效的。移動應(yīng)用將對JSON串編碼并比較它與所附著的CRC。僅當(dāng)通過該校驗時,數(shù)據(jù)將由曲線更新器函數(shù)處理。對這兩者中的任一個的任何破壞將導(dǎo)致串被丟棄。這被認(rèn)為是安全故障。危險故障是校驗和及數(shù)據(jù)都被破壞,使得它們都是一致的,但它的概率可通過增加校驗和長度而被最小化,以較長的串可觸發(fā)更高的概率為代價。這種方法被拋棄,因為藍(lán)牙插件被更新以將這個錯誤完全排除在外。

測量裝備設(shè)計

為了幫助加速測量,創(chuàng)建手動裝備和自動裝備。對于手動裝備,請參考附錄A.3。

自動裝備

對于自動裝備,它由泡沫基組成,6V伺服電動機裝配到Sparkfun 3.3V pro微板。電壓讀取經(jīng)由Sparkfun 3.3V pro微板自動完成。對于電阻讀數(shù),手動地讀取標(biāo)準(zhǔn)多用表占用很多小時。

圖67首先示出測試柔性條的自動裝備并其次示出測試光折柔性傳感器的自動裝備。

從伺服準(zhǔn)確度方面說,它取決于伺服電動機的角度。它在零彎曲或位置90(0到180)或0(-90到90)處是最準(zhǔn)確的,可預(yù)期+-1度的容限。然而,當(dāng)朝著伺服電動機的任一側(cè)移動時,容限分開高達(dá)+-8度。

關(guān)于對這個例子的測試的評論

對于加速度計,左到右運動如所預(yù)期的工作,然而這被來自前后感測的結(jié)果干擾。

至于柔性傳感器,輸出具有良好的DC性能,但運動是抖動的。這可通過使用平均值例如指數(shù)運動平均濾波器來解決。不幸的是,由于因微控制器ram的缺乏引起的實現(xiàn)問題,沒有成功地將EMA濾波器實現(xiàn)到微控制器上。

調(diào)零校準(zhǔn)工作得很好,這意味著靜止彎曲能夠在所有試驗一致地達(dá)到。柔性傳感器響應(yīng)的幅度也表現(xiàn)為一致的。

從電話應(yīng)用方面來說,應(yīng)用能夠接收并分析JSON命令以顯示曲線。它也能夠“軟件”校準(zhǔn)到標(biāo)稱脊椎曲線,使得應(yīng)用知道何時觸發(fā)警報。這個警報可在視覺顯示器中被顯示為指示器,或在姿勢感測設(shè)備上被顯示為振動通知。

圖78描繪根據(jù)本發(fā)明的示例條,其示出外部接觸點781、電介質(zhì)(頂層)782、銀導(dǎo)電油墨783和785、襯底784、碳電阻油墨786和在反向側(cè)上的身體粘合劑787。圖79描繪示出水平移位的根據(jù)本發(fā)明的示例條。圖80描繪示出對角移位的根據(jù)本發(fā)明的示例條。圖81描繪示出垂直移位的根據(jù)本發(fā)明的示例條。

在一些優(yōu)選實施方式中,條傳感器襯底的厚度(例如也在圖20中示出)小于100微米,且優(yōu)選地60到80微米,且在一些優(yōu)選實施方式中,它是大約75微米。在一些實施方式中,可使用襯底例如CT3(Autostat)。然而,在更優(yōu)選的實施方式中,允許額外的多維運動。

在一些優(yōu)選實施方式中,提供傳感器條,其包括:

1.多維表面;

2.碳電阻油墨;

3.導(dǎo)電油墨;

4.介質(zhì)蓋;

5.用作在人體上的傳感器的身體粘合劑;以及

6.可移除的粘合劑背襯。

圖78-81示出靜止位置(例如在施加之前)和然后傳感器條的組合的水平移位、對角和垂直移位。這些運動也可組合地被考慮,提供類似于人類皮膚或衣服的多維能力。所指示的方向意指在襯底或打印油墨的撕裂出現(xiàn)(這將使傳感器變得不準(zhǔn)確)之前在襯底的限制內(nèi)的3維移位或拉伸

圖82-84示出示例實施方式,其中對不同的身體部分利用本發(fā)明的條。雖然本發(fā)明的條可與身體的任何部分一起被使用,但特別適當(dāng)?shù)纳眢w部分包括:背部的部分、肩膀和頸部,但還有肘、膝蓋、踝。經(jīng)歷RSI(重復(fù)性勞損)的身體部分和身體內(nèi)的關(guān)節(jié)都是該技術(shù)的所有可能的擴展。根據(jù)本發(fā)明的條可被修改以適應(yīng)特定的身體部分和可用于注冊并提供對獨特的身體部分的響應(yīng)的移動應(yīng)用。在一些實施方式中,本發(fā)明包括一個或多個身體部分的測量和/或跟蹤,其可同時發(fā)生。

圖85描繪包括在條和發(fā)射機之間的直接連接的本發(fā)明的一個實施例的使用。這樣的實施方式的益處包括例如允許它被存儲用于現(xiàn)成的訪問,例如在戴著條的個人的口袋中。

示例條測試

下面的測試過程被執(zhí)行并產(chǎn)生下面闡述的數(shù)據(jù)集。

1.在粘合條上的電阻和導(dǎo)電油墨附著到志愿者的脊椎;

2.這個條連接到微處理器傳輸設(shè)備;

3.傳輸設(shè)備使用藍(lán)牙來連接到移動電話;

4.傳輸設(shè)備針對條上的多達(dá)16個傳感器中的每個將原始電阻數(shù)據(jù)實時地傳輸?shù)揭苿与娫挘?/p>

5.移動電話運行應(yīng)用,其首先在人的自然脊椎位置處被校準(zhǔn);

6.移動電話應(yīng)用核對實時電阻數(shù)據(jù)并提供視覺展示并警告用戶是否“脫離姿勢”;以及

7.移動電話應(yīng)用記錄數(shù)據(jù)以及因而由條經(jīng)由傳輸設(shè)備提供的數(shù)據(jù)的歷史。

表1–測試事件的定時

表2–通道1-8的在每秒處的電阻值(歐姆)

表3–通道9-16的在每秒處的電阻值(歐姆)

表4–跨越通道1-16的總電阻值總電阻值(歐姆)

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
颍上县| 民权县| 蕉岭县| 乐山市| 松阳县| 泗洪县| 镇宁| 永州市| 常熟市| 九江县| 格尔木市| 黑水县| 昔阳县| 苍溪县| 晴隆县| 彰化市| 洛浦县| 凤阳县| 甘南县| 黄骅市| 彭泽县| 车险| 斗六市| 农安县| 舟曲县| 绥江县| 星座| 长葛市| 涞源县| 通道| 天祝| 精河县| 游戏| 陕西省| 兴仁县| 周口市| 伊吾县| 长治市| 四会市| 澳门| 通河县|