LINUX.ORG.RU

Программирую робота

 , , ,


0

1

Собственно сабж. Оснащён двумя моторами-редукторами, RGB-светодиодом и кнопкой включения. Пока сделал примитивное управление по USART, подключил к ноуту джойстик, набросал простенькую программу на питоне и играюсь. Правда провод короткий :-(

А вообще за него нам (мы работаем в команде) должны поставить зачёт. Правда для этого на него нужно ещё понаставить светодиодов и фотодиодов и заставить самостоятельно объезжать препятствия (на плате есть штырьки для подключения таких датчиков), но датчики пока не готовы. Ну и, конечно, нужно повесить аккумулятор, потому что питание от БП это не дело (он уже пару раз «убегал», обрывая все провода, пока я не снизил скорость до 1/8 от максимальной, а то 2 оборота в секунду слишком много для колёс).

Linux тут при том, что, несмотря на наклейку на корпусе, на ноуте стоит Debian Testing с KDE.

>>> Просмотр (1280x949, 121 Kb)

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 2)

Можешь гайд накидать как запилить такого? Или посоветовать че, а то я давно хотел попробовать, да не знаю с чего начать.

Deleted
()
Ответ на: комментарий от Deleted

В качестве главного контроллера используется ATMEGA32 (именно она из-за большого количества ног, также подойдёт ATMEGA16) на частоте 14.7456 МГц. Для управления движками используется микросхема-драйвер L293D. Для питания цифровой части - линейный стабилизатор 7805. Два мотора-редуктора с отношением 1:100, обороты на выходе - 120 об/мин (выглядит примерно так http://robocraft.ru/shop/image/cache/data/motors/1-50 Б-500x500.jpg), которые напрямую крутят колёса. Программирую через программатор USBASP, а для связи по UART использую переходник на основе чипа CP2102. Плата выполнена по технологии ЛУТ из толстого текстолита (потому что является несущей конструкцией), а остальные части из оргстекла и дерева, скрепленных винтами и гайками. Питаться всё это будет от двухбаночного литий-полимерного аккумулятора (поэтому на БП выставлено напряжение 7.4 вольта). Детали куплены в ближайшем строительном магазине, местном радиомагазине и заказаны из Китая. Я отвечаю только за программирование, конструкцию придумал и собрал другой человек.

Устроен он как-то так:

На основании из оргстекла лежат два мотора, у которых на вал насажены колёса (самодельные, но можно купить или оторвать от какой-нибудь игрушки готовые). Их прижимает брусок дерева с пазами под моторы, прикрученный винтами к основанию. К самому бруску привинчена плата со всей электроникой. На плате также закреплены две шпильки М6, на которых держится крышка робота, на которой расположена кнопка питания, RGB светодиод и разъёмы для прошивки и связи.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 3)

А потом этот робот восстанет и поработит человечество.

zorg ★★
()
Ответ на: комментарий от KivApple

Спасибо за ответ.

«Мехатроника и робототехника».

На хер я на программиста пошел... Это где такие чудеса? Удаленно можно учиться?

Deleted
()
Ответ на: комментарий от Deleted

Да впринципе нас особо ничему такому не учили... программа стандартная - физика, электротехника, математический анализ... Был до этого предмет «основы робототехники» или как-то так, сейчас «информационные системы в робототехнике». Собственно, робот это задание по второму предмету (по первому мы тоже делали робота, однако он был менее качественный, чем этот). Однако никаких теоретических лекций не было. Робот с картинки сделан полностью в домашних условиях и своими силами. Хотя в принципе можно было воспользоваться инструментом в университете, если бы не было дома. Но только инструментом и просить совета у старшекурсников - никаких лекций и методических указаний не было.

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

KivApple ★★★★★
() автор топика
Ответ на: комментарий от MihailP

Куда? У нас есть отрасли, в которых активно используются отечественные роботы?

Хз.

Deleted
()
Ответ на: комментарий от MihailP

Ну по идее моя специальность это не только разработка новых, но и управление готовыми и не обязательно отечественными. И роботы это не обязательно «терминаторы», всякие конвееры и станки ЧПУ тоже считаются.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

В качестве главного контроллера используется ATMEGA32 (именно она из-за большого количества ног, также подойдёт ATMEGA16)

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

alozovskoy ★★★★★
()

Классный маленький робот. Уверен, что зачёт ты получишь.

CYB3R ★★★★★
()
Ответ на: комментарий от Deleted

Я не верю, чтобы в рамках твоего вуза нельзя было специализироваться в интересующей области.

Deleted
()
Ответ на: комментарий от Deleted

Я не верю, чтобы в рамках твоего вуза нельзя было специализироваться в интересующей области.

Я как бы уже в такой области. Но робототехника круче программирования.

Deleted
()
Ответ на: комментарий от CYB3R

Прям действительно на столько медленны, что приходится заморачиваться с I2c? Вроде всякие матрицы светодиодные делают на сдвиговых и глаз не замечает пульсаций.

alozovskoy ★★★★★
()
Ответ на: комментарий от Deleted

Но робототехника круче программирования.

Угу. Больше знаний/навыков. Правда, неизвестно, нужны ли они будут в итоге.

Deleted
()
Ответ на: комментарий от Deleted

Правда, неизвестно, нужны ли они будут в итоге.

Это точно.

Deleted
()
Ответ на: комментарий от alozovskoy

У меня есть RGB-матрица 8x8 на четырёх 595 (32 вывода, (8+8+8)*8 = 192). Не тормозит. А вот если бы использовал честные 24 сдвиговых регистра, тормоза бы были заметные.

CYB3R ★★★★★
()
Ответ на: комментарий от alozovskoy

Сдвиговые регистры не сильно спасут в плане уменьшения размеров или удешевления. А паять больше, и геморроя больше.

Я, например, планирую своей железякой управлять при помощи 100-ножечного МК. С другой стороны, если решу сделать модульное управление, то обойдусь тремя 32-ножечными STM8.

Да, перейти с DIP на всякие SMD-корпуса — это превосходно! Чем меньше дырок, тем быстрей платку соберешь.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Пытался я запаять одну микросхему с шагом ножек в пару миллиметров, теперь только DIP покупаю - проще дырок насверлить чем изгаляться с этими волосинками. Хотя может просто опыта нет.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Ну, сейчас у меня 192 вывода получаются мультиплексацией. Реальных выводов там только 32.
Чтобы получить 192 реальных вывода нужно 24 штуки 595.

CYB3R ★★★★★
()

он уже пару раз «убегал»

апсиену :)

За такую штуку всего лишь зачёт! Маловато. :(

vada ★★★★★
()

Кстати, где шутки про Томми?

CYB3R ★★★★★
()
Ответ на: комментарий от alozovskoy

Я паяю с шагом 0.6мм. Конечно, феном было бы лучше, но что есть — тем и приходится паять. И резисторы 0603 значительно удобней: паяются не дольше, чем обычные "с ножками", и дырки сверлить не надо!

Eddy_Em ☆☆☆☆☆
()

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

WRG ★★★★
()
Ответ на: комментарий от Eddy_Em

И на счет заочк надо узнать. Я же уже отучился в колледже, надо на вышку заочно. И туда, возможно.

Deleted
()
Ответ на: комментарий от Deleted

Заочка и радиоэлектроника (а также физика, химия, биология, медицина и многое другое) — вещи абсолютно несовместимые!

Я на 100% уверен, что по подобным направлениям заочки нет (если, конечно, радик не перешел, как и другие псевдоВУЗы, на "коммерческую систему обучения" по принципу "деньги → диплом, какие знания?")

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Заочка и радиоэлектроника (а также физика, химия, биология, медицина и многое другое) — вещи абсолютно несовместимые!

Я бы поездил, пофиг на разницу в возрасте и прочие стереотипы. Но работать то надо =(

Deleted
()

DIY это хорошо

Deleted
()

Если ещё не видел, то очень рекомендую на coursera курс «Control of mobile robots». Там рассказывают, как на такого (или похожего) робота навесить датчики и заставить ехать к определённой цели автоматически, выбирая путь и объезжая препятствия. Там есть задания на моделирование и видеоуроки, как воплотить девайс в железе. Требуется матан (точнее, линейная алгебра - матрицы). И английский язык (для которого курс тоже является отличной практикой).

prischeyadro ★★★☆☆
()
Последнее исправление: prischeyadro (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

Разводить плату и паять пришлось бы гораздо больше, а разница в цене в местном радиомагазине между atmega32 и 328 не такая уж большая. К тому же у 40-ногих контроллеров в DIP-корпусе выведено 8 АЦП, а у 28-ногих только 6 (8 только в SMD корпусе), а это позволит повесить больше датчиков.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)

набросал простенькую программу на питоне

cast Lavos, сейчас он тебе объяснит, что писать надо было на сишечке, чтобы робот ещё долго убегал и обрывал провода.

MiniRoboDancer ★☆
()
Ответ на: комментарий от MiniRoboDancer

Он не осилит си, там память руками выделять надо - это слишком сложно.

Lavos ★★★★★
()

Может поместишь и фото робота попозже? Интересная тема :)

Twissel ★★★★★
()
Ответ на: комментарий от MiniRoboDancer

Программа на самом роботе написана как раз на Си, на Питоне лишь программа для управления запускаемая на компьютере.

KivApple ★★★★★
() автор топика

Linux тут при том, что, несмотря на наклейку на корпусе, на ноуте стоит Debian Testing с KDE.

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

намного лучше сразу стал выглядеть.

кстате это действие не лишает гарантии. (на воторой день я как раз отнёс ноутбук в гарантийную мастерскую :)).

user_id_68054 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.