АЦП

не работает как надо

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#1

Сообщение Rovki » 15.02.2018{, 19:50}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

АЦП

#2

Сообщение Sancho » 15.02.2018{, 20:27}

Rovki,
Просто попробуйте.
Отпишитесь.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#3

Сообщение Rovki » 15.02.2018{, 20:34}

Там по прерыванию или нет .если нет то не пойдет .И что то про аналоговые входы не сказано
Добавлю ,что требуется быстродействие 3-5 циклов измерения в секунду
Электронщик до мозга костей и не только

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

АЦП

#4

Сообщение Sancho » 15.02.2018{, 20:46}

Rovki писал(а):
15.02.2018{, 20:34}
Добавлю ,что требуется быстродействие 3-5 циклов измерения в секунду
Быстрее
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

АЦП

#5

Сообщение Nikan » 15.02.2018{, 20:58}

.
Последний раз редактировалось Nikan 23.03.2023{, 21:36}, всего редактировалось 1 раз.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

АЦП

#6

Сообщение Sancho » 15.02.2018{, 20:59}

Rovki,
Дело не в скорости.
Если-бы был блок "Удачный обмен"( 1 на один цикл), на слэйве, о котором не только я просил Автора, сделать выполнение нескольких считываний и выдача среднего или наиболее часто повторяющегося( не суть) после получения указанного сигнала, вопросов бы вообще не возникало.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

АЦП

#7

Сообщение pan » 15.02.2018{, 21:06}

Nikan писал(а):
15.02.2018{, 20:58}
это как так можно сделать??
может не то что надо.
но есть вот такие прерывания

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

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

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

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

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

АЦП

#8

Сообщение Nikan » 15.02.2018{, 21:11}

.
Последний раз редактировалось Nikan 23.03.2023{, 21:35}, всего редактировалось 1 раз.

Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#9

Сообщение Rovki » 15.02.2018{, 21:12}

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

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

АЦП

#10

Сообщение Nikan » 15.02.2018{, 21:19}

.
Последний раз редактировалось Nikan 23.03.2023{, 21:35}, всего редактировалось 1 раз.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

АЦП

#11

Сообщение Sancho » 15.02.2018{, 21:30}

Rovki,
Анатолий, время работы считывания 1 канала АЦП по приведённой выше ссылке - 64 микросекунды.
Нужно корректно обработать Ваш сигнал, и всё.
Ошибки возникают, если идёт опрос на повышенных частотах, и при переключении входов на ацп его входная ёмкость вносит свои "косяки".
Приложите Ваш проект, для повторения, и тогда станет понятнее, где засада.
Остальное - ни о чём.

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

Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#12

Сообщение Rovki » 15.02.2018{, 22:01}

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

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

АЦП

#13

Сообщение AlexCrane » 15.02.2018{, 22:33}

Rovki писал(а):
15.02.2018{, 21:12}
Nikan писал(а):
15.02.2018{, 20:58}
это как так можно сделать??
http://robotosha.ru/arduino/analog-meas ... duino.html
Вложения
Быстрый_АЦП_3_(CODE).ubi
(11.61 КБ) 60 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#14

Сообщение Rovki » 15.02.2018{, 23:41}

AlexCrane писал(а):
15.02.2018{, 22:33}
Rovki писал(а):
15.02.2018{, 21:12}
http://robotosha.ru/arduino/analog-meas ... duino.html
спасибо .а в чем отличия от ацп от Санчо
Электронщик до мозга костей и не только

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

АЦП

#15

Сообщение AlexCrane » 16.02.2018{, 14:57}

Rovki писал(а):
15.02.2018{, 23:41}
AlexCrane писал(а):
15.02.2018{, 22:33}
спасибо .а в чем отличия от ацп от Санчо
Сделан на базе кода, ссылку которого ты давал выше. Там используется метод непрерывного чтения и после того как произошло чтение вызывается прерывание и запись в переменную, как-то так.

Как работает ацп от Санчо не могу сказать, там библиотеку курить надо.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Rovki
Полковник
Сообщения: 4874
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

АЦП

#16

Сообщение Rovki » 16.02.2018{, 14:59}

Спасибо ,попробую ...
Электронщик до мозга костей и не только

Ответить

Вернуться в «Спросить у знатоков»