作者hcf456 (O-H)
看板ASM
標題[問題] arduino 取樣問題 及 中斷
時間Thu May 21 22:14:17 2015
大家好~最近再研究利用arduino做類比取樣的問題
使用訊號產生器做輸入訊號~輸入正弦波
在低頻的時候 可以把數值一個一個透過serial顯示出來
並且從取樣的數值可以大概猜測出這是一個正弦波來
但是來到1k Hz 之後就量測不出完整的波形了
有沒有先進 可以稍微講一下改善的方向? 謝謝
我的方法一開始是利用 DELAY(1) 每一毫秒去做取樣 這個在10HZ的時候
波形都還看得清楚~ 但是來到100HZ 之後就沒法將正弦波的每段訊號擷取
再後來 為了提高擷取頻率
所以使用了delayMicroseconds(3) 每三微秒 取擷取訊號~3微秒聽說是極限
可似乎狀況未見改善,所以後來索性就直接把delay拿掉 直接不斷取樣
可獲得的訊號還是一樣會有誤差的問題,所以才想說上來問問
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.206.167
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1432217662.A.EF8.html
1F:→ MasterChang: 先說你取樣頻率是多少吧? 05/21 22:21
※ 編輯: hcf456 (123.193.206.167), 05/21/2015 22:35:21
2F:推 johnpage: Delay的時間不是取樣頻率 05/22 05:57
3F:→ johnpage: 1K hz 需要 0.5 ms 的取樣率 05/22 05:59
4F:→ hongsiangfu: arduino使用的atmega328or2560,一個取樣花13cycles 05/23 15:48
5F:→ hongsiangfu: 加上analog.read的做法,從AD request到轉換完畢 05/23 15:51
6F:→ hongsiangfu: 系統會呈現idle狀態,更耗費時間。 05/23 15:51
7F:→ hongsiangfu: 另外就是用USART去print資料也有速限,所以... 05/23 15:53
8F:→ hongsiangfu: 上述有誤之處,請其他前輩更正,感謝。 05/23 15:54
9F:推 ohm22k: 這直覺可以分兩個部分去看 05/24 00:48
10F:→ ohm22k: 一是你的ADC取樣的時間最少要大於訊號變化的2倍(奈奎斯特) 05/24 00:49
11F:→ ohm22k: 二是你用UART傳出來的速度問題 05/24 00:50
鮑率會影響嗎~假設頻率1K的話
12F:→ ohm22k: 這邊要看你的serial傳輸速度多快 05/24 00:51
13F:→ ohm22k: 且看你一次傳多少筆數據去顯示 05/24 00:51
感謝上面的前輩指點 我會再研究 屆時跟大家分享~
※ 編輯: hcf456 (123.193.206.167), 05/24/2015 21:56:29
14F:推 escorpion: Serial.print會大大增加運算時間,建議把它拿掉用示波 06/20 14:32
15F:→ escorpion: 器看 06/20 14:32