Делаем своего робота автономным

У меня есть идея собрать автономного робота… полностью автономного, т.е. собрать его, запрограммировать и забыть о хлопотах, а он будет что-то делать и вообще жить своей жизнью… Робот-питомец?

Робот Durashka разобран для серьезной модификации

С чего начинается… автономность? Да, именно с питания. По моему мнению, во многих современных роботах есть очень большой недостаток – нужно периодически менять батарейки или заряжать аккумуляторы. Рано или поздно, это делать надоедает, и робот уходит пылиться на далекую полку… А в самом начале, помните, как хотелось его собрать, научить его чему-то, посмотреть как он справляется с поставленными задачами?

В этой статье мы сделаем нашего робота (у вас еще нет своего робота???) автономным, т.е. запрограммировали и забыли. Брать энергию он будет из воздуха, а точнее, от солнца.

Помогут нам в этом следующие компоненты

Обратная сторона (медали)

(все компоненты подходят друг к другу)

  • Солнечная панель (можно и несколько, соединив их параллельно и добавив диоды шоттки – увеличим скорость заряда аккумулятора) для получения энергии от солнца
  • Контроллер заряда LiPo Rider Pro – у него есть вход для солнечной батареи с разъемом jst, вход для аккумулятора тоже jst, вход miniUSB для подключения к блоку питания, чтобы заряжать аккумулятор и питать устройство, а также есть выход мама USB порта, куда соединяется устройство-потребитель
  • Аккумулятор Lipo 1s 3.7v (можно и несколько, соединив их параллельно – увеличим время активного состояния робота) для накапливания энергии

Принцип действия

Солнечная панель заряжает аккумулятор через контроллер заряда

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

В конструкции контроллера заряда LiPo Rider Pro предусмотрена и автоматическая зарядка аккумулятора при подключении к блоку питания, и зарядка его от солнечной панели, и недопущение перезаряда и переразряда аккумулятора. Самого робота подключаем по USB к LiPo Rider’у, соответственно, получаем стабильные 5V. Все в одном – почти идеальный вариант! Соединил вместе проводами – и работает!

Солнечная панель выдает 5.34V (пасмурный зимний день)

Почему почти идеально? Дело в том, что робот не будет знать, сколько осталось заряда в аккумуляторе. Сколько ему еще бодрствовать и не пора ли перейти в спящий режим?

Для этой цели в последствии придется прикрутить еще одну плату – LiPo fuel gauge, которая и даст ответы на все оставшиеся вопросы. Ее мы подключим к аккумулятору и по I2C шине робот всегда будет в курсе состояния батареи (читать: насколько он голоден или объелся как на пасху), соответственно можно будет скорректировать его поведение в зависимости от этого.

О роботе

Durashka на операционном столе

Робот Durashka на данный момент обладает следующими функциями:

  • Питается 9V от блока питания ACDC
  • Понимает, что рядом с ним есть кто-то (ультразвуковой дальномер)
  • Понимает, когда в комнате что-то происходит или с ним говорят, откуда идет звук (датчик звука, стерео)
  • Понимает, когда в комнате светло или темно (датчик освещенности)
  • Следит за временем и знает, день сейчас или ночь (часы реального времени)
  • Понимает, что его взяли в руки, крутят, уронили (гироскоп-акселерометр)
  • Может выражать свои чувства трехцветным светодиодом на голове, движениями рук и головы, а также заранее записанными на microSD карточку словами и выражениями

В планах:

  • Сделать Durashk’у автономным (питание от аккумулятора и солнечных батарей)
  • Добавить модуль wifi и читать слова и выражения не только с microSD карточки, но и подгружать с компьютера.
  • Выход в интернет даст возможность роботу узнавать: прогноз погоды на улице через сторонние сайты, текущие параметры окружающей среды (температура, влажность, уровень углекислого газа, уровень пыли в воздухе, радиационный фон) от датчиков, подключенных к компьютеру (серверу), читать последние новости на сайтах вслух.
  • На основании полученных данных реализовать более сложный алгоритм поведения

Заключение

И все-таки, автономность – это круто! Мне кажется, эта функция добавляет некоторую “оживленность” роботам, делая их более самостоятельными. Когда знаешь, что там, на подоконнике, сидит существо, пусть с кремниевыми мозгами и ограниченным функционалом… но ведет свой образ жизни, знает, когда можно бодрствовать и что-то делать, а когда, устав от будничной суеты, поспать и набраться сил. И ничем не хуже хомячка в клетке, который только кушает, играет, спит и справляет нужду… и даже не может матернуться на какой-то неприятный внешний раздражитель! =)

Удачных вам экспериментов!

2 thoughts on “Делаем своего робота автономным

  1. Асет says:

    Реальные и очень полезные статьи! Спасибо. Буду ждать еще Ваших постов. Сайт однозначно в избранные.
    Успехов и развития Вашему сайту!

Добавить комментарий