[Сценарий] Цикл и метод контроля параметров электропитания Cubietruck

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Ср май 06, 2015 11:44 am

Ну да. В принципе теория сходится с практикой. Если преобразовать содержимое регистров, то получим, что CCCV=3165, DCCV=32. По формуле считаем емкость и получаем capBATmah=285,17мАч. Судя по тому, что она растет, то идет процесс заряда.
По конфигурации АКБ на Кубике рекомендую полностью ознакомиться с темой http://www.cubieforums.com/index.php/topic,2182.0.html
За это сообщение автора skysilver поблагодарил:
triada13 (Ср май 06, 2015 11:49 am)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Vittaly
Сообщения: 118
Зарегистрирован: Вт окт 14, 2014 9:19 pm
Благодарил (а): 48 раз
Поблагодарили: 12 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение Vittaly » Ср май 06, 2015 12:14 pm

skysilver писал(а): 1) полностью разряжаем АКБ кубика;
2) активируем счетчики командой в консоли:

Код: Выделить всё

i2cset -y -f 0 0x34 0xB8 0x80
Но ведь, если выполнить п.1, то кубик выключится. Тогда как выполнить после этого п.2? Как узнать, что АКБ полностью разряжена? Или надо дождаться, пока кубик выключится, и после этого подать внешнее питание и выполнить далее п.2 и т.д.?
Cubietrunck + Debian
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Ср май 06, 2015 12:25 pm

Тут уж у кого насколько смекалки хватит. :) Я, например, команды активации и обнуления счетчиков записал в /etc/rc.local (или можно в /etc/crontab), т.е. в автозагрузку. Главное потом не забыть оттуда убрать, т.к. обнуление по сути нужно только один раз.
Потом отключил питание, АКБ разрядилась и Кубик вырубился. Подключил питание, включил Кубик, в процессе загрузки счетчики обнулились, а контроллер питания стал считать заряд, закачиваемый в АКБ. Ждать долго пришлось - больше 12 часов. :)
За это сообщение автора skysilver поблагодарили (всего 2):
Vittaly (Ср май 06, 2015 12:32 pm) • triada13 (Ср май 06, 2015 4:14 pm)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Vittaly
Сообщения: 118
Зарегистрирован: Вт окт 14, 2014 9:19 pm
Благодарил (а): 48 раз
Поблагодарили: 12 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение Vittaly » Ср май 06, 2015 12:32 pm

skysilver писал(а):Тут уж у кого насколько смекалки хватит. :) Я, например, команды активации и обнуления счетчиков записал в /etc/rc.local (или можно в /etc/crontab), т.е. в автозагрузку. Главное потом не забыть оттуда убрать, т.к. обнуление по сути нужно только один раз.
Потом отключил питание, АКБ разрядилась и Кубик вырубился. Подключил питание, включил Кубик, в процессе загрузки счетчики обнулились, а контроллер питания стал считать заряд, закачиваемый в АКБ. Ждать долго пришлось - больше 12 часов. :)
Отличная идея, спасибо! А есть ли какой-то способ проверить, отработал ли скрипт в кроне? У меня, например, проблема с NTP. Делал всё по Вашей замечательной инструкции, чтобы ежедневно в 6:25 время синхронизировалось с NTP и записывалось в RTC. Но почему-то не работает. В логах syslog пишет, что скрипт запускался, а в логе NTP строчек не добавляется. Если запустить этот же скрипт руками, то всё ок. Права на скрипт от отчаяния сделал 777 - не помогло :).
Поэтому я и думаю, а как в данном случае можно будет подлинно убедиться, что регистры при загрузке точно обнулились?
Cubietrunck + Debian
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Ср май 06, 2015 12:47 pm

Написать и выполнить второй скрипт, который будет проверять результат работы первого. :D
Но я пока с проблемой не выполнения скриптов при автозапуске не встречался. Единственное, для удобства всегда делаю логирование в свой лог-файл. Вот в crontab есть такие строки:

Код: Выделить всё

#Дадим права моргать голубым светодиодом веб-серверу и остальным
@reboot root echo `date` " [cubietruck][crontab] Set RW mode for Blue LED start" >> /home/log/my.log 2>&1
@reboot root chmod a+rw- /sys/class/leds/blue\:ph21\:led1/brightness
@reboot root echo `date` " [cubietruck][crontab] Set RW mode for Blue LED end" >> /home/log/my.log 2>&1

#Обнуление счетчиков CCCV и DCCV у AXP209
#@reboot root echo `date` " [cubietruck][crontab] Reset counters CCCV and DCCV start" >> /home/log/my.log 2>&1
#@reboot root i2cset -y -f 0 0x34 0xB8 0xA0
#@reboot root echo `date` " [cubietruck][crontab] Reset counters CCCV and DCCV end" >> /home/log/my.log 2>&1  
А вообще с моментом сброса этих счетчиков не стоит сильно заморачиваться. Можно и руками сразу после загрузки ОС набрать команду. Времени-то немного пройдет, и за такой короткий промежуток не успеет АКБ ощутимо зарядиться, поэтому погрешность небольшая будет.
За это сообщение автора skysilver поблагодарил:
triada13 (Ср май 06, 2015 4:13 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение Geban » Ср май 13, 2015 8:41 pm

А что за функция такая TwoRegsToDec и ей подобные? У меня система на неё ругается, нигде больше,ни в одном фале системы не встречается, в php такой нет.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Ср май 13, 2015 8:44 pm

Данная функция и другие прописаны в файле my.class.php. Посмотрите повнимательнее порядок установки и прикрепленные файлы в первом посте.
За это сообщение автора skysilver поблагодарил:
Geban (Чт май 14, 2015 5:41 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение Geban » Чт май 14, 2015 5:41 pm

Да, действительно упустил. Спасибо все работает
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: [Сценарий] Цикл и метод контроля параметров электропитания Cubietruck

Сообщение PAV » Чт фев 09, 2023 3:41 pm

Кто в курсе, а как прописать емкость и типа батареи для Кубика?

Разобрался...

У меня кубик грузится с сд карты и потом жесткого диска.

Код: Выделить всё

fdisk -l
Смотрим, как карточка называется

Код: Выделить всё

/dev/mmcblk0p1
Создаем папку для монтирования

Код: Выделить всё

mkdir /mnt/sd
Монтируем

Код: Выделить всё

sudo mount /dev/mmcblk0p1 /mnt/sd
Переходим в /mnt/sd/boot
Там файлик - /mnt/sd/boot/cubietruck.bin
В нем хранятся настройки загрузки
Бекапим его.

!!!!!ВНИМАНИЕ!!!!!! файлик изменять опасно!!!! Думайте, что делаете. Это загрузочный.

Конвертируем

Код: Выделить всё

bin2fex /mnt/sd/boot/cubietruck.bin > /mnt/sd/boot/cubietruck.fex
Открываем любым редактором и можем менять настройки.
https://linux-sunxi.org/Fex_Guide#pmu_configuration тут есть описание

Меня волновало -
pmu_battery_cap = 2100 - емкость батареи в мАч.
pmu_init_chgcur = 300 - ток для начальной зарядки батареи в мА.
pmu_resume_chgcur = 300 - ток для зарядки батареи при неполном разряде.
pmu_init_chgvol = 4100 - макс напряжение батареи. Я поставил Li-Ion поэтому 4100, для Li-Po 4200

Конвертируем обратно

Код: Выделить всё

fex2bin /mnt/sd/boot/cubietruck.fex > /mnt/sd/boot/cubietruck.bin
Перезагружаемся....Все
Ответить