Accelmotor, обсуждение библиотеки

PANda81

✩✩✩✩✩✩✩
17 Сен 2020
4
0
Здравствуйте. Меня зовут Алексей. Прошу помощи разобраться с данной библиотекой.
Для своей домашней приточной вентиляции хочу создать регулируемую задвижку подмеса воздуха. Буду использовать моторчик постоянного тока от принтера и оптический энкодер оттуда же (там их три, два круговых и один линейный, буду использовать последний). Управлять этим будет nodemcu v2 Amica в комплекте с специально под эту плату разработанной ESP12E Motor Shield (пока выехали с Китая) на драйвере L293D на 2 мотора (может добавлю задвижку зима-лето, в систему завязан кондиционер). В ожидании хотел пока накидывать программу. Искал, что могло облегчить эту задачу. По описанию идеально подошла бы данная библиотека.
Но возник вопрос, включает ли библиотека Accelmotor в себя библиотеку энкодера или последнюю нужно включать и задавать параметры отдельно. По терминологии автора мне нужно задать 2-й тип (на 2 тика), т.е. нужно объявить 2 пина для сигналов энкодера, что сделать в библиотеке энкодера просто и понятно, а в Accelmotor совсем нет. В приведенных примерах есть только прямая обработка одного пина (через DigitalRead или аппаратному прерыванию).
В общем прошу помощи тех, кто разобрался с данной библиотекой.
 

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
359
573
Обратную связь нужно организовать самостоятельно, то есть в этом случае опросить энкодер. Библиотека принимает текущую "позицию" вала мотора в любых единицах. В примерах есть пример опроса энкодера через digitalRead, заведется на любом ардуино-совместимом ведре

По поводу двух пинов - если на мотор не оказывается внешнее воздействие (никто не крутит вал) - достаточно одного любого клок-пина с энкодера, так как библиотека сама крутит мотор и знает, в какую сторону она это делает. В примерах это реализовано чтением значения с энкодера и умножением на состояние мотора, то есть там автоматически подставляется 1, 0 и -1
 
Изменено:
  • Лойс +1
Реакции: PANda81

alexey2201

✩✩✩✩✩✩✩
2 Дек 2020
1
0
Подскажите пожалуйста код примера использования потенциометра вместо энкодера в качестве обратной связи для библиотеки Accelmotor.h
 

PANda81

✩✩✩✩✩✩✩
17 Сен 2020
4
0
Upd К сожалению с данным шилдом библиотека не заработала. Движение только в одну или другую сторону в зависимости от первоначальной инициализации библиотеки (параметр level LOW или HIGH)
 

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
359
573
@PANda81, а мотор шилд с прямым управлением, или через сдвиговый регистр, как в обычном моторшилде? AccelMotor наследует GyverMotor, которая работает только с прямым управлением драйвером
 

PANda81

✩✩✩✩✩✩✩
17 Сен 2020
4
0
NodeMCU Motor Shield for ESP-12E на основе L293 на 2 DC мотора или один шаговый, управление по 2 пина: один пин направление, другой скорость. Мотор работает в одну сторону, в другую только слышен писк ШИМа. Задавал в библиотеке ШИМ и 10 бит и 8. Пробовал задавать отрицательное значение. Направление меняется только при смене параметра level. Без библиотеки вручную все работает. Как-то так.
 

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
359
573
NodeMCU Motor Shield for ESP-12E на основе L293 на 2 DC мотора или один шаговый, управление по 2 пина: один пин направление, другой скорость. Мотор работает в одну сторону, в другую только слышен писк ШИМа. Задавал в библиотеке ШИМ и 10 бит и 8. Пробовал задавать отрицательное значение. Направление меняется только при смене параметра level. Без библиотеки вручную все работает. Как-то так.
у есп по умолчанию 10 бит шим, попробуй должно работать. Либо у есп опять компилятор что то невнятное творит
 

PANda81

✩✩✩✩✩✩✩
17 Сен 2020
4
0
Скорее всего второе. По первому пункту уже и так и сяк перепробовал. Если б заработало, то немного упростило бы написание остальной части программы. Дал внешнее задание и все. С этой есп есть и другие заморочки. Пока сделал ручное управление программой RemoteXY, постепенно задвижку сам приоткрываю. В планах управлять внешним регулятором. Допишу что-нибудь своё. Наверное плавность движений там особо и не нужна. Просто хотел воспользоваться готовым вариантом. Да и лишний вход с энкодера бы освободился (как раз со входами у есп и есть заморочки).