作者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/cn.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