roboforum.ru

Технический форум по робототехнике.

Мой первый робот)

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Мой первый робот)

Сообщение madLagger » 14 дек 2014, 16:34

Понимаю, что негоже создавать отдельную тему из-за одного робота :oops: Просто очень рад что наконец-то что-то получилось)
Наконец-то я собрался с силами и собрал своего робота. Шасси робота сделал из выпиленных из CD приводов редукторов(которые лоток выдвигают) За мозги пока Arduino Uno(не дорос я еще до голых avr-ок...). В качестве драйвера двигателей выступает микросхема LB1649 от фирмы Sanyo. Также на роботе установлен всем известный УЗ сонар HC-SR04.
Робот уже умеет обходить препятствия, реализовано управление с пульта от видемагнитофона Sony. Также есть "демо" программа(проехать по змейке, развернуться, поморгать фарой. В планах - заменить Arduino Uno на клон Arduino Nano(стоит копейки), сделать плату для драйвер двигателей, УЗ сонар заменить на инфракрасный дальномер Sharp, установить датчики линии, сделать нормальное подруливающее колесо, поставить колеса побольше, установить серву, чтобы робот мог вращать дальномером и поставить литиевый аккумулятор. Написать программы "следование по линии" и "прохождение лабиринта".
Фото ниже. На ваш суд :roll:
Вложения
DSC_0757.jpg
Редуктор с колесом
DSC_0755.jpg
Мозги
DSC_0761.jpg
Попа
DSC_0760.jpg
Морда
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение AndreiSk » 14 дек 2014, 16:48

молодец
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Мой первый робот)

Сообщение madLagger » 14 дек 2014, 21:57

Вытравил плату и собрал драйвер двигателя. Теперь все красиво :)
Вложения
1418579684997.jpg
Драйвер двигателей
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение slom » 14 дек 2014, 22:42

интересная конструкция, а скетчиком управления не поделитесь?
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Мой первый робот)

Сообщение madLagger » 14 дек 2014, 23:10

slom писал(а):скетчиком управления не поделитесь?


Конечно. Используется библиотека IRremote.
Вложения
minibot_remote_control.ino
Скетч
(1.85 КиБ) Скачиваний: 290
IRremote library.rar
Библиотека IRremote
(23.19 КиБ) Скачиваний: 0
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение slom » 16 дек 2014, 00:28

как я понял это код только для управления с ик пульта, причем при нажатии на кнопку машина будет двигаться пока не нажмут кнопку стоп... очень неудобный вариант...
а кде же код остановки при встрече с препятствием(уз датчик) нет демо программы...

меня если честно больше интересует как к радио управлению, добавить блокировку при обнаружении препятствия, чтобы в случае стены на пути, телена останавливалась и сдавала назад, не давая оператору повредить себя столкновением...
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Мой первый робот)

Сообщение MegaBIZON » 16 дек 2014, 04:20

А чего ж не гоже?
Очень даже гоже! Да же? ))
Колёсья вот только на что-то поровнее поменять бы, наверное..
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............
Аватара пользователя
MegaBIZON
 
Сообщения: 6285
Зарегистрирован: 12 янв 2007, 00:34
Откуда: Масква

Re: Мой первый робот)

Сообщение madLagger » 16 дек 2014, 12:54

slom писал(а):добавить блокировку при обнаружении препятствия, чтобы в случае стены на пути, телена останавливалась и сдавала назад, не давая оператору повредить себя столкновением...

Идея, конечно, хорошая, но мне сначала с механикой бы разобраться...
slom писал(а):как я понял это код только для управления с ик пульта, причем при нажатии на кнопку машина будет двигаться пока не нажмут кнопку стоп...

Меня самого это бесит. Я просто не могу понять, как реализовать такое управление :( Никто не нааставит на путь истинный? :cry:
Насчет демо программы и обхождения препятствий - причешу, выложу.
MegaBIZON писал(а):Колёсья вот только на что-то поровнее поменять бы, наверное..

А что не так? Побольше может поставить только. А то что в разные стороны они у бота разъезжаются - тут уж ничего не поделаешь, такие редукторы...

P.S. Времени нет вообще, потому что из-за бардака в комнате мама пригрозила вышвырнуть все мое хозяйство и приходится убираться в турбо режиме. В общем, к творчеству вернусь только часов через восемнадцать :o
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение slom » 16 дек 2014, 13:44

madLagger писал(а):из-за бардака в комнате мама пригрозила вышвырнуть все мое хозяйство и приходится убираться в турбо режиме. В общем, к творчеству вернусь только часов через восемнадцать :o


ты наверно думаешь что вот вырасту, мама будет не указ, тогда и займусь любимым делом, но ни фига подобного! :ROFL:
просто маму сменить жена... :crazy: и тоже будет грозиться выкинуть твои поделки, мою пока остонавливает цена устройства :D

насчет кода управления через блютус можешь попробовать взять мой с этой страницы:
http://roboforum.ru/forum10/topic14711-90.html
только переделай пины выходов под свой контроллер.
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Мой первый робот)

Сообщение madLagger » 16 дек 2014, 14:51

slom писал(а):
madLagger писал(а):насчет кода управления через блютус можешь попробовать взять мой с этой страницы:
http://roboforum.ru/forum10/topic14711-90.html
только переделай пины выходов под свой контроллер.

Ошень кстати, блютус модуль уже едет :)

Кстати, у LB1649 можно сразу подавать ШИМ на входы(нету enable-ов, как у L293D и ее родственников) Удобно, блин :good:
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение madLagger » 16 дек 2014, 19:51

П-произошло ужасное. Робот из безобидной тележки, обходящей препятствия, мутировал в бешеный поднос на ик-управлении. Если я останусь жив после испытаний, то выложу фото... :shock:

А-аа, вжжжж, куда, вжжж, ё....
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение russo » 16 дек 2014, 20:47

Напоминает фильм про терминатора - Восстание машин

Добавлено спустя 4 минуты 56 секунд:
madLagger писал(а):
slom писал(а):как я понял это код только для управления с ик пульта, причем при нажатии на кнопку машина будет двигаться пока не нажмут кнопку стоп...

Меня самого это бесит. Я просто не могу понять, как реализовать такое управление :( Никто не нааставит на путь истинный? :o


При приеме команды нужно запускать временной отсчет в течении которого эта команда действительна, например 500 милисекунд. Если в течении этого времени команд не поступало - то выключаем двигатели.

отсчет можно запускать встроеной функцией millis()

например
Код: Выделить всёРазвернуть
//если более секунды нет команд - отключаем двигатели 
  if(!flag_stop_motor & (millis() -  time_no_comand) > 1000)
  {
     flag_stop_motor = 1;
     left_motor = 0;
     riht_motor = 0;
     analogWrite(M1, 0x00);       // выключаем моторы, если нет команд с пульта более 250 миллисекунд
     analogWrite(M2, 0x00);
     digitalWrite(D1, forward);   // Задаем направление вращения
     digitalWrite(D2, forward);
     
     tft.fillRect(0, 110, 130, 8,  ST7735_BLACK); //выводим на дисплей данные
     tft.setTextColor(ST7735_GREEN);
     tft.setCursor(0, 110);
     tft.print(left_napravlenie);
     tft.print("  ");
     tft.print("LEFT ");
     tft.print(left_motor);
     wdt_reset();
     tft.fillRect(0, 130, 130, 8,  ST7735_BLACK);
     tft.setTextColor(ST7735_GREEN);
     tft.setCursor(0, 130);
     tft.print(riht_napravlenie);
     tft.print("  ");
     tft.print("RIHT ");
     tft.print(riht_motor);
  }


Добавлено спустя 10 минут 17 секунд:
А в подпрограмме приема нашего пакета идет проверка на валидность, совпадение по серийнику и запоминание временного отсчета и сброс флага

Код: Выделить всёРазвернуть
if((flag_datacar)&&(keeloq.data[0]==sernom[0])&&(keeloq.data[1]==sernom[1])&&(keeloq.data[2]==sernom[2])&&(keeloq.data[3]==sernom[3]))
  {
     time_no_comand = millis();  //засекаем время после прилета команды
     flag_stop_motor = 0;        //сброс флага остановки двигателей

---------------------------------
}
russo
 
Сообщения: 4
Зарегистрирован: 14 дек 2014, 19:20

Re: Мой первый робот)

Сообщение madLagger » 17 дек 2014, 00:16

russo, мегаспасибо!! :Rose: Будем пытаться.
Кстати, вот что получилось:
1418760670550.jpg
Поднос) Заряжаецца *_*


Драйвер двигателей правда греется как проклятый, но гоняет эта штука быстро, чуть кошку на колесо не намотал :ROFL: Раз механика норм, можно и за программирование сесть :)
Аватара пользователя
madLagger
 
Сообщения: 26
Зарегистрирован: 23 янв 2014, 18:13
Skype: windeznik
ФИО: Василий Демидов

Re: Мой первый робот)

Сообщение Petr Kiselev » 30 дек 2014, 23:57

Приклей на L293-ю радиатор. Спасешь ее от перегрева и выхода из строя!
Petr Kiselev
 
Сообщения: 279
Зарегистрирован: 12 июн 2010, 15:34

Re: Мой первый робот)

Сообщение elmot » 31 дек 2014, 10:59

лучше 293ю поменять на нормальный драйвер. Правда еще побыстрее станет:)
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18