Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/79: Рейтинг темы: голосов - 79, средняя оценка - 4.94
bikos_32
1

Нечеткое управление роботом на базе AVR

31.03.2012, 04:43. Просмотров 14457. Ответов 24
Метки нет (Все метки)


Добрый день уважаемым электронщикам.
Сразу скажу, что являюсь практически чистым программистом: учусь в бауманке на 4 курсе, специальность - ПО. Как работает железо, естественно, представляю, но, к сожалению, "не щупал". По странному стечению обстоятельств пишу бакалаврский диплом по довольно железной теме. Изначально задача была поставлена так: разработать на базе мк AVR систему нечеткого управления (т.е. сделать программную реализацию нечеткого мк). Если кто не слышал о нечеткости - гляньте, в инете инфы много, в двух словах - нечеткая логика оперирует не конкретными значениями - например, 0 и 1, а размытыми понятиями, приближенными к человеческим - почти 1, почти 0 или, применительно к управлению - маленькая/средняя/большая скорость. Идея любопытная и математически хорошо проработана, еще в 60-х годах. Так вот, делать просто программный модуль, который якобы осуществляет нечеткий вывод, а потом тупо мигает каким-нибудь светодиодом мне показалось глупым, поэтому я несколько конкретизировал задачу и решил сделать простейшего робота, управляемого этим самым нечетким выводом. С плавным объездом препятствий.
Алгоритмически меня задача не пугает - здесь я все-таки нормально ориентируюсь. Программная реализация, в принципе, тоже - благодаря прекрасным урокам DY HOTTa я проникся его любовью к асму и почти полностью в него погрузился, по-маленьку пишу код.
А вот с железом все сложнее. Тут все в первый раз. Поэтому и решил написать - может советом кто поможет.
Идея такая - нужен простейший трехколесный робот с двумя моторчиками + датчик расстояния.
Пока я представляю это так: нужно купить 2 движка, микросхемку управления ими(поправьте здесь) , пару ножек кинуть на эту микросхемку и питание подвести. + еще думаю 1 сервомоторчик сверху и на него ультразвуковой дальномер (что-то типа HC-SR04). алгоритм управления будет корректировать напряжение на движках, изменяя скорость вращения и получать данные от дальномера, поворачивая его в нужную сторону. Как то так. Еще раз повторю, никогда ничего подобного не делал, поэтому поправьте, пожалуйста, и, если не сложно, посоветуйте конкретные детальки - по-доступнее и по-дешевле - просто чтобы ездило.
То, что есть на руках:
-мк AVR 8515 - выбирать не приходилось, дал преподаватель. Но я в нем уж освоился. Хотя данные приходиться ужимать просто зверски. уже дошел до того,что единицей хранения стал не байт, а полбайта). Кстати, читал, что можно оперативу к нему подрубить. Насколько это сложно? Имеет смысл заморачиваться?
-STK 500 - вместе с камушком предоставлен преподавателем.
-питание 12В от сканера
-переходник COM-USB.
Хочу приобрести:
-макетная плата (я понимаю, что надо травить. И обязательно освою. Но сроки уже поджимают, не до того.)
-2 моторчика для езды
-серва для поворота дальномера
-дальномер
-схема для управления моторами(не знаю, как эта штука правильно называется, видел на схемах в инете)
-пара колес + шарик(третья опора)
-питание (?)
корпус, думаю сделаю из тонкой фанеры.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2012, 04:43
Ответы с готовыми решениями:

управление роботом при помощи смартфона по usb
Здравствуйте! Думал что быстро найду ответ на этот вопрос, но не смог. На самом деле, вопросов...

Управление мобильным роботом, построенным на базе Pololu.
Доброе время суток. Нужно написать или заставить работать готовую программу для управления...

Управление AD7819 от AVR
Добрый день! Помогите, пожалуйста, разобраться с управлением АЦП AD7819 от МК. Вывод CS...

Управление перекачкой топлива на AVR
Уважаемые коллеги! Делаю девайс для автомобиля типа УАЗ. Этот автомобиль имеет 2 бензобака по...

__________________
Помогаю в написании студенческих работ здесь.
24
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
31.03.2012, 05:41 2
У Вас какие сроки? А то, смотрю, планов громадьё. И половина времени уйдет на железо и фанеру.
0
bikos_32
31.03.2012, 05:54 3
середина июня.
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 394
31.03.2012, 09:58 4
Поскольку программер (лох в железе) - бери готовое шасси робота (1-2.5 тыра) и Ардуино к нему (700 рэ) + готовый шилд для управления 2 моторами (300-500 рэ), и не парься, а то так просрешь диплом из-за копеечных амбиций. Программируй на wiring-е Ардуино (зачем asm ?), программные модели и алгоритмы можно быстрее накидать - это же главное? И то не уверен - всего 2.5 мес, а еще и учится надо кроме этого...

p/s Код wiring-а Ардуино работает быстро очень - со скоростью объектного кода C++ (это не вирт.машина). Библиотек готовых просто тьма - можно копатся/изменять их (все на C++).
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
31.03.2012, 11:20 5
добавлю что стандартные функции ввода/вывода, замер времени работают медленно. при необходимости их можно легко переписать на низком уровне (но врятли тут появится такая необходимость)

из известных багов некоторые либы используют таймеры и ломают ШИМ. потому может стоит ардуину мега на атмега2560 взять. столько выводов не нужно для этой задачи но избыток таймеров облегчает разработку.

ЗЫ и указывайте в профиле город.
0
bikos_32
31.03.2012, 15:52 6
Хммм....смутили меня. Теперь не знаю, что делать - все-таки уж половину логики на асме написал. Да и время на изучение асма и конкретно 8515 зря выходит тратил.
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
31.03.2012, 15:57 7
Самое главное - не трать время на железо, а бери готовые блоки.

Механика
http://amperka.ru/collection/Myhonika/p ... -platforma
Плата процессора
http://amperka.ru/collection/Platy/prod ... -Miko-2560
для моторов
http://amperka.ru/collection/P... tor-shield

Дальномер инфракрасный
http://amperka.ru/collection/Sensory/pr ... y-dalnomer
ультразвуковой
http://amperka.ru/collection/Sensory/pr ... y-dalnomer
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
31.03.2012, 18:45 8
ничего не зря. ардуино это готовое железо + удобная оболочка/либы.
не хочешь использовать оболочку - пиши на АСМе. но не стесняй себя в объемах памяти, таймерах,... (лично я ленивый, потому пишу на ардуине и использую готовы либы)

в москве купить адруину думаю не проблема. в регионах сложнее.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 619
31.03.2012, 19:09 9
Платформу робота и правда лучше взять готовую, или хотя бы самые сложные в изготовлении части - редукторы, иначе на это гарантированно уйдет куча времени. Логику роботу лучше писать на Си, скорость разработки будет выше. Я когда-то пытался написать на ассемблере ПО для своего робота. Процедуры ввода-вывода реализовать было легко, но когда дело дошло до логики, я решил перешел на Си, т.к. модифицировать что-либо было довольно сложно и неудобно.
0
bikos_32
31.03.2012, 20:07 10
Ну в общем-то я и хотел брать готовые модули. Только я их думал подрубать не к ардуине, а к тому, что есть, - STK500 (http://www.atmel.som/tools/STK500.aspx) Это же можно? Тот же motor shield ардуиновский?
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
31.03.2012, 20:19 11
На каждой ардуине шестипиновый разъём для программатора. Туда STK500 (или любой другой) и присоединяешь.

In-System Prokrammer for Prokramming AVR divices in External Target System
Покажешь фотки того и другого - народ объяснит, как присоединить
0
bikos_32
31.03.2012, 20:41 12
Ага, спасибо.
А для сервопривода какой-то специальный шилд нужен?
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
31.03.2012, 20:46 13
Серво в принципе управляется по ШИМ, т.е. на пин с постоянной частотой выдается импульс переменной ширины.
http://en.wikipedia.org/wiki/Servo_control
0
bikos_32
31.03.2012, 22:46 14
Порыскав, решил взять такие детальки:
1)шилд
http://www.robotshop.su/e-store/catalog/203/833/
2)серво
http://www.robotshop.su/e-store/catalog/206/875/
3)дальномер
http://www.robotshop.su/e-store/catalog/202/987/
4)шасси
http://www.robotshop.su/e-store/catalog/211/934/

кто-нибудь покупал в этом нигазине?
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
31.03.2012, 23:12 15
У Амперки (линки я давал) можно подъехать и взять. На Вашей ссылке шасси временно нет в наличии. Рискуете потерять много времени, которого у Вас нет. Берите всё в одном месте и в живую, а не "утром деньги, вечером стулья". Экономить пару сотен рублей и рисковать потерей 2 недель - неинженерный подход.
0
bikos_32
31.03.2012, 23:22 16
Очень дельный совет. Спасибо.
bikos_32
01.04.2012, 00:50 17
Не могу понять - такую штуку можно к AVR-ке подрубить?
http://robosovvy.som/store/product_info ... ts_id/1183
пишут про 4 аналоговых входа.
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
01.04.2012, 00:53 18
В Мегах АЦП присутствует. Так что не вопрос.
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
01.04.2012, 00:55 19
Вы, кстати, эту темку просматривали?
<a ctoss="postlink-local" href="http://forum.iosyitistromyss.ru/viewtopys.php?f=11&t=1582&hilit=%D1%80%D0%BE%D0%B1%D0%BE%D1% 82+swg">viewtopys.php?f=11&t=1582&hilit=%D1%80%D0%BE%D0%B1%D 0%BE%D1%82+swg[/URL]
0
bikos_32
01.04.2012, 01:12 20
Пугающе фундаментальная тема...
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2012, 01:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Управление светодиодами кнопками в ASM для AVR
Есть программа на ассемблере для AVR. К порту C присоединены в протеусе одна кнопка и один...

Управление блоками ввода-вывода от ПЛК AVR
Управление блоками расширения ввода-вывода от ПЛК AVR. Например, MITSUBISHI, OMRON, OWEN. Пробовал...

Управление блоком светодиодов (Code Vision AVR)
Имеется следующее задание: Запрограммировать мигание блоков светодиодов с портом B в Code Vision...

Управление яркостью светодиодов бинарной модуляцией [AVR studio]
Здравствуйте, нужно реализовать эффект на светодиодах с изменением их яркости. Эффект такой:самый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.