Однажды, я решил обновить свой ряд отладочных плат. Особой потребности в работе с новыми контроллерами я на текущий момент не испытываю, по этому было решено сделать принципиально другую отладку. В ней я хотел реализовать следующие фичи:
• Возможность автономной работы. Порой очень хочется взять какое-то устройство с собой «на прогулку» или работу, но к предыдущим платам было необходимо внешнее питание. Хотелось бы, чтобы питание было бы на самой плате.
• Использовать достаточно мощный чип. Так как я длительное время использовал свою отладку на stm32f100, то по мере проектов я осознал, что хочу по максимуму использовать чипы. Так как возможностей последнего мне стало не хватать (мало ног и низкая частота 24МГц), то я решил пересесть на чуть больший чип: STM32F103, на котором у меня уже была удачная отладка, но не получившая очень широкого применения.
• Использовать аккумуляторы типоразмера 18650, которые мне так полюбились своим отношением ёмкость/цена.
• Использовать встроенный контроллер питания от mini-usb на MCP73833. Хотелось попробовать сделать заводскую плату с хорошим отведением тепла от микросхемы, и посмотреть на что получится разогнать данный контроллер заряда без внешнего радиатора.
• Использовать так мною любимый TPS63000 для создания 3,3В линии. Это не очень эффективный контроллер питания с точки зрения тока холостого хода, но он работает как повышающе/понижающий преобразователь, что позволяет использовать весь заряд батареи при выходном высоком выходном токе(единицы ампер).
• Сделать маркировку всех сигнальных выводов платы.
Ну и так по мелочи:
• Кварцы 5032 (ни одного сбоя за всё время работы)
• Smd0603+кондёры 0805 на самых маленьких футпринтах.
• Разделение аналоговой и цифровой земель в устройстве
• Разъёмы с шагом 2,54 тип мама(PBS20) для того, чтобы в моих макетках сделанных лутом уставлять имеющиеся у меня в большом количестве разъёмы тогоже типа, но папы(дешевле выходит).
• Полностью одностороннюю пайку(за исключением разъёмов под аккумулятор.
В результате получилась очень симпатичная отладка, которую можно посмотреть на рисунке 1.
Рисунок 1. Внешний вид отладочной платы.
Тестирование DC-DC преобразователя.
После этого я принялся за тестирование. Для этого специально купил резистор SQP5-4R7 чтобы протестировать контроллер DC-DC на ток ~1А. В результате тестов резистор прогревался до 110*С (узнавал по пирометру), что приводило к некоторой просадке сопротивления и росту тока до 1А. Фотографию теста можно посмотреть на рисунке 2.
Рисунок 2. Тест DC-DC преобразователя.
В результате было установлено, что шумов дополнительных не появляется, а вся система работает как часы. При этом температура DC-DC преобразователя находится в диапазоне 35-40*С при температуре внешней среды +27*С. Конечно, я понимаю, что с ростом нагрузки будут рости и пульсации, но я думаю что когда будет от линии питания микроконтроллера работать и достаточная силовая нагрузка, то особая точность аналоговой части не потребуется.
Тестирование зарядного устройства.
Честно говоря это первый раз, когда я решил сделать промышленно изготовленную плату с MCP73833. В предыдущий раз я посмотрел то, что данный контроллер вообще заряжает и работать + ознакомился на практике с алгоритмом его работы. В данном случае, так как приближалась сдача диплома, а попробовать очень хотелось, я просто разобрал предыдущую плату и аккуратно перенёс все компоненты на новую. В результате, при заряде батарейки после предыдущего теста я зафиксировал, что при зарядном токе в 375мА температура контроллера заряда не достигает и 45*С. Это говорит о том, что можно смело перепаять резистор управляющий зарядом, чтобы увеличить зарядный ток. Я его подниму до 500мА, а вот дальше не пойду. Связано это не с теплом, которое будет выделятся на микросхеме, а с тем, что не все мои пяти вольтовые блоки питания для мобильников выдают более 500мА. Особых защит, в тех что я смотрел, нет, и это может привести к проблемам в электросети.
В конце тестов снял красивую фотографию 3, на которой горят 2 светодиода, говорящие о окончании заряда аккумулятора.
Рисунок 3. Конец заряда аккумулятора.
Недостатки разработанной платы.
Проведя эти тесты, а также представляя как я буду работать в дальнейшем с этой платой, выяснился ряд факторов, которые я не учёл в данном проекте:
• У меня не хватило опыта в трассировке для того, чтобы установить в данной печатной плате выключатель on/off на батарейку. Конечно, я это отлично умею делать путём выдёргивания 18650 из разъёма или установкой специальной пластиковой пластины. Но это же костыль друзья мои. Хорошо бы было доделать выключатель.
• Нет BMS у аккумулятора на плате, хотя он нужен. Чисто технически TPS63000 работает в диапазоне входных напряжений 1,8-6В. Это возможно при глубоком разряде аккумулятора будет приводить к его порче. Это проблема решается некоторой модификацией самой батарейки и установлением в неё дешёвого bms прямо на батарейку со впихиванием/подрезанием одного из контактов. Опять же не критично, но с костылями.
• В разъёме USB по цифровым линиям ничего не подключено. В этом котроллере есть встроенный USB интерфейс, но я его не вывел на разъём. Связано это с тем, что в текущих проектах это не нужно и поставить нормальную обвязку usb интерфейса на плате(с защитными диодами и микросхемой согласования уровней мне как то не доводилось).
• Нет светодиода PowerGood на плате. Когда чип работает, ничего о этом не говорит. Сделано это намеренно, чтобы продлить срок жизни аккумулятора, но порой не удобно. В дальнейшем я думаю сделать на мало используемом пине светодиод и дать ссылку на код включения светодиода при работе контроллера
• Недостаточная компактность платы. Текущие габариты платы 34х80 мм. Всегда хочется решение компактнее. Может и получится. Хотя с другой стороны, на обратной стороне печатной платы не так много и места. Что видно на фотографии 4.
Рисунок 4. Обратная сторона платы.
• Некоторым не очень удобный разъём для программирования и кнопка резет. Дотянутся до неё когда внутри плата сложно, но опять же можно отвёрткой (костыли).
• Достаточно высокая цена устройства. Я делал прототипным производством в панели, по этому цена снижена, но один чёрт далека от китайской ардуинки/стмки за 200 руб.
Всем желающим такую штуку себе.
В настоящее время есть 2 таких платы, так что все желающие могу её приобрести за 1700 руб без доставки и аккумулятора 18650. Почему я не высылаю аккумулятор? – дело в почте России. Я был бы счастлив, если бы они пересылали аккумуляторы, хотя первому заказавшему я постараюсь отправить одну 18650 банку сразу с устройством бесплатно.
Связаться со мной можно по почте: netolkomilo@ya.ru
С моей точки зрения о цене: сейчас за эти деньги можно купить оригинальное ардуино или дискавери с китая. Но ни то, ни другое вы не сможете взять с собой на целый день без внешнего обвеса и аккумуляторов. А тут вы получается готовую штуку, в которую можно вставить свою плату и получить очень жёсткую конструкцию, которую можно спокойно носить с собой не переживая, что где-то отойдёт пайка или устройство испытает короткое замыкание.
Ну и на последок распиновка выводов.
Рисунок 5. Распиновка выводов у платы.
Рисунок 6. Схема элементов STM32F103RC_board
Некоторая доработка. Версия 1.0.
Так уж получилось, что готовя плату к первой продаже (не мой вышезапаянный образец) я решил доделать в ней ряд фичей, для потребителя. В итоге получилось следующее:
Рисунок 7. Внешний вид слегка изменённой платы.
С первого взгляда бросаются следующие вещи:
• Нет «гребёнки» PBS-30 для вставки в печатную плату. К моему сожалению тут работает 2 фактора (они у меня закончились и заказчик попросил их не ставить.
• Разъём для программирования сделан другими угловыми выводами. В прошлый раз я тоже хотел использовать такие выводы, но в доступном мне магазине их не было. В итоге, меня случайно занесло на один из московских радиорынков, где я нашёл широчайший выбор данных разъёмов и купил нужных.
• Светодиоды немного другие. К моему сожалению я беру SMD-светодиоды из большой кучи, и не всегда сам знаю какого они цвета. В этот раз это два зелёных и один белый светодиод.
Но дьявол часто кроется в деталях, так оказывается и тут. На данной плате я пробовал разные резисторы в управлении зарядным током. В итоге было выявлено, что микросхема MCP73833 на данной плате нормально держит ток в 800мА и при заряде с 2,5В Li-Ion батареек прогревается до 65-70*С. Конечно, по даташиту она работает с токами до 2А, но я честно пока не представляю как их реализовать на корпусе msop-10. Может быть в следующем корпусе, в котором эта проблема решается лучше, получится вытянуть 2А.
Дополнительной мелкой деталью, которую мало кто вообще заметит, является установка индуктивности от Murata а не её китайского брата близнеца с неизвестным именем. Выглядят они похоже, только данная лучше экранированна. Общий вид микроизменений виден на рисунке 8.
Рисунок 8. Заряд Li-ion и контроллер питания.
Предосторожность.
Во время проведения полной диагностической проверки я спалил один STM32F103RCT6. Как я это сделал:
Я взял обычный мультиметр и ткнулся им в резистор обратной связи. Пр этом TPS63000 видит просадку напряжения на обратной связи и начинает быстро повышать напряжение на своём выходе. В итоге, по проведённому тесту с отпаянным контроллером: напряжение в импульсе вырастало до 7В. При этом контроллер испытывал перенапряжение и умирал.
Забавно происходило потом: по входу на 3,6В контроллер начинал потреблять 0,6А. Это связано с тем, что в TPS63000 встроена защита по току в 2А, Именно данный ток и протекал через убитый микроконтроллер. При этом работоспособность всей оставшейся схемы сохранялась.
Диагностировать данную проблему легко: достаточно подключить индивидуальный измерительный термометр (палец) к контроллеру, и если он начинает прогреваться, то значит он мёртв.
Упаковка отправленной платы
Отсылая данную плату моему коллеге, я решил её упаковать получше, чтобы Почта Р. не сломало всё. В итоге получилось так: