123
Главная » 2015 » Февраль » 9 » "МОЗГИ" РОБОТА МИНИ-СУМО ЧАСТЬ2
01:53
"МОЗГИ" РОБОТА МИНИ-СУМО ЧАСТЬ2


МОЗГИ" РОБОТА МИНИ-СУМО. Продолжаем статью по сборке робота мини-сумо. В первой части статьи "Шасси для робота мини-сумо" было подробно рассказано о том как изготовить шасси робота. В этой статье приведена инструкция подключения микроконтроллера, который выполняет функцию "мозга" робота. Для определения края ринга, установлены два датчика, ещё два ультразвуковых датчика используются для обнаружения соперника и расположены спереди. В конструкции предусмотрены два дополнительных датчика, которые можно установить сзади.С помощью указанных датчиков возможно определить заходящего с тыла противника. На печатной плате и корпусе расположены светодиоды для световой индикации и динамик для звукового оповещения. Более подробное описание приведено в статье.


 

***

 

 

В предыдущей статье мы собрали шасси. Пора  снабдить нашего робота мозгами, которые будут им управлять.  В качестве управляющего микроконтроллера выбираем Arduino Pro Mini – это миниатюрный контроллер с небольшой стоимостью. Давайте поближе рассмотрим устройство этого контроллера.

 

1.Порты ввода-вывода и питание МК.

Рис. 1 Arduino Pro Mini.

 

На что нам следует обратить внимание? Первое – это питание схемы. Модель этого микроконтроллера питается от 5В. Это напряжение можно подать на ножку VCC. Но что делать, если батареи или аккумуляторы питания вашего робота дают большее напряжение, скажем 9 и более вольт? Для этого в схеме предназначен вход RAW, на него можно смело подавать до 14-15 вольт, но не больше, потому что внутренний стабилизатор напряжения Arduino начнет перегреваться и может выйти из строя. Оптимальным напряжением можно считать 9-12В. Его мы и будем использовать, потому что питание наших двигателей 9В. Для наших датчиков ринга и дальномера мы будем брать питание с ножки VCC. На ней будет уже стабилизированное напряжение 5 В. Следует понимать что, ток, который отдает стабилизатор не безграничен (800ma), нужно учитывать это при проектировании схемы и не запитывать мощные потребители тока, такие как двигатели и т.п.

 

Второе, что нам понадобится это порты широко-импульсной модуляции (ШИМ) (3,5,6,9,10,11). Четыре из них мы используем для управления двигателями, один для генерации звука и еще один у нас остается про запас. И наконец, третье, на что обращаем внимание - это порты, которые могут обрабатывать аналоговые сигналы (АЦП). Их восемь, А0-А7, но нам понадобится четыре, а для начала даже два. Этими портами мы будем обрабатывать сигналы, поступающие с датчиков ринга.

 

2.Принципиальная схема.

 

В любом конструкторском деле без чертежей, схем и планов работ, не обойтись. Так же и в нашем случае. Прежде чем начать сборку устройства нам понадобится принципиальная схема. Ее можно нарисовать на клочке бумаги, в компьютере, и даже на стене. Я ее нарисовал сначала на бумаге, но для наглядности перенес в электронный вид при помощи программы SPlan 6.0.

Рис. 2 Принципиальная схема.

 

Для того чтобы не путаться в процессе монтажа деталей и при моделировании печатной платы, ножки на контроллере я расположил точно так же как на Ардуино  Рис. 1.

Как было сказано выше, питанию мы уделим первостепенное значение. Мы будем использовать четыре элемента АА по 1,5В каждый. Когда батарейки новые, на выходе мы получим 6.4-6.5в, но даже этого маловато для питания двигателей, и для входного напряжения стабилизатора микроконтроллера. Поэтому мы будем использовать  еще один готовый модуль – импульсный DC/DC повышающий преобразователь Рис.3. Его стоимость не высокая, да и работать с ним достаточно просто.

 

Рис.3. Импульсный DC/DC повышающий преобразователь

 

На вход IN преобразователя мы подаем питание с батареек, а с выхода OUT забираем повышенное напряжение. При помощи построечного сопротивления его можно регулировать.  Для этого нужно подключить мультиметр в режиме измерения постоянного напряжения, и установить построечным сопротивлением 9.5 – 10 В. С выхода преобразователя питание пойдет на драйвер двигателей и на вход микроконтроллера RAW. Для питания датчиков ринга и датчика расстояния Ultrasonic, мы будем брать питание 5В  (ножка МК VCC).

Далее необходимо подключить драйвер двигателей к ШИМ выходам Ардуино. Я не буду останавливаться на принципе работы ШИМ микроконтроллера, в Интернете достаточно подробного материала на эту тему, но говоря простым языком, подключение драйвера двигателей к ШИМ, позволит нам программно управлять их скоростью, от минимума к максимуму и наоборот. Двигатель М1 мы подключаем к выходу (3,5) а М2 к (6,9). Выход 10 МК мы будем использовать для подключения «пищалки» или зуммера ВА1. Особой премудрости в подключении нет.

 

Ультразвуковой дальномер Ultrasonic мы подключаем к выводу 2 (Echo) и к выводу 4 (Trig). Питание дальномера осуществляется от 5В, вывод VCC Ардуино. Принцип работы дальномера заключается в следующем: по команде микроконтроллера на вход Trig подается некий импульс, он преобразуется в ультразвуковую частоту одним из «глазков» сенсора. Как только излучатель выдал ультразвуковой импульс, встроенная схема сенсора включает счетчик времени и ждет возвращения отраженного сигнала, который принимается вторым «глазком».  Результат преобразуется в некое значение, и возвращается в МК через выход  Echo. Программа микроконтроллера преобразует это значение в понятную нам метрическую систему - сантиметры.

И напоследок у нас остались только ИК датчики для определения края ринга. Обычно это инфракрасный (ИК) светодиод и фототранзистор, так сказать оптическая пара. Принцип работы такого датчика весьма прост. ИК светодиод излучает свет, который, отражаясь от поверхности, улавливается фототранзистором. Чем светлее отражаемая поверхность, тем сильнее откроется фототранзистор. Коллектор транзистора, подключен к входу АЦП контроллера, он то и определит, на сколько сильно откроется транзистор. АЦП нашего контроллера 10 битный, то есть его значение при напряжении 5В на входе равно 1024.

 

Рис.4 Работа АЦП МК

 

На рисунке 4 изображен принцип работы АЦП в режиме измерения. Когда транзистор закрыт, через сопротивление R2 на вход АЦП поступает положительное напряжение, оно будет равно напряжению питания и опорному напряжению МК. Транзистор закрыт из-за того что на его базу не поступает достаточное количества света. Отражающая поверхность темная.

Когда на транзистор поступает достаточное количество света (светлая поверхность), он открывается, напряжение на входе АЦП падает, стремясь к нулю. Соответственно значение самого АЦП так же будет уменьшаться.  В итоге нам нужно только будет получить значение АЦП, проанализировать его и определить цвет поверхности ринга. Следует учитывать, что даже самая темная поверхность что-то да отражает. В процессе моих экспериментов значение темной поверхности колебались в пределах 700-850, а светлой 28-30. Этого вполне достаточно чтобы определить светлую и темную поверхность. Но в любом случае эти параметры подбираются экспериментально или при помощи программы калибровки, ведь датчики у всех могут быть разными. Подбирая сопротивление R1, мы можем регулировать яркость ИК светодиода, при напряжении 5В номинал может быть в пределах 180-330 Ом. Значение сопротивления R2 в пределах 10-56К.

 

Совсем забыл сказать про еще два датчика, которые у нас есть на принципиальной схеме. Пока их мы не будем использовать, оставим их, так сказать на случай модернизации, но печатную плату для них все же разработаем. Возможно, это будет задние или боковые датчики, которые смогут определить, с какой стороны произойдет атака противника. Возможно, кто-то захочет добавить еще датчиков для полноценного следования по линии. Вариантов для творчества достаточно.

К выводам 7 и 8 Ардуино подключены обычные светодиоды. Можно их использовать как фары. Так как у нас есть еще свободные АЦП входы можно поставить делитель напряжения и замерять емкость батарей, а светодиодами сигнализировать об их состоянии (красный-разряжены, зеленый-норма).

 

3.Проектирование печатной платы.

 

Соберем сначала все детали. Как и прежде, при помощи картона, расположим элементы на будущей плате. Рис 4.

 

 

Рис. 4 Макетирование расположения деталей.

 

На прямоугольном кусочке картона располагаем наши будущие детали. Элементы питания идеально располагаются по бокам от контроллера, в дальнейшем их будет очень легко заменить.

Разработку самой печатной платы делаем в знакомой все программе Sprint-Layout v5.0.

 

Рис. 5 Чертеж печатной платы.

 

Готовую плату в формате lay, вы можете скачать в конце данной статьи. После того как плата будет вытравлена, впаиваем сначала, перемычки, потом сопротивления и остальные детали Рис. 6. Микроконтроллер и драйвер двигателя не впаиваются, а вставляются в специальные панельки – это упростит ремонт и обслуживание. УЗ датчик расстояния из-за своих размеров пришлось впаять в плату.

 

 

Рис. 6 Монтаж элементов на печатной плате.

 

Плата у нас готова, самое время завершить монтаж всех элементов непосредственно на шасси. Сначала мы закрепим преобразователь напряжения. Я посадил его на несколько капель суперклея.  Предварительно к входу и выходу преобразователя припаиваем разъёмы.

Выводы двигателей прикручиваем к драйверу, как на Рис.7

 

Рис. 7 Монтаж компонентов на шасси.

 

В процессе испытания уже собранного робота, выяснилась она маленькая неприятность. При движении вперед, двигатели на столько резво стартовали с места, что носовую часть подбрасывало вверх и датчики ринга получали неверный сигнал. Одним словом наш сумоист вел себя странно. Пришлось искусственно утяжелить носовую часть. В рыболовном магазине мне попался цилиндрический грузик весом 90 г. Этого было достаточно, чтобы робота не подбрасывало вверх. Главное не переусердствовать с весом, помните, что вес нашего робота мини-сумо не должен превышать 500 гр. Но и слишком легким он тоже не должен быть, так как соперник может легко победить из-за разницы в весе.

 

Рис. 8 Плата в сборе

 

К нашей плате припаиваем разъемы для датчиков. Красной стрелкой показана вилка питания. Посередине общий провод. Верхний контакт – это питание МК, а нижний - питание драйвера. При желании питание двигателей и Ардуино можно разделить, это на тот случай если плата будет использоваться с более мощными двигателями или вобще в другом проекте. Теперь еще немного поработаем над шасси. Нам осталось закрепить батарейные отсеки, так чтобы они не выпали при перевертывании робота. Сделаем нечто похожее на полочки. Рис. 9.

 

 

Рис. 9 Полочки для крепления батарей.

 

Полочки изготовляются из пластика ПВХ. Режем канцелярским ножом, клеим суперклеем. Батарейные отсеки прикручиваем сверху. Боковые части прикручиваются черными саморезами к стенкам шасси, остальные части полочек просто опираются на него, этого вполне достаточно. Тонкая прорезь удерживает нашу плату на месте и дает ей двигаться. Остается только укоротить или убрать лишние провода и закрепить выключатель или кнопку питания.

 

 Архив к статье "Мозги робота минисумо". Скачать архив

 

 Продолжение в третьей части.

 


Если у ВАС возникли вопросы пишите на ФОРУМЕ или в Online чат по робототехнике мы их обсудим!

автор Андрей Андросов www.servodroid.ru

© Внимание! Полное либо частичное копирование материала без разрешения администрации запрещено!

Категория: Роботы для соревнований | Просмотров: 6509 | Добавил: Droid | Рейтинг: 0.0/0
Всего комментариев: 0
avatar