bikos_32
|
|
1 | |
Нечеткое управление роботом на базе AVR31.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 моторчика для езды -серва для поворота дальномера -дальномер -схема для управления моторами(не знаю, как эта штука правильно называется, видел на схемах в инете) -пара колес + шарик(третья опора) -питание (?) корпус, думаю сделаю из тонкой фанеры. |
|
31.03.2012, 04:43 | |
управление роботом при помощи смартфона по usb Управление мобильным роботом, построенным на базе Pololu.
Управление перекачкой топлива на AVR
__________________
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 |
Пугающе фундаментальная тема...
|
01.04.2012, 01:12 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Управление светодиодами кнопками в ASM для AVR Управление блоками ввода-вывода от ПЛК AVR Управление блоком светодиодов (Code Vision AVR) Управление яркостью светодиодов бинарной модуляцией [AVR studio] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |