 |
PowerGood Питание в норме!
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Пт Май 07, 2010 7:56 pm Заголовок сообщения: Программа для считывания данных из батарей |
|
|
Предлагаю вниманию сообщества программу для считывания данных из батарей под ОС Linux. Написана с использованием исходников unicorn. Я не программист, сделал как смог, так что за "индийский код" пинать бесполезно.
В архиве исполняемый файл report.run, исходники и файл с примером отчёта. Принимается критика и предложения по усовершенствованию. Никаких ограничений по распространению и использованию программы нет.
Думаю, программа будет полезна при ремонте батарей на чипе M37512, а также для диагностики батареи теми людьми, кто не признаёт других ОС, кроме UNIX-подобных и ради запуска демки SBWorkshop или BE2Works устанавливать Windows не хочет. _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Чт Авг 26, 2010 2:18 pm Заголовок сообщения: |
|
|
Прикольно написано, без единого коментария.
Под убунту 10.04 дает
Код: | $ ./report.run
Segmentation fault
$
|
Требует перекомпиляции.
В принципе все понятно, но makefile, не смотря на то, что он тривиальный, лишним не будет, или команда компиляции:
Код: | $ gcc -o report.run report.c i2c.c
|
зы:
На Ubuntu 10.04 запускается так:
Ноут Lenovo ThinkPad x200s.
На выходе лажа:
Код: |
no ack for 1 address!
ManufacturerAccess: FFFFFFFF (hex)
no ack for 1 address!
RemainingCapacityAlarm: -1 mAh or 10mWh
no ack for 1 address!
RemainingTimeAlarm: -1 minutes
no ack for 1 address!
BatteryMode: FFFFFFFF (hex)
no ack for 1 address!
AtRate: -1 mAh or 10mWh
no ack for 1 address!
AtRateTimeToFull: -1 minutes
no ack for 1 address!
AtRateTimeToEmpty: -1 minutes
no ack for 1 address!
AtRateOK: -1 Boolean
no ack for 1 address!
Temperature: -273.1 °C
no ack for 1 address!
Voltage: -1 mV
no ack for 1 address!
Current: -1 mA
no ack for 1 address!
AverageCurrent: -1 mA
no ack for 1 address!
MaxError: -1 %
no ack for 1 address!
RelativeStateOfCharge: -1 %
no ack for 1 address!
AbsoluteStateOfCharge: -1 %
no ack for 1 address!
RemainingCapacity: -1 mAh or 10mWh
no ack for 1 address!
FullChargeCapacity: -1 mAh or 10mWh
no ack for 1 address!
RunTimeToEmpty: -1 minutes
no ack for 1 address!
AverageTimeToEmpty: -1 minutes
no ack for 1 address!
AverageTimeToFull: -1 minutes
no ack for 1 address!
ChargingCurrent: -1 mA
no ack for 1 address!
ChargingVoltage: -1 mV
no ack for 1 address!
BatteryStatus: FFFFFFFF (hex)
no ack for 1 address!
CycleCount: -1 cycles
no ack for 1 address!
DesignCapacity: -1 mAh or 10mWh
no ack for 1 address!
DesignVoltage: -1 mV
no ack for 1 address!
SpecificationInfo: FFFFFFFF (hex)
no ack for 1 address!
no ack for 1 address!
no ack for 1 address!
ManufactureDate: -1.0.1980 dd.mm.yyyy
no ack for 1 address!
SerialNumber: -1 number
no ack for 1 address!
no ack for 1 address!
no ack for 1 address!
no ack for 1 address!
no ack for 1 address!
PackStatus&Config: FFFFFFFF (hex)
no ack for 1 address!
VCELL4: -1 mV
no ack for 1 address!
VCELL3: -1 mV
no ack for 1 address!
VCELL2: -1 mV
no ack for 1 address!
VCELL1: -1 mV
$
|
Автор, под какой операционкой пробовали?
Как компилили?
Каким компилятором (библиотеками)?
Как запускали?
Батарею через lpt нужно подключать?
Что за исходники unicorn? Где взять?
ЗЫ2:
Про unicorn нашел его ветку: http://avalon.co.ua/batteries/viewtopic.php?f=147&t=2233
Спасибо. |
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Чт Авг 26, 2010 5:28 pm Заголовок сообщения: |
|
|
Проверьте настройки порта. Должен быть LPT1 EPP I/O 378h
Цитата: | под какой операционкой пробовали? | Под Ubuntu 10.04. Установлена на виртуальной машине MS Virtual PC. Основная операционка Win XP Pro SP3.
Командой "cc report.run report.c i2c.c -Wall". Никаких сообщений об ошибках не наблюдалось.
Цитата: | Каким компилятором (библиотеками)? | Сложный для меня вопрос. То, что было установлено + обновления из оффициального репозитория Ubuntu. Обновляю регулярно. По сути у меня компьютер в компьютере, который живёт своей жизнью и между ними локальная сеть (IBM T40 и виртуальный). Касательно подробностей компилирования меня лучше не спрашивать... Я же написал там, что я не программист. Код писал "по образу и подобию", чем собственно и объясняется отсутствие комментариев. Их не было у Юникорна, а я с трудом представляю что какая функция делает. Просто копировал куски и изменял коды команд, чтобы получить нужный результат. Но программа работает 100% -- это не моя больная фантазия и не шутка. Файл с отчётом создан именно ею. Пытался написать GUI при помощи CodeBlocks, но мозгов не хватило и пока программирование закинул в долгий ящик...
Команда "./report.run". Уточнение, программа требует прав рута, потому я использовал MC, запущенный от имени рута и уже под ним работал. MC мне вообще нравится -- напоминает старый добрый NC времён DOS. ДОС мне нравился, смотрел современные, но толи я уже отстал от жизни, толи FreeDOS в самом деле состоит из сплошных костылей... Не понравилось. Полез в Линукс.
Цитата: | Батарею через lpt нужно подключать? | Да. И адаптер I2C должен быть именно филипсовский. Как выяснилось позже, есть и другие варианты, есть даже написанные драйвера под Линукс, но там другие пины LPT используются -- не будет работать.
Кстати, адаптер проверяли на предмет работоспособности? Судя по соответствующей теме на Авалоне, это простое устройство у многих вызывает проблемы. То микросхему не ту используют (требуется с открытым коллектором/стоком), то питание не туда заведут...
AxaRu, если Вы опытный программист, может попробуете написать GUI для этой программы?
И ещё, не подскажете ли хороший HEX-редактор под Линукс? Всё, что я нашел, весьма глючное. Самый правильный тот, что встроен в MC. Но и он не без недостатков. Позволяет редактировать только в области отображения шестнадцатеричных значений (желательно, чтобы и в ASCII можно было), не посволяет просчитывать контрольные суммы, не умеет сравнивать 2 файла... Поэтому приходится править дампы под Виндой, а потом заливать под Линуксом. (Это касается контроллеров батарей на M37512.) _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Чт Авг 26, 2010 11:48 pm Заголовок сообщения: |
|
|
Я не опытный программист, я развлекаюсь
Если серьезно, боюсь не хватит времени. Ведь ГУЕм не ограничится. Дальше захочется править данные и пошло-поехало, вот целый проект.
Под Linux есть десяток редакторов. Все примерно одинаковые.
Bliss,
ghex - под Гном
khexedit - под KDE
Вот этот с функцией сравнения двух файлов: http://www.dettus.net/dhex/
Но я думаю вам понравится vbindiff.
Под Ubuntu ставится так:
Код: | $ sudo apt-get install vbindiff |
или через synaptic
Позволяет сравнивать два файла интерактивно, редактировать hex и ascii. Кстати он многоплатформенный.
Да, еще. Вы можете поставить все перечисленные редакторы. (KDE-шный не ставьте, он потянет кучу библиотек - оно Вам не надо). Они ханимают немного места. На производительность не влияют.
Ну вот...
По поводу lpt: я сначала не разобрался. Думал что читает из батарейки напрямую.
Кстати, запуск командой "sudo any_exec_file" под убунтой запускает файл от имени рута.
Я сейчас со своей батарейкой развлекаюсь. У меня x200s. Батарейка проработала год. В московскую жару начала глючить. Видимо перегревалась и контроллер отключал ее.
За месяц потеряла половину емкости.
Я купил noname 9-cell. А с этой решил заменить элементы питания.
Но контроллер проблемный как я понял. bq 29330.
В оригинале стояли элементы 2600 mA. Я заказал на ebay 3800 mA.
Поскольку, как я понял, эта микросхема защищена от записи может ничего путного не выйдет. А может и подхватит. В общем посмотрим.
Спасибо за развернутый ответ.
зы.
Цитата: | Код писал "по образу и подобию" |
Боже упаси меня Вас критиковать. Видимо я высказался несколько не корректно.
Вы сделали себе инструмент, который Вас устраивает. А это главное.
зы2:
Код: | cat /proc/acpi/battery/BAT0/info |
Эта команда читает некоторую информацию про батарейку
Код: | present: yes
design capacity: 77760 mWh
last full capacity: 66130 mWh
battery technology: rechargeable
design voltage: 10800 mV
design capacity warning: 3306 mWh
design capacity low: 200 mWh
capacity granularity 1: 1 mWh
capacity granularity 2: 1 mWh
model number: COMPATIBLE
serial number: 2413
battery type: LION
OEM info: BATSZ
|
Код: | cat /proc/acpi/battery/BAT0/state |
Эта команда выдает текущий статус батареи:
Код: | present: yes
capacity state: ok
charging state: charged
present rate: 0 mW
remaining capacity: 66110 mWh
present voltage: 12372 mV
|
|
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Пт Авг 27, 2010 1:59 am Заголовок сообщения: |
|
|
Ну вот и я немного поразвлекался. Серьёзнее заняться времени нет. Увы, денег я программированием зарабатывать не смогу -- не на то учился, но занятие это интересное, вот и пробивает иногда...
Цитата: | ГУЕм не ограничится. Дальше захочется править данные и пошло-поехало, вот целый проект. | Собственно именно этого и хотелось. Функции записи можно тоже использовать готовые, написанные тем же Unicorn-ом. Думаю, с этим я разберусь... как-нибудь, когда время найду. Есть же исходники программы для записи в M37512. Протокол тот же, команды другие подставить и можно будет записывать и микросхемы TI. Вобщем идея -- сделать инструмент для работы с батареями под Линуксом.
Спасибо за ссылку. Скачал, посмотрю что там (если сумею установить).
vibindiff уже опробовал -- здоровская штука!
Цитата: | Кстати, запуск командой "sudo any_exec_file" под убунтой запускает файл от имени рута. | Это мне известно, но в силу использования мной программ, работающих с LPT, приходится практически всегда печатать это "судо", а я человек ленивый..
Да, контроллер на 8030 проблемный. Особенно если он от ленововской батарейки и особенно если производитель батареи SANYO. Но поиграться можно. Буду рад пообщаться на эту тему, может вместе чего и придумаем. Самое первое, что приходит в голову -- просто заменить элементы ничего не перешивая. Но как оно потом себя поведёт...
Цитата: | Я заказал на ebay 3800 mA. | Это что ж за фирма такая? Я пока видел только на 3000 mAh у SAMSUNG-а. Боюсь, что это "художественный свист".
Команда cat /proc/acpi/battery/BAT0/info у меня ничего не выдаёт
Говорит "нет такого файла". И в самом деле, я посмотрел каталог /proc/acpi/battery/ -- он пустой. Странно. Возможно под виртуальной машиной Убунта не видит батарею. Скорее всего так и есть. _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Пт Авг 27, 2010 5:19 am Заголовок сообщения: |
|
|
Про элементы питания 3800 mAh скорее вы правы: они вероятно на 3600. Надеюсь не ниже. Но и это достаточно много.
Про ebay: я сделал выборку http://shop.ebay.com/?_from=R40&_npmv=3&_trksid=m570&_nkw=18650+3800mAh
Про батарейку от ноута: все, как Вы сказали.
Про программирование: Вы рассуждаете правильно. Есть визуальные конструкторы достаточно простые в использовании. Может вместе какой нибудь интерфес нарисуем.
Один вопрос: операционка (и Windows и Linux) читает информацию из батарейки. Почему же мы не можем? Никто номер порта не нашел?
Update.
Вот,что я нарыл под линукс:
В принципе все есть. На досуге попробую считать данные из батарейки.
Вот по программированию интефейсов вводная от IBM: http://www.ibm.com/developerworks/ru/library/au-guiappsgtk/
Последний раз редактировалось: AxaRu (Пт Авг 27, 2010 9:13 am), всего редактировалось 5 раз(а) |
|
Вернуться к началу |
|
 |
RPavel

Зарегистрирован: 15.02.2008 Сообщения: 318 Откуда: Украина г Хмельницкий чатлов: 0
|
Добавлено: Пт Авг 27, 2010 6:19 am Заголовок сообщения: |
|
|
я очень сильно удивлюсь если в этих элементах емкость окажется 2400 мАч. думаю что она будет намного меньше. |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Пт Авг 27, 2010 6:34 am Заголовок сообщения: |
|
|
Китайцы, конечно вороватые, но надеюсь, что на ebay система отзывов не даеет им уж сильно кидать.
В конце концов, поживем-увидим. |
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Пт Авг 27, 2010 11:20 am Заголовок сообщения: |
|
|
Про элементы. Какого производителя элементы на 3800 (3600) мАч? На Авалоне несколько человек уже отписались про такие "суперэлементы", на деле оказавшиеся браком, завёрнутым в красивую обложку. Я бы не рисковал покупать никакие, кроме известных SANYO, SAMSUNG, LG, Panasonic. Но у них пока предел 2800-3000 мАч и то, параметры зарядки/разрядки отличаются от традиционных, не в любую батарею поставить можно, особенно если нет возможности поправить прошивку. С типичными характеристиками (диапазон 3-4,2 В) максимум 2600 мАч.
По поводу программирования через внутреннюю шину SMBus. Вопрос этот освещал Unicorn. Суть сводится к тому, что такую программу нельзя написать для всех батарей. Можно написать для Lenovo, к примеру, но не для всех моделей. Для ACER-а придётся писать другую программу, для TOSHIB-ы третью... А производителей сейчас столько развелось, что и не сосчитать. И каждый пытается сделать что-то по-своему, чтобы не видно было, что модель содрана 1:1 у другого
Может всё не так грустно и Unicorn ошибается, но для меня это всё сложно, чтобы спорить.. _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Пт Авг 27, 2010 7:32 pm Заголовок сообщения: |
|
|
Vic2, спасибо, уже читаю.
А чо спорить? нужно попробовать. С другой стороны нут определяет параметры батареи. Значит либо есть универсальный способ, либо под каждую модель свой драйвер написан.
Я пока загрузился инфой. Если не перегорю... |
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Сб Сен 04, 2010 6:18 pm Заголовок сообщения: |
|
|
Цитата: | vibindiff уже опробовал -- здоровская штука! | Ага, здоровская. На первый взгляд. Пока не попытаешься в ней поработать.
При попытке редактировать файл сначала оказалось, что редактировать можно только первый файл. Пришлось перезапустить программу, набрав в коммандной строке имена файлов в другом порядке. Потом оказалось, что редактировать я могу только то, что вижу на экране. Перелистнуть страницу или переместить курсор ниже последней видимой строки не удаётся: вместо смещения строк вверх курсор прыгает на первую строку...
Вобщем как всё бесплатное -- предлагается "как есть". Претензий предъявить некому. IMHO софт и под Линукс должен быть платный (и сам Линукс), но цена должна быть адекватная, тогда пираты ломать не будут, а у программистов появится стимул довести программу до ума. _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Ср Сен 15, 2010 10:30 pm Заголовок сообщения: |
|
|
vic2 писал(а): | Перелистнуть страницу или переместить курсор ниже последней видимой строки не удаётся: вместо смещения строк вверх курсор прыгает на первую строку...
|
Редактирует файл блоками. После изменения видимого на экране блока нажимаете Esc и записываете изменения.
После перемещаетесь в нужный участок файла и снова входите в редактирование, если требуется.
Как я понимаю, переход в редактирование сделан как защита от необдуманных изменений файла.
Редактировать можно как первый, так и второй файл. Там просто написано по дурацки: <T move top> и <B move bottom>
Если нажмете <T> <E> - редактируете верхнюю панель (первый файл)
Если нажмете <B> <E> - редактируете нижнюю панель (второй файл)
vic2 писал(а): | здоровская. На первый взгляд. Пока не попытаешься в ней поработать |
В общем не все так плохо А софт, мать его, должен быть бесплатный...
Получил свои батарейки. Заменил. Сейчас калибрую.
Описал процесс здесь: http://axa-ru.blogspot.com/2010/08/x200s_29.html |
|
Вернуться к началу |
|
 |
vic2 Site Admin

Зарегистрирован: 29.03.2008 Сообщения: 1991 Откуда: Киев чатлов: 5
|
Добавлено: Чт Сен 16, 2010 10:28 am Заголовок сообщения: |
|
|
Цитата: | А софт, мать его, должен быть бесплатный... | Я так не думаю. Софт должен стоить столько, сколько за него готовы заплатить. Не нужно бороться с пиратством. Вашу программу взломали? Улучшите защиту от взлома. Не выгодно? Значит просто снизьте цену. Нормальный человек отдаст предпочтение лицензионному продукту, если его цена не заоблачная.
Разумеется бесплатный софт есть был и будет. Ну потренировался человек и написал полезную программку или сообщество людей одержимых одной идеей пишет супер-операционку и распространяет её бесплатно, дабы убедиться, что написали они действительно супер... Берите, люди, пользуйтесь! Но к нам никаких претензий. Пожелания Ваши мы учтём в следующей версии, лет через 5. А может и не учтём. А может вообще проект забросим.
Прочитал описание процесса. Есть замечания. bq29330 -- это только аналоговая часть контроллера и программировать надо не её, а ту микросхему, которая стоит с bq29330 в паре. Это может быть bq20z90 или bq8030. В первом случае легче во втором дела плохи, особенно если это Леново.
Второе замечание. Я не видел элементов 1865 ни на 1000 мАч ни на 3800. Покупал и ставил SAMSUNG на 2000 мАч. Но недавно мой продавец сказал, что их скорее всего уже не будет. Не выпускают. Подозреваю, что и 2200 тоже скоро выпускать не будут. Но даже самые старые литий ионные элементы размера 1865, которые мне доводилось видеть имели ёмкость 1300 мАч. Что касается ёмкости 3800 мАч, то я буду удивлён, если есть там хотя бы 2500. И хорошо, если эти элементы имеют одинаковые параметры, иначе батарею из них слепить не получится. Реальная ёмкость, которую удалось намерять составляет 2900 мАч. Это Panasonic NCR1865 и SAMSUNG ICR18650-30A. Параметры зарядки для обоих этих "ёмких" типов значительно отличаются от стандартных так что и не в любую батарею поставишь.
Интересно узнать результаты калибровки батареи. _________________ Куда обращаться по поводу ремонта (перепаковки)? Это ссылка -- кликай и читай.
Уважаемые, читайте FAQ по ремонту батарей. Это тоже ссылка.
Семь раз отмерь, один отрежь. И дураком помрёшь... |
|
Вернуться к началу |
|
 |
AxaRu
Зарегистрирован: 26.08.2010 Сообщения: 8
чатлов: 10
|
Добавлено: Вт Сен 21, 2010 8:17 pm Заголовок сообщения: |
|
|
vik2, спасибо за помощь. Я восстановил свою батарейку. В целом результат положительный. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|