Всё о мобильной энергии, солнечных батарея, ветряках и другой электроники Обсуждение солнечных батарей, вертяков, генераторов и другой электроники
 
  Регистрация | Войти На главную Добавить статью Форум Поиск  RSS Наш твиттер Контакты 16 сентября 2019, Понедельник  
MobiPower.ru
 О сайте
 Новости
 солнце
 термоэлектричество
 механика
 аккумуляторы
 освещение
 электроника
 прочее (экзотика)
 новинки рынка
 Сделай сам
 Обзоры и тесты
 Библиотека
 Форум
 Ссылки
 Контакты

Новости на e-mail
Подписаться на e-mail рассылку новых статей сайта Mobipower.ru



Вампирчики...
...размножаются здесь:
Мобильный блок питания "Вампирчик-Цифра" v.7
Мобильный блок питания "Вампирчик-Цифра" v.7

3 200 руб.
Солнечная батарея Suaoki на полугибких элементах SunPower
Солнечная батарея Suaoki на "полугибких" элементах SunPower

3 500 руб.

Информация



Новое на форуме

Вампирчик 8....
Автор: Basic
06.08.2019 в 10:35

Яркий Луч V-700 гаснет с Вампирчик Цифра
Автор: nik34
31.07.2019 в 15:28

Техническое обсуждение ВЦ7 (+альт. прошивка)
Автор: nik34
16.07.2019 в 10:22

Осколки якобы от SunPower
Автор: Amator
15.07.2019 в 07:38

Распродажи, халява, неликвиды
Автор: Lex
20.06.2019 в 15:05

Новые продукты на сайте vampirchik-sun
Автор: nik34
16.06.2019 в 18:35

Вопрос об зарядке смарта
Автор: Vados32
17.05.2019 в 13:13

Большая электронная библиотека
Автор: MarK90
07.05.2019 в 18:11

Какой вампирчик выбрать ?
Автор: Basic
30.04.2019 в 00:25

Ресурсы о солнечных панелях
Автор: Damir_9
26.04.2019 в 12:08

Перейти на форум

Сейчас на сайте
103 человека

в т.ч. гостей: 103
пользователей: 0

Всего: 1112

Это может быть полезно



Поделиться этой страницей в:

   FAQFAQ   Поиск на форумеПоиск на форуме    ПользователиПользователи    ГруппыГруппы   ПрофильПрофиль   Личные сообщенияЛичные сообщения   ВходВход 

Альтернативная прошивка "вампирчика"
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
 
Начать новую тему   Ответить на тему    Список форумов -> Электроника
Автор Первое сообщение темы
nik34



Зарегистрирован:
Mar 23, 2008
Сообщения: 2718
Откуда: Москва

СообщениеДобавлено: Ср 09 Ноя, 2016 10:50    Заголовок сообщения: Альтернативная прошивка "вампирчика"
 Ответить с цитатой

Данная тема создана для того, чтобы написать другие прошивки контроллера вампирчика.
Ниже прицеплены последние варианты прошивок для Вампирчиков 5, 6 и 7 версий.
Более ранние можно глянуть под спойлером.

История изменений прошивки:показать

Цитата:
18 ноября:
1. Uin заменено на Ich
2. Разрешение во всех каналах сделано динамическим, т.е. с плавающей точкой:
0-999 (подразумеваемая точка перед первым разрядом, как mA, mV, mW...)
1.00-9.99
10.0-99.9
100.-999.
Не значащие нули в начале не отображаются.
http://alien.jabbercity.ru/v6/fw/20161118/vamp.hex


Цитата:
версия 001:
0. Разрешение во всех каналах теперь динамическое, с плавающей точкой. Подразумеваемая точка перед 1м разрядом не отображается.
1. входное напряжение USL -> Uin
2. ток понижайки (заряда) Uin -> Ich
3. выходная мощность Pou
3а. Добавлено и удалено отображение мощности заряда Pch = Ich*UAc
4. При включении после процентов отображается номер версии
5. Если примерно 2 минуты не трогать кнопки, дисплей переходит в сниженную яркость (экономия энергии)
6. "ночной" режим дисплея. Включается/выключается нажатием кнопки "вниз" при нажатой "вверх"
7. По нажатию верхней кнопки при нажатой нижней пока отображается версия прошивки. Потом, возможно, там будет подменю настроек.
8. исправлен баг с зацикливающимся переключением дисплея при частых нажатиях обеих кнопок.
http://alien.jabbercity.ru/v6/fw/20161122/vamp.hex


Цитата:
версия 002:
1. Переписана логика работы с кнопками, теперь есть (пока не используется) возможность анализировать долгие нажатия;
2. Пофикшен созданный в прошлой ревизии баг с некорректным отображением устанавливаемого напряжения в режиме ЗАР;
3. Пофикшено блымающее 2 раза за период отображения значение Pou.
http://alien.jabbercity.ru/v6/fw/20161123/vamp.hex


Цитата:
версия 003:
1. уменьшено время выключенного входа при измерении напряжения на заряжаемом аккумуляторе со 130 до 29 циклов измерения АЦП. При этом первые 13 циклов напряжение не измеряется.
2. изменён нижний порог установки напряжения заряда внешних аккумуляторов с 4000 до 1000 мВ.
http://alien.jabbercity.ru/v6/fw/20161125/vamp.hex


Цитата:
версия 004:
1. отображение версии перенесено в самое начало работы, уменьшено время показа. Новый стиль отображения.
2. Шаг изменения напряжения ЗАР 0.05В;
3. Изменён верхний порог зарядки аккумуляторов. Для никеля теперь 1.40В вместо 1.39В, для свинца 2.33 вместо 2.32;
4. Исправлен алгоритм округления при отображении значений;
5. Первая реализация ускоренной установки. (ВНИМАНИЕ!!! Требуется тестирование!)

http://alien.jabbercity.ru/v6/fw/20161205/vamp.hex

Писал без тестов на железе. Если кому не лень -- прошейте-погоняйте. Стабильной пока считаем версию №3.
Нижний порог установки напряжения пока оставлен как 1В.


Цитата:
версия 005:
1. Исправлена ускоренная установка. Теперь работает.
2. Добавлен ВКлючаемый таймер для режима зарядки. Откалиброван по моему экземпляру. После выбора напряжения зарядки после буквы t устанавливаем количество минут (0=отключен).
3. Добавлены программные калибровки всех каналов измерения. Отличия от среднего более 10% игнорируются. Для записи калибровок будет отдельная прошивка.
4. Код прошивки перепахан в плане оптимизации по размеру. В результате на флешке занято 4094 байта из 4096 доступных.
http://alien.jabbercity.ru/v6/fw/20161208/vamp.hex


Цитата:
Порядок калибровки:
1. При переключении каналов после имени канала выводится Cbr-calibration
2. Кнопка "вверх" включает калибровку данного канала (отображается AdJ-adjust, потом имя канала, который будем калибровать, далее измеряемая величина)
3. вверх -- увеличить значение, вниз -- уменьшить.
4. Если не трогаем кнопки, через несколько секунд видим вопрос, нужно ли сохранить St?-Set? и подсказку Y_^. Если ничего не нажали - продолжение настройки п.3
5. Пока светится Y_^ (читать, как для ответа Yes нажать ^вверх), Кнопка "^"вверх сохраняет значение (отображается SEt, данные сохраняются), кнопка "v"вниз отменяет настройки, и ничего не пишет (Abr-Abort)
6. Если в п.5 выбран вариант ответа (нажата кнопка) Возвращаемся из режима калибровки - п.1.

Сброс калибровки канала на значение по умолчанию:
2а. когда отображается Cbr при нажатии в п.2 кнопки "вниз" -- сохраняется калибровка по умолчанию dEf-default.
3a. Возвращаемся из режима калибровки - п.1.

http://alien.jabbercity.ru/v6/fw/20161209/vamp_calibrations5.hex


Цитата:
RomaST писал(а):
1) Ставим калибровальную прошивку
2) Калибруем каналы
3) Записываем на комп содержание eeprom
4) Ставим рабочую версию
5) Записываем сохраненный в пункте 3) eeprom на ВЦ

И получаем 5ую версию, с необходимыми калибровками.


Lex писал(а):
версия 006:
0. Педантичная оптимизация кода с частичной потерей производительности и читабельности
1. Добавлено меню настроек и калибровок. Для входа включать с зажатой верхней кнопкой.
2. Для сброса всех настроек и калибровок -- включать с нажатыми двумя кнопками.
3. По умолчанию в каналах измерения тока разрешение загрублено до 20 мА. В остальных не трогается, т.к. не ответили на вопрос.
4. Увеличена задержка перед измерением напряжения в режиме зарядки
5. Более честная индикация процентов в конце процесса зарядки
6. Выкинуты измерения АЦП в виртуальных каналах P, Pou, 3AP -- уменьшился период обновления значений
7. После вывода FUL через 3.5 минуты индикация переходит в "ночной режим" до нажатия любой кнопки.
8. Режим пониженной яркости индикатора теперь включается и выключается в настройках. Лично меня полная яркость слепит.
9. Шаг установки напряжения зарядки можно задать, но только вручную в файле .eep
10. Меню настроек, калибровок, сброса параметров можно теперь каждое по отдельности включать/выключать при сборке прошивки.

Меню настроек и меню калибровок:показать


Меню настроек и меню калибровок:
Включаем МК при зажатой верхней кнопке.
1) После номера версии видим SEt-settings, кнопку отпускаем.

Меню настроек:
2) Далее настройка 2х параметров с вариантом "да/нет". Наличие точек означает, что параметр ВКлючён.
- rES-resolution -- режим повышенного разрешения измерений. Для несогласных с п.3.
- LGH-light -- режим пониженной яркости из п.8.
Если нужно изменить параметр -- когда светится его имя зажимаем верхнюю кнопку, и держим, пока 3 точки индикатора не потухнут/загорятся. После этого отобразится Sud-saved -- новое значение параметра сохранено.

Меню калибровок:
3) Настройка калибровок каналов измерения: Отображается имя канала, потом значение калибровки.
- если не трогать кнопки -- после короткой задержки переход к следующему каналу
- если кнопка нажата -- значение увеличивается/уменьшается. Также увеличивается время задержки, чтобы дать возможность спокойно настроить параметр.
По умолчанию значение калибровочного коэффициента отобразится как 100. Следует читать как 1100. Этот коэффициент уже достаточно описан на форуме.
После установки параметра ждём перехода к калибровке следующего канала. Если значение изменено -- оно сохранится с отображением Svd. Далее переход к следующему каналу.

Работу настроечного меню в любой момент можно прервать, выключив питание (допустим, если изменили разрешение, и не хотим калибровать каналы). НЕ ВЫКЛЮЧАТЬ питание, если предстоит сохранение изменённого параметра.

Сброс к заводским настройкам:
1) Включаем МК с зажатыми двумя кнопками.
- в случае упрощённого-облегчённого варианта настройки затираются без предупреждения и индикации, после чего появляется меню настроек. До его появления питание НЕ ОТКЛЮЧАТЬ.
- в расширенном варианте есть защита от случайного сброса, т.н. Безопасный режим.
Начинается обратный отсчёт 999, 888, ... 000. Если во время отсчёта отпустить какую-либо из кнопок -- отсчёт прервётся и сброс не произойдёт.
Если продолжаем держать обе кнопки, отобразится ---, потом выполнится очистка EEPROM (питание НЕ ВЫКЛЮЧАТЬ), после очистки отобразится rSt-reset.
Если и после этого не отпустили верхнюю кнопку -- попадаем в меню настроек.


Безопасный сброс и меню калибровок одновременно в прошивку не помещаются. Потому две на выбор. Отличить можно по наличию меню калибровок.

Сборка с калибровками:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_cal.hex
Сборка с безопасным сбросом:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_secureset.hex

настройка шага изменения напряжения:показать


Самый простой способ, чтобы не вычислять смещения:
1. включаем свежепрошитую (или со сброшенными настройками) 6ку.
2. в меню настроек устанавливаем режим повышенного разрешения. Больше никаких настроек и калибровок не меняем.
3. сохраняем EEPROM в файл.
4. Там должны быть все 0xFF, кроме одного 0x00. Этот байт отвечает за флаг повышенного разрешения. Байт перед ним отвечает за шаг. Точнее содержит его значение в милливольтах. Записываем его туда в 16-ричном формате. Для 10мВ будет 0x0A.
5. исправляем контрольную сумму в конце строки, и пишем всё обратно в ВЦ.

Примечание: шаг=0 и шаг>200 считается некорректным, и принимается за 50 мВ.
4а. Величина смещения искомого байта = 22 = 0x16.


Цитата:
версия 007:
1. Работа с индикатором переведена на прерывания по таймеру. Теперь разряды не подмигивают.

Реализованные, но отключённые в данной сборке функции:
2. Отображение данных из встроенного в МК термодатчика;
3. усыпление МК через некоторое время при неактивности пользователя (если не трогает кнопки);
4. временно выкинул из настроек включение режима пониженной яркости;

http://alien.jabbercity.ru/v6/fw/20170613/vamp.hex


Цитата:
Инструкция по прошивке и история разработки от Алексея LaleksUi (за что ему большое спасибо. Smile )
Инструкция Пользователю
История Разработки





vc7_n31.zip
 Описание:
Последняя версия прошивки для ВЦ7

Скачать
 Имя файла:  vc7_n31.zip
 Размер:  15,46 KB
 Скачали:  218 раз(а)


vamp_v6_n7.zip
 Описание:
Последняя версия прошивки для ВЦ6

Скачать
 Имя файла:  vamp_v6_n7.zip
 Размер:  4,85 KB
 Скачали:  161 раз(а)


AVR Projects.rar
 Описание:
Исходный проект, который заливался в ВЦ5. Можно не скачивать, он уже сильно устарел.

Скачать
 Имя файла:  AVR Projects.rar
 Размер:  260,85 KB
 Скачали:  609 раз(а)



Последний раз редактировалось: nik34 (Сб 02 Июн, 2018 12:24), всего редактировалось 11 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
popov
Site Admin


Зарегистрирован:
Mar 05, 2008
Сообщения: 45
Откуда: Россия, Москва

СообщениеДобавлено: Пт 09 Дек, 2016 16:18    Заголовок сообщения:
 Ответить с цитатой

Lex писал(а):
Не хватает тэгов для зачёркнутого текста.

Добавил.
Описание.


Последний раз редактировалось: popov (Пт 09 Дек, 2016 17:53), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Пт 09 Дек, 2016 17:39    Заголовок сообщения:
 Ответить с цитатой

Вопрос к знатокам:
Можно ли при прошивании прошивки не стирать содержимое EEPROM с данными?

Хм. Написал прошивку для калибровки. изменил калибровку канала. Сохранил в EEPROM. Шью рабочую прошивку, и получаю девственно чистый EEPROM.

Скрытый текст:показать

Код:
# avrdude -p m48p -c stk200 -V -U flash:w:./vamp.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e920a
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "./vamp.hex"
avrdude: writing flash (3254 bytes):

Writing | ################################################## | 100% 0.84s

avrdude: 3254 bytes of flash written

avrdude: safemode: Fuses OK (E:01, H:DD, L:62)

avrdude done.  Thank you.


Тут avrdude предлагает опцию -D, чтобы флеш не стирать перед записью. Причём в хелпе предупреждают, что это неправильно. Но вроде работает.

Как вариант, можно после калибровки бекапить EEPROM, и восстанавливать после прошивки. Что-то мне такой костыль не нравится.

Жду мнение специалистов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Пт 09 Дек, 2016 18:10    Заголовок сообщения:
 Ответить с цитатой

Порядок калибровки:
1. При переключении каналов после имени канала выводится Cbr-calibration
2. Кнопка "вверх" включает калибровку данного канала (отображается AdJ-adjust, потом имя канала, который будем калибровать, далее измеряемая величина)
3. вверх -- увеличить значение, вниз -- уменьшить.
4. Если не трогаем кнопки, через несколько секунд видим вопрос, нужно ли сохранить St?-Set? и подсказку Y_^. Если ничего не нажали - продолжение настройки п.3
5. Пока светится Y_^ (читать, как для ответа Yes нажать ^вверх), Кнопка "^"вверх сохраняет значение (отображается SEt, данные сохраняются), кнопка "v"вниз отменяет настройки, и ничего не сохраняет (отображается Abr-Abort)
6. Если в п.5 выбран вариант ответа (нажата кнопка) Возвращаемся из режима калибровки - п.1.

Сброс калибровки канала на значение по умолчанию:
2а. когда отображается Cbr при нажатии в п.2 кнопки "вниз" -- калибровка данного канала сбрасывается в "заводское" значение dEf-default.
3a. Возвращаемся из режима калибровки - п.1.
http://alien.jabbercity.ru/v6/fw/20161209/vamp_calibrations5.hex


Последний раз редактировалось: Lex (Вт 13 Дек, 2016 9:34), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
LaleksUi




Зарегистрирован:
Nov 25, 2016
Сообщения: 32
Откуда: Кишинёв, Молдова

СообщениеДобавлено: Пт 09 Дек, 2016 20:13    Заголовок сообщения:
 Ответить с цитатой

Цитата:
В чём принципиальное отличие от подхода, описанного здесь? http://mobipower.ru/modules.php?name=Forums&file=viewtopic&p=6419#6419
Те же 2 операции прошивки: сервисной и рабочей.
Только требует ещё дополнительных телодвижений на компе, и все калибровки слетят при попытке пользователя обновить себе версию.

вот и разница, уважаемый Lex, сейчас вся калибровка производится на ВЦ, на его скромнейшем интерфейсе, пальчиком по кнопкам; и это кроме параллельных этому, обязательных измерений тестером на самом ВЦ.

не будет нужно прошивать сервисную прошивку; а именно: сначала основную, потом провести измерения на ВЦ, потом авто-генерация на компе eep рома (пусть и на основе слитого заранее 1н раз стандартного), прошивка только его, и ВЦ готов. а пользователям надо объяснить как бэкапить еепром, и все. они же уже "продвинуты" что бы прошить ВЦ самостоятельно. можно и объяснить, что бы не слетали настройки.

в перспективе, при массовом производстве ВЦ, генерация еер файла на компе "автоматом", согласно только что измеренным значениям по тестеру и по ВЦ, (это ведь уже известная вам математика внутренних вычислений), - стратегически более хороший план;
просто представьте себе, что вы сам, (как однажды высказывался Николай), один делаете по 10-20 ВЦ в день!
разве вы не хотите убрать целый этап в этой настройке? это же возможно заменить вычислениями на компе, - как это облегчит жизнь Николаю! он сможет сделать что-то большее для всех нас внутри своей, профессиональной "заточенности".
и даже не возникает проблема с чистым еепромом.
пусть нас рассудит Николай, ему пользоваться этим больше всех.

я не хочу вас обидеть или "парировать", просто "заглядываю за горизонт". это мое мнение, и только; вы сделали уже очень много для нас, и вы свободный человек, Спасибо Большое за ваш чистосердечный труд, за все, что вы делаете для ВЦ. Это Круто! Спасибо.


Последний раз редактировалось: LaleksUi (Пт 09 Дек, 2016 21:39), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nik34



Зарегистрирован:
Mar 23, 2008
Сообщения: 2718
Откуда: Москва

СообщениеДобавлено: Сб 10 Дек, 2016 10:20    Заголовок сообщения:
 Ответить с цитатой

Lex писал(а):
версия 005:

В очередной раз говорю спасибо. Smile

Цитата:
2. Добавлен ВКлючаемый таймер для режима зарядки. Откалиброван по моему экземпляру. После выбора напряжения зарядки после буквы t устанавливаем количество минут (0=отключен).
Лучше сделать не минуты, а часы, т.к. он обычно работает часами.

Цитата:
Занижаемые критичнее, хотя опять же, при отображаемых 5В будем иметь не более 5.5 -- в принципе почти в пределах допусков, многие устройства нормально прожуют.
Если будет измерение занижаться, то это сильно критично потому что это уберет возможность зарядки литиевых аккумуляторов, которые не терпят перезаряда.

По поводу калибровки.
Может остановиться и "не ломать зря копья"? Дело в том, что мне она не нужна, вернее, не вижу ее необходимости. Поясню.
1. Точность в каналах U и Uac подгоняется напаиванием резисторов. И в дальнейшем, я не собираюсь отказываться от этого, т.е. эту работу все равно придется делать независимо от того, есть калибровка или нет, т.к. считаю, что "железные" настройки надежнее, чем "программные".
2. Как уже писал, точность измерителя напряжения в МК довольно грубая - если откалибруем точно на 5В, то на 15В многие ВЦ покажут завышение на 0.1В (100мВ) - это много. А мы калибровкой хотим добиваться точности в единицы и десятки мВ. Зачем?
3. Калибровка добавит дополнительных затрат времени, а не уменьшит их. Причем, как написал выше, для получения непонятного результата.

Я не против ее, но пусть ей занимаются те, кому приспичит получить суперточность, хотя бы внешне, т.к. реально ее не будет, либо точность при каком-то конкретном напряжении.
Что касается, того, где "держать" программу настройки в компе или в МК, то я бы предпочел в МК (типа "все свое ношу с собой"), чтобы при изменении не потребовались дополнительные устройства (комп и программатор), которых у людей может и не быть.

Можно делать две прошивки - "базовую" и "альтернативную". Базовую шить в ВЦ всегда, а альтернативу выложить здесь для желающих поразвлекаться.

Кстати, Алексей (lex), думаю, имеет смысл делать очистку памяти калибровок, например, при очень долгом нажатии кнопки. Чтобы если и было изменение калибровочной ячейки, то можно было вернуться к варианту "заводской" точности. Опять же, средний пользователь никогда этими калибровками пользоваться не будет, просто, будет постоянно забывать, как это делать, но вот запомнить, как сбросить (долго-долго нажимать) - это легко.

LaleksUi, Вы правы в том, что стратегически надо все делать на компе. Но это верно, если рассматривать массовое производство ширпотреба. Я же пока не хочу отказываться от идеи минимального программного вмешательства в работу "железа", как более надежного варианта.
Т.е. все равно настройки в железе делаются, дублировать их программными вещами - это увеличивать трудозатраты - попытка усидеть на 2х стульях одновременно. Если уж переходить на программу, то перебираться совсем и выкидывать треть "железа".
Цитата:
один делаете по 10-20 ВЦ в день!
Какой Вы оптимист, однако. Wink При данной сложности схемы - не более 3х шт в день при ручной сборке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
RomaST




Зарегистрирован:
Dec 07, 2014
Сообщения: 114


СообщениеДобавлено: Сб 10 Дек, 2016 18:50    Заголовок сообщения:
 Ответить с цитатой

Lex писал(а):
Порядок калибровки:
1. При переключении каналов после имени канала выводится Cbr-calibration
2. Кнопка "вверх" включает калибровку данного канала (отображается AdJ-adjust, потом имя канала, который будем калибровать, далее измеряемая величина)
3. вверх -- увеличить значение, вниз -- уменьшить.
4. Если не трогаем кнопки, через несколько секунд видим вопрос, нужно ли сохранить St?-Set? и подсказку Y_^. Если ничего не нажали - продолжение настройки п.3
5. Пока светится Y_^ (читать, как для ответа Yes нажать ^вверх), Кнопка "^"вверх сохраняет значение (отображается SEt, данные сохраняются), кнопка "v"вниз отменяет настройки, и ничего не пишет (Abr-Abort)
6. Если в п.5 выбран вариант ответа (нажата кнопка) Возвращаемся из режима калибровки - п.1.

Сброс калибровки канала на значение по умолчанию:
2а. когда отображается Cbr при нажатии в п.2 кнопки "вниз" -- сохраняется калибровка по умолчанию dEf-default.
3a. Возвращаемся из режима калибровки - п.1.

http://alien.jabbercity.ru/v6/fw/20161209/vamp_calibrations5.hex


Правильно ли я понял, что это специальная обрезанная, калибровочная версия прошивки
Или полнофункциональная, с возможностью калибровки?
В чем отличие от 5 версии?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Сб 10 Дек, 2016 20:47    Заголовок сообщения:
 Ответить с цитатой

RomaST писал(а):
Правильно ли я понял, что это специальная обрезанная, калибровочная версия прошивки
Или полнофункциональная, с возможностью калибровки?
В чем отличие от 5 версии?

Правильно. Это кастрированная 5ка. Без режима зарядки, без отображения "виртуальных" каналов P, Pou, 3AP, заточенная именно на калибровку. Пользовать прибор можно и с ней, но неудобно будет, т.к. меню калибровки "вмешано" в основной режим листания каналов.
Подводный камень при использовании дополнительной прошивки для калибровок описал 2мя постами выше: http://mobipower.ru/modules.php?name=Forums&file=viewtopic&p=6444#6444

Цитата:
Лучше сделать не минуты, а часы, т.к. он обычно работает часами.
А если понадобится поставить "на полчасика", или не кратно целому числу часов? Сейчас шаг установки кратен 5 минутам, можно сделать 10 или больше.
И максимум времени ограничен 900 минутами, это связано с разрядностью счётчика времени, к тому же число удобно помещается на индикаторе.

Цитата:
2. Как уже писал, точность измерителя напряжения в МК довольно грубая - если откалибруем точно на 5В, то на 15В многие ВЦ покажут завышение на 0.1В (100мВ) - это много. А мы калибровкой хотим добиваться точности в единицы и десятки мВ. Зачем?
Надо бы снять характеристики измеренных и реальных значений во всём диапазоне измерения. Интересно посмотреть на них для каждого канала, что из себя представляют. Может быть где-то будет прямая с постоянным смещением, которое можно вычесть.
Цитата:
Что касается, того, где "держать" программу настройки в компе или в МК, то я бы предпочел в МК (типа "все свое ношу с собой"), чтобы при изменении не потребовались дополнительные устройства (комп и программатор), которых у людей может и не быть.
Полностью согласен, но не раньше апгрейда МК, в мегу48 уже не помещается Smile
Цитата:
Можно делать две прошивки - "базовую" и "альтернативную". Базовую шить в ВЦ всегда, а альтернативу выложить здесь для желающих поразвлекаться.
Базовой на данный момент предлагаю считать №5. Все нужные функции есть, и по умолчанию работает без калибровок, т.к. на флешку ничего не пишется (ни прошивкой ни программатором).
Цитата:
Кстати, Алексей (lex), думаю, имеет смысл делать очистку памяти калибровок, например, при очень долгом нажатии кнопки. Чтобы если и было изменение калибровочной ячейки, то можно было вернуться к варианту "заводской" точности. Опять же, средний пользователь никогда этими калибровками пользоваться не будет, просто, будет постоянно забывать, как это делать, но вот запомнить, как сбросить (долго-долго нажимать) - это легко.
над этим подумаю. Хотя я не могу предположить реальную ситуацию, когда это может понадобиться. Разве что только если "пользователь" добудет б/у устройство. А учитывая грабли с настройкой -- через дополнительную прошивку и бэкап-восстановление EEPROM -- вряд ли "предыдущий пользователь" захочет с аппаратом расстаться.
Итого: получаем основную массу пользователей, не знающих и не желающих знать о возможности калибровок (с девственно чистой EEPROM, содержимое которой 5ка игнорирует), и несколько энтузиастов, решивших заморочиться на повышении точности.

P.S. Всё ещё надеюсь на ответ специалистов по поводу работы программатора. А именно о стирании EEPROM в процессе прошивки. В частности, чем может грозить запрет на стирание флешки перед записью обновлённой версии прошивки, особенно если новая меньше старой? Если тот "мусор", что останется в конце никак не повлияет на работу новой микропрограммы -- можно для желающих покалиброваться добавить предупреждение, чтоб не стирали.


Последний раз редактировалось: Lex (Сб 10 Дек, 2016 21:22), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RomaST




Зарегистрирован:
Dec 07, 2014
Сообщения: 114


СообщениеДобавлено: Сб 10 Дек, 2016 21:03    Заголовок сообщения:
 Ответить с цитатой

Правильно ли я понял порядок действий с калибровальной прошивкой:

1) Ставим калибровальную прошивку
2) Калибруем каналы
3) Записываем на комп содержание eeprom
4) Ставим рабочую версию
5) Записываем сохраненный в пункте 3) eeprom на ВЦ

И получаем 5ую версию, с необходимыми калибровками.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Сб 10 Дек, 2016 21:26    Заголовок сообщения:
 Ответить с цитатой

RomaST писал(а):
Правильно ли я понял порядок действий с калибровальной прошивкой:
Всё верно.
Если в программаторе есть возможность запретить стирание флешки перед записью, можете попробовать с этим запретом выполнить п.4, и обойтись без п.3, п.5.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
LaleksUi




Зарегистрирован:
Nov 25, 2016
Сообщения: 32
Откуда: Кишинёв, Молдова

СообщениеДобавлено: Вс 11 Дек, 2016 8:00    Заголовок сообщения:
 Ответить с цитатой

и вот эту инструкцию по порядку действий под спойлер - в шапку для 5 версии, что бы потом не обыскивать весь форум.

и Николай, при таком грозящем переходе на более емкую микросхему, сколько уже пользователей атмеги48 ? хоть примерно?

и возможно ли будет самому или с помощью местного радиосервиса перепаять микросхему МК, (здесь говорили что ноги совпадают), чтобы можно было залить новую (большую) прошивку на старое устройство, и пользоваться (хотя бы ограничено) ее новыми функциями?
насколько это технически сложно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nik34



Зарегистрирован:
Mar 23, 2008
Сообщения: 2718
Откуда: Москва

СообщениеДобавлено: Вс 11 Дек, 2016 9:58    Заголовок сообщения:
 Ответить с цитатой

Цитата:
Цитата:
Лучше сделать не минуты, а часы, т.к. он обычно работает часами.
А если понадобится поставить "на полчасика", или не кратно целому числу часов? Сейчас шаг установки кратен 5 минутам, можно сделать 10 или больше.
И максимум времени ограничен 900 минутами, это связано с разрядностью счётчика времени, к тому же число удобно помещается на индикаторе.

Я предполагал, что менять с шагом 0.1 часа (т.е. те же 6 минут) и на индикаторе 99.9 часов максимум. Мне кажется, это нагляднее. Соответственно полчаса - это 0.5 часа на индикаторе. На больших длительностях пересчитывать минуты в часы не слишком удобно. А когда сразу в часах и их долях, вполне логично.

Цитата:
Надо бы снять характеристики измеренных и реальных значений во всём диапазоне измерения. Интересно посмотреть на них для каждого канала, что из себя представляют. Может быть где-то будет прямая с постоянным смещением, которое можно вычесть.
Во многих экземплярах не изменение наклона, и не сдвиг нуля, а именно нарушение линейности - т.е. мы можем иметь занижение показаний при 5В и завышение около 15В.
Калибровки же по одной точке нам могут помочь только с коррекцией наклона характеристики АЦП.
И, кстати, у нас уже базовая точность около 1%, с чем люди будут сравнивать, если у большинства домашних мультиметров точность не сильно выше? Т.е. чтобы калибровать надо иметь хороший вольтметр, которого у людей и нет.

Цитата:
Полностью согласен, но не раньше апгрейда МК, в мегу48 уже не помещается Smile
Я могу заложить более мощный МК, но руки до разработки дойдут реально только через несколько месяцев.
К тому же, хотелось бы задействовать еще 3 свободных ноги в МК.

Цитата:
над этим подумаю. Хотя я не могу предположить реальную ситуацию, когда это может понадобиться. Разве что только если "пользователь" добудет б/у устройство. А учитывая грабли с настройкой -- через дополнительную прошивку и бэкап-восстановление EEPROM -- вряд ли "предыдущий пользователь" захочет с аппаратом расстаться.
Я, скорее, рассматриваю вариант сбоя калибровок. Если в лесу нет возможности заново их прошить и возможно только обнулить, вернувшись к базовой точности.

Цитата:
Итого: получаем основную массу пользователей, не знающих и не желающих знать о возможности калибровок (с девственно чистой EEPROM, содержимое которой 5ка игнорирует), и несколько энтузиастов, решивших заморочиться на повышении точности.
Скорее всего.

Цитата:
P.S. Всё ещё надеюсь на ответ специалистов по поводу работы программатора.
Жаль, я тут не помошник. Sad
Кстати, по стиранию, у меня при прошивке стоит галочка "стирать все перед прошивкой". Т.е. определяется программой, через которую идет заливка. Т.е. может быть просто рекомендовать людям какую-то программу, которая стирает всю память? Чтобы не задумываться о том, как повлияет не стертый "хвост".
Вспомнилось, один из приемов повышения надежности ПО, это заполнить всю оставшуюся память после окончания программы командой перехода в начало. Типа, если программный счетчик собьется и мы улетим за "край" программы, то автоматически перебрасывается в начала, а не зависаем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
nik34



Зарегистрирован:
Mar 23, 2008
Сообщения: 2718
Откуда: Москва

СообщениеДобавлено: Вс 11 Дек, 2016 10:11    Заголовок сообщения:
 Ответить с цитатой

LaleksUi писал(а):
и вот эту инструкцию по порядку действий под спойлер - в шапку для 5 версии, что бы потом не обыскивать весь форум.
Сделал.

Цитата:
и Николай, при таком грозящем переходе на более емкую микросхему, сколько уже пользователей атмеги48 ? хоть примерно?
Несколько сотен. Но, думаю, захочется поменять на более мощный МК единицам.

Цитата:
и возможно ли будет самому или с помощью местного радиосервиса перепаять микросхему МК, (здесь говорили что ноги совпадают), чтобы можно было залить новую (большую) прошивку на старое устройство, и пользоваться (хотя бы ограничено) ее новыми функциями?
насколько это технически сложно?

Перепаять МК не слишком сложно, мне самому иногда приходится менять бракованные МК в ВЦ.
Но для этого понадобится хотя бы паяльный фен, паяльником сильно сложнее, можно, просто содрать дорожки
Скрытый текст:показать

как вариант, надо пооткусывать ножки по отдельности и затем выпаивать их поштучно. Конечно, в этом случае корпус идет "в помойку".
. Думаю, в любой мастерской по ремонту это сделают.
При замене, естественно, уйдет точность по каналам U и Uac, которые подстраиваются индивидуально напайкой дополнительных резисторов. Соответственно, Вы может их заново подогнать, либо скорректировать программно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Пн 12 Дек, 2016 12:58    Заголовок сообщения:
 Ответить с цитатой

По просьбам трудящихся выкладываю пример файла с калибровочными коэффициентами.
Содержимое не рабочее, в прибор шить в первозданном виде бесполезно. т.е. ничего страшного не произойдёт, коэффициенты проигнорируются, т.к. выходят за рамки разрешённых.

Файл в формате "intel hex", в том же, что и прошивка.
http://alien.jabbercity.ru/v6/fw/20161212/vamp_my_vis.eep

Формат такой:
Код:
struct {
  U32 magic;   // на это пока не обращаем внимания
  U16 coeff[CHAN_NUM];  // тут массив интересующих нас коэффициентов
}
// здесь U32 -- беззнаковое 32-битное значение, 4 байта.
// U16 то же, только 16-битное, 2 байта или 4 16ричных разряда в текстовом файле.


Индексы интересующих параметров в массиве:
Код:

 IND_ICH     0   //old uin
 IND_UIN     1   //old usl
 IND_UAC     3
 IND_U       4
 IND_I       5


Для наглядности, чтобы было видно где менять, в файле все коэффициенты заполнены соответствующим индексом:
элемент №0 0x1000
элемент №1 0x1101 (в файле ищем 0111)
элемент №5 0x1505 (в файле ищем 0515)

Для примера рассмотрим калибровку канала U (измерение напряжения на выходе, он же отвечает за напряжение заряжаемых аккумуляторов).
1) Измеряем реальное напряжение U0 при измеренном прибором U1;
2) вычисляем коэффициент как X = U0 / U1 * 1100 и округляем к ближайшему целому
3) ищем среди индексов нужный канал, в нашем примере IND_U = 4
4) Ищем в файле 4+2*4 = 12й байт (считаем начиная с 0). 12й и 13й будут содержать младшую и старшую часть нашего коэффициента соответственно.
4а) если не поняли предыдущее -- находим в файле символы 0414
5) Допустим, в п.2 у нас получилось 1189. Вооружаемся калькулятором и переводим в 16-ричную систему: 1189 = 0x04A5.
6) Записываем значение в позицию, полученную в п.4, начиная с младшего байта: A504
7) Повторяем с п.1 для остальных каналов, которые нужно откалибровать.
8) Оставшиеся значения в файле-примере желательно заменить на FF, хотя и не обязательно. Это для каналов, калибровка которых не требуется
9) шьём в EEPROM прибора получившийся файл .eep. Естественно, версия 5 (или 6) должна быть уже прошита.
10) радуемся повысившейся (или испорченной, тут уж как сделаем) точности прибора.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Пн 12 Дек, 2016 23:04    Заголовок сообщения:
 Ответить с цитатой

Немного поспойлерю по поводу 6ки.

Будет возможность загрубить разрешение в измерительных каналах. Измерения будут кратны заданной величине (например 20 мА), более мелкие единицы выбрасываются. Как пример, при разрешении 20 мА значения 0-19 мА будут выглядеть как 0, 20-39 как 20, и т.д. Почему так? В канале I при отсутствии нагрузки вижу постоянно пляшущие значения от 0 до 17.

Вопрос:
В каких каналах какое разрешение будем делать? Забью константами в прошивке.

Для особо страждущих загрубление разрешения отключается через правку EEPROM. Там же будет меняться шаг установки напряжения зарядки.

Внял мольбам Автора железки, сделал очистку содержимого EEPROM при включении контроллера с зажатыми обеими кнопками.

Может быть, сделаю небольшое меню настроек при включении с зажатой одной кнопкой.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
LaleksUi




Зарегистрирован:
Nov 25, 2016
Сообщения: 32
Откуда: Кишинёв, Молдова

СообщениеДобавлено: Вт 13 Дек, 2016 3:46    Заголовок сообщения:
 Ответить с цитатой

Спасибо Лекс, действительно Спасибо! прямо то что я просил, только своими руками, инструкция очень подробная и понятная.

вопрос: в этом интел-хекс файле строки заканчиваются только одним символом, возможно вы писали из линукса; для прошивальщика это не имеет значения?
до сих пор в прошивках было 2 символа, или это неважно?

контрольную сумму в конце строки не обязательно вычислять?

а 6-ка все еще помещается 4096 байта? а нельзя ли часть кода хранить в еепром? там не много, но все же, когда чуть чуть не хватает, или это я фантазирую?


Последний раз редактировалось: LaleksUi (Вт 13 Дек, 2016 3:52), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Вт 13 Дек, 2016 9:36    Заголовок сообщения:
 Ответить с цитатой

Хм... Писал пост дня 2 назад. Забыл отправить:

Цитата:
Я предполагал, что менять с шагом 0.1 часа (т.е. те же 6 минут) и на индикаторе 99.9 часов максимум. Мне кажется, это нагляднее. Соответственно полчаса - это 0.5 часа на индикаторе. На больших длительностях пересчитывать минуты в часы не слишком удобно. А когда сразу в часах и их долях, вполне логично.
Пожалуй соглашусь, но тут, как по Жванецкому, есть один нюанс. При величинах менее одного часа нам будет портить жизнь наша плавающая точка. Данная реализация не позволяет отобразить на индикаторе "0.5", т.к. технически точка тут отделяет разряд с тысячами, и вместо 0.5 получится 500.

Цитата:
Я могу заложить более мощный МК, но руки до разработки дойдут реально только через несколько месяцев.
К тому же, хотелось бы задействовать еще 3 свободных ноги в МК.
В качестве эксперимента я предлагал сделать одну плату с новым МК. Хотя бы посмотреть, будет ли там работать общая прошивка. При положительном результате можно на новые платы паять новый МК. Получим плавный переход.

Цитата:
Я, скорее, рассматриваю вариант сбоя калибровок. Если в лесу нет возможности заново их прошить и возможно только обнулить, вернувшись к базовой точности.
сбой в лесу возможен, скорее в случае выхода из строя флешки МК. Так как в рабочем режиме туда ничего не пишется, и не тратит ограниченные циклы перезаписи -- вряд ли это случится при сохранении работоспособности остальных частей МК... И опять же, более 10% калибровки сбойнуть не могут (при условии живых процессора и памяти), в противном случае и вся остальная программа может "посыпаться".

Цитата:
Жаль, я тут не помошник. 
Тут я ещё надеюсь на мнение Александра, писавшего под ВЦ5.
Цитата:
Кстати, по стиранию, у меня при прошивке стоит галочка "стирать все перед прошивкой". Т.е. определяется программой, через которую идет заливка. Т.е. может быть просто рекомендовать людям какую-то программу, которая стирает всю память? Чтобы не задумываться о том, как повлияет не стертый "хвост".
С этим проще. При записи рабочей прошивки поверх калибровочной хвоста быть не должно, т.к. калибровочная намного меньше.

nik34 писал(а):
LaleksUi писал(а):
и вот эту инструкцию по порядку действий под спойлер - в шапку для 5 версии, что бы потом не обыскивать весь форум.
Сделал.

И это туда же до кучи:
RomaST писал(а):
Правильно ли я понял порядок действий с калибровальной прошивкой:

1) Ставим калибровальную прошивку
2) Калибруем каналы
3) Записываем на комп содержание eeprom
4) Ставим рабочую версию
5) Записываем сохраненный в пункте 3) eeprom на ВЦ

И получаем 5ую версию, с необходимыми калибровками.


Исправил ошибки в посте http://mobipower.ru/modules.php?name=Forums&file=viewtopic&p=6446#6446
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Вт 13 Дек, 2016 10:51    Заголовок сообщения:
 Ответить с цитатой

LaleksUi писал(а):

вопрос: в этом интел-хекс файле строки заканчиваются только одним символом, возможно вы писали из линукса; для прошивальщика это не имеет значения?
до сих пор в прошивках было 2 символа, или это неважно?
Так и есть. Дамп снимал под линуксом с реальной железки (предварительно модифицировал прошивку, чтобы они туды записались)
Надеюсь, что не имеет. Нужны или эксперименты, или мнение знающих людей.

Цитата:
контрольную сумму в конце строки не обязательно вычислять?
Упс... Embarassed
Скрытый текст:показать

Код:
# avrdude -p m48p -c stk200 -V -U eeprom:w:./vamp_myq1.eep:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e920a
avrdude: reading input file "./vamp_myq1.eep"
avrdude: ERROR: checksum mismatch at line 1 of "./vamp_myq1.eep"
avrdude: checksum=0x00, computed checksum=0x0f
avrdude: read from file './vamp_myq1.eep' failed

avrdude: safemode: Fuses OK (E:01, H:DD, L:62)

avrdude done.  Thank you.
Стало быть, обязательно. А я-то думал, почему не работают мои изменения, наверное с адресом промахнулся))
Спасибо, хоть пишет ожидаемую сумму. Изменил на неё -- и всё записалось.
Хотя, может, есть программаторы игнорирующие контрольную сумму, и достаточно соответственно настроить.
Скрытый текст:показать

Был у меня шеф, который на подавляющее большинство моих вопросов отвечал "Это зависит от компилятора и его настроек". Пожалуй, ответ можно адаптировать к данному вопросу.


Цитата:
а 6-ка все еще помещается 4096 байта?
Внезапно помещается. Сэкономил 634 байта, переписав 2 строчки кода на целочисленную арифметику. Была единственная в программе переменная типа float.
Цитата:
а нельзя ли часть кода хранить в еепром? там не много, но все же, когда чуть чуть не хватает, или это я фантазирую?
И да и нет. Не то чтобы часть кода, скорее часть данных. Например таблицы констант, которых там достаточно. Но это плохая идея. Тогда придётся выкладывать 2 файла прошивки, и давать чёткую инструкцию, чтобы их шили всегда обязательно оба, и не путали от разных версий прошивки. В данный момент гарантируется работоспособность при любом содержимом EEPROM.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RomaST




Зарегистрирован:
Dec 07, 2014
Сообщения: 114


СообщениеДобавлено: Ср 14 Дек, 2016 17:29    Заголовок сообщения:
 Ответить с цитатой

Провёл испытания версии 5.
Наконец, ВЦ6 имеет какую-то законченность, полнофункциональность.
Что отметил:
1) Версия отображается при включении короткое время, но которого достаточно, чтоб прочитать написанное.
2) Прокрутка работает прекрасно.
3) По моей просьбе, Алексей сделал вариант прошивки с шагом в режиме ЗАР равным 10мВ. Считаю этот вариант очень удобным, особенно, благодаря быстрой прокрутке. Другого не надо.
4) Таймер на моей версии ВЦ6 работает корректно. Погрешности не обнаружил, хотя и доли секунд не отлавливал. 5 и 10 минут он отсчитал точно.

Пожелания:
1) Отобряжать время в часах, а переключать его кратно 30 минутам.
Чтоб таймер отображался так:
30мин на дисплее 0.5
1ч на дисплее 1
1ч30м на дисплее 1.5
Заряжать аккумуляторы определенное количество минут мне не приходилось, и шага в 30мин будет вполне достаточно. Более того, выставлять время зарядки будет удобнее, из-за бОльшего шага. Учитывая, что время отображается в минутах, максимально можно выставить 905мин, что соответствует 15часам. Решение некоторых задач может потребовать бОльшего времени. Рекомендую ограничит таймер 64 часами.
2) Самоотключение МК после надписи FUL через 2 часа, при нажатой кнопке автоотключения.
3) Самоотключени МК вместе с ВЦ6 при нажатой кнопке автоотключения
4) Обратный таймер в режиме ЗАР
5) После апгрейда железа, необходимо будет вернуть 130 циклов измерения напряжения в режиме ЗАР. Для бОльшей точности
6) Объеденить калибровочную и рабочую версии в одну единую прошивку.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nik34



Зарегистрирован:
Mar 23, 2008
Сообщения: 2718
Откуда: Москва

СообщениеДобавлено: Ср 14 Дек, 2016 19:22    Заголовок сообщения:
 Ответить с цитатой

Lex писал(а):
Будет возможность загрубить разрешение в измерительных каналах. Измерения будут кратны заданной величине (например 20 мА), более мелкие единицы выбрасываются. Как пример, при разрешении 20 мА значения 0-19 мА будут выглядеть как 0, 20-39 как 20, и т.д. Почему так? В канале I при отсутствии нагрузки вижу постоянно пляшущие значения от 0 до 17.
Вопрос:
В каких каналах какое разрешение будем делать? Забью константами в прошивке.

Оставить все как есть.
Может быть поставить фильтр, что-то типа скользящего среднего, потому что, предполагаю, эти скачки в основном от помех от повышающего преобразователя.

Цитата:
Для особо страждущих загрубление разрешения отключается через правку EEPROM.
Может наоборот, по умолчанию показывать всё? Потому что, никто не полезет что-то отключать через компьютер.

Цитата:
Внял мольбам Автора железки, сделал очистку содержимого EEPROM при включении контроллера с зажатыми обеими кнопками.
Может быть, сделаю небольшое меню настроек при включении с зажатой одной кнопкой.

Такое ощущение, что пошла стадия, когда результат уже неважен, главное - процесс. Wink

Цитата:
В качестве эксперимента я предлагал сделать одну плату с новым МК. Хотя бы посмотреть, будет ли там работать общая прошивка. При положительном результате можно на новые платы паять новый МК. Получим плавный переход.
Хорошо. Закажу МК и перепаяю одну из плат. Но это долго, пока еще из Китая контроллер придет.
Напомните, пожалуйста, какой лучше на замену? Или если есть несколько вариантов, то тоже напишите.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Lex




Зарегистрирован:
Nov 23, 2016
Сообщения: 301
Откуда: 61

СообщениеДобавлено: Ср 14 Дек, 2016 19:54    Заголовок сообщения:
 Ответить с цитатой

версия 006:
0. Педантичная оптимизация кода с частичной потерей производительности и читабельности
1. Добавлено меню настроек и калибровок. Для входа включать с зажатой верхней кнопкой.
2. Для сброса всех настроек и калибровок -- включать с нажатыми двумя кнопками.
3. По умолчанию в каналах измерения тока разрешение загрублено до 20 мА. В остальных не трогается, т.к. не ответили на вопрос.
4. Увеличена задержка перед измерением напряжения в режиме зарядки
5. Более честная индикация процентов в конце процесса зарядки
6. Выкинуты измерения АЦП в виртуальных каналах P, Pou, 3AP -- уменьшился период обновления значений
7. После вывода FUL через 3.5 минуты индикация переходит в "ночной режим" до нажатия любой кнопки.
8. Режим пониженной яркости индикатора теперь включается и выключается в настройках. Лично меня полная яркость слепит.
9. Шаг установки напряжения зарядки можно задать, но только вручную в файле .eep
10. Меню настроек, калибровок, сброса параметров можно теперь каждое по отдельности включать/выключать при сборке прошивки.

Меню настроек и меню калибровок:показать


Меню настроек и меню калибровок:
Включаем МК при зажатой верхней кнопке.
1) После номера версии видим SEt-settings, кнопку отпускаем.

Меню настроек:
2) Далее настройка 2х параметров с вариантом "да/нет". Наличие точек означает, что параметр ВКлючён.
- rES-resolution -- режим повышенного разрешения измерений. Для несогласных с п.3.
- LGH-light -- режим пониженной яркости из п.8.
Если нужно изменить параметр -- когда светится его имя зажимаем верхнюю кнопку, и держим, пока 3 точки индикатора не потухнут/загорятся. После этого отобразится Sud-saved -- новое значение параметра сохранено.

Меню калибровок:
3) Настройка калибровок каналов измерения: Отображается имя канала, потом значение калибровки.
- если не трогать кнопки -- после короткой задержки переход к следующему каналу
- если кнопка нажата -- значение увеличивается/уменьшается. Также увеличивается время задержки, чтобы дать возможность спокойно настроить параметр.
По умолчанию значение калибровочного коэффициента отобразится как 100. Следует читать как 1100. Этот коэффициент уже достаточно описан на форуме.
После установки параметра ждём перехода к калибровке следующего канала. Если значение изменено -- оно сохранится с отображением Svd. Далее переход к следующему каналу.

Работу настроечного меню в любой момент можно прервать, выключив питание (допустим, если изменили разрешение, и не хотим калибровать каналы). НЕ ВЫКЛЮЧАТЬ питание, если предстоит сохранение изменённого параметра.

Сброс к заводским настройкам:
1) Включаем МК с зажатыми двумя кнопками.
- в случае упрощённого-облегчённого варианта настройки затираются без предупреждения и индикации, после чего появляется меню настроек. До его появления питание НЕ ОТКЛЮЧАТЬ.
- в расширенном варианте есть защита от случайного сброса, т.н. Безопасный режим.
Начинается обратный отсчёт 999, 888, ... 000. Если во время отсчёта отпустить какую-либо из кнопок -- отсчёт прервётся и сброс не произойдёт.
Если продолжаем держать обе кнопки, отобразится ---, потом выполнится очистка EEPROM (питание НЕ ВЫКЛЮЧАТЬ), после очистки отобразится rSt-reset.
Если и после этого не отпустили верхнюю кнопку -- попадаем в меню настроек.


Безопасный сброс и меню калибровок одновременно в прошивку не помещаются. Потому две на выбор. Отличить можно по наличию меню калибровок.

Сборка с калибровками:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_cal.hex
Сборка с безопасным сбросом:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_secureset.hex

настройка шага изменения напряжения:показать


Самый простой способ, чтобы не вычислять смещения:
1. включаем свежепрошитую (или со сброшенными настройками) 6ку.
2. в меню настроек устанавливаем режим повышенного разрешения. Больше никаких настроек и калибровок не меняем.
3. сохраняем EEPROM в файл.
4. Там должны быть все 0xFF, кроме одного 0x00. Этот байт отвечает за флаг повышенного разрешения. Байт перед ним отвечает за шаг. Точнее содержит его значение в милливольтах. Записываем его туда в 16-ричном формате. Для 10мВ будет 0x0A.
5. исправляем контрольную сумму в конце строки, и пишем всё обратно в ВЦ.

Примечание: шаг=0 и шаг>200 считается некорректным, и принимается за 50 мВ.
4а. Величина смещения искомого байта = 22 = 0x16.


Последний раз редактировалось: Lex (Чт 15 Дек, 2016 14:52), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RomaST




Зарегистрирован:
Dec 07, 2014
Сообщения: 114


СообщениеДобавлено: Ср 14 Дек, 2016 23:33    Заголовок сообщения:
 Ответить с цитатой

Lex писал(а):
версия 006:
0. Педантичная оптимизация кода с частичной потерей производительности и читабельности
1. Добавлено меню настроек и калибровок. Для входа включать с зажатой верхней кнопкой.
2. Для сброса всех настроек и калибровок -- включать с нажатыми двумя кнопками.
3. По умолчанию в каналах измерения тока разрешение загрублено до 20 мА. В остальных не трогается, т.к. не ответили на вопрос.
4. Увеличена задержка перед измерением напряжения в режиме зарядки
5. Более честная индикация процентов в конце процесса зарядки
6. Выкинуты измерения АЦП в виртуальных каналах P, Pou, 3AP -- уменьшился период обновления значений
7. После вывода FUL через 3.5 минуты индикация переходит в "ночной режим" до нажатия любой кнопки.
8. Режим пониженной яркости индикатора теперь включается и выключается в настройках. Лично меня полная яркость слепит.
9. Шаг установки напряжения зарядки можно задать, но только вручную в файле .eep
10. Меню настроек, калибровок, сброса параметров можно теперь каждое по отдельности включать/выключать при сборке прошивки.

Меню настроек и меню калибровок:показать


Меню настроек и меню калибровок:
Включаем МК при зажатой верхней кнопке.
1) После номера версии видим SEt-settings, кнопку отпускаем.

Меню настроек:
2) Далее настройка 2х параметров с вариантом "да/нет". Наличие точек означает, что параметр ВКлючён.
- rES-resolution -- режим повышенного разрешения измерений. Для несогласных с п.3.
- LGH-light -- режим пониженной яркости из п.8.
Если нужно изменить параметр -- когда светится его имя зажимаем верхнюю кнопку, и держим, пока 3 точки индикатора не потухнут/загорятся. После этого отобразится Sud-saved -- новое значение параметра сохранено.

Меню калибровок:
3) Настройка калибровок каналов измерения: Отображается имя канала, потом значение калибровки.
- если не трогать кнопки -- после короткой задержки переход к следующему каналу
- если кнопка нажата -- значение увеличивается/уменьшается. Также увеличивается время задержки, чтобы дать возможность спокойно настроить параметр.
По умолчанию значение калибровочного коэффициента отобразится как 100. Следует читать как 1100. Этот коэффициент уже достаточно описан на форуме.
После установки параметра ждём перехода к калибровке следующего канала. Если значение изменено -- оно сохранится с отображением Svd. Далее переход к следующему каналу.

Работу настроечного меню в любой момент можно прервать, выключив питание (допустим, если изменили разрешение, и не хотим калибровать каналы). НЕ ВЫКЛЮЧАТЬ питание, если предстоит сохранение изменённого параметра.

Сброс к заводским настройкам:
1) Включаем МК с зажатыми двумя кнопками.
- в случае упрощённого-облегчённого варианта настройки затираются без предупреждения и индикации, после чего появляется меню настроек. До его появления питание НЕ ОТКЛЮЧАТЬ.
- в расширенном варианте есть защита от случайного сброса, т.н. Безопасный режим.
Начинается обратный отсчёт 999, 888, ... 000. Если во время отсчёта отпустить какую-либо из кнопок -- отсчёт прервётся и сброс не произойдёт.
Если продолжаем держать обе кнопки, отобразится ---, потом выполнится очистка EEPROM (питание НЕ ВЫКЛЮЧАТЬ), после очистки отобразится rSt-reset.
Если и после этого не отпустили верхнюю кнопку -- попадаем в меню настроек.


Безопасный сброс и меню калибровок одновременно в прошивку не помещаются. Потому две на выбор. Отличить можно по наличию меню калибровок.

Сборка с калибровками:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_cal.eep
Сборка с безопасным сбросом:
http://alien.jabbercity.ru/v6/fw/20161214/vamp_secureset.eep


Правильно ли я понял, что сброс из п.2 есть в обеих версиях прошивки. Только в калибровочной он опасный без отсчета, а в сборке с безопасным сбросом он с отсчетом?

После сброса, можно ли будет заново калибровки прописать, или сброс уничтожает ВСЁ содержимое eeprom. И чтоб восстановить полную функциональность, необходимо будет заново перепрошить ВЦ?

До версии 6, прошивки были в файлах с расширением *.hex, а теперь с *.eep. Всё шьется так же?
Что сказать человеку, который перешивать вц будет?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Форум об электронике, зарядке аккумуляторов, солнечных батареях, вопросы по теме "сделай сам".
Начать новую тему   Ответить на тему    Список форумов -> Электроника Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
Страница 6 из 9

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прилагать файлы к сообщениям
Вы можете скачивать файлы


Форум Mobipower.ru - о солнечных батареях, аккумуляторах, зарядных устройствах, самоделках
 

      Яндекс.Метрика
Количество подписчиков на RSS
Загрузка страницы: 0,08 секунды