Расскажу как сделать, чтобы телефон постоянно заряжался от аккумулятора работа во время автономной работы и самое главное - зарядную станцию, на которую робот сможет приезжать на автоматическую зарядку. Сейчас пока под нашим удаленным управлением, а в будущем и сам, когда у робота появится достаточный искусственный интеллект.
Нам потребуются:
Собственно сам робот. Предполагаю, что он у вас уже собран и работает, но заряжаете вы его вручную специальной зарядкой.
Источник напряжения, поиск на ebay тот же, что и выше, только у источника напряжения один потенциометр (Они сделаны на одной и той же микросхеме LM2596S). Рекомендую обоих источников взять по несколько штук, могут еще понадобится для фар или в результате неудачных экспериментов какая-нибудь плата сгорит.
Два делителя напряжения. (Или просто 4 сопротивления для самодельного делителя). Нужно для контроля напряжения средствами ПО. Не обязательно.
Вольтметр - для визуального контроля напряжения. Не обязательно.
Два лезвия от ножа по бумаге (для контактов на зарядной станции).
Блок питания с напряжением от 12В до 30В и током минимум 2A. Большинство блоков питания для ноутбуков подойдут. Блок питания нужен для зарядной станции.
Два пружинных контакта (для контактов на роботе). Я сделал из пружин для крепления пальчиковых батареек.
miniUSB-USB провод или другой, какой используется у вас в телефоне для зарядки. Его разрезать пополам надо будет.
Настройка источников тока и напряжения
Подключаем к разъемам источника тока LM2596S IN+ и IN- блок питания с напряжением от 12В до 30В и током минимум 2A. Большинство блоков питания для ноутбуков подойдут.
Подключаем вольтметр в режиме измерения напряжения к выходам источника тока LM2596S OUT+ и OUT-.
Синие прямоугольники на плате - это потенциометры. Всего их три. Крутим плоской отверткой самый левый потенциометр. (Источник питания слева, вольтметр справа.) По часовой стрелке увеличивать напряжение, против часовой уменьшать напряжение. Справа можно разглядеть три светодиода. Нижний будет гореть зелёным цветом - это значит, что источник работает в режиме стабилизации напряжения. Если у вас Li-Pol аккумулятор на 7,4В, значит напряжение полной зарядки у него 8,4В (на самом деле даже ещё чуть выше). Для аккумулятора с защитой от перезарядки смело выставляйте 9В на выходе источника с помощью левого потенциометра. Это самый простой вариант т.к. как только аккумулятор полностью зарядится сработает внутренняя защита аккумуляторов и они перестанут заряжаться. А робот пока будет находиться на зарядной станции дальше будет питаться от неё (мы программно сможем определить этот момент по тому как напряжение станет почти 9В), сберегая ресурс вашего аккумулятора. Если защиты нету, то выставляйте 8,4В (может лучше чуть меньше для страховки 8,35В). Аккумулятор будет чуть-чуть недозаряжаться, зато и взрыва не произойдёт. Вообще в этом случае лучше придумать самодельную "умную" зарядку, например, на базе этих же источников тока - если отпаять пятую (самую правую) ножку на самой микросхеме LM2596S и подключить её через логическую схему НЕ к выходу платы Arduino, то можно программно контролировать включение-выключение платы. Но я это не собирал, т.к. у меня аккумуляторы с защитой.
Подключаем нагрузку на источник тока - можно использовать разряженный аккумулятор (плюс аккумулятора к плюсу источника тока, не перепутайте, иначе скорее всего взорвется плата LM2596S - я один раз перепутал случайно когда экспериментировал) и последовательно нагрузке амперметр (мультиметр надо переключить в режим измерения тока, не забудьте что и провод мультиметра надо переставить на измерение тока) и выставляем самым правым потенциометром на источнике тока силу тока 1,1 А (мы позже это подкорректируем). Обратите внимание, что на источнике тока загорелся кроме зелёного ещё и красный светодиод - это значит, что источник работает в режиме стабилизации тока.
Измеряем напряжение на выходе USB порта т.е. из переходника 220V->USB, который используется для зарядки телефона. У меня это 5,12В. Вольтметры обладают некоторой погрешностью, поэтому лучше измерьте это значение для своего переходника и вольтметра. Я для удобства измерения разрезал miniUSB-USB шнур зарядки пополам.
Подключаем источник напряжения LM2596S к настроенному выше источнику тока и с помощью единственного потенциометра на источнике напряжения выставляем на выходе источника напряжения измеренное выше напряжение на выходе USB порта.
Подключите телефон на выход источника напряжения LM2596 и проверьте, чтобы он заряжался. (Используйте половинку с miniUSB от шнура miniUSB-USB). Измерьте потребляемый источником напряжения ток. Т.е. амперметр надо воткнуть последовательно в один из разъемов между выходом источника тока и входом источника напряжения. У меня ток 0,34A.
Arduino, подключенная к этому источнику тока потребляет где-то 0,1A в среднем в пассивном режиме (без моторов и работы серв).
Наши аккумуляторы можно заряжать током не больше, чем 1A (на них так написано). По идее, у нас соединено два аккумулятора параллельно, и их можно заряжать было бы током 2А, но не в нашем случае, так как после того как защита сработает на одном из аккумуляторов, на другой пойдет ток в 2A, хоть и не надолго, но это все равно не хорошо.
Подключаем нагрузку (разряженный аккумулятор) на источник тока и последовательно нагрузке амперметр и выставляем ПРАВЫМ потенциометром на источнике тока: 1A+0,34A+0,1A=1,44A. Телефон как зарядится будет потреблять меньше тока, поэтому я решил выставить 1,3A - пусть аккумуляторы будут чуть медленнее заряжаться, зато дольше прослужат и источник тока будет меньше греться, а греется он прилично.
Сборка зарядки робота
На схеме слева:
R2, R1 - сопротивления делителя напряжения. Эти значения используются в коде в robo_body.h для вычисления dividerRatio0 и dividerRatio1 по формуле (R1+R2)/R2 - коэффициентов делителя напряжения. Если вы используете делитель от DFRobot, то эти значения dividerRatio равны 5. A5 Arduino, A4 Arduino - аналоговые входы A5 и A4 на Arduino. V - вольтметр для визуального контроля напряжения. АКБ1, АКБ2 - два аккумулятора, соединенных параллельно. Можно подключить больше, можно оставить только один.
Вся эта электроника находится внутри робота, и с зарядной станцией контактирует через пружинный контакт. В принципе источник тока можно было бы вынести за пределы робота, но тогда сложно будет определить момент подключения к зарядной станции (А так мы всегда это легко можем сделать, проверив напряжение на аналоговом входе A5) и при наличии источника тока на самом роботе - мы можем использовать вообще любую внешнюю зарядку с напряжением 12-30В и током более 2А, что может быть полезно если мы поехали куда-нибудь с роботом.
Вся эта электроника, вошла у меня внутрь тележки рядом с аккумуляторами:
Пружинные контакты у Робота
Я меня не было под рукой нормальных пружинных контактов и где заказать быстро я не знал, поэтому смастерил сам - вырезал кусок ДСП, к нему используя двусторонний скотч прикрепил пластик с пружинами от держателя батареек AA (они обычно с тележкой идут - да и так найти их не составит труда). К основанию пружин припаял контакты. Вся этак конструкция крепится к тележке также с помощью двустороннего скотча.
Зарядная станция
С такой электроникой в роботе как у нас, зарядная станция представляет собой просто два контакта выведенных от любого блока питания 12-30В, более 2A. Я в качестве контактов использовал два лезвия от ножа по бумаги. Припаял к ним контакты от блока питания и параллельно друг другу и полу прикрепил их к стене двусторонним скотчем (точнее к фанере, чтобы не портить стену). В условиях влажного климата, да и вообще рекомендую попрыскать лезвия WD-шкой, чтобы лезвия не заржавели. И повторять эту процедуру раз в месяц.
Эксплуатация
Я уезжал и оставлял робота на 21 день без присмотра на этой станции, и когда я вернулся он был полностью заряжен и в боевом расположении духа! Т.е. управление удаленно работало. Единственный косяк, который случился на 6й день когда я попробовал удаленно подключиться - почему-то вылетело приложение IPWebCam и по этой причине я не мог удаленно наблюдать что происходит. Так что робот у нас теперь полностью автономный, дело за софтом...
Когда паркуетесь к зарядной станции, сбавляйте скорость, если парковаться на быстрой скорости, пружины вас отбросят назад. Надо ещё придумать как парковаться при удаленном управлении. Если смотришь на станцию воочию и паркуешься, то всё легко, но если делаешь это удаленно через камеру, то довольно сложно. Какие есть варианты решения:
Переместить клеммы заряда вперед. Но это не очень элегантно.