[问题] arduino 取样问题

楼主: hcf456 (O-H)   2015-05-21 22:14:17
大家好~最近再研究利用arduino做类比取样的问题
使用讯号产生器做输入讯号~输入正弦波
在低频的时候 可以把数值一个一个透过serial显示出来
并且从取样的数值可以大概猜测出这是一个正弦波来
但是来到1k Hz 之后就量测不出完整的波形了
有没有先进 可以稍微讲一下改善的方向? 谢谢
我的方法一开始是利用 DELAY(1) 每一毫秒去做取样 这个在10HZ的时候
波形都还看得清楚~ 但是来到100HZ 之后就没法将正弦波的每段讯号撷取
再后来 为了提高撷取频率
所以使用了delayMicroseconds(3) 每三微秒 取撷取讯号~3微秒听说是极限
可似乎状况未见改善,所以后来索性就直接把delay拿掉 直接不断取样
可获得的讯号还是一样会有误差的问题,所以才想说上来问问
作者: MasterChang (我爱ASM)   2015-05-21 22:21:00
先说你取样频率是多少吧?
作者: johnpage (johnpage)   2015-05-22 05:57:00
Delay的时间不是取样频率1K hz 需要 0.5 ms 的取样率
作者: hongsiangfu   2015-05-23 15:48:00
arduino使用的atmega328or2560,一个取样花13cycles加上analog.read的做法,从AD request到转换完毕系统会呈现idle状态,更耗费时间。另外就是用USART去print资料也有速限,所以...上述有误之处,请其他前辈更正,感谢。
作者: ohm22k (红红红)   2015-05-24 00:48:00
这直觉可以分两个部分去看一是你的ADC取样的时间最少要大于讯号变化的2倍(奈奎斯特)二是你用UART传出来的速度问题这边要看你的serial传输速度多快且看你一次传多少笔数据去显示
作者: escorpion (pavone先生)   2015-06-20 14:32:00
Serial.print会大大增加运算时间,建议把它拿掉用示波器看

Links booklink

Contact Us: admin [ a t ] ucptt.com