Ремонт шуруповерта Интерскол(Li-ion)

Posted by Nosaer | Posted in , , ,

    В результате попадания влаги в аккумулятор шуруповерта, коррозия постепенно разъела плату балансировки.
    Пытался восстановить видимые поврежденные участки перемычками и заменой неисправных элементов, но попытки не увенчались успехом. Грешу на какое нибудь переходное отверстие, коих на плате немерено. Да и сама плата визуально выглядит не очень. Огромное количество всевозможных элементов. На основных микросхемах спилили маркировки, огромное количество переходных отверстий. Схему найти не смог, а без схемы на этой плате разобраться так и не смог.  На самом сайте Интерскола, сообщают о не ремонтопригодности и предлагают купить новый аккумулятор.
    Аккумулятор в моем шуруповерте работает от 5 литиевых элементов типоразмера 18650 емкостью 1300 мАч каждый, от производителя HighStar. После 4 лет активной эксплуатации к элементам особых нареканий не было, но все же решил заменить на новые: LitoKala HG2 на 3000мАч. Элементы необходимо выбирать высокотоковые, я взял на 30 Ампер.
    На всеми известном китайском сайте нашел плату балласта на 5 элементов. Плата не большая, тем самым хорошо уместилась в родной корпус.
При желании можно найти и на 4 элемента и на 3 элемента и.т.д.
    В моем случае аккумулятор имеет 3 вывода. Красный и черный используются когда аккумулятор подключен к шуруповерту. Желтый и черный используются для зарядки аккумулятора.
    В зависимости от производителя, если верить форумам, может быть всего 2 провода. Либо так же три, но третий сигнализирует об окончании заряда, при превышении порогового значения напряжения либо температуры.
    Производитель платы балласта рекомендует 2 схемы подключения.
Для трехпроводного подключения:
И для двухпроводного подключения.
    В моем случае, подключить по первой схеме не получилось, так как у меня на  выводе для зарядки  21 Вольт, а на плате балласта вывод для подключения зарядки управляется по земле и должен иметь отрицательный потенциал. Поэтому решил P- и  C- замкнуть перемычкой, и соединить желтый и красный провода на разъеме аккумулятора.
    Необходимо уделить внимание на соединение между собой литиевых элементов. Перемычки с маленьким сечением легко прожгутся при первом же включении шуруповерта. Так же желательно сильно не перегревать элементы, а по возможность пользоваться контактной сваркой. Если контактной сварки нет, то понадобиться хороший флюс, который позволит подпаяться к элементам. Я использовал флюс: Kingbo RMA 218
    Во время зарядки аккумуляторов, на плате балласта по мере заряда будут загораться светодиоды. Когда загорятся все, аккумулятор будет заряжен полностью. В моем случае, Через минуту после того как загорелись все светодиоды, они все погасли и ток заряда перестал на них поступать. Об этом собственно сигнализировал и сам зарядник, на котором потух светодиод процесса зарядки.
    После первой зарядки желательно проверить прекращается ли подача тока на элементе по завершению заряда. У товарища был случай, когда один MOSFET пробило, и он продолжал заряжать аккумуляторы.
    Аналогичным способом можно переделать шуруповерт на NiMh аккумуляторах, под литье. Но тогда придется еще и менять само зарядное устройство.

STM32CubeProgrammer на замену ST-LINK Utility

Posted by Nosaer | Posted in , , ,

     В одной из моих разработок, служебные данные хранятся во внутренней Flash памяти микроконтроллера STM32. Периодически возникает необходимость, заменить одно устройство на другое, либо обновить прошивку. В этом случае, все служебные данные и настройки затрутся.
    Чтобы после перепрошивки или замене, новое устройство работало с теми же параметрами, что и предыдущие я решил вручную изменять все необходимые для меня значения по заданным адресам Flash памяти, благо их не так много.
    Подобная возможность есть в ST-LINK Utility. Просто подключаемся к устройству, забиваем необходимый адрес, загружаем страницу и в ручную двойным щелчком правим необходимые байты.
    К моему удивлению, подобное я смог провернуть только с контролером STM32F407, на моей отладочной плате Discovery.  Непосредственно в моих же устройствах используется STM32F030 и ST-LINK Utility наотрез отказывается править Flash в данном контроллере. Причем есть возможность изменять данные на N'ом количестве первых страниц, а на более старших страницах вадает ошибки: "Error occured during memory writing".
    В течении нескольких дней перелистывал мануалы, и менял настройки в ST-LINK Utility, задавал вопросы на форумах, но так и не смог реализовать задуманное. Но буквально дней 10 назад в ленте увидел анонс STM32CubeProgrammer. Название заинтересовало, к тому же я активно использую STM32CubeMX. Да и из описания следовало, что это своеобразная альтернатива ST-LINK Utility.
    Стянул установочник с официального сайта. Перед установкой попросила обновить Java до последней версии и предложила дополнительно поставить Trusted Package Creator.
После установки видим весьма дружелюбный и понятный интерфейс:
    Программатор моментально определился, нажимаю Connect и программа мне выдает ошибку, в которой говорит, что я использую старый программатор. Меняю китайский ST-Link на ST-Link, что стоит на плате Discovery, результат тот же.  Хотя прошивку на самом программаторе обновлял через ST-LINK Utility буквально месяц назад.
    Нажал  Firmware Upgrade, пару раз попросили переподключить программатор, и все. Свежая прошивка в программаторе. Нажимаю еще раз Connect, происходит подключение уже к моему устройству.
    На вкладке Device Memory загружается Flash моего контроллера. Первым же делом перехожу по интересующему меня адресу и пытаюсь изменить необходимые мне ячейки. И о чудо, у меня получается. Никаких ошибок, все данные в устройстве.
    STM32CubeProgrammer более читабельный интерфейс, в сравнении с той же ST-LINK Utility.  Так сказать все на виду. И что больше всего мне понравилось, так это описание всех Option Byte. Если в ST-LINK Utility мы видим просто окно со всякого рода значениями, и чтобы разобраться в них нужно лезть в документацию. То здесь напротив каждого значения есть краткое описание.
    И еще одним преимуществом для меня я считаю возможность выбора из всплывающего списка, программатора, с которым в данный момент необходимо работать. На тот случай, если их подсоединено несколько штук. В ST-LINK Utility, такой возможности не было и периодически у меня возникала путаница.
     П.С. Позже пробовал повторить тоже самое заново в ST-LINK Utility, думал возможно это как то связано с прошивкой программатора, но так ничего у меня не получилось.