roboforum.ru

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

MiniBot - В помощь новичку

MiniBot - В помощь новичку

Qzen » 27 май 2009, 19:09

Эта тема создана специально для тех, кто решил купить MiniBotа и не знает, с чего начать.
А так же для тех, кто не разбирается в том, что он покупает и его интересует только конечный результат.
В общем, для всех тех ,кто подходит под определение слова "Новичок".
Я знаю, что на форуме есть отдельный раздел для новичков, но найти там что-то конкретно по MiniBot'у сложно.
Аналогично в подфоруме по МиниБоту есть много тем, в которых в определённый момент всплывает необходимая для новичков информация, но согласитесь, просмотреть несколько десятков страниц и после этого соображать, то ли это, что тебе нужно - сложно.
Поэтому здесь я кое-где буду в наглую копировать других авторов, но при этом буду указывать авторов, сохраняя права авторства.
Почему именно я? Потому что я сам новичок и максимально понятно постараюсь преподнести материал себеподобным.


Этап 1. Покупка.
Когда я первый раз попал на сайт МиниБота (http://www.minibot.ru/), то мои глаза разбежались и я вообще не понял, что нужно, чтобы у тебя в руках лежала готовая к программированию игрушка. Но сейчас я расскажу то, что действительно полезно знать при покупке. Благо, Timmy вполне красочно описал, что же нужно для полностью функциональной модели.
Итак, существует два варианта комплектации минибота. Одна из них больше подойдёт для новичков, другая предназначена больше для продвинутых пользователей. Но на всякий случай опишу обе.
=======Первый вариант - полная комплектация(для новичков)=======
Что необходимо:
Электроника для робота МиниБот-2.0 (полная комплектация) вариант "Разъемы вверх"
эта комплектация содержит все опции базовой комплектации + многие необходимые дополнения,которые я опишу ниже
Помимо этого вам обязательно понадобится программатор.
тут есть два варианта
Программатор AVR STK200 - LPT порт c разъемом RoboBUS или Программатор AVR STK500 - USB порт c разъемом RoboBUS
Если вы новичок, то обыщите все свои компьютеры в поисках LPT порта. Потому что для вас вариант STK200 будет более приемлемым на первое время. Я, к сожалению, не придал этому значения и приобрёл STK500, с которым новичку будет не так просто работать. Как результат - неработающая ATMega32.
В будущем с выходом новой версии Bascom_AVR(в нём пишутся программы для микроконтроллера), где полноценно будет поддерживаться STK500 эта проблема отпадёт.
Если же LPT порта нет, то у вас не остаётся выбора, кроме как приобрести STK500 и быть крайне осторожным при его использовании.
Следующей частью вашей покупки будет Шасси для робота МиниБот 2.0- платформа для простой установки вашей платы на базе двух ведущих колес и одного свободного оснащена двумя двигателями и редукторами к ним.
Если у вас нет платформы и неохота возиться и заморачиваться, то это вполне неплохой вариант.
Выглядит она вот так: (http://content.foto.mail.ru/list/qzen/59/i-80.jpg

Возможно, что вам так же понадобится:
Запаяная плата без кода для моста USB-ZigBee (FT232-Mega88-CC2500)
В полном варианте реализована возможность беспроводной связи,для ее реализации вам надо два устройства.
Эта плата нужна для организации соединения с компьютером.

ИК-приемник TSOP18SS3V на шлейфе с разъемом(необходим для приёма сигнала с ИК пульта RC5 (RC6))
Фактически - это набор для "управления роботом" посредством ИК пульта.

Так же можно докупить различные датчики, чтобы сделать ваш робот более функциональным. Здесь всё на вкус и цвет. Ежемесячно в продажу поступают новые датчики и лишь вам выбирать, какой из них вам нужен для робота.

======Второй вариант - базовая комплектация(для продвинутых пользователей)=======
Что необходимо:
Электроника для робота МиниБот-2.0 (базовая комплектация) - в двух вариантах (разъемы вверх или вниз).
Этого достаточно чтобы подключить два двигателяи питать их от аккумулятора, идущего в комплекте

Шасси для робота МиниБот 2.0
(Описывается выше)

Опция стабилизатор напряжения на базе LP2985 3.3В
Опция необходимая для питания радио передатчика, а так же для нормальной работы карты памяти(о ней ниже)

Опция трансивер 2.4ГГц (CC2500 +ATMega88)
Приемо-передатчик, эта опция нужна чтоб общаться по радиоканалу. То есть следует брать либо второго робота с этой опцией и общать их, либо плату Запаянная плата без кода для моста USB-ZigBee (FT232-Mega88-CC2500)
для организации соединения с компьютером

Опция фильтр (дроссель) от помех двигателей - опция рекомендуемая при использовании двигателей

Опция FT232 + шнур miniUSB-USB - опция для общения с роботом посредство ком порта реализуемого через USB. Самое простое средство контролировать, что у него в "мозгах".

Опция ATMega88 - эта опция ставится если не была поставлена с опцией трансивера.Управляет приемо-передачей и имеет доп опции в виде управления сервоприводами и подключаемыми датчиками

Опция разъемы для ATMega88 - служит для включения перефирии к меге88, например, сервопривода

Опция преобразователь Step-Up 5V на базе MC34063- нужен для возможности управления сервоприводами, а так же для подключения многих датчиков.

Опция Flash-память 2 ГигаБайта- дополнительная памать, ПЗУ, для задач пользователя.К примеру хранить карты, звуки, показания бортовых систем. С использованием карты реализуется возможность установки AVR-DOS.

Опция датчик подачи внешнего питания + разъем-Собираетесь сделать ДОК СТАНЦИЮ или научить робота искать блок питания, или просто подключить еще один элемент питания? это то что вам будет нужно, источник 5В.

Опция звуковой усилитель на базе TDA2822D + динамик на разъеме- Для реализации звукового сопровождения

ИК-приемник TSOP18SS3V на шлейфе с разъемом, ИК пульт RC5 (RC6)-описывалось выше

При такой форме узнайте будут ли опции запаяны на плату и договоритесь об этом, если вам нужна эта услуга.

==========
Говоря обо всём этом, стоит отметить, что экономить не стоит. Как гласит народная мудрость: Скупой платит дважды. Перед покупкой обдумайте всё несколько раз и здраво оцените свои силы. Если вы не уверены в себе, то лучше взять полную комплектацию и тогда у вас никогда не возникнет проблем с допайкой дополнительных компонентов. Полная комплектация - это гарантия работоспособности от производителя и использование сразу после установки на механику.
Надеюсь, я достаточно подробно всё объяснил и проблем при выборе не возникнет.

Re: MiniBot - В помощь новичку

Ven-Tures » 27 май 2009, 21:11

Отличный материал для новичка, мне б его 3 месяца назад :)

Re: MiniBot - В помощь новичку

Qzen » 27 май 2009, 23:45

Этап 2. Сборка.
Если вы заказали типовую механику для МиниБота 2.0, то вам стоит посетить тему, где я подробно рассказал о её сборке: http://roboforum.ru/viewtopic.php?f=58&t=5797#p94036

Этап 3. Установка необходимых программ
Начать этот раздел стоит с того, что диск к МиниБоту есть в коплекте у всех. И он постоянно обновляется. Поэтому, на момент прочтения возможны некоторые отличия. Надеюсь, что у меня будут силы своевременно обновлять это описание. А пока приступим.
На диске первым делом заходим в папку Bascom AVR Basic DEMO
Там валяется один файл и его установку отлично описал frig, за что ему респект!
(http://roboforum.ru/viewtopic.php?f=58&t=4394&start=0#p61128)
Для тех, у кого по какой-то причине нет данного диска для установки Bascom AVR так же можно использовать ссылку: ftp://roboforum.ru/3.%20Bascom%20AVR%20Basic%20DEMO/

Теперь задайтесь вопросом, какой у вас программатор? Насколько я знаю, те, у кого STK200 могут ограничится установкой Bascom, а те, кто приобрёл себе STK500 лезут в папку AVR Studio и там находят 4 файла и папку. Файлы стоит устанавливать в следующей последовательности:
aStudio4b356 -> aStudio4b528 -> aStudio413SP1b557 -> AVRStudio4.13SP2
Каждый раз перед установкой следующего приложения нужно будет дождаться полной установки предыдущего.

После установки всего вышеуказанного у вас есть полный комплект программ для начальной работы с MiniBot'ом.
Теперь их необходимо настроить.
Процесс настройки отлично был описан olegsem, я лишь дополню его описание картинками.
1.Инсталируем драйвера FT232 (прилагаются на диске в папке Drivers).
2.Подключаем к плате АКБ, программатор, и все это подключаем к компьютеру(через LPT для STK200 и через USB для STK500).
3.Инсталируем AVR Studio(уже сделали выше).
4.Инсталируем BASCOM AVR(так же сделали выше)
5.Включаем MiniBot, нажимая синюю кнопку на его плате.
6.Запускаем BASCOM AVR, выбираем меню Options -> Programmer , откроется меню диалога(рис. ниже)
Изображение
7.В поле Programmer из выпадающего списка выбираем STK500 extended, как советует galex1981
Для тех, у кого STK200 выбираем все как показано на рисунке:
Изображение
8.Смотрим в диспетчере устройств на какой номер COM порта установился программатор и выбираем этот номер в закладке COM-port в все том же окне диалога (Это можно сделать с помощью Пуск-> Панель управления->Диспетчер устройств-> СОМ порты). Если там несколько устройств, попробуйте отключить от USB ваш программатор, диспетчер обновит страницу и вы увидите, какой из СОМ портов пропал. Затем снова включите и удостоверьтесь ,что включился именно тот СОМ порт, номер которого вы только что определили.
Для тех, у кого STK200 узнать номер LPT можно так же в диспетчере задач, как показано на рисунке:
Изображение
Жмём ок. На этом установка STK200 завершена.
9.В поле STK500.EXE прописываем путь до модуля AVR Studio, который отвечает за программирование микроконтроллера (если при установке AVR Studio вы меняли путь установки программы по умолчанию на другой, то этот модуль необходимо искать по след пути: диск:\каталог с программой\Atmel\AVR Tools\STK500\Stk500.exe, я путь установки по умолчанию не менял и строка выглядит так "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe").
10.Для STK 500 ставим скорость 115200.
11. Жмём ОК. Настройка BASCOM AVR под программатор STK500 завершена.
Последний раз редактировалось Qzen 11 июн 2009, 10:19, всего редактировалось 1 раз.

Re: MiniBot - В помощь новичку

Timmy » 29 май 2009, 22:41

предлагаю переметится в робовику
wiki/
Последний раз редактировалось Timmy 29 май 2009, 22:50, всего редактировалось 1 раз.

Re: MiniBot - В помощь новичку

Qzen » 11 июн 2009, 10:38

Этап 4. Программирование.
Здесь я буду выкладывать программы, которые испробованы лично мной и имеют стопроцентную работоспособность на миниботе 2.0. Почему я уточняю модель? Потому что на Wiki выложены коды под миниботы 1.0 и их немного придётся подкорректировать. Прогрыммы простенькие и если вам хочется чего-то большего, тогда, пусть эти программы будут первым шагом к освоению BASCOM AVR в области MiniBot'a.
Для начала, чтобы хоть немного понимать, что же за буковки и управляющие символы мы используем, всем советую залезть вот сюда: http://avr.easycoding.org/bascom_lessons/index.htm

Ну и следом задание №1 из Wiki в интерпритации под Минибот 2.0.
Учим минибот ехать на заданной скорости прямо.
Код: Выделить всёРазвернуть
'$prog &HFF , &HBD , &HC9 , &H00                 'Новичкам фусибиты лучше не трогать, а оставить прежними
$regfile = "m32def.dat"                                ' файл спецификации Меги32
$crystal = 7372800                                     ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2                  'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3                  'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output                                      'ногу ШИМа левого  движка сконфигурировали как выход
Config Pind.5 = Output                                      'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------
Dim Speed As Byte
Speed = 100                                                 'Возможно задание скорости в пределах от 70 до 255

Do
  Drl = 1                                                   'направление движения левого движка, в моём случае это прямо
  Drr = 1                                                   'направление движения правого движка, в моём случае это прямо
  Pwm1b = Speed : Pwm1a = Speed
Loop


По коду хотелось бы отметить, что направление движения движка напрямую зависит от полярности напряжений, подаваемых на вход двигателя. А следовательно значения Drl и Drr могут быть 1 или 0, причем 0 будет давать результат обратный 1, т.е. при Drl=0 и Drr=0 минибот поедет не прямо, а в обратном направлении.
Корректировка скорости производится корректировкой переменной Speed. Возможны значения от 50-70 до 255. Лично у меня при значении Speed=70 Минибот стоит на месте и не крутит колесами совсем. Поэтому я остановился на 100.
Повороты вправо-влево соответственно осуществляются присваиванием Drl=1 и Drr=0 или наоборот.
Эксперементируйте с миниботом и вы добьётесь необходимого результата! :beer:

Итак, как же залить этот код на микроконтроллер?

Для начала подключим наш программатор к Миниботу. Для этого разберёмся, куда его подключать. Берём широкий разъем программатора на проводе(будь то STK200 или STK500) и подключаем его в разъем RoboBUS согласно схеме:
Изображение
Включаем минибот синей кнопочкой (она должна быть нажата).
Минибот готов прошиваться.
В BASCOM AVR жмём File->New. Копируем вышеописанный код и вставляем в новый файл. Жмём File->Save as и сохраняем файл под именем Medlen_Dvizh_ptjamo в любую папку, но так, чтобы в пути к этой папке не было русских букв! (Например: C:\Users\Username\Desktop\Medl_Dvizh_prjamo Но ни в коем случае не: C:\Users\Username\МОЯ ПАПКА\Medl_Dvizh_prjamo) Это связано с тем, что BASCOM может отказаться компилировать ваш код по непонятным причинам.
Теперь жмем F7, ваш код компилируется. И F4, чтобы залить все это на микроконтроллер.
Вылезет окошко, как показано на рисунке:
Изображение
Нам останется лишь проверить, выбрана ли у нас в окошке микроконтроллера AtMega 32(если нет, то выбрать) и нажать иконку Auto Program Chip, выделенную на рисунке красным цветом.
ВНИМАНИЕ! Программа начнет выполняться сразу после загрузки на микроконтроллер. Так что держите бота в руках, иначе, он хоть и медленно, но покатится вперёд :)
Последний раз редактировалось Qzen 15 июн 2009, 17:54, всего редактировалось 1 раз.

Re: MiniBot - В помощь новичку

Qzen » 15 июн 2009, 17:33

Текст ,последующий ниже предназначен для тех, кто предусмотрительно к Миниботу купил пульт и TSOP на шлейфе(Хотя, можно и не на шлейфе, главное, чтобы TSOP был).
Для начала подсоединяем TSOP согласно рисунку, представленному выше. (На всякий случай - это разъём справа от ROBOBus и чуть выше).
Затем открываем BASCOM AVR И вставляем туда код следующего содержания:
Код: Выделить всёРазвернуть
'$prog &HFF , &HE4 , &HD9 , &H00       'указываем какие фусибиты надо прошить(лучше не трогать и оставить как комментарий)
$regfile = "m32def.dat"                                     ' файл спецификации Меги32
$crystal = 7372800                                          ' указываем на какой частоте будем работать
$baud = 2400                                                ' указываем частоту дла usart (Можно указать 115200)

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2                  'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3                  'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output                                      'ногу ШИМа левого движка сконфигурировали как выход
Config Pind.5 = Output                                      'ногу ШИМа правого движка  сконфигурировали как выход
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 100

Config Rc5 = Pind.3
Enable Interrupts
Dim Address_rc5 As Byte , Command_rc5 As Byte

                               

Do

Getrc5(address_rc5 , Command_rc5)
If Address_rc5 <> 255 And Command_rc5 <> 255 Then
Command_rc5 = Command_rc5 And &B01111111
Print Chr(12);
Print "Address_rc5 - " ; Address_rc5
Print "Command_rc5 - " ; Command_rc5                       
End If
Loop


Теперь вшиваем эту программку в минибот и !Выключаем его и заново включаем!
Теперь подключаем Минибот посредствам USB шнура к компьютеру, замечая при этом, на какой порт он садится.(Как это делать, объяснялось выше)
Теперь, чтобы удостовериться, что наш минибот действительно принимает сигналы с пульта открываем программу HyperTerminal. (Если у вас Windows Vista - соболезную, такой программы у вас на борту нет. Вам прийдётся проверять, принимаются ли сигналы в боевых условиях. Но в этом нет ничего страшного - просто смотрите следующую программу и посмотрите, работает ли она у вас)
Вам будет предложено создать новое подключение, для которого вы задаёте имя, значок и COM-порт, с которым связывается HyperTerminal. Мы, естественно, укажем порт, на котором у нас висит Минибот. Если этот порт выбрать нельзя, значит, ваш минибот отключен. Затем мы выбираем настройки связи с выбранным ком портом согласно рисунку:
Изображение
Мы выберем скорость, которую указали в программе, т.е.
Код: Выделить всёРазвернуть
$baud = 2400 

Для тех, кто вписал в эту строчку 115200 ставим 115200.
Теперь касаемо пульта: Для начала вынимаем пластиковую перемычку между батарейкой и контактами. Батарейка вставляется рефленой стороной к надписи RC6 на пульте.
Всё готово для сеанса связи. Направляем глазок пульта на TSOP и жмём любую кнопку. Должно появится нечто, напоминающее представленное на рисунке:
Изображение
Если всё так - значит, очень хорошо ) Для тех ,у кого что-то не вышло, смотрим следующую программу и пробуем побаловаться с ней.
Для тех, у кого всё именно так, как надо, значит, вас можно поздравить - следующая программа у вас будет работать со 100% вероятностью! Поэтому сразу же приступаем к ней.
А для тех, кому интересны коды всех кнопок, смотрим сюда(КОД - синим цветом):
Изображение
Продолжение следует...

Re: MiniBot - В помощь новичку

enzimscd » 18 апр 2010, 13:58

Направьте меня пожалуйста...Где почитать про usb который на плате minibot2.1? Через него программировать можно?

Re: MiniBot - В помощь новичку

Duhas » 18 апр 2010, 14:10

можно программировать через бутлоадер.. он для минибота имеется... правда я не в курсе о наличии его в каждом миниботе.. вообще ищите тему про бутлоадер bootloader

Re: MiniBot - В помощь новичку

EdGull » 18 апр 2010, 17:10

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

Re: MiniBot - В помощь новичку

serzh378 » 09 мар 2012, 20:26

А на Windows 7 можно запрограммировать и управлять миниботом? Или только на XP лучше все делать??


Rambler\'s Top100 Mail.ru counter