Семейство роботов, управляемых AVR-контроллерами Orangutan, распространяется фирмой minirobo.ru. В сетевой лаборатории можно ознакомиться принципами их программирования. Предварительно полезно почитать описание эмулятора AVR GCC.
Не следует программировать робот при полуразряженных аккумуляторах. Дисплей удобен при отладке, однако полезно знать, что шины дисплея и программатора совмещены. Одна из мер, помогающих оживить программатор, это вытянуть дисплей из гнезда 3π. Обращение к дисплею при реверсе второго мотора у Orangutan провоцирует reset, вызывая останов или неравномерное вращение гусениц. Кнопки совмещены и работают при отключенном программаторе.
РОБОКОНТРОЛЛЕР SV-328
Контроллер Orangutan SV-328 включает в себя микропроцессор ATmega328P, два двунаправленных порта двигателя, каждый из которых способен обеспечить 1А (продожительно), съемный (8 символов х 2 строки) жидкокристаллический дисплей, зуммер, пользовательские три кнопки и два светодиода. Восемь входов/выходов IO широкого применения могут быть использованы для подключения датчиков или расширения системы. Обозначение каналов слева направо: РС5, PC4, PC3, PC2, PC1, PC0, PD1 и PD0. Orangutan SV-328 работает при питании 6 - 13,5 В и имеет 5V-вый импульсный регулятор, позволяющий выдавать до 3А при управлении RC servos непосредственно от его выхода.
ДАТЧИКИ И ЭФФЕКТОРЫ
Для работы с датчиками и эффекторами есть скачиваемая с сайта библиотека. Запуском ее инсталлятора она активизируется, далее ближайший по смыслу пример копируется в папку с новым именем и редактируется. Удаленные объекты замечают ультразвуковые сонары, но выход их нестабилен и велика краевая чувствительность. Более часто используются бортовые оптические датчики.
Подключение датчиков к входам контроллера производится с помощью трехжильного JSR-кабеля, спаянного со штыревым контактором. На рисунке красным проводом подключено питание, средний провод - земля, а белый отвечает управлению. В наборах Мастер Кит продаются 12-ти вольтовые реле для силового привода. Крепление навесных плат и элементов производится латунными стойками.
ЭМУЛЯТОР ORANGUTAN
Библиотека Orangutan содержит подпрограммы управления красным светодиодом, расположен впереди, и зеленым - расположенным за индикаторной панелью. Первые уроки обычно и начинаются с мигания red и green светодиодами (leds).
ВОЗВРАТНО-ПОСТУПАТЕЛЬНОЕ ДВИЖЕНИЕ
Совмещенное программирование возвратно-поступательного движения: iMatLab используется для моделирования динамики и визуализации робота, контроллер отрабатывает программу поутюжить местность переключением скорости.
Поскольку провода к обоим моторам подведены не внахлест, для получения однонаправленного движения одна из гусениц робота включается в реверсном режиме. При выключенной по clear() заставке дебаггер не управляет светодиодами.
ПОСТУПАТЕЛЬНОЕ И ВРАЩАТЕЛЬНОЕ ДВИЖЕНИЯ
Совмещенное программирование вращательного движения: iMatLab используется для моделирования динамики и визуализации робота, контроллер отрабатывает программу поворота в разные стороны.
УПРАВЛЕНИЕ ПО ОПТИЧЕСКОМУ ДАТЧИКУ ДИСТАНЦИИ
Совмещенное программирование движения: iMatLab используется для моделирования робота и выхода оптического датчика расстояния до стенки сцены. Контроллер реализует обратную связь по расстоянию, реверсируя направление вращение одной из гусениц на короткой дистанции.
Отражение света под косым углом менее эффективо. Реальный оптический датчик более узконаправлен, поэтому на практике можно применять разновидность этой программы с гистерезисным включением двигателей на реверс с тем, чтобы получить программный поворот на прямой угол при первом же обнаружении препятствия.
Баги библиотеки: экспериментально замечено сбрасывание (reset) основной программы при реверсе одного из двигателей и пользовании LCD (отладочным экраном).
ПРОГРАММАТОРЫ
Для того, чтобы воспользоваться программатором контроллера, устаревшие драйверы операционной системы Windows XP предварительно обновляются сервисным пакетом SP3 и ставятся драйверы программатора. По крайне мере первый сеанс работы нужно проводить из админ-панели, иначе может блокироваться операция настройки ISP, причем в режиме AVR GCC (не ассемблирования). Если программатор связывается с комьютером, но не видит устройства, то это связано обычно с неправильной установкой в студии типа микросхемы контроллера. Распространенный модуль STK500 осваивается заметно проще, но стоит вдвое дороже.
ПРИМЕР ИСПЫТАНИЙ РОБОТА
ЛАБОРАТОРИЯ МЕХАТРОНИКИ
Совместная лаборатория создана на добровольной основе для содействия развитию мехатроники на примере создания небольших мобильных роботов с интернет обеспечением. Ближайшими задачами рассматриваются создание сетевого эмулятора и полив горшка из цисцерны, закрепленной на борту робота-жука.