Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по самоделкам


Ответ
 
Опции темы Опции просмотра
Старый 12.04.2021, 11:17   #1 (permalink)
Kisar
Member
 
Регистрация: 28.06.2014
Сообщений: 246
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 4 сообщениях
Репутация: 1782
По умолчанию Танк на Ардуино

Всем доброго времени суток!

Собрал для детей танк, все части распечатал на 3Д принтере. Использую Arduino nano, lm298 и плату от геймпада PS2. Все получилось замечательно, но есть одна загвоздка. При движении в любом направлении видно что танк "подтупливает". Выражается это в том, что он начинает набирать скорость, потом резко ее сбрасывает и начинает опять набирать. то есть едет "рывками". Прилагаю код и видео работы. Заранее спасибо!

Видео:
https://www.youtube.com/watch?v=xFXih3cpEMc
 
Вложения
Тип файла: txt tank.txt (7.4 Кб, 92 просмотров)
Kisar вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
AlexZir (12.04.2021), Счастье (12.04.2021)

Старый 12.04.2021, 11:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пока вам не дали ответов вы можете полистать аналогичные темы

Танк для Феечки
ядерный танк в Crysis
Россиянин запатентовал танк

Старый 12.04.2021, 11:36   #2 (permalink)
Счастье
Не очень хороший человек
 
Аватар для Счастье
 
Регистрация: 01.12.2012
Сообщений: 6,155
Записей в дневнике: 18
Сказал(а) спасибо: 1,305
Поблагодарили 755 раз(а) в 231 сообщениях
Репутация: 98885
По умолчанию

Просто отлично!
__________________
Все будет хорошо.
Счастье вне форума   Ответить с цитированием
Старый 12.04.2021, 12:20   #3 (permalink)
v1ct0r
СпецШирокПрофНоУзкПонятия
 
Аватар для v1ct0r
 
Регистрация: 13.03.2015
Сообщений: 2,940
Записей в дневнике: 1
Сказал(а) спасибо: 31
Поблагодарили 31 раз(а) в 8 сообщениях
Репутация: 30768
По умолчанию

Цитата:
Сообщение от Kisar Посмотреть сообщение
При движении в любом направлении видно что танк "подтупливает"
не вижу никаких "подтупливаний"
танк выполняет команду, пока нажата кнопка, останавливается после ее окончания и выполняет следующую.
в чем вы видите проблему?
совет
уменьшите в прошивке максимальную скорость танка, будет комфортнее управлять им
__________________
все гениальное просто. чем проще, тем надежнее.
v1ct0r вне форума   Ответить с цитированием
Старый 12.04.2021, 12:44   #4 (permalink)
Kisar
Member
 
Регистрация: 28.06.2014
Сообщений: 246
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 4 сообщениях
Репутация: 1782
По умолчанию

К сожалению не видно на видео, но слышно, что он рывками двигается. Вечером уменьшу скорость и пришлю видео работы. При низкой скорости хорошо видно
Kisar вне форума   Ответить с цитированием
Старый 12.04.2021, 13:07   #5 (permalink)
Kshishtoff
Member
 
Регистрация: 17.10.2017
Адрес: Узбекистан, Навои.
Сообщений: 1,628
Сказал(а) спасибо: 3
Поблагодарили 8 раз(а) в 4 сообщениях
Репутация: 15391
По умолчанию

Цитата:
Сообщение от v1ct0r Посмотреть сообщение
не вижу никаких "подтупливаний"
Почему? Отчетливо видно что едет именно рывками, как будто двигатели постоянно то стартуют, то останавливаются.
Цитата:
Сообщение от Kisar Посмотреть сообщение
При движении в любом направлении видно что танк "подтупливает". Выражается это в том, что он начинает набирать скорость, потом резко ее сбрасывает и начинает опять набирать. то есть едет "рывками".
А как Адруинка подает сигнал на ключи управления двигателями? Там типа ШИМа реализовано для установки желаемой скорости или или просто постоянный сигнал для открытия ключей?
У меня похожая проблемка была на простенькой РУ игрушке, тоже движение рывками. Проблема была в загрязнении коллектора смазкой. Попробуйте подключить другой двигатель для проверки или имеющиеся разберите и очистите коллектор.
__________________
Who can really speak American English? I wanna ask some questions their crazy grammar rules about.
Kshishtoff вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 12.04.2021, 13:14   #6 (permalink)
Kisar
Member
 
Регистрация: 28.06.2014
Сообщений: 246
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 4 сообщениях
Репутация: 1782
По умолчанию

Цитата:
Сообщение от Kshishtoff Посмотреть сообщение
Почему? Отчетливо видно что едет именно рывками, как будто двигатели постоянно то стартуют, то останавливаются.

А как Адруинка подает сигнал на ключи управления двигателями? Там типа ШИМа реализовано для установки желаемой скорости или или просто постоянный сигнал для открытия ключей?
У меня похожая проблемка была на простенькой РУ игрушке, тоже движение рывками. Проблема была в загрязнении коллектора смазкой. Попробуйте подключить другой двигатель для проверки или имеющиеся разберите и очистите коллектор.
Двигатели проверены, подключал напрямую к источнику питания. Реализовано через ШИМ.
Kisar вне форума   Ответить с цитированием
Старый 12.04.2021, 13:58   #7 (permalink)
v1ct0r
СпецШирокПрофНоУзкПонятия
 
Аватар для v1ct0r
 
Регистрация: 13.03.2015
Сообщений: 2,940
Записей в дневнике: 1
Сказал(а) спасибо: 31
Поблагодарили 31 раз(а) в 8 сообщениях
Репутация: 30768
По умолчанию

по моему в конце кода у вас скорость обнуляется с задержкой в 50 мс
с какой целью?
может в этом дело?

Цитата:
analogWrite(speedPinA, 0);
analogWrite(speedPinB, 0);
delay(50);
__________________
все гениальное просто. чем проще, тем надежнее.
v1ct0r вне форума   Ответить с цитированием
Старый 12.04.2021, 14:33   #8 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Согласен, проблема движения рывками связана с задержкой после выполнения команд в процедуре loop(). Значение переменной b=50мс, да ещё в конце явно задана задержка 50мс, вот и получается, что движется не плавно.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 14.04.2021, 19:46   #9 (permalink)
Kisar
Member
 
Регистрация: 28.06.2014
Сообщений: 246
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 4 сообщениях
Репутация: 1782
По умолчанию

Поставил вместо delay(50) такой код:

Код:
if (!ps2x.NewButtonState())
 {
 analogWrite(speedPinA, 0);
  analogWrite(speedPinB, 0);
 }
и танк начинает очень долго отзываться на команды.


Идея то простая:
1) нажимаем на кнопку и двигаемся вперед
2) отпускаем кнопку и останавливаемся

Но почему-то никак не получается((

Все delay убрал
Kisar вне форума   Ответить с цитированием
Старый 14.04.2021, 22:19   #10 (permalink)
Счастье
Не очень хороший человек
 
Аватар для Счастье
 
Регистрация: 01.12.2012
Сообщений: 6,155
Записей в дневнике: 18
Сказал(а) спасибо: 1,305
Поблагодарили 755 раз(а) в 231 сообщениях
Репутация: 98885
По умолчанию

С интересом слежу.
Ардуино получу к лету, будет время поразвлекаться перед 1 сентября.
Очень хочется сделать что-то интересное. Есть даже 3д принтер, но у меня проблема бывает с выставлением горизонтальной платформы для печати, не всегда получается напечатать хорошо.
Танк соберу вряд ли, но наблюдать за темой очень интересно, спасибо!
__________________
Все будет хорошо.
Счастье вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:16.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.