Как зарядить аккумулятор ноутбука dell
Как можно зарядить аккумулятор ноутбука без него самого
Те, кто часто ездит на отдых или в командировки, знают, как иногда бывают полезны запасные аккумуляторы для ноутбука. При эксплуатации лэптопа без подключения к розетке энергия аккумулятора быстро заканчивается и вот тут очень выручит ещё одна батарейка. Но вот как заряжать все эти дополнительные аккумуляторы? Ведь по очереди вставлять и вынимать их из ноутбука ─ это плохая идея. Корпус аккумуляторной батареи и отсек для неё на ноутбуке выполнены из пластика, а значит, при постоянной смене батарей всё это быстро износится. Сегодня мы поговорим о том, как зарядить аккумулятор ноутбука без ноутбука. Сразу скажем, что все описанные манипуляции, вы делаете на свой страх и риск, поскольку безопасная зарядка аккумулятора может проводиться только в ноутбуке или с помощью фабричных зарядных устройств.
В чём сложности зарядки аккумулятора ноутбука без ноутбука?
Как же обойти ноутбук при зарядке его аккумулятора? Как вы, наверное, знаете, на разъёме аккумуляторной батареи ноутбука имеется множество контактов. В большинстве случаев это 6, 7 или 9 выводов. Все они предназначены для контроля ноутбука и операционной системы за тем, как идёт зарядка. С первого взгляда даже и непонятно как поставить такой аккумулятор на зарядку. Это не автомобильная АКБ, где всего два вывода и ошибиться невозможно.
На различных форумах об электронике можно встретить схемы, предназначенные для зарядки некоторых аккумуляторов различных производителей. Но найти что-то для вашей АКБ практически нереально.
Между тем, большое количество выводов на контактной площадке – это не случайность. Все они имеют своё назначение. Аккумуляторная батарея состоит из нескольких литиевых аккумуляторов, которые соединены последовательно и параллельно.
Литиевые аккумуляторы в результате перезаряда легко могут воспламениться и даже взорваться. Если их подвергнуть глубокому разряду, то они могут прийти в негодность. Поэтому в аккумуляторной батарее ноутбука имеется многоуровневая защита и контроль напряжения каждого литиевого элемента. Разрядом и зарядом литиевых АКБ управляет контроллер. Это плата, которая находится внутри корпуса батареи.
Все литиевые элементы, из которых состоит аккумулятор имеют разброс по значениям параметров. В случае последовательного соединения их зарядка будет идти неравномерно. В результате они зарядятся до различного напряжения. Это недопустимого для элементов литиевого типа. Поэтому и предусмотрено множество контактов, среди которых есть выводы, позволяющие вести контроль и зарядку индивидуально каждого элемента. Поэтому с зарядкой аккумулятора без ноутбука не всё так просто. Вам также может быть интересна статья о том, как включить телефон без батареи.
В процессе разряда BMS драйвер контролирует степень разрядки литиевых аккумуляторов и при определённом напряжении отключает батарею. Это предусмотрено для того, чтобы аккумулятор не испытывал глубокого разряда.
В общем, вопрос о том, как зарядить аккумулятор без ноутбука меня заинтересовала и я стал копать в этом направлении. К сожалению, информации в интернете по этой теме крайне мало. Просмотрел все ролики на Youtube по этой теме. Нашёл похожую проблему, где автор объясняет, как зарядить аккумулятор от ноутбука Asus без самого лэптопа. Ссылку на видео вы можете найти в тексте статьи или в блоке «Видеоматериалы по теме» в самом низу материала. Дополнительно можете прочитать о том, почему мигает индикатор заряда батареи ноутбука Asus.
Описываемый в этом видео, аккумулятор Asus имеет коннектор с 9 контактами. Автор ролика выяснил, что по два крайних контакта с обеих сторон – это 2 плюса и 2 минуса. Три контакта посередине предназначены для считывания информации по 3 парам элементов, из которых состоит аккумулятор. Оставшиеся два контакта отвечали за включение и отключение аккумуляторной батареи ноутбука. Вот их и нужно было замкнуть напрямую, чтобы зарядить аккумулятор без ноутбука.
Теперь к моей истории. Мне нужно было зарядить вышеописанным способом аккумулятор от ноутбука Lenovo IdeaPad Z565. Что из этого вышло, читайте ниже.
Как зарядить аккумулятор ноутбука напрямую?
Что потребуется для зарядки аккумулятора без ноутбука?
Для того чтобы зарядить аккумулятор без ноутбука потребуются следующие материалы и инструменты:
адаптер питания. Это может быть штатный адаптер питания лэптопа или любой другой, у которого напряжение превышает номинал батарейки вашего ноутбука. Мощность должна быть 60─90 ватт. В моём случае номинал составляет 11,1 вольта. Поскольку у меня в наличии был штатный адаптер, я его и использовал;
Процесс зарядки аккумуляторной батареи ноутбука напрямую
В моём случае проблема заключалась в том, что аккумуляторная батарея ноутбука Lenovo IdeaPad Z565 имеет коннектор для подключения к ноутбуку с 7 контактами. Сколько я не рыскал по интернету, ничего разумного по этому разъёму не нашёл.
В основном только общая информация, разборка аккумуляторных батарей и т. п. Ничего, чтобы помогло по делу. Коннектор выглядит следующим образом.
Коннектор аккумулятора Lenovo IdeaPad Z565
Для начала разрядил батарею прямо в ноутбуке пока он не отключился. Отсоединил АКБ и мультиметром измерил напряжение на положительном и отрицательном выводах. Оно составляло 10,5 вольта. Кстати, обязательно установите полярность. На моей батарейки обозначений «+» «-» не было. Это можно сделать тем же мультиметром при замерах напряжения. Если значение выдаётся с плюсом, то полярность подключения щупов правильная. Если минус – полярность обратная.
Замер напряжения батареи
Расстояние между выводами коннектора небольшой и стандартный щуп мультиметра не влезал. Для удобства я изолентой прикрутил к щупам иголки.
Щупы мультиметра с иголками
Поэтому я решил для начала ограничить ток значением 1,5 ампера. Поэтому в разрыв плюсового провода вставил сопротивление 60 Ом. Для этого я взял построечный резистор, припаял к его выводам провода и, используя мультиметр, выставил сопротивление 60 Ом.
Подстроечный резистор с припаянными проводами
Подключение проводов к выводам аккумулятора ноутбука
Плюс и минус с адаптера питания
На фото ниже можете посмотреть как это выглядит в реальности.
Провода с адаптера питания, закреплённые изолентой
Схема для зарядки аккумулятора без ноутбука
А так система выглядела в реальности.
Система для зарядки аккумулятора без ноутбука
Система для зарядки аккумулятора без ноутбука
Система для зарядки аккумулятора без ноутбука
Позже на некоторых форумах по радиоэлектронике нашел информацию о том, что такое поведение говорит о срабатывании защиты BMS контроллера.
Тут может быть два варианта: напряжение перестает расти или возрастает до номинального напряжения адаптера питания. После этого увеличение напряжения должно прекратиться. Если оно продолжает расти, то контроллер не исправен или отсутствует. Такие батареи этим способом заряжать то же можно, но если пропустить момент окончания зарядки, может получиться перегрев и возгорание литиевых элементов.
Ниже в таблице приведены пороговые напряжения при зарядке батарей с различным номиналом.
Номинальное напряжение батареи, В | Максимальное напряжение при зарядке, В |
---|---|
7,4 | 8,2-8,4 |
10,8 | 12,3-12,6 |
14,8 | 16,4-16,8 |
Номинальное напряжение батареи, В | Максимальное напряжение при зарядке, В |
У вас, наверное, возник вопрос: «А зачем резистор?». Да, можно подключить провода напрямую от адаптера и он будет заряжать на полную. В моём случае это объясняется соображением сохранить батарейку в целости и сохранности. Да и всем, кто будет пробовать этот способ, советую подключать АКБ через резистор. Ведь если вдруг по каким-то причинам скакнёт ток, то выгорит резистор, а батарейка будет в безопасности.
Что в итоге? Мы выяснили, что зарядить аккумулятор без ноутбука можно и это не очень сложно. Кроме того, мы узнали, что в аккумуляторе Lenovo IdeaPad Z565 отсутствует включение и отключение батареи. У него 7 выводов на коннекторе против 9 у аккумуляторов с защитой. Я не уверен в том, что такое же положение дел на всех батареях с 7 контактами. Поэтому перед тем как заряжать так свой аккумулятор ноутбука, выясняйте распиновку.
Вернуться к содержанию
Несколько способов зарядить батарею ноутбука
В наше время никого не удивишь различной мобильной электроникой. А ноутбуки распространились уже давно и стали спутниками многих людей. Если выйти на улицу, то обязательно попадётся человек с ноутбуком в кафе, парке, метро и т. п. Одни используют лэптоп для развлечений, другие с его помощью узнают новости и выполняют работу. Многие берут ноутбук на работу, в отпуск, командировку. Основным преимуществом ноутбука является его мобильность. Оно обеспечивается аккумуляторной батареей ноутбука. Чтобы ноутбук можно было брать с собой, аккумуляторную батарею нужно зарядить. Причём зарядку нужно выполнять правильно. В этой статье мы поговорим о правильной зарядке ноутбука, а также о том, как зарядить аккумулятор без штатного зарядного устройства.
Какие аккумуляторные батареи установлены в ноутбуках?
Во всех современных лэптопах работают литий─ионные или литий─полимерные аккумуляторные батареи. Они уже давно потеснили щелочные аккумуляторы типа Ni─Cd и Ni─MH.
Благодаря этим плюсам литиевые батареи стали доминировать в потребительской электронике, а также в некоторых портативных инструментах. Правда, большая часть мобильного электроинструмента по-прежнему работает на щелочных аккумуляторах. Литиевые не могут их заменить, поскольку они не в состоянии обеспечить высокий ток разряда.
Литиевые элементы в аккумуляторной батарее ноутбука
Средний срок службы литиевой батареи составляет 400─500 циклов заряд─разряд. По времени это составляет 3─4 года. Чтобы аккумулятор полностью отработал свой срок эксплуатации, нужно соблюдать ряд требований по его зарядке. Поэтому сегодня мы будем разбираться, как правильно заряжать аккумулятор ноутбука.
Рекомендуем также прочитать материал о том, как зарядить ноутбук без зарядки.
Как правильно зарядить батарею ноутбука?
В разделе «Электропитание» можно сделать все настройки, касающиеся функционирования батареи
И ещё один совет, который не касается зарядки, но очень важен. Не допускайте перегрева аккумуляторной батареи. Если вы нагружаете свой лэптоп ресурсоёмкими приложениями и он сильно греется, купите для него охлаждающую подставку. В противном случае тепло внутри корпуса, выделяемое комплектующими, будет нагревать АКБ. Это крайне нежелательно для литиевых аккумуляторов.
Как правильно зарядить аккумулятор ноутбука без зарядного устройства?
Бывают такие ситуации, когда требуется зарядить батарею ноутбука, но с собой нет зарядного устройства или вы находитесь вдали от электрических сетей. Ниже описываются несколько способов зарядить аккумулятор лэптопа без зарядного устройства.
Вас мучает вопрос, можно ли использовать ноутбук без батареи при питании от сети? Тогда читайте статью по указанной ссылке.
Зарядка батареи ноутбука в автомобиле
Такой вариант зарядки аккумулятора лэптопа подойдёт для тех, кто проводит много времени в автомобиле. В автомобиле нет розетки и генератор в бортовой сети вырабатывает напряжение не более 14 вольт. Но ситуацию легко можно исправить, купив портативный инвертор.
Автомобильный инвертор для зарядки
Эти устройства выполнены под прикуриватель преобразуют напряжение в несколько вариантов на выходе. В идеале берите инвертор, который сможет обеспечить выходное напряжение 20 вольт (у большинства распространённых ноутбуков номинал батареи 19 вольт). Существуют инверторы на 110 и 220 вольт. Лучше брать устройство с выходом под силовой разъём лэптопа. Если заряжать через USB, то из-за ограничений этого интерфейса по току зарядка сильно растянется по времени.
К минусам также стоит отнести тот факт, что зарядить батарею ноутбука через инвертор можно только на работающем двигателе. То есть, вариант идеально подходит для зарядки в пути.
Солнечная батарея
Солнечная батарея для зарядки ноутбука пригодится на природе. Это достаточно интересный вариант продлить время автономной работы лэптопа.
Солнечная батарея для ноутбука
К плюсам этого метода стоит отнести удобство, мобильность и бесплатную энергию солнца. Среди недостатков нужно отметить необходимость ясной погоды и яркого солнца. В противном случае заряд будет идти медленно. Кроме того, солнечная батарея годится только для зарядки батареи лэптопа. Работать от неё не получиться. Поэтому вариант годиться в случае длительного нахождения на природе.
Вернуться к содержанию
Зарядка от внешнего аккумулятора
Внешний аккумулятор – это портативное устройство, которое часто называют power bank. В среднем подобные устройства могут подарить вам ещё 2─3 часа дополнительной работы ноутбука.
Как правильно заряжать аккумулятор ноутбука
Аккумуляторная батарея любого ноутбука имеет ограниченный срок службы. Редко когда он превышает 5 лет. Однако у многих пользователей портативных ПК батарея не служит и этот срок, что, как правило, связано с нарушением требований эксплуатации. Поэтому каждому владельцу лэптопа нужно знать, как правильно заряжать аккумулятор ноутбука и эксплуатировать его. Это поможет значительно продлить срок службы АКБ.
Типы аккумуляторов ноутбука
Чтобы разобраться, как правильно зарядить аккумулятор ноутбука, нужно в первую очередь определить его тип. Современные батареи бывают таких типов:
Как правильно заряжать батарею ноутбука
Соблюдение рекомендаций производителя по эксплуатации и зарядке батареи поможет добиться ее максимальной долговечности. Одно из главных требований – использование оригинального адаптера. Например, если вас интересует, как правильно заряжать аккумулятор ноутбука Леново, используйте «родной» адаптер.
Отдельно можно привести рекомендации по зарядке АКБ нового гаджета и в ходе его повседневной эксплуатации.
Новый ноутбук
В сети можно найти массу советов о том, как заряжать новый аккумулятор ноутбука. Обычно приводятся рекомендации со специальным режимом зарядки, который нужно выдерживать несколько первых циклов, чтобы «раскачать» батарею. В действительности эти советы, как правило, устаревшие. Современные модели Li-Ion аккумуляторов, которые используются на лэптопах, не нуждаются в «раскачке». Поэтому ставить ПК на зарядку можно в любой удобный момент, как и включать его. Не обязательно ждать полной разрядки батареи, чтобы подключать адаптер.
Перед тем как заряжать аккумулятор ноутбука в первый раз, нужно убедиться в исправности комплектного адаптера. Только после этого подключайте его к устройству.
При первой зарядке рекомендуется зарядить батарею полностью. После чего отключить ЗУ и замерить время до полного разряда. Это поможет сориентироваться в реальном ресурсе автономной работы нового гаджета и оценить заявленные производителем характеристики.
При ежедневной эксплуатации
При эксплуатации батареи ноутбука нужно учитывать ее ограниченный ресурс. Каждый аккумулятор имеет определенное число циклов зарядки-разрядки, по достижении которых емкость АКБ значительно уменьшится и будет быстро падать дальше. В результате нормально работать на ноуте без подключения к электросети уже не получится.
Чтобы максимально оттянуть этот момент, нужно иметь представление, как заряжать аккумулятор ноутбука и эксплуатировать его в бережном режиме. В частности, не следует доводить батарею до полной разрядки, после чего полностью заряжать его. Подключать адаптер для зарядки рекомендуется при снижении уровня заряда до 20 %.
Можно ли ноутбук всегда держать на зарядке
Часто владельцы лэптопов, при работе дома или в офисе постоянно отключают зарядное устройство. Считается, что если оставлять адаптер включенным при 100 % зарядке, батарея будет перезаряжаться и быстрее выйдет из строя.
На самом деле, все современные для ноутбуков оснащаются встроенными контроллерами, которые управляют процессом зарядки. Когда аккумулятор заряжается на 100 %, контроллер переключает питание с батареи непосредственно на материнскую плату. В этом режиме АКБ остается незадействованной в работе и автоматически включается только при отключении адаптера.
Поэтому ничего плохого с аккумулятором не станет, если лэптоп будет постоянно подключен к электросети. Наоборот, в этом режиме нагрузка на батарею сокращается, что в целом продлевает ее ресурс.
Как правильно хранить аккумулятор ноутбука
Владельцам лэптопов со съемной батареей нужно знать не только, как зарядить новый аккумулятор ноутбука и заряжать его при дальнейшей эксплуатации. Важно также понимать, как правильно хранить АКБ. Если возникает необходимость длительного хранения источника питания отдельно от гаджета, то его следует зарядить до уровня не менее 80 %.
Это нужно потому, что аккумулятор постепенно разряжается, даже в отключенном состоянии. Если он уйдет в глубокий разряд, то его восстановление с небольшими шансами смогут выполнить только специалисты. Поэтому важно, чтобы он имел достаточный запас заряда. При длительном хранении рекомендуется периодически подключать АКБ и проверять уровень зарядки, а при необходимости подзаряжать ее.
Важно соблюдать условия хранения батареи. Потеря заряда существенно ускоряется при повышенной влажности воздуха. Также емкость может теряться при нагреве аккумулятора, например, если его оставить на солнце или рядом с отопительным прибором. Крайне отрицательно на него влияет продолжительное воздействие отрицательной температуры.
Сколько времени нужно заряжать батарею
Как было сказано, время зарядки современного ноутбука не ограничивается благодаря контроллеру, который управляет процессом. Минимальное же время для полной зарядки источника питания можно узнать путем деления емкости АКБ на номинальную силу тока зарядного устройства, и добавив к полученному значению поправочный коэффициент в пределах 0,1-0,2 для учета потери КПД.
Так, аккумулятор емкостью 9 000 мАч (9 Ач) от зарядного устройства с номинальным током 3 А будет заряжаться в среднем от 3 часов 18 минут до 3 часов 36 минут.
Заряжаем ноутбук Dell XPS от любого адаптера питания
Не так давно я решил произвести обновление своего ноутбука и приобрёл на Ebay Dell XPS 13 9350. Цена вышла очень приятная (в 2 раза дешевле, чем в отечественных магазинах, отлично проходило в лимит 1000 евро, при этом комплектация максимальная, а состояние «New»). Ноутбук мне очень понравился (стоит ли говорить — туда отлично встал Linux без каких-либо танцев с бубном кроме перевода SSD из режима RAID в режим AHCI одной галкой в UEFI). И я даже отлично попользовался им 2 недели, а потом… а потом блок питания ноутбука перестал работать.
Конечно, я немного огорчился, но блок питания вещь не такая уж дорогая (как относительно стоимости ноутбука, так и относительно выгоды от заказа на ebay), а пытаться что-то выяснять с продавцом из-за такого пустяка — лишняя трата времени, так что я отправился в местный компьютерный магазин. Тут меня ждало первое разочарование — с подходящим штекером БП не нашлось. Я отправился в следующий магазин, но и там меня постигла неудача. В таком случае я рассудил, что можно позаимствовать штекер и кусочек провода от неисправного БП и сделать переходник, поэтому приобрёл произвольный БП с подходящей мощностью и выходным напряжением, а также совместимый с ним штекер (не резать же провод у нового БП).
Однако всё было не так просто…
Когда я вернулся домой, меня ждало второе разочарование — после разреза провода оригинального БП оказалось, что там целых 3 жилы (2 «экрана» и центральный провод). У меня не осталось выбора — я распилил оригинальный БП (его конструкция такова, что альтернатив не особо то было). Исходя из обозначений на его печатной плате выяснилось, что внешний «экран» это GND, внутренний «экран» это VOUT (то есть 19 вольт), а центральный провод — ID.
Для начала я подключил GND и VOUT кабеля соответствующим образом к новому БП, а ID пин остался висеть в воздухе. Ноутбук увидел блок питания и перешёл на внешнее питание, однако при загрузке выдал предупреждение, что адаптер питания какой-то непонятный и батарея «может не заряжаться». Обычно на практике такая фраза означает, что она не «может», а обязательно не будет заряжаться. Так и вышло.
Разумеется, мириться с подобной ситуацией я не собирался. Самый очевидный вариант — купить оригинальный адаптер Dell. Однако, во-первых, это ожидание доставки (в моём городе таких нет), во-вторых, дополнительные финансовые затраты (я уже купил один блок питания, а оригинальный стоит ещё и дороже в 2 раза), в-третьих, приобретённого адаптера вполне достаточно для полноценной работы ноутбука (он даже немного мощнее), зачем его менять. В то же время можно освежить свои знания микроконтроллеров и получить полезный опыт.
Первое куда я отправился — был Google. По запросу «dell power adapter id» я нашёл статью. В принципе, на этом можно было остановиться, однако, во-первых, мой ноутбук более новый и даже другой линейки, так что потенциально Dell мог что-то изменить, а, во-вторых, автор использовал MSP430, которого опять же нет в моём городе и надо заказывать и ждать.
Для начал я произвёл первый эксперимент — соединил GND и ID пины старого адаптера с соответствующими линиями кабеля (при этом питание по-прежнему поступало от нового), а затем подключил его к ноутбуку. Эксперимент удался — ноутбук распознал адаптер как совместимый и начал заряжаться. Таким образом я получил возможность заряжать аккумулятор, пока не найду более подходящее решение. При этом определение параметров адаптера происходит лишь в момент подключения, после этого плату старого адаптера можно отключить.
Из статьи следует, что в адаптере питания установлена микросхема с интерфейсом 1wire, что отлично соотносится с количеством линий, используемых для идентификации. К счастью, у меня имеется Bus Pirate, который позволяет удобно общаться с устройствами в том числе по этому протоколу. Поскольку, земли USB и адаптера питания соединены, когда последний подключен, мне осталось лишь подключить линию ID к пину MOSI BusPirate (именно он используется в режиме 1wire). Кстати, ещё я приметил, что ноутбук подтягивает линию ID к 3.3В, что потом повлияло на выбор напряжения питания микроконтроллера-эмулятора.
Открываем любую программу для работы с последовательным портом (BusPirate отображается в системе именно как он) и вводим команду «m 2» для переключения в режим 1wire, а затем выполняем команду «[ 0x33 r:8». Данная команда реализует сброс шины, отправляет байт 0x33 (считать адрес единственного устройства на шине), а затем принимает 8 байт.
В результате я получил: 0x09 0x52 0x8D 0xED 0x65 0x00 0x00 0xEF, что соответствует 1wire EEPROM на 1024 бит (128 байт), исходя из первого байта адреса, который определяет семейство. Это может быть, например, DS2502 (такое же предположение сделал и автор статьи выше, что показывает, что мы на верном пути).
Открываем даташит (или читаем англоязычную статью внимательнее) и узнаём, что для чтения используется команда 0xF0, за которой следует 2 байта смещения (сначала младший байт, затем старший). Пробуем эту команду на нашем подопытном: «[ 0xCC 0xF0 0x00 x00 r:130». 0xCC перед командой означает «игнорировать адрес» и позволяет не указывать адрес устройства (тогда бы надо было отправить байт 0x55 и за ним 8 байт адреса), если оно одно на шине. Ответом является последовательность из 130 байт:
0x8D
0x44 0x45 0x4C 0x4C 0x30 0x30 0x41 0x43 0x30 0x34 0x35 0x31 0x39 0x35 0x30 0x32
0x33 0x43 0x4E 0x30 0x43 0x44 0x46 0x35 0x37 0x37 0x32 0x34 0x33 0x38 0x36 0x35
0x51 0x32 0x37 0x46 0x32 0x41 0x30 0x35 0x3D 0x94 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xCA
Первый байт — CRC-8 от 3 байт команды, затем следует 128 байт данных из EEPROM, последний байт — CRC-8 от данных EEPROM. Можно воспользоваться любой утилитой проверки CRC-8, чтобы убедиться, что она верная. Это окончательно доказывает, что мы верно определили требуемый способ взаимодействия с адаптером питания.
Этот массив байт станет гораздо понятнее, если трактовать байты в нём как ASCII коды (последующие 0xFF являются пустыми ячейками EEPROM и неинтересны нам).
Назначение большинства байт становится очевидно, если соотнести их с шильдиком на БП, проблема возникла лишь с последними двумя байтами, однако после некоторых исследований (спасибо plm за предоставленные дампы других БП) я выяснил, что 2 байта после серийного номера — CRC-16/ARC от всех предыдущих байт.
Таким образом, формат описания БП имеет вид:
Смещение | Размер | Содержимое | Описание |
0 | 4 | DELL | Метка производителя |
4 | 4 | 00AC | Тип адаптера (AC — адаптер переменного тока, что в этом поле отдают аккумуляторные адаптеры, мне неизвестно) |
8 | 3 | 045 | Мощность в ваттах (45) |
11 | 3 | 195 | Напряжение в десятых долях вольта (19.5В) |
14 | 3 | 023 | Ток в десятых долях ампера (2.3А) |
17 | 23 | CN0CDF577243865Q27F2A05 | Серийный номер |
40 | 2 | 0x3D 0x94 | Контрольная сумма CRC-16/ARC (сначала младший байт, затем старший) первых 40 байт |
Теперь у нас имеется 2 варианта действий. Можно купить готовую микросхему 1wire eeprom (ту же самую DS2502), либо выпаять имеющуюся из адаптера питания. На самом деле это предпочтительный вариант, ибо он гарантированно сработает, к тому же обладает минимальной трудоёмкостью и максимальной компактностью (можно легко уместить всё в штекер питания). Однако я пошёл по более сложному пути. Выпаивать микросхему из БП мне не хотелось, потому что я боялся её повредить и вообще лишиться возможности заряжать аккумулятор. Приобретать новую — опять же ждать доставки, пусть даже несколько дней.
При прошивке следует настроить фьюзы на использование внутреннего RC-генератора на 8 МГц без делителя. При желании можно также подключить внешний кварцевый резонатор на 8 МГц (потребуется изменить фьюзы соответствующим образом), но лично у меня всё работает и без него.
ID линию штекера следует подключить к пину PB2 (именно он обладает функционалом внешних прерываний на ATTINY85), земли соединить. Сначала я попробовал использовать паразитное питание, но несмотря на применение режима энергосбережения, его недостаточно, поэтому нужно внешнее. 19В явно многовато для AVR, поэтому его нужно понизить (до 3.3В, потому что ноутбук ожидает именно такие уровни). Поскольку энергопотребление очень мало (1 мА большую часть времени, 3 мА в течении нескольких миллисекунд в моменты запроса, оценка очень грубая по даташиту на МК, в реальности скорее всего ещё меньше), можно ограничиться линейный стабилизатором. Я применил 78L33. При этом я не ставил стабилизирующие конденсаторы на питание для увеличения компактности, однако в случае проблем рекомендую их поставить.
К сожалению, результат так и не поместился в корпус штекера, поэтому получился не очень презентабельный (но за счёт большого количества слоёв синей изоленты достаточно жёсткий, чтобы минимизировать вероятность выхода из строя из-за механических повреждений).
Ноутбук подвоха не заметил и радостно начал заряжаться, рапортуя о 45 ваттном источнике питания (каковым был стандартный). Я попытался изменить отдаваемые параметры на 65 ватт, 3.5 ампера, исходя из реальных параметров нового БП, но мне это не удалось — ноутбук перестал определять зарядник как оригинальный. То ли имеется какой-то белый список параметров питания, то ли я не подправил какую-то дополнительную контрольную сумму. Впрочем, моя задача в любом случае была решена.
При разработке прошивки я активно использовал вот эту статью про 1wire. На мой взгляд, в ней всё описано достаточно просто и подробно.
И напоследок несколько предупреждений:
1. Чисто теоретически подобные манипуляции могут привести к выходу ноутбука из строя или хотя бы лишению гарантии (с другой стороны, откуда производитель узнает о новом БП, если не писать статью об этом на гиктаймс и отдать им старый?). На практике я по собственной глупости подал 19В на линию ID. Ничего не произошло. Совсем ничего (ноутбук даже не выключился аварийно, как бывает при КЗ на USB). Но вам лучше не повторять моих ошибок и быть более аккуратными.
2. Я бы не советовал подключать адаптер питания с меньшей мощностью, чем указано в содержимом EEPROM. Вероятность повредить ноутбук мала, но вот адаптер, если превышения мощности не хватит для срабатывания защиты сразу, будет медленно перегреваться, пока не выйдет из строя (а тут уже всякое может быть). Адаптер должен быть такой же по характеристикам, либо мощнее (выходное напряжение же ОБЯЗАТЕЛЬНО должно совпадать с оригинальным, либо отличаться не более, чем на 0.5В, причём лучше в меньшую сторону, чем в большую).
3. После замены БП убедитесь, что ноутбук таки нормально заряжается. Если нет, то возможно два варианта — либо обман механизма идентификации БП не сработал (но это будет видно и в BIOS), либо нужно было округлять напряжение не в меньшую сторону (19В), а в большую (20В). Если не обратить на это внимание, то аккумулятор может продолжить медленно разряжаться и выйти из строя.
Также было бы интересно услышать рекомендации по оптимизации моего кода и идеи, что же могут означать остальные байты в EEPROM. Сам я подумываю о том, чтобы когда-нибудь переделать всю схему на маленькой печатной плате и SMD-компонентах, чтобы она таки умещалась внутри штекера.