USB на UART (COM-порт) адаптер
В этом выпуске вы узнаете ©:
— Как подключить
IMAX B6 и его клоны к компьютеру
— Как отслеживать динамику зарядки аккумуляторов и
строить графики
— Как настроить GNU
Linux систему для работы с IMAX B6
UPD: позиция на сайте обновилась, поэтому ссылка дана на новый SKU.
Не то, чтобы у меня была крайняя необходимость, но я давно интересовался подключением моей
копии IMAX B6 к компьютеру. Я люблю собирать и анализировать различную статистику, так почему бы не поанализировать, как заряжаются мои аккумуляторы? А тут как раз на BIC'е попался UART адаптер на чипе CP2102, который, по некоторым отзывам, считается беспроблемным для спаривания IMAX B6 и компьютера.
Никакой упаковки, в комплекте только адаптер:
И удобный, но короткий проводок:
Обратная сторона адаптера:
Обозначение выходов:
Кое-где плата плохо промыта, но в остальном, качество очень даже на уровне.
Забегая вперед, скажу, что адаптер заработал сразу и без проблем, поэтому, если вам нужен UART адаптер — берите смело.
Если у вас нет IMAX B6, и вы не планируете его приобретать — дальше можно не читать.
Подключение к компьютеру
Подключение сводится к трем этапам:
1. Настраиваем устройство. Для этого нам нужно в настройках выставить режим подключения USB
2. Подключаем провод, который идет в комплекте, сначала к зарядному
— Разъем два TXD
— Разъем три GND
На адаптере — аналогично:
3. Устанавливаем и настраиваем программу LogView:
Последнюю версию программы можно скачать
здесь
Качаем и устанавливаем. После установки нужно указать в настройках тип устройства, в нашем — случае IMAX B6, и com порт, который эмулируется нашим адаптером.
Запускаем логирование, включаем зарядку и наслаждаемся результатом:
Для пользователей Windows — на этом все. Но так уж повелось, что я не пользуюсь продукцией компании Microsoft уже более пяти лет и начинать пользоваться снова совершенно не собираюсь.
Подключение к GNU Linux
Далее подразумевается, что у вас установлена современная Linux-система, с поддержкой udev и установленным
wine, а вы обладаете минимальными навыками работы в консоли.
Первое, что нам понадобится сделать — организовать легкое подключение адаптера без последующих танцев с бубном.
Итак, нам нужны полные права и скорость порта 9600.
Получаем root доступ, например командой:
sudo -s
Записываем правила udev для нашего адаптера:
echo «SUBSYSTEMS==\»usb\", ATTRS{idVendor}==\«10c4\», ATTRS{idProduct}==\«ea60\», MODE=\«0666\», RUN+=\"/bin/sh -c \'(sleep 50; /bin/stty -F /dev/%k ispeed 9600) &'\"" >> /etc/udev/rules.d/99-custom.rules
Перезагружаем правила udev:
udevadm control --reload
Больше root нам не понадобится — выходим из рутовой консоли.
Подключаем адаптер и смотрим, на какое устройство он повесился.
В моем случае — это
ttyUSB0.
dmesg | tail -1
Oct 6 00:44:44 LaptopFX kernel: [95379.809098] usb 6-1: >cp210x converter now attached to ttyUSB0
Создаем ссылку на com-порт для wine:
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com10
Далее
— используя wine, устанавливаем и запускаем программу
LogView
— выставляем порт
com10, предварительно поставим галку
Linux compatible.
Данные настройки будут справедливы для любой unix-like системы, включая Mac OS X. Основные проблемы, с которыми я столкнулся:
— Недостаточные права на терминальном устройстве. Причем для работы LogView необходимы, также, права на запись, т.е.
0666 решат проблему.
— Скорость терминала должна быть выставлена в
9600
UPD:
Также, есть простейший скрипт декодирования, написанный на perl. После небольшой допилки его можно использовать под собственные нужды.
blog.dest-unreach.be/wp-content/uploads/2012/01/read_serial.pl
blog.dest-unreach.be/wp-content/uploads/2012/01/decode.pl
Использовать примерно так:
perl read_serial.pl /dev/ttyUSB0 | perl decode.pl
Источник:
blog.dest-unreach.be/2012/01/29/imax-b6-charger-protocol-reverse-engineered
На этом все. Надеюсь, обзор окажется вам полезен.
Как получить скидку 5%
Если обзор оказался Вам полезен, и Вы планируете приобрести данный товар, то можете указать при регистрации в поле
Recomender:
kolsys
Скидка будет начислена автоматически.
Еще о скидках
я, (почему-то) надеялся, что наконец-то подробно расскажут о запитке АйМакса от БП компьютера. А то приведенные в интернетах иструкции только путают — нагружать линию 5 В или не нагружать, использовать или не использовать…
Ну а про получение графиков с АйМакса на компьютере у вас получилось рассказать (и показать) очень хорошо, подойдет в качестве пошаговой инструкции для любого «самовара», «чайника» и других «пароприводнЫх». Итого, еще одна черная дыра(несмотря на пол-десятка обзоров) в эксплуатации этого мегакомбайна закрыта. Спасибо.
У меня есть переходник, и по своим наблюдениям могу сказать что иногда в порт выдает странные значения.
Так же хотелось бы у автора спросить, а нету ли нативных средств для снятия статистики под линуксами с imax? У самого зарядки нету, но планирую вот вот приобретать, и было бы полезно узнать, есть ли что-то готовое или писать свое :)
Про скрипты добавил в обзор.
У меня после 10ти часовой балансировки все показания были без провалов и явных ошибок.
Вполне себе работает метеостанция.
Была проблема с периодическими ошибками чтения, но она решилась установкой ферритовых колец.
Попытался отремонтировать — но эта зарядка сломала мне мозг))
Мосфеты, транзисторы поменяны, все проверено максимально тщательно — итог аккумы ниже 12В не заряжаются.
Вот так и покупай оригиналы))
p.s. Сам работаю в сервисе.
Думаю сейчас вот насчет чего, есть сервак линуксовый, снимать статистику им, и забирать по сети, уже в какой нибудь тот же LogView.
Может есть какие идеи по этому поводу? вдруг кто то в эту сторону копал уже, чтобы самому не париться =)
А вот ссылка не открывается :(
Закажу с eBay, по названию обзора находится вариант за $2.58.
вариант в корпусе
но можно сделать самому типа такого
используя термоусадочную трубку
Кстати на обозреваемом, на чипе «Silabs», в самом низу число «1228». На Ебее встречаются: 1226, 1219. Это версия?
У меня вот вопрос, если он эмулирует компорт, то его отлично можно использовать для прошивки роутеров, как TTL кабель, которые не хило стоят даже в интернет магазинах. Я прав?
Пошарил в загашниках, нашел кабель от старого телефона, основной признак — кабель «с коробочкой посредине», воткнул определился как pl2303, вывел RX/TX, прошил роутер, восстановил винт от «мухи Це-Це».
«CP210x_VCP_Win_XP_S2K3_Vista_7»
Может кому поможет.
www.silabs.com/Support%20Documents/Software/CP210x_VCP_Windows.zip
подключил TXD-RXD и все заработало.
RXD это разъем на USB-UART? а на Imax B6 так же средний подключать?
Дальше действую по мануалу, но в программе нет данных никаких (windows устройство увидел, com порт появился)
Кстати ссылка на программу LogView неверная.
попробовал по совету отпаять R1, тоже не помогло…
PS Светодиод data вроде моргает
на контроллере выпаиваем или выламываем оба светодиода (Data, PWR)
gnd ImaxB6 (правый контакт, возле изгиба) вешаем на gnd контроллера
средний контакт на RXD контроллера
настраиваем нужный com порт контроллера в windows и запускаем зарядку/разряжение аккумулятора
Все работает!
Выдает ошибку: bash: ошибка синтаксиса около неожиданной лексемы `('
Что делать? Подскажите
Может что то с TX IMaxB6(На заряднике активирован пункт меню USB)? Как проверить?
Какое напряжение должно быть в TX выходе ІmaxB6 во время работы с активированым пунктом меню «USB»)?
см. выше
Причем на крайнем левом в обоих режимах присутствует +5В, а на среднем 0 ;( На среднем смотрел осциллографом — сигнала нет
На левой картинке нет детальки, может там должно быть какое то сопротивление или кондер?
— Разъем два TXD
— Разъем три GND
тут правильно, только на АДАПТЕРЕ нужно ВТЫКАТЬ
--RXD in то есть во вход его но не как не в TXD (это выход с него)!!! ПОПРАВЕТЬ НУЖНО!