本文描述了視障人士水平儀的完整設(shè)計(jì)。它使用ADXL312加速度計(jì)測(cè)量水平和垂直平面上的重力,并在加速度計(jì)完全水平或垂直時(shí)發(fā)出蜂鳴器。
它還可以用作傾斜傳感器,以調(diào)平汽車(chē)應(yīng)用中的拖車(chē),其中水平儀可能位于遠(yuǎn)離騎師輪的地方。它還用作汽車(chē)穩(wěn)定系統(tǒng)或無(wú)人機(jī)的子電路。
介紹
Amar Latif在出現(xiàn)在名人大廚之后在英國(guó)烹飪界引起了轟動(dòng)。然而,阿馬爾不僅是一位好廚師,他還經(jīng)營(yíng)著自己的旅游公司,是一位勵(lì)志演說(shuō)家,曾徒步穿越南美洲大部分地區(qū),同時(shí)也是一名電視名人。這個(gè)人的超能力是沒(méi)有盡頭的嗎?
可悲的是,有。阿瑪爾95%是盲人。隨著技術(shù)的進(jìn)步,世界努力跟上它的步伐,對(duì)于視障人士來(lái)說(shuō),戰(zhàn)斗更加艱難。大多數(shù)技術(shù)進(jìn)步都要求我們?cè)谄聊磺盎ㄙM(fèi)更多時(shí)間。對(duì)于視障人士來(lái)說(shuō),過(guò)多的屏幕時(shí)間仍然是一個(gè)“如果”。
如果技術(shù)可以用來(lái)豐富視力障礙者的生活,這只能是一件好事。由于只有18%的登記盲人是完全失明(或“黑盲”),這使得絕大多數(shù)人即使無(wú)法分辨細(xì)節(jié),也至少有一些視力。因此,盲人精神水平的想法誕生了。
設(shè)計(jì)大綱
傾斜傳感器設(shè)計(jì)基于ADXL312,ADXL312是一款低電流加速度計(jì),可在x、y和z軸上測(cè)量高達(dá)±1.5 g,并通過(guò)SPI總線(xiàn)讀取數(shù)據(jù)。該器件采用5 mm×5 mm封裝,待機(jī)模式下功耗為0.1 μA。它的測(cè)量分辨率為10位,因此ADXL312可以檢測(cè)每個(gè)軸上低至±2.9 mg的變化。ADXL312將每個(gè)軸的引力數(shù)據(jù)存儲(chǔ)為高達(dá)±511的二進(jìn)制補(bǔ)碼值,微控制器讀取這些數(shù)據(jù)并將其顯示在單行16個(gè)字符的LCD顯示屏上。圖1顯示了ADXL312的檢測(cè)軸。
圖1.ADXL312的檢測(cè)軸。
該部件的滿(mǎn)量程讀數(shù)為 1.5 g,因此 1 g 的重力讀數(shù)為該讀數(shù)的 2/3。因此,如果ADXL312正好處于電平,則z軸寄存器應(yīng)讀取2/3滿(mǎn)量程,而x和y軸應(yīng)讀取零。同樣,當(dāng)ADXL312完全垂直時(shí),x軸讀數(shù)應(yīng)為2/3滿(mǎn)量程,而y軸和z軸讀數(shù)應(yīng)為零。如果ADXL312開(kāi)始遠(yuǎn)離任何軸傾斜,則根據(jù)傾斜角度的正弦,最大讀數(shù)開(kāi)始減少,而其他軸上的讀數(shù)開(kāi)始增加。
ADXL312內(nèi)部
ADXL312是一款微機(jī)電系統(tǒng)(MEMS),由構(gòu)建在硅晶圓頂部的多晶硅表面微加工結(jié)構(gòu)組成。多晶硅彈簧將結(jié)構(gòu)懸掛在晶圓表面上,并提供對(duì)加速力的抵抗力。
固定硅手指與手指交錯(cuò)在移動(dòng)的防撞質(zhì)量上,以創(chuàng)建可測(cè)量特性的差分電容器。加速度使光束偏轉(zhuǎn)并使差分電容器不平衡,導(dǎo)致傳感器輸出的幅度與加速度成正比。結(jié)構(gòu)如圖2所示。
圖2.ADXL312的內(nèi)部工作原理。
ADXL312可以使用I2C 或 SPI,x、y 和 z 數(shù)據(jù)存儲(chǔ)在六個(gè)內(nèi)部 8 位寄存器中。它還具有許多其他功能,包括 32 級(jí) FIFO、兩個(gè)多功能中斷、偏移寄存器、機(jī)械自檢和自動(dòng)休眠模式。
靈性關(guān)卡設(shè)計(jì)
傾斜傳感器的完整電路圖如圖3所示。
圖3.視障人士水平儀的完整示意圖。
ADXL312的最大電源電壓為3.6 V,而LCD顯示屏和蜂鳴器需要5 V,因此電路的主輸入為5 V,使用3.3 V、150 mA線(xiàn)性穩(wěn)壓器(ADP121)為ADXL312、微控制器和E2存儲(chǔ)器供電。
微控制器上的端口B引腳2(CAL引腳)由10 kΩ電阻拉高。它還具有跳線(xiàn),使其能夠接地。啟動(dòng)時(shí),微控制器詢(xún)問(wèn)CAL引腳的狀態(tài),如果該引腳被跳線(xiàn)拉低,則讀取x、y和z寄存器,從零中減去這些讀數(shù),然后將結(jié)果加載到ADXL312內(nèi)部的失調(diào)寄存器中,并將其存儲(chǔ)在外部E2存儲(chǔ)器25AA040中。ADXL312會(huì)自動(dòng)將失調(diào)寄存器的讀數(shù)添加到任何未來(lái)的測(cè)量中,無(wú)需處理器交互,從而消除校準(zhǔn)的失調(diào)。
如果移除跳線(xiàn),則CAL引腳被拉高,并繞過(guò)校準(zhǔn)程序。失調(diào)讀數(shù)直接從E2存儲(chǔ)器讀取,并加載到ADXL312的失調(diào)寄存器中。因此,在制造過(guò)程中,可以將水平儀安裝在校準(zhǔn)夾具中,CAL引腳保持低電平,可以校準(zhǔn)器件,并將偏移值存儲(chǔ)在E2存儲(chǔ)器中。校準(zhǔn)后,移除跳線(xiàn),在隨后上電時(shí),詢(xún)問(wèn)E2存儲(chǔ)器,并將校準(zhǔn)后的失調(diào)讀數(shù)加載到ADXL312的失調(diào)寄存器中。
然后,軟件對(duì)每個(gè)軸執(zhí)行八個(gè)讀數(shù),并將結(jié)果平均,然后顯示在 16 個(gè)字符的 LCD 顯示屏上。顯示每 100 毫秒更新一次。
圖4顯示,當(dāng)每個(gè)傳感器接近其零讀數(shù)時(shí),可實(shí)現(xiàn)最大靈敏度。這是正弦波斜率最陡峭的地方,因此對(duì)于傾斜的任何變化,重力讀數(shù)的最大變化。
圖4.顯示g力隨角度的正弦變化。
幸運(yùn)的是,當(dāng)每個(gè)傳感器完全水平且傳感器讀數(shù)接近于零時(shí),水平儀只需要測(cè)量?jī)A斜度。
該軟件旨在同時(shí)校準(zhǔn) x 軸和 z 軸。很容易將零件放置在水平平臺(tái)上并校準(zhǔn)傾斜傳感器的 x 軸。但是,此時(shí)z軸將承受1 g的力,因此需要獲取z讀數(shù),與1 g的滿(mǎn)量程計(jì)數(shù)進(jìn)行比較,并將任何誤差加載到偏移寄存器中。通過(guò)在水平和垂直平面上進(jìn)行校準(zhǔn),可以實(shí)現(xiàn)對(duì)傾斜傳感器每個(gè)軸的更精確校準(zhǔn),但這需要兩階段校準(zhǔn)和軟件修改。
表1顯示了二進(jìn)制補(bǔ)碼數(shù)據(jù)的示例。正數(shù)遵循傳統(tǒng)的二進(jìn)制表示法。負(fù)數(shù)使用最高有效位 (MSB) 作為符號(hào)位;因此,正數(shù)的 MSB 等于零,負(fù)數(shù)的 MSB 等于 1。
十進(jìn)制 | 二元的 |
+511 | 01 1111 1111 |
+1 | 00 0000 0001 |
0 | 00 0000 0000 |
-1 | 11 1111 1111 |
-511 | 10 0000 0001 |
兩者的正數(shù)補(bǔ)碼可以通過(guò)反轉(zhuǎn)所有位,然后加 1 來(lái)找到。因此,當(dāng)從計(jì)數(shù) 0 轉(zhuǎn)換為計(jì)數(shù) –1 時(shí),代碼從 00 0000 0000 更改為 11 1111 1111。
軟件讀取 x 和 z 寄存器,如果任一寄存器的值為 0 或 1023 (11 1111 1111),它將端口 B 的位 5 設(shè)置為高電平,這將打開(kāi)晶體管 Q1 并發(fā)出 5 V 蜂鳴器的聲音。當(dāng)傾斜傳感器完全水平時(shí),x 軸的讀數(shù)為 0 或 1023,當(dāng)完全垂直時(shí),z 軸的讀數(shù)為 0 或 1023。只有當(dāng)兩個(gè)寄存器都不等于 0 或 1023 時(shí),蜂鳴器才會(huì)停止響起。
準(zhǔn)確性和進(jìn)一步發(fā)展
僅考慮一個(gè)軸,當(dāng)重力作用于該軸時(shí),最大讀數(shù)為1 g,當(dāng)零件傾斜90°時(shí),該讀數(shù)降至0 g,如圖5所示。
圖5.使用重力讀數(shù)計(jì)算傾斜角度。
因此,施加的引力由方程決定
其中 ? 是相對(duì)于水平方向測(cè)量的傾斜角度。如果零件可以測(cè)量到2.9 mg的分辨率,則可以解析為0.17°的角度。很難確定標(biāo)準(zhǔn)氣泡液位的精度數(shù)字,因?yàn)楹茈y確定氣泡的確切位置。然而,從實(shí)驗(yàn)中,1.2米水平儀的末端可以移動(dòng)約3.2毫米(兩個(gè)未填充的PCB的寬度?。?,然后氣泡看起來(lái)偏離中心。這相當(dāng)于大約 0.15° 的角度,表明我們可以用電子傾斜傳感器代替氣泡液位,分辨率損失很小。
如果需要更高的精度,ADXL313在1 g范圍內(nèi)提供11位分辨率。接口和寄存器集與ADXL312非常相似,因此軟件不需要太多修改。ADXL355具有更低的噪聲和更高的分辨率。
ADXL312的噪聲密度為340 μg/√Hz,帶寬越低噪聲越好。該器件的帶寬可編程(從3.125 Hz到1600 Hz,默認(rèn)設(shè)置為50 Hz)。雖然降低帶寬可以改善噪聲,但這也會(huì)降低顯示器的更新速率。對(duì)于此設(shè)計(jì),帶寬設(shè)置為6.25 Hz,這意味著均方根噪聲為850 μg。還可以通過(guò)獲取更多讀數(shù)并對(duì)其進(jìn)行平均來(lái)降低噪聲。
進(jìn)一步的改進(jìn)是讓LCD讀數(shù)顯示度數(shù)。但是,如果要將正弦和余弦包含在軟件中,這需要使用 C 庫(kù)中的數(shù)學(xué)函數(shù)。這些功能對(duì)于低端微控制器來(lái)說(shuō)占用了太多的代碼空間。使用泰勒級(jí)數(shù)展開(kāi)可以實(shí)現(xiàn)與正弦函數(shù)的近似,這應(yīng)該占用更少的代碼空間。
結(jié)論
ADXL312提供低成本電子傾斜測(cè)量系統(tǒng),易于與低端微控制器接口。前面描述的設(shè)計(jì)已經(jīng)證明,它可以與傳統(tǒng)氣泡液級(jí)的精度相媲美,但具有電子接口。這使其能夠用作需要測(cè)量?jī)A斜度的大型設(shè)計(jì)的子系統(tǒng),例如拖車(chē)調(diào)平系統(tǒng)、穩(wěn)定性控制系統(tǒng)和無(wú)人機(jī)。
更重要的是,它可以用來(lái)提高視障人士的獨(dú)立性,本文展示了一個(gè)完整的系統(tǒng)級(jí)設(shè)計(jì),包括硬件、軟件和非易失性存儲(chǔ)器,以及音頻和視頻輸出。
審核編輯:郭婷
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163762 -
SPI總線(xiàn)
+關(guān)注
關(guān)注
4文章
103瀏覽量
27586 -
加速度計(jì)
+關(guān)注
關(guān)注
6文章
700瀏覽量
45891
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論