作者polie4523 (冷冷)
看板Electronics
標題[問題] 馬達編碼器高頻方波(100kHz)量測請益
時間Fri Apr 14 02:50:54 2023
各位版友好
我現在有個馬達與編碼器,馬達每轉一圈會產生1024個方波,在馬達工作速度範圍內用示波器最低可以量到大約週期10微秒(100kHz)的方波,為了知道馬達角度並做後續控制我需要量測跑了幾個方波。
目前是使用Arduino量測但遇到問題:
我用digitalread量測訊號(沒用delay)再畫出來發現波形會失真,上網查digitalread函式要跑4微秒左右 是取樣頻率不夠吧。用產波器給Arduino方波也是頻率大概大於500Hz就失真了,有試過網路上大多數人用的中斷計數但也是不準,是不是這種高頻的訊號本來就不該用arduino QQ
想請問大家有什麼方法或建議,如果有什麼專門的模組或IC之類的也可以推薦給我。謝謝!
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.247.251 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1681411856.A.9EE.html
1F:→ god145145: timer input capture 04/14 07:49
2F:推 hongsiangfu: atmega328的timer1有16bit,使用external clock sour 04/14 09:11
3F:→ hongsiangfu: ce應該能達成1樓的方案. 04/14 09:11
4F:推 Schottky: 外掛 74HC393 一類的 counter 也行,可以到 20MHz 04/14 12:20
5F:推 rai1209: 試試teensy4 開發板(相容arduino) 04/14 16:25
6F:→ polie4523: 謝謝各位的建議,我會先使用timer,若不行再嘗試別的ic 04/14 23:23
7F:→ polie4523: 或板子! 04/14 23:23
8F:推 hongsiangfu: 16bit能容忍64圈的定位,應該有足夠時間進行控制 04/15 10:17
9F:→ hongsiangfu: 雖然不清楚你的控制目標是轉速還是定位,但應該都可 04/15 10:19
10F:→ polie4523: 我是做定位控制喔~另外請教一下其實編碼器有兩個一模 04/15 14:26
11F:→ polie4523: 一樣只差90度相位角的方波要同時量,可是我看arduino的 04/15 14:26
12F:→ polie4523: timer只有一個支援input capture,是不是真的要換板子 04/15 14:26
13F:→ polie4523: 了QQ 04/15 14:26
14F:推 Schottky: 那是讓你知道是正轉還是反轉的,如果只有一個方向是沒差 04/15 15:45
15F:→ god145145: 另一隻腳在慢速啟動/停止時判斷就夠了 04/15 16:01
16F:→ god145145: 對定位會再準一點點 04/15 16:01
17F:→ hongsiangfu: www.arduino.cc/reference/en/libraries/encoder/ 04/15 16:42
18F:→ hongsiangfu: 兩隻都抓的話上面官方的Lib可用,但我認為UNO吃不下 04/15 16:42
19F:→ hongsiangfu: 100K的速度,換板子or外部硬體考慮考慮囉 04/15 16:43
20F:→ MasterChang: 不要用Arduino.... 04/16 21:46
21F:推 lion21: 可以用MEGA 配合外部中斷 04/17 12:06