16.01.2017, 12:00 | #1 |
Junior Member
Регистрация: 16.01.2017
Сообщений: 8
Вес репутации: 0 |
Робот
имеется:
UNO L293D shield Два двигателя Всё это дело собрал в "бутерброд", энкодеры подключил на 2,3 пин. Заливаю код (см ниже), начинает кружиться влево (видимо из-за особенностей одного из двигателей). Отключаю обработку прерываний - ездит и поворачивает нормально. На основе приведенного кода синхронизации скорости вращения колес в одной из веток данного форума, написал код: PHP код:
|
16.01.2017, 12:45 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Робот
Попробуйте выбросить из прерываний все Serial.print
|
16.01.2017, 12:51 | #3 |
Junior Member
Регистрация: 16.01.2017
Сообщений: 8
Вес репутации: 0 |
Re: Робот
я их, наоборот,вставил для отладки. Почему-то ощущение, что работает только одно прерывание (один энкодер), вот для проверки и вставил вывод в консоль - работает и второй, но как-то странно.
|
16.01.2017, 13:02 | #4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Робот
для отладки прерываний лучше подключить светодиоды
Ошибок в коде я не вижу http://cyber-place.ru/showthread.php?t=627 Возможно Вы полярности на двигателе попутали |
16.01.2017, 13:11 | #5 |
Junior Member
Регистрация: 16.01.2017
Сообщений: 8
Вес репутации: 0 |
Re: Робот
с полярностью всё ок, ибо при отключении прерываний, едет прямо затем поворот налево.
Единственное, о чем я думаю - пин 2 задействован на контролере двигателей для 2го движка, я специально свои подключил к 3 и 4. Смотрю на код и в обработчике прерываний, я останавливаю движки, может этого делать не надо? Или то, что кручу обоими двигателями? перепишу на корректировку одним двигателем, может проблема тут... Спасибо за совет со светодиодами! |
16.01.2017, 13:17 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Робот
Попробуйте код по ссылке выше
|
20.01.2017, 11:12 | #7 |
Junior Member
Регистрация: 16.01.2017
Сообщений: 8
Вес репутации: 0 |
Re: Робот
добился таки чтобы робот поехал по этому алгоритму.
Но есть но: - как не делал, все-равно едет с подруливанием вправо-влево. - двигается более прямо, но всё-равно загребает влево. - при включении, двигатели крутятся в разнофазе (т.е. разворачивается на месте), хотя по алгоритму - никаких разворотов. |
20.01.2017, 12:44 | #8 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Робот
Цитата:
|
|
20.01.2017, 12:48 | #9 |
Junior Member
Регистрация: 16.01.2017
Сообщений: 8
Вес репутации: 0 |
Re: Робот
с разным диаметром колес идея интересная, конечно. Хотя, колеса, вроде бы такие же как у вас.
хм, а если меняю пины энкодеров местами, начинает загребать вправо. думаю, стоит сравнить энкодеры еще. код, кстати, тут: https://github.com/kdsystem/Arduino/...t/my_robot.ino |
20.01.2017, 12:57 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Робот
А какие энкодеры используете?
|
Здесь присутствуют: 8 (пользователей: 0 , гостей: 8) | |
|
|