Скорость обработки аналоговых сигналов
- Войдите на сайт для отправки комментариев
Чт, 06/02/2014 - 17:16
Здравствуйте,
Собрал девайс на базе ардуино нано, который опрашывает 2 аналоговых входа на изменение напряжения, выводит данные на монитор.
проблема со скоростю оброботки входного напряжения, при изменения напряжения на 1в (при скорости 0,3-0,5сек) данные выводяца на монитор с солидной задержкой примерно 3 сек.
как повысить скорост оброботки?
Lango, скорость обработки, если всё правильно делать -выше скорости реакции человеческого глаза. Скетч в студию...
паузу хоть поставьте в конце хоть на 0.25с
паузу хоть поставьте в конце хоть на 0.25с
да но ме максимальная скорость нужна
паузу хоть поставьте в конце хоть на 0.25с
да но ме максимальная скорость нужна
если вам нужна максимальная скорость, то уберите вывод на ком порт. На 9600 бод вывод одного символа на порядок больше по времени, чем одно преобразование на макс. скорости(а у вас float выводится). Или реализуйте преобразование через прерывания, а вывод на порт оставьте в основном теле программы.
Lango, в конце скетча не понятно зачем вы всё обнуляете. По сути: в скетче кроме лёгкой неоптимальности никакого криминала, ничего не должно существенно тормозить. У меня есть очень смелая гипотеза -а точно у вас соответствуют пины A1 A0 подключенным фактически? Если например включено на A5 и A4, а в скетче А0 и А1 то можно словить похожую ситуацию, непритянутые к общему или питанию входы ловят то, что приходит на соседние пины. так-же нужно точно удостовериться, что сам по себе входящий сигнал не тормозит. Паралельно входу включите вольтметр, и при изменении напряжения не будет ли оно так-же плавно нарастать? Если ничего не перепутано, то нужно разбирать пошагово. Сначала выводите чистые значения analogRead. .
Michal, dimax Спасибо за советы, я тоже подозревал - вывод на ком порт. Dimax да обнуление в конце не требуется, добавил во время поисков причины задержки.
В процессе мне нужно мониторить все пины отдельно, с интервалом обновления 1-2 раза в сек.
А как выводить данные не мешая процессу вычисления, вернее - не влияя на основной процесс?
Lango, вывод в ком-порт не может так мешать, что-бы по 2-3 секунды задержки были. У людей по 6 каналов выводится через компорт, и всё без тормозов работает.
Понял, судя по всему саму схему грамотнее нужно собрать ... переделаю схему, там датчики не на прямую подключены к аналоговым выводам и по идее ети самые датчики нужно запитать с стабилизаторов (типа LM7805 …) от отдельного БП а не напрямую из ардуины.
Спасибо…
Я уже давно только
Serial
.begin(115200)
юзаю....Все заработало как надо, удалил Serial.begin и Serial.println, вывел отдельное питание для датчиков и адаптера...
всетаки скорость связи между адаптером и компом непречом, сам ардуино без дополнительного питания не справлялся с двумя датчиками.
Спасибо…
попробуйте код из этого поста. измерение и расчет занимает всего 128мкс для одного канала. данные о времени приходят в порт что глаз не успевает, так что что то странное у вас
http://arduino.ru/forum/obshchii/vremya-na-ispolnenie-raznykh-funktsii#c...