I. Общее описание проекта

advertisement
1
Творческая категория. Номинация «Электроника»
Digital Creator of Pictures
Выполнили:
учащиеся 10 класса
Ильичёв Артур
Назёмнов Глеб
Чиркин Кирилл
Пенза, 2015
2
Оглавление
Оглавление ................................................................................................................................................ 2
I. Общее описание проекта .................................................................................................................... 3
1.1. Конструкция робота................................................................................................................... 3
1.2. Программный код ......................................................................................................................... 8
II. Обоснование экономической эффективности проекта ............................................................14
Заключение ..............................................................................................................................................17
3
I. Общее описание проекта
1.1. Конструкция робота
Наш робот состоит из следующих конструктивных элементов.
1. Плата ArduinoUno
Arduino — это открытая платформа, которая
позволяет собирать всевозможные электронные
устройства. Она выполнена на базе процессора
ATmega328p с тактовой частотой 16 МГц, обладает
памятью 32 кБ и имеет 20 контролируемых
контактов ввода и вывода для взаимодействия с
внешним миром.
Платформа состоит из аппаратной и программной частей; обе
чрезвычайно гибки и просты в использовании. Для программирования
используется упрощённая версия C++, известная так же как Wiring.
Разработку можно вести как с использованием бесплатной среды Arduino
IDE,
так
и
с
помощью
произвольного
C/C++
инструментария.
Поддерживаются операционные системы Windows, MacOS X и Linux.
Размер платы составляет 6,9 × 5,3 см. Гнёзда для внешнего питания и
USB выступают на пару миллиметров за обозначенные границы. На плате
предусмотрены места для крепления на шурупы или винты. Расстояние
между контактами составляет 0,1″ (2,54 мм)
2. Двухколёсная платформа miniQ
Маленькая и лёгкая платформа представляет собой конструктор, в
который входят:
 1 монтажная, не проводящая ток поверхность для крепления
собственных частей и других компонентов
4
 Пара колёс 42×19 мм
 2 микромотора шириной 12 мм с редуктором
 Пара креплений для моторов
 Шаровая опора 12 мм (третье колесо)
 Крепёж
Характеристики:
 Габариты: 12,2 см в диаметре
 Клиренс: 4,2 см
 Вес: 110 г
Моторы:
 Частота вращения без нагрузки: 13000 мин-1 до передачи, 260 мин1
после передачи
 Передаточное соотношение: 50:1
 Потребляемый ток: 40–360 мА при 6 Вв зависимости от нагрузки
 Крутящий момент: 0,72 кг×см при 6 В
3. Энкодер
Энкодер
используется
для
контроля
направления движения робота и для точного
замера
пройденного
построенный
на
базе
расстояния.Энкодер,
двух
инфракрасных
сенсоров, позволяет определять направление и
скорость вращенияколёс 42×19. Эти колёса имеют
ребристую поверхность на внутренней части, что и позволяет определять
факт поворота на определённый угол.
4. MotorShield
5
MotorShield – плата расширения для Arduino на базе чипа L298P,
позволяющая
управлять
моторами
с
напряжением 5–24 В в режиме раздельного
питания, и 7–12 В в режиме объединённого
питания.
При разгоне и торможении двигатели
сами
индуцируют
кратковременный
обратный ток большой величины, который может выжечь контакты
микроконтроллера. На MotorShield установлены возвратные диоды, которые
это предотвращают.
На плате предусмотрена возможность выбора источника питания: от
платы Arduino или от внешнего источника, подключаемого к клеммам «+» и
«−». По умолчанию выбран раздельный режим, но переставив джампер, вы
связываете контуры питания Arduino и MotorShield и вам достаточно питать
только одну из плат.
На
плате
расположены
светодиоды-индикаторы,
показывающие
направление и скорость по каждому из каналов и подачу питания.
5. Микросервопривод FS90
Сервопривод позволяет установить и удерживать
угол поворота колеса. Привод обладает углом
поворота 180°, т.е. может быть установлен в любое
положение в пределах полуокружности.
Характеристики:

Диапазон вращения: 180°
 Напряжение питания: 4,8–6 В
 Крутящий момент: 1,3 кг·см при 4,8 В
 Скорость вращения: 60° за 0,12 сек при 4,8 В
6
 Внутренний интерфейс: аналоговый
 Материал шестерней: нейлон
 Материал корпуса: пластик
 Габариты: 23,2×12,5×22 мм
 Вес: 9 г
Мы использовали сервопривод для поднятия и опускания маркера.
6. Bluetooth-модуль HC-06
С HC-06 позволяет нам управлять роботом прямо
со своего смартфона. Поставив на телефон или планшет
программу
для
управления
через
bluetooth,
мы
превращаем его в настоящий продвинутый джойстик
Точно так же можно связаться с нашим устройством с
ноутбука, или с любого другого прибора, который
может подключаться к bluetooth-устройствам.
Сфера применения этого модуля не исчерпывается управлением. Его
можно использовать и для пересылки показаний разнообразных сенсоров.
Рабочее напряжение этого bluetooth-модуля — 3,3 В, но его входы
толерантны к 5 В, поэтому он совместим со всеми платами Arduino.
7. Цветной графический TFT-экран 160×128
Модуль с цветным графическим TFT
LCD
дисплеем
позволяет
без
труда
отображать красочную графику. Слот для
флеш-карт формата micro-SD объёмом до 2
ГБ позволяет использовать для формирования
изображениязаранее подготовленные иконки,
картинки,
элементы.
кадры
анимации
и
прочие
7
8. Дополнительные элементы
На протяжении всей работы нам приходилось внедрять различные
конструкторские
и
дизайнерские
решения,
призванные
улучшить
работоспособность и обеспечить приемлемый внешний вид.
Для удобного закрепления маркера была разработана и напечатана на
3D-принтере специальная деталь.
Чтобы облегчить подключение датчиков и сервопривода к плате, а
также избежать излишнего скопления кабелей, некоторые провода были
спаяны друг с другом.
8
1.2. Программный код
Одна из основных составляющих нашего проекта – программный код.
Программирование ведется целиком через собственную программную
оболочку (IDE), бесплатно доступную с сайта Arduino.
ПростейшаяArduino-программа состоит из двух функций:
 setup()
–
функция
вызывается
однократно
при
старте
микроконтроллера.
 loop() – функция вызывается после setup() в бесконечном цикле
все время работы микроконтроллера.
В результате работы над проектом было выделено 3 режима работы
робота.
Режим
№1.
Рисунок
кодируется
непосредственно
в
среде
программирования Arduino.
В нашей программе используется множество методов, каждый из
которых отвечает за определенное движение или комплекс движений робота.
В код были также добавлены функции контроля скорости, обеспечивающие
9
одинаковое количество оборотов за единицу времени на обоих моторах. Это
помогло добиться прямолинейного и равномерного движения.
Режим №2. Робот управляется человеком посредствомBluetooth с
помощью приложения для Android.
При
использовании
ручного
режима
основным
методом
для
управления движением робота является bt_remote(). Принцип его работы
такой. Через соединение Bluetoothс пульта управления подаются команды.
Метод bt _remote() отслеживает, какая команда была передана, и запускает
соответствующий метод. Например, если была передана команда ‘w’ (это
означает движение робота вперед), то запускается соответствующий метод
forward_bt(). Так как метод bt_remote() работает в цикле loop(), то
отслеживание передачи команд происходит постоянно.
10
Робот поддерживает следующий набор команд.
1. ‘w’ – движение вперед
2. ‘x’ – движение назад
3. ‘a’ – поворот налево
4. ‘d’ – поворот направо
5. ‘q’ – движение вперед-налево
6. ‘e’ - движение вперед-направо
7. ‘z’ - движение назад-налево
8. ‘c’ - движение назад-направо
9. ‘r’ – поднимание маркера
10.‘f’ – опускание маркера
11
Режим №3. Робот запоминает действия, производимые человеком в
режиме №2, и воспроизводит их в автономном режиме с задаваемым
коэффициентом масштабирования.
Для реализации данного режима предусмотрены команды для записи
последовательности действий оператора с последующим воспроизведением
их роботом в автоматическом режиме.
11.‘t’ – начать запись последовательности команд
12.‘y’ – остановить запись
13.‘u’ – воспроизвести запись
Запись последовательности команд производится в текстовый файл на
карте памяти. При воспроизведении происходит считывание команд из файла
и вызов соответствующих методов.
12
В качестве пульта управления роботом может служить любое
устройство с операционной системой Android. Для этого было разработано
специальное приложение в бесплатном редакторе MIT App Inventor 2.
13
Передача команд происходит через Bluetooth. В приложении есть 2
режима работы: ручной и автоматический.
В ручном режиме вы можете самостоятельно рисовать, а также
записывать и воспроизводить ваш рисунок.
В автоматическом режиме имеется список готовых программ для
нанесения, например: треугольник, квадрат, круг, цифры и т.д. а также
список файлов, которые робот записал в режиме №3 запоминания действий
Приложение поддерживает голосовое управление.
14
II. Обоснование
экономической
эффективности
проекта
В данной части делается примерная оценка себестоимости проекта и
рассматриваются возможные варианты применения робота для решения
практических задач и расширения возможностей человека.
1. Бюджет проекта
Конструкция робота предусматривает использование комплектующих
по следующим ценам.
 Плата Arduino-Uno (1 шт) – 1100р (по данным сайта
http://lartmaster.ru/goods/ARDUINO-UO-R3)
 Двухколёсная платформа miniQ (1 шт) – 2290р (по данным сайта
http://amperka.ru/product/miniq-chassis)
 Плата расширения MotorShield (1 шт) – 290р (по данным сайта
http://test.good-kits.ru/product/plata-rasshireniya-motor-shield-l293d695/)
 Энкодер
(2
шт)
–
2*250р
(по
данным
сайта
http://fixled.ru/microcontrollers/modules/grove-encoder.html)
 Микросервопривод FS90 (1 шт) – 390р (попо данным сайта
http://wiki.amperka.ru)
 Аккумуляторная батарея 9V (1 шт) – 150р
 Маркер (1 шт) – 30р
 Экран (1 шт)- 1190р (по данным сайта http://wiki.amperka.ru)
 Bluetooth-модуль
HC-06 -990р
(по
данным
сайта
http://wiki.amperka.ru)
Таким образом, себестоимость данной модели получается равной в
среднем 6940р.
15
2. Бюджет решения задачи без применения разработки
Для расчета оценочной стоимости применения разработки рассмотрим
2 примера – дорожная разметка и разметка спортивных площадок.
1) Так, стоимость дорожной разметки варьируется в пределах от 50р
до 140р за погонный метр в зависимости от материала – краска,
термопластик или холодный пластик (по материалам сайта
http://www.dorazmetka.ru/price/).
2) Стоимость работ по разметке спортивных площадок варьируется в
пределах 15р за погонный метр. Далее все зависит от типа площадки
(для футбола, волейбола, баскетбола, хоккея, тенниса и пр.) и
используемых
материалов
(по
материалам
сайта
http://www.dorazmetka.ru/razmetka-dorog/razmetka-sportivnyhploshhadok/).
Все данные приведены без учета стоимости расходных материалов.
3. Бюджет решения задачи с применением разработки
При использовании робота стоимость нанесения дорожной разметки
можно снизить до 15р за погонный метр (при использовании краски), а при
разметке спортивных площадок стоимость можно снизить до 5р за погонный
метр.
Такое снижение достигается за счет автоматизации действий робота и
увеличенного периода рабочего времени. А возможности масштабирования
позволяют использовать робота даже на поверхностях нестандартного
размера (разметка детских площадок, площадки для сдачи экзаменов на
знание ПДД).
16
Таким образом, можно достичь снижения стоимости проведения
подобных работ более чем в 3 раза.
50
45
40
35
30
25
20
15
10
5
0
Без использования
робота
С использованием
робота
Разметка
дорог
Разметка
спортивных
площадок
Все данные приведены без учета стоимости расходных материалов.
17
Заключение
Результатом проделанной работы стал робот на базе платформы
Arduino, способный автоматически выполнять действия по разметке
определенной
территории
с
возможностями
последовательности действий и масштабирования.
запоминания
Download