Страница 1 из 2
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 01:32
alex555
Подскажите в каком направлении двигаться.
Нужно управлять двигателем постоянного тока с помощью драйвера l298n и двух концевиков А и Б. Причем концевики А и Б работают в таком порядке: разомкнутыми они одновременно не будут(замкнутыми одновременно будут), размыкаются они по очереди и размыкается один при замкнутом другом и аналогично другой концевик. В драйвере я использую два пина(сигнальных): логика у них такая если на обоих 0 или 1 то двигатель не крутится; если на первом 1, а на втором 0 то он крутится влево; если на первом 0, а на втором 1 то он крутится вправо.
Задача при приведенных выше условиях такая: если при включении кнопки(на одном из пинов(вход) контроллера(Nano) будет 1) и оба концевика замкнуты двигатель должен вращаться влево пока концевик А не разомкнется. Далее он должен начать вращаться вправо(концевик А замыкается) пока не разомкнется концевик Б. И так он должен вращаться влево-вправо по кругу.Если при включении кнопки один из концевиков разомкнут то двигатель просто должен вращаться влево-вправо по алгоритму приведенному выше. Коряво как-то получилось описать задачу, но как то так.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 12:52
Олег
Примерно так, если я вас правильно понял.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 17:01
alex555
правый концевик замкнут
оба концевика замкнуты
механизм несколько другой(почему и потребовались пружины) но программа должна быть как для этого механизма
Олег благодарю за поддержку. Только вот при компиляции в IDE вылезает ошибка. Я так понял ссылается на то, что два одинаковых присвоения в самом начале
кода. При удалении копии некорректно работает программа. И просматривая программу в ФЛП получается,что при нажатии кнопки переменной "влево"присваивается 1 в переменной "вправо" остается 0, затем двигатель вращается влево пока не отключится левый концевик. При отключении левого концевика переменной "влево" присваивается 0, а переменной "вправо" 1 и двигатель начинает вращаться вправо как положено, но при дальнейшем движении замкнется концевик левый и переменной "вправо" присвоится 0 а "влево" 1 и все застопорится.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 17:05
Sancho
Уважаемый Олег.
В Вашей схеме есть недочёты, из-за которых возможно появление сигналов одновременно на обоих выходах.
Может так сработает?
Ненужное удалить.
Олег, сори, прочитал внимательней - есть у выходного драйвера защита. Извиняюсь.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 18:18
alex555
Sancho, к сожалению тоже не работает.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 19:37
alex555
возможно у кого то есть решение если концевики перевернуты на 180 градусов и пружины убраны
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:04
Sancho
А по моему должно работать.
Все входы через резисторы на +5, концевики и кнопку на общий.
Сори, забыл кнопку проинвертить.
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:17
alex555
так там только три входа задействовано 2 концевика и кнопка. какие входы на +5
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:23
Sancho
Как-то так...
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:26
alex555
вроде понял,а какой номинал резисторов?
Добавлено (09.06.2016, 20:24)
---------------------------------------------
теперь вижу
Добавлено (09.06.2016, 20:26)
---------------------------------------------
так там в программе подтягивающий резистор(встроенный в микруху) подключается. Зачем тогда этот?
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:31
Sancho
Лишних 500 микроампер - с блока питания не убудет, зато будут стабильные уровни. Я лично ставлю на 4,7к.(много их у меня есть)
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 20:54
alex555
заработало уфф...мне просто нужно было кровь из носа...спасибо...кстати на будущее если есть желание на коммерческой основе мне помогать дай знать!!!
Добавлено (09.06.2016, 20:54)
---------------------------------------------
дело было в инверсе кнопки и в том что вместо концевиков у меня были кнопки с обратным включением(а я только сейчас понял) вот что значит не спал ночь(просто я больше монтажом занимаюсь,а тут прогать надо)
Управление двигателем постоянного тока
Добавлено: 09 июн 2016, 23:14
Олег
alex555 писал(а):Только вот при компиляции в IDE вылезает ошибка
Странно, у меня нет.
alex555 писал(а):дело было в инверсе кнопки и в том что вместо концевиков у меня были кнопки с обратным включением(а я только сейчас понял)
Мою схему после этого проверили? Интересно просто.
Управление двигателем постоянного тока
Добавлено: 10 июн 2016, 13:21
alex555
Как только появится свободное время обязательно проверю и напишу. Сейчас надо конструкцию доделывать
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 13:44
Sevast
Чтоб не создавать новую тему, тут спрошу.
На двигателе диск.
На диске одна насечка и замкнутые контакты.
Каждые 2 минуты двигатель должен делать два оборота.
Во время движения двигателя, контакты размыкаются и как только двигатель сделает два оборота, контакты замкнутся и это будет командой остановиться.
Потом ждем пока опять через 2 минуты не получит команду на движение.
С временем разобрался, а вот как контакты привязать не пойму.
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 15:56
fsergei70
Sevast писал(а):Во время движения двигателя, контакты размыкаются
Если правильно понял контакт размыкается при каждом обороте, попробуйте так.
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 17:42
Sevast
fsergei70 писал(а):Если правильно понял контакт размыкается при каждом обороте, попробуйте так.
Спасибо, попробую.
А как сделать, чтоб он два оборота делал. Ведь после первого, контакты сомкнутся и двигатель станет, а надо чтоб он стал после второго.
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 17:48
Dev1
Sevast писал(а):А как сделать, чтоб он два оборота делал. Ведь после первого, контакты сомкнутся и двигатель станет, а надо чтоб он стал после второго.
Поставьте счетчик и на 2 останавливайте.
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 18:00
Sevast
fsergei70 писал(а):попробуйте так.
Ни как не реагирует контакт...
Наверно не правильно объяснил что надо.
Количество оборотов, это количество замыканий контактов.
Управление двигателем постоянного тока
Добавлено: 02 окт 2017, 19:06
fsergei70
Sevast писал(а):Ни как не реагирует контакт...
поправил