Страница 1 из 1

АЦП

Добавлено: 15 фев 2018, 19:50
Rovki
Создавал уже такую тему ,но куда то подевалась .Повторю
Хотел сделать АЦП на ардуино ,но ввиду что АЦП реализован без прерываний ,при больших значениях на входе ,идет больше времени на преобразование аналог-код и в это время процессор не может ни чем другим заниматься .То есть пока идет преобразование значение на выходе ноль ,после становится нормально и если есть другой асинхронный процесс ,например работа модбаса , значения прыгают в регистре с нормального до нуля ,потом опять нормально ....потом ноль .То есть проект состоит из аналогового входа (А0) и холдинг регистра (модбас) и все. Не понятно как же люди используют ФЛ для работы с аналоговыми сигналами ?
Вот тут есть хорошая статья http://robotosha.ru/arduino/analog-meas ... duino.html
Может кто сделает нормальный блок АЦП (по прерыванием) , за вознаграждение :friends:

АЦП

Добавлено: 15 фев 2018, 20:27
Sancho
[ref=#ff8000]Rovki[/ref],
Просто попробуйте.
Отпишитесь.

АЦП

Добавлено: 15 фев 2018, 20:34
Rovki
Там по прерыванию или нет .если нет то не пойдет .И что то про аналоговые входы не сказано
Добавлю ,что требуется быстродействие 3-5 циклов измерения в секунду

АЦП

Добавлено: 15 фев 2018, 20:46
Sancho
Rovki писал(а): 15 фев 2018, 20:34Добавлю ,что требуется быстродействие 3-5 циклов измерения в секунду
Быстрее

АЦП

Добавлено: 15 фев 2018, 20:58
Nikan
.

АЦП

Добавлено: 15 фев 2018, 20:59
Sancho
[ref=#ff8000]Rovki[/ref],
Дело не в скорости.
Если-бы был блок "Удачный обмен"( 1 на один цикл), на слэйве, о котором не только я просил Автора, сделать выполнение нескольких считываний и выдача среднего или наиболее часто повторяющегося( не суть) после получения указанного сигнала, вопросов бы вообще не возникало.

АЦП

Добавлено: 15 фев 2018, 21:06
pan
Nikan писал(а): 15 фев 2018, 20:58это как так можно сделать??
может не то что надо.
но есть вот такие прерывания

Код: Выделить всё

#define ADC_vect          _VECTOR(21)  /* ADC Conversion Complete */

Код: Выделить всё

#define ANALOG_COMP_vect  _VECTOR(23)  /* Analog Comparator */

АЦП

Добавлено: 15 фев 2018, 21:11
Nikan
.

АЦП

Добавлено: 15 фев 2018, 21:12
Rovki
Nikan писал(а): 15 фев 2018, 20:58
Rovki писал(а): 15 фев 2018, 19:50но ввиду что АЦП реализован без прерываний
это как так можно сделать??
http://robotosha.ru/arduino/analog-meas ... duino.html

АЦП

Добавлено: 15 фев 2018, 21:19
Nikan
.

АЦП

Добавлено: 15 фев 2018, 21:31
Sancho
[ref=#ff8000]Rovki[/ref],
Анатолий, время работы считывания 1 канала АЦП по приведённой выше ссылке - 64 микросекунды.
Нужно корректно обработать Ваш сигнал, и всё.
Ошибки возникают, если идёт опрос на повышенных частотах, и при переключении входов на ацп его входная ёмкость вносит свои "косяки".
Приложите Ваш проект, для повторения, и тогда станет понятнее, где засада.
Остальное - ни о чём.

Отправлено спустя 1 минуту 22 секунды:
Можно сделать блок с циклом, штук на 5-10, и выдать последнее измереноое. Или среднее, или ...

АЦП

Добавлено: 15 фев 2018, 22:04
Rovki
Поставил ваш блок ,работает нормально ,но я не могу дома нагрузить датчик давления ,что бы проверить на больших значениях .завтра на стенде проверю детально.но в любом случае с меня КЛЮЧ :friends:

Отправлено спустя 3 минуты 16 секунд:
Nikan писал(а): 15 фев 2018, 21:19
Rovki писал(а): 15 фев 2018, 21:12ttp://robotosha.ru/arduino/analog-meas ... duino.html
читайте мой пост выше.
то, что там мужик в обработчике прерывания ацп ногами мк дергает, а в штатном режиме это не выйдет,
не говорит о том что прерываний нет.
Ногами выходами он дергает что бы осциллографом посмотреть ..

АЦП

Добавлено: 15 фев 2018, 22:33
AlexCrane
Rovki писал(а): 15 фев 2018, 21:12
Nikan писал(а): 15 фев 2018, 20:58 это как так можно сделать??
http://robotosha.ru/arduino/analog-meas ... duino.html

АЦП

Добавлено: 15 фев 2018, 23:41
Rovki
AlexCrane писал(а): 15 фев 2018, 22:33
Rovki писал(а): 15 фев 2018, 21:12 http://robotosha.ru/arduino/analog-meas ... duino.html
спасибо .а в чем отличия от ацп от Санчо

АЦП

Добавлено: 16 фев 2018, 14:57
AlexCrane
Rovki писал(а): 15 фев 2018, 23:41
AlexCrane писал(а): 15 фев 2018, 22:33
спасибо .а в чем отличия от ацп от Санчо
Сделан на базе кода, ссылку которого ты давал выше. Там используется метод непрерывного чтения и после того как произошло чтение вызывается прерывание и запись в переменную, как-то так.

Как работает ацп от Санчо не могу сказать, там библиотеку курить надо.

АЦП

Добавлено: 16 фев 2018, 14:59
Rovki
Спасибо ,попробую ...