Имеется высокоточный лазерный датчик (разрешение 0,001 мм и пределом измерений 0-10 мм). С него имеем аналоговый выход (может и цифра есть, не смотрел). Датчик на данный момент хочу использовать для измерения колебаний детали с частотой в районе 25-50 Гц. Его подключил к ардуинке нано. В связи с 8-битностью самой ардуинки увеличил разрешение при помощи ADS1115 до 16 бит.
А вот проблему со снятием показаний с более высокой частотой не понимаю как решить. Частота ардуинки 100-200 Гц как понял, что само собой в моем случае для измерения не хватает.
Находил возможные увеличения частоты работы ардуинки, но не могу понять:
Вроде как там указано, что ШИМ идет на цифровой пин. У меня аналог.
Как все это подключать и возможно ли такое увеличение частоты
Прошу подсказать грамотных людей: можно ли снять показания с ардуинки нано с ADS1115 с более высокой частотой (хотя бы 2 кГц) и, если можно, то как это программно и по железу подрубить? В некотором смысле новичок по ардуинкам, прошу камнями не кидать)
Дополнительно: сейчас ардуино показания снимаю через программку на VBNet. Показания ардуинка дает раз в 0,01 сек (то есть 100 Гц). Плата Arduino Atmega 328p на данный момент используется.
Не скромничайте. Судя по тексту - полный ноль.
Пассажи о том, что ардуинка 8ми битная, поэтому вы взяли внешний АЦП… это просто жара.
Если серьезно, вам надо открыть даташит ADS1115 и посмотреть, во- первых, с какой частотой он измеряет по умолчанию - и если этой частоты мало - как ее изменить.
Добавка - посмотрел код, основное время вы тратите на печать цифр в мониторе порта с черепашьей скоростью 9600 бод. Поставьте 115200 - ваша ардуинка магически ускорится на порядок.
Спокойно читать ардуиновским 10-битным АЦП со скоростью до 10 тысяч измерений в секунду (что в пять раз Выше Ваших 2 kHz)
Разумеется, для этого потребуется не та программа, что у Вас приведена, но если Вы новичок лишь “в некотором смысле”, то для Вас это не составит труда.
При скорости порта 9600 вывод в Сериал этих трёх строк
как раз потребует порядка 10мс. То есть виртуально само обращение к АЦП занимает минимальное время, а частота вывода в 100гц обусловлена именно медленный выводом в порт.
Нигде не косячите, просто для скорости 10 килосэмплов/сек. (если быть точным, то 9,6 kS/s) нужна другая программа. Не исправленная эта, а совсем другая.
А давайте Вы определитесь, Вы умный или красивый Вам нужно измерять с большей частотой или печатать на компе в читабельном для человека виде?
Если нужно реально измерять, то см. в даташите режим АЦП “free-running”. Если же нужно печатать в монитор порта, то никак Вы с такой скоростью не напечатаете.
Не исключаю, что там был. В любом случае это было давно. Тогда вообще зачем форум, если тут при вопросах больше засирают пользователей, чем явным образом помогают?
Вам - низачем.
Вам надо вообще запретить вход на форумы.
Вы делаете вид, что занимаетесь контроллерами уже сколько лет? - восемь? десять? - а до сих пор пишете полную чушь про восьмибитные Ардуино и про скорость платы, которая связана с ШИМ
А знаете почему?
Потому что вы никогда не стремились хоть что-нибудь изучить и в чем-то разобраться, вы всегда шли на форумы и ждали, что вам все разжуют и в рот положат.
Зачем на вас тратить время, если вы завтра все забудете и снова придёте с теми же вопросами?