Страница 2 из 2
ESP вместо Arduino
Добавлено: 15 янв 2019, 19:23
Oleg1345140
нет, впервые увидел. Вообще идея моя личная, идея удаленного управления интересная но мне без надобности.
ESP вместо Arduino
Добавлено: 29 авг 2019, 20:59
ingener
Просьба отговорить от бредовой идеи.
Имеется изначальный проект, содержащий генератор, меню с дисплеем 2004, кучу сигналов с задержками и прочее.
Все это работает на UNO. Принципиально это драйвер шагового мотора (только генератор, сам драйвер внешний) с заданием скорости и других параметров в меню.
Теперь появилось желание добавить счетчик пройденного пути на основе подсчета кол-ва импульсов ШД.
Конечно, их надо поделить на некий коэффициент, зависящий от свойств внешнего драйвера и механики. Это уже в процессе калибровки. Пусть будет для примера = 50.
Итак, первый счетчик (делитель на 50) получает сигнал от генератора и подает дальше на второй, который выводит значение пройденного пути на дисплей.
Все это работает, но беда в том, что максимальная частота, которую могут "переварить" счетчики на уже перегруженной UNO - всего около 17 Гц. А надо до 1000 хотя бы.
Если данный скетч залить на чистую UNO, то там счетчики работают гораздо шустрее.
Появилась мысль, можно ли такой внешний счетчик сделать на ESP-01 с обменом по UART?

Потянет?
Проект счетчика с пояснениями и картинка.
PS - может, лучше использовать один счетчик, не частоту делить, а его выходное значение с помощью масштабирования?
ESP вместо Arduino
Добавлено: 29 авг 2019, 21:33
Sancho
[ref]ingener[/ref], Все таймеры заняты? Если нет, то как?
ESP вместо Arduino
Добавлено: 29 авг 2019, 21:46
ingener
[ref=#ff8000]Sancho[/ref], проекта под рукой нет, по памяти там штук 10 таймеров точно есть (для организации задержек сигналов). Это все или не все?
Еще каждый из них управляется из меню, громоздко все так.
И блок генератора есть.
И еще интересно, если у ESP такт проца выше раз в 5, будет ли она быстрее со счтчиками работать?
ESP вместо Arduino
Добавлено: 30 авг 2019, 08:24
Sancho
[ref]ingener[/ref], Занят ли аппаратный таймер 1?
Возможно придётся использовать внешний счётчик импульсов, например
PCF8583
Отправлено спустя 15 минут 44 секунды:
Можно считать прерываниями, но мне кажется это уже лишим. Хотя у каждого свой взгляд на ситуацию...
ESP вместо Arduino
Добавлено: 30 авг 2019, 11:21
ingener
[ref=#ff8000]Sancho[/ref], сорри. моего уровня понятий не хватает, чтобы определить, используется ли "аппаратный таймер". Блоки таймеров в проекте есть и много, а вот аппартные они или нет...
в приложении проект, в котором счетчики не успевают считать с частотой выше 17 Гц..
ESP вместо Arduino
Добавлено: 30 авг 2019, 12:40
Sancho
[ref]ingener[/ref], Посади на 2 или 3,(вроде не используешь?) поставь скоростной счётчик...
Отправлено спустя 2 минуты 44 секунды:
А, вижу, энкодер.
Нахрена, извините за слова, использовать для энкодера оба прерывания??? А, блоко-делы?
Кто-нибудь может аргументировать???
Сможете изменить подключение? Проект переделаю...
Отправлено спустя 50 минут :
[ref]ingener[/ref], Энкодер - 2 и 6.
Датчик на 3.
Если энкодер будет двоить - пролечим

ESP вместо Arduino
Добавлено: 30 авг 2019, 13:56
ingener
[ref=#ff8000]Sancho[/ref], что-то энкодер вообще не работает на 2 и 6....

а, на них физически нет напряжения. Нужны внешние резисторы к +5 или можно программно подтянуть?
ESP вместо Arduino
Добавлено: 30 авг 2019, 14:34
Sancho
[ref]ingener[/ref], Косяк - я выставил "ногу" 2, a нужно было "номер прерывания" 0.
То-же попался блок без подтяжек на ноги энкодера. Допилил...
ESP вместо Arduino
Добавлено: 30 авг 2019, 15:18
ingener
[ref=#ff8000]Sancho[/ref], что-то теперь ни энкодер, ни счетчик не работают(
Если крутить туда-сюда энкодером, на дисплее счетчика цифры меняются в плюс по 1-2
ESP вместо Arduino
Добавлено: 30 авг 2019, 15:47
Sancho
[ref]ingener[/ref], Я не знаю, что и сказать...
Отправлено спустя 50 секунд:
Пин D2 и D6 - энкодер.
Пин D3 - вход счётчика.
ESP вместо Arduino
Добавлено: 30 авг 2019, 16:16
ingener
[ref=#ff8000]Sancho[/ref], с этим скетчем энкодер работает, но нестабильно ( часто вместо переключения просто цифра мигает)
ESP вместо Arduino
Добавлено: 30 авг 2019, 16:18
Sancho
[ref]ingener[/ref], Счётчик работает?
Энкодер доведём. повесь пока пару ёмкостей по 10н
ESP вместо Arduino
Добавлено: 30 авг 2019, 16:27
ingener
Sancho писал(а): 30 авг 2019, 16:18
Счётчик работает?
Да, ставил максимум (1000 Гц) - четко, за минуту на дисплее насчитал 60000

ESP вместо Arduino
Добавлено: 05 сен 2019, 14:34
ingener
Sancho писал(а): 30 авг 2019, 12:40
[ref]ingener[/ref], Посади на 2 или 3,(вроде не используешь?) поставь скоростной счётчик...
[ref=#ff8000]Sancho[/ref], нельзя ли в вашем блоке скоростного счетчика добавить вход разрешения счета? Не ресет, а именно остановка счета?
Или как-то вывести вход сигнала для возможности управления на него, а то он жестко зашит на определенный пин и все управление возможно только "снаружи"
ESP вместо Arduino
Добавлено: 05 сен 2019, 15:24
Sancho
[ref]ingener[/ref], Пробуй
Отправлено спустя 1 минуту 45 секунд:
Но начинать/останавливать счёт он будет только в тот момент времени, когда в цикле программы до него дойдёт очередь.
ESP вместо Arduino
Добавлено: 06 сен 2019, 15:37
ingener
[ref=#ff8000]Sancho[/ref], вход разрешения счета работает, но проблема в момент первого включения контроллера.
Счетчик сразу начинает считать, хотя сигнал на разрешение этого ему никто не давал.
Только если потом сделать перевключение (старт-стоп программы), то он останавливается и далее уже работает как нужно.
Как это можно предупредить?
И еще вопрос, можно ли как-то ограничить, чтобы он не считал ниже нуля? Он уходит не в отрицательные значения, а сразу перескакивает на 85899345, что вызывает полный сбой всего алгоритма
проект на всякий случай, хотя он уже так разросся, что сам иногда забываю, где что
некоторые несущественные выходы блоков пока никуда не подключены.
ESP вместо Arduino
Добавлено: 06 сен 2019, 17:28
Sancho
[ref]ingener[/ref],тести...
ESP вместо Arduino
Добавлено: 28 ноя 2020, 20:59
ecoins
GDAN7777 писал(а): 28 ноя 2020, 18:33
Как обстоят дела с аппаратными прерываниями в ваших библиотеках на ESP32?
Работает библиотека HC-SR04 по прерываниям.
Проблем не наблюдалось.