看板 Electronics 關於我們 聯絡資訊
各位版友好 我現在有個馬達與編碼器,馬達每轉一圈會產生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://www.ptt.cc/bbs/Electronics/M.1681411856.A.9EE.html
god145145: timer input capture 04/14 07:49
hongsiangfu: atmega328的timer1有16bit,使用external clock sour 04/14 09:11
hongsiangfu: ce應該能達成1樓的方案. 04/14 09:11
Schottky: 外掛 74HC393 一類的 counter 也行,可以到 20MHz 04/14 12:20
rai1209: 試試teensy4 開發板(相容arduino) 04/14 16:25
polie4523: 謝謝各位的建議,我會先使用timer,若不行再嘗試別的ic 04/14 23:23
polie4523: 或板子! 04/14 23:23
hongsiangfu: 16bit能容忍64圈的定位,應該有足夠時間進行控制 04/15 10:17
hongsiangfu: 雖然不清楚你的控制目標是轉速還是定位,但應該都可 04/15 10:19
polie4523: 我是做定位控制喔~另外請教一下其實編碼器有兩個一模 04/15 14:26
polie4523: 一樣只差90度相位角的方波要同時量,可是我看arduino的 04/15 14:26
polie4523: timer只有一個支援input capture,是不是真的要換板子 04/15 14:26
polie4523: 了QQ 04/15 14:26
Schottky: 那是讓你知道是正轉還是反轉的,如果只有一個方向是沒差 04/15 15:45
god145145: 另一隻腳在慢速啟動/停止時判斷就夠了 04/15 16:01
god145145: 對定位會再準一點點 04/15 16:01
hongsiangfu: www.arduino.cc/reference/en/libraries/encoder/ 04/15 16:42
hongsiangfu: 兩隻都抓的話上面官方的Lib可用,但我認為UNO吃不下 04/15 16:42
hongsiangfu: 100K的速度,換板子or外部硬體考慮考慮囉 04/15 16:43
MasterChang: 不要用Arduino.... 04/16 21:46
lion21: 可以用MEGA 配合外部中斷 04/17 12:06