Presentation is loading. Please wait.

Presentation is loading. Please wait.

CH4 類比訊號 最簡單的互動設計 – Arduino 一試就上手 孫駿榮、吳明展、盧聰勇.  類比訊號充斥在自然界中,人們說話的聲音、 溫度的變化、天色的轉換、颱風來襲時的風力 大小。  它是一種有連續性變化的信息,它有各式各樣 的頻率、大小、還有數以萬計的信號發送源。  光線明暗的變化、聲音大小的改變、物體承受.

Similar presentations


Presentation on theme: "CH4 類比訊號 最簡單的互動設計 – Arduino 一試就上手 孫駿榮、吳明展、盧聰勇.  類比訊號充斥在自然界中,人們說話的聲音、 溫度的變化、天色的轉換、颱風來襲時的風力 大小。  它是一種有連續性變化的信息,它有各式各樣 的頻率、大小、還有數以萬計的信號發送源。  光線明暗的變化、聲音大小的改變、物體承受."— Presentation transcript:

1 CH4 類比訊號 最簡單的互動設計 – Arduino 一試就上手 孫駿榮、吳明展、盧聰勇

2  類比訊號充斥在自然界中,人們說話的聲音、 溫度的變化、天色的轉換、颱風來襲時的風力 大小。  它是一種有連續性變化的信息,它有各式各樣 的頻率、大小、還有數以萬計的信號發送源。  光線明暗的變化、聲音大小的改變、物體承受 壓力的極限、溫度濕度對於設備的影響,這些 想要去量測的訊號,都是類比訊號。 類比訊號的介紹

3  我們需要轉換需要的物理數值來驅動我們的系 統做適當的應對。 類比訊號的介紹

4  為了方便我們的系統能夠接收類比訊號,在讀 取前需要做轉換的動作,把類比訊號轉換成數 位訊號 (Analog to Digital, AD)  類比訊號經過對時間軸等分取樣之後成為離散 訊號,即可被系統程式讀取。再對資訊內容整 理後成為數位訊號。  需要非常注意取樣的頻率以及資料的解析度, 頻率越快和解析度越高的結果越能接近原本的 訊號特性。 AD 轉換

5  原始 SIN 波訊號 AD 例子

6  原始 SIN 波訊號間隔 2 時間單位取樣 AD 例子

7  原始 SIN 波訊號間隔 5 時間單位取樣 AD 例子

8  原始 SIN 波訊號間隔 10 時間單位取樣 AD 例子

9  取樣頻率的不同,就會造成取樣後的圖形與最 原始的圖形有差異,影響之後的判斷。此外當 解析度不同時,系統所能得到的結果,也會影 響整體性能的好壞。 AD 例子

10  有了數位訊號的發明,讓我們可以使用單純的 0 與 1 兩種表示方法,將類比轉換成數位資料,提 高其抗干擾和面對環境傷害的能力 類比訊號轉換

11  在系統中的 AD 轉換是把所有要讀取的類比訊號 轉換成為電壓數值,而這些數值大小的變化、 極值便是我們系統輸入的一部分,需要轉換的 可能是壓力值、溫度等環境參數,由這些資料 我們才可以決定系統該做怎樣的輸出。 電路中的訊號轉換

12  若系統核心採用沒有 AD 轉換的晶片、或者對於 微處理器本身所含有的 AD 性能不滿意時,可以 找尋專門負責 AD 轉換的晶片。  例如: ADC0804 就是一個 8-bit 的 AD 轉換晶片 電路中的訊號轉換

13  ADC0804 基本測試圖 電路中的訊號轉換

14  這個數值只要觀察規格表中,它是擁有幾 bit 的 轉換能力  舉 ADC0804 這個例子來說,它可以量測 0 - 5V 的電壓變化,又這顆 IC 的解析度是 8-bit ,所以 將這可量測區間除以 2 的 8 次方:  這就是所謂的解析度,也就是當訊號有超過 0.02V 的變化時,才會量測的出來。 解析度

15  由於數位訊號只有 0 跟 1 兩種變化,簡單來看一 個 2-bit 解析度的轉換器,他只能夠表示底下 4 種 數值:  2-bit 的轉換器只能把 0-5V 分解成 4 等分:  00 : 0-1.25V 、 01 : 1.25-2.5V 、 10 : 2.5-3.75V 、 11 : 3.75-5V 這四個區間。 解析度 數位訊號值表示的數值 000 011 102 113

16  AD 轉換需要時間來處理訊號的轉換,這會關係 到系統所讀取到資訊正確性,當系統每次要求 取得數值的間隔小於 AD 轉換所需要的時間時, 就會發生可能是錯誤的量測值或是取得與上一 筆相同的資料,所以必須等待一定的時間後才 可以再度執行 AD 轉換獲得下一個新的值。 轉換時間

17  參考電壓在 AD 的轉換當中扮演了吃重的角色, 它當作是量測當中的基準量。  電壓不太穩定的情況下可能會導致量測的數值 有比較大的跳動。  假設今天要量測的訊號大於晶片能使用的電壓 時,可以採取分壓的方式將電壓降至系統可以 負擔的大小,而分壓電阻的匹配就需要注意來 避免過大的輸入導致晶片燒毀。 參考電壓

18  在這邊會看到一個單位叫做 LSB , Least Significant Bit ,中文叫做最低有效位元 ( 第 0 位 ) ,通常就是 指最低 1 位的解析度  例: 10000001  在這個例子中,最右邊的 1 就是 LSB ,而最左邊 的 1 則是, MSB , Most Significant Bit ,最高有效位 元 ( 第 7 位 ) ,這些名詞會常常出現在模組的規格 表 (datasheet or spec.) 中,千萬不要搞錯了唷。 誤差

19  Arduino 裡的 ATMega 系列 IC , PDIP 封裝方式有 6 隻 AD 腳位可供使用,而 TQFP 與 QFN/MLF 則 有 8 隻 AD ,皆為 10-bit 的解析度,每一格可量測 電壓變化約為 0.0049V ,絕對誤差的部分達到 正負 2LSB 。 Arduino 中的 AD

20

21  在 Arduino 中要量測類比訊號是一件非常簡單的 事, ATMEGA328 中支援 6 個 AD 腳位可以使用 ,我們先透過一個最簡單的方式來試試看量測 Arduino 板子上的電源: 量測

22  sensorValue = analogRead(analogInPin);  程式當中的精華所在,就屬這行程式了!當我 們有類比訊號的輸入時,使用 analogRead 即可 讀取刮號內的接腳訊號,此程式為第 0 隻腳。讀 取到的值會儲存在 sensorValue 這個變數中。 程式 I

23

24  Arduino 是 10-bit 精度的類比轉換。 Arduino 經由函 式讀取到的值需要經過換算,由於我們的參考 電壓是 5 伏特,因此公式如下: 程式 I

25  輸入訊號改為 3.3 伏特 程式 I

26  假如今天我們系統需要一個準確的數值時,除 了硬體上面的改進外,例如:防干擾、採用較 為穩定的參考電壓等,我們也可以透過程式的 方式來做些改進。 程式 II

27  程式 4-2 秀了一個最 簡單的處理雜訊的方 法,取平均。經由 5 次的數值讀取後,再 取得平均值做為輸出 的資料。 程式 II // 多次讀取接腳的類比訊號數值 sensorValue = analogRead(analogInPin); sensorValue += analogRead(analogInPin);

28  關於更多的濾波方法,可以查詢一些信號處裡 的書籍,再提供一種比取平均更簡單的方式:  sensorValue = 0.7*sensorValue + 0.3*analogRead(analogInPin);  此方法是採信任制,兩個參數的比值可以任意 調整,這個範例的數值表示較為信任之前的數 值,故新的數值當中,有 7 成的比重是前一次的 資料,只有 3 成是新讀取到的。若採用各 5 成的 表示,就等同於取平均的方式。 程式 II

29  可變電阻( variable resistor , VR )顧名思義就 是可以改變電阻值的一種裝置,常見於一些旋 鈕,或是用於阻抗匹配時。最低的阻值接近 0 歐 姆,最高則是依據選擇購買的不同而有所不同 。 可變電阻

30 可變電阻與 Arduino 接線圖

31  當接線都確定無誤後,當旋鈕左轉到底時,讀 到的數值應該是最小的情況;而右轉到底應該 可以讀到數值為 1023 ,這樣表示右轉時電阻值 會逐漸變小,左轉則是逐漸增大。  方向可能依使用的元件和使用者的角度有所差 異。 可變電阻與 Arduino

32  光敏電阻( photoresistor )是一種特殊的電阻, 阻值的大小為依照所在環境的光線強弱而決定 ,光線越亮,電阻值越小;反之,越暗電阻值 越大。 光敏電阻

33  當手邊有的光敏電阻太大的時候,會造成讀取 到的數值沒有任何變化,這時候可以加上另外 一顆電阻,配成一個簡單的分壓電路: 光敏電阻

34  將光敏電阻置於 R2 的位置,下面範例 R1 選擇 1k 的電阻,適當的選擇兩者的比例,便可以得到 比較明顯的訊號變化值。 光敏電阻

35  所有的訊號量測都是在讀取電壓值的改變,擁 有解析度越高的 AD 轉換,我們就可以得到越接 近於原始訊號的量測值。而幾乎所有的類比感 測器,都是以可變電阻為雛形下去做相關的變 化,除了光敏電阻外,常見的還有壓力感測。 壓力感測

36  圖中的 FSR 就是感測 模組的符號,而下面 RM 表示可以匹配的 電阻,這顆電阻的大 小也會影響量測出來 的變化,如圖所示: FSR 壓力感測

37  這個範例直接將第 0 隻腳的 AD 訊號讀取進 來後,若只是初期測 試,建議 0.1 或 0.2 秒 就夠了,先觀察訊號 變化是否如你預期, 再來調整量測的週期 速度。 Arduino 中的範例

38  有點像是觸控螢幕中,想要調整音量大小時, 可以直接用手滑動來做改變的感應器,不過這 沒辦法記錄前一次按下的位置,只能夠針對每 一次按下去的位置來做量測。 位置感測


Download ppt "CH4 類比訊號 最簡單的互動設計 – Arduino 一試就上手 孫駿榮、吳明展、盧聰勇.  類比訊號充斥在自然界中,人們說話的聲音、 溫度的變化、天色的轉換、颱風來襲時的風力 大小。  它是一種有連續性變化的信息,它有各式各樣 的頻率、大小、還有數以萬計的信號發送源。  光線明暗的變化、聲音大小的改變、物體承受."

Similar presentations


Ads by Google