Добавить форум Fonarevka.ru в Избранное ×
FONAREVKA.RU - Всё о фонарях и осветительной технике
Регистрация Дневники Группы Альбомы Каталоги Поиск Сообщения за день Отметить все разделы прочитанными
Вернуться   Форум FONAREVKA.RU Авторские разделы наших мастеров Разработки от INFERION
Забыли пароль? Регистрация
Войти через OpenID



  • Бесплатные розыгрыши призов
  • Розыгрыши призов в соц. сетях!
  • Для гостей форума
  • О нашем проекте
  • Пожертвования (Donate)
  • Реклама на форуме
На форуме ежемесячно проходят бесплатные розыгрыши призов для зарегистрированных и активно общающихся форумчан. Вы можете выиграть не только различные фонарики, зарядные устройства, аккумуляторы и другие аксессуары известных брендов, а также фонари и компоненты от известных кастомщиков и мелкосерийных производителей, но и другие призы, такие как мультитулы, ножи, рюкзаки и другое снаряжение. Все проходящие розыгрыши призов для форумчан абсолютно бесплатные и призы для розыгрышей предоставляют спонсоры, вам достаточно нажать кнопку "Принять участие" и ждать результата. Форумчане не несут никаких финансовых и имущественных рисков, связанных с участием в данных розыгрышах (т.е. вы ничего не оплачиваете и ни чем не рискуете). С момента начала проведения данных розыгрышей более 100 форумчан стали обладателями весьма неплохих призов и количество победителей продолжает увеличиваться!
В ближайшее время состоятся очередные розыгрыши призов - следите за информацией!

Рекомендуем Вам подписаться на тему (оптимальнее с уведомлением на ваш E-mail), где публикуется информация о новых розыгрышах призов.

Подробная информация по ссылке

Ответ  Создать новую тему
Просмотров в теме 156183   Ответов в теме 660   Подписчиков на тему 38   Добавили в закладки 5
Опции темы
Старый 03.08.2013, 03:56 Автор темы   1

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 04:30
Адрес: Украина, Полтава
Сообщений: 4120
Сказал(а) спасибо: 260
Поблагодарили: 4159 раз(а) в 1267 сообщениях

По умолчанию Indigo 5.0, или "не совсем форумный" драйвер? (Часть 2)

Первая часть темы тут
http://forum.fonarevka.ru/s...



-----------------------


03.08.2013 Indigo 5.0:
Долго ж он пилился, теперь писанины за него тут будет не меньше. Приступим...

Начну со схем. Вот эта была запланирована:
Нажмите на изображение для увеличения
Название: Indigo_v5.0a.png
Просмотров: 5376
Размер:	87.8 Кб
ID:	94403
И собрана:
Нажмите на изображение для увеличения
Название: P5214503.jpg
Просмотров: 4363
Размер:	94.6 Кб
ID:	94406
Сразу же обнаружился косяк. Почему-то на малых значениях яркость регулировалась нелинейно, как бы всплесками, рывками... Виновник быстро нашелся:
Нажмите на изображение для увеличения
Название: P5274507.JPG
Просмотров: 4412
Размер:	139.1 Кб
ID:	94407
И задавился:
Нажмите на изображение для увеличения
Название: P5284514.JPG
Просмотров: 4233
Размер:	145.8 Кб
ID:	94408
Схема приобрела вот такой вид:
Нажмите на изображение для увеличения
Название: Indigo_v5.0b.png
Просмотров: 4609
Размер:	88.2 Кб
ID:	94404
Добавилась демпфирующая RC-цепочка, давящая паразитный резонанс LC-контура, образованного индуктивностью дросселя и паразитной ёмкостью в его цепях (диоды, ключ и т.п.). Теперь вроде бы можно отлаживать программу. Долго я её мурижил, всё надеялся что смогу заставить работать встроенный дифференциальный усилитель. Фиг! У 85-х тинек он гораздо ужаснее чем у тех же 25-х. Поэтому был успешно забит и заменён вот этим внешним костылём:
Нажмите на изображение для увеличения
Название: Indigo_v5.0s.png
Просмотров: 1289
Размер:	100.4 Кб
ID:	94405
При этом МК самостоятельно определит его наличие, по напряжению выше 0,1V на PB3 после 8мс подтягивания этого пина, во время загрузки. Если же он окажется на массе - значит подключен к шунту и следует использовать встроенный усилитель. Может он у кого-то нормально и заработает.

Со схемой я думаю всё понятно. Она действительно очень похожа на форумный драйвер. Но вот программа очень сильно отличается, поэтому на ней остановлюсь подробнее:

Главная особенность драйвера - использование режима с разрывным током дросселя для стабилизации тока по входному напряжению. Это позволяет получить отличный мунлайт, т.к. не требуется использовать шунт. Однако для нормальной работы этого алгоритма требуется точно знать некоторые параметры, которые находятся драйвером самостоятельно по мере возможности:

1. Очень важный параметр sqrt2TL. Он характеризует значение индуктивности используемого в схеме дросселя. Значение по умолчанию 3,3мкГн, именно с него стартует МК при загрузке. Найти эту индуктивность программа может только в режиме с прерывистым током дросселя, и только если известно падение на нагрузке, а шунт даёт стабильные показания (ток достаточно большой). Ищет и уточняет автоматом. Всегда, когда это возможно...
2. Vout - падение на нагрузке, на границе между режимами работы дросселя. Найти можно только в безразрывном режиме, зная входное напряжение и заполнение ШИМ. Находится и уточняется всегда, когда ток немного выше момента перехода в безразрывный режим.
Ошибки в этих двух параметрах могут привести к конкретным лагам, так что критично важно, чтоб они нормально находились.

3. Rin - внутреннее сопротивление источника питания. Больше требуется для косметики. С ним индикатор не врёт, а драйвер внезапно не перезагружается при перегрузке батареи, т.к. не допускает эту самую перегрузку. Так что можно попробовать этого монстра хоть от 10440 запитать и он спокойно заведётся, даже если резко включить максимальную мощность. Эта переменная находится во время естественных резких изменений тока. К примеру в момент включения или при индикации перехода кнопки в обычный режим (при настройке яркости). Так что периодически стоит яркость регулировать, т.к. сопротивление это у батареи плавает.

Все эти переменные сбрасываются в значения по умолчанию (3,3мкГн, 8,5V, 0,5Ом) при замене батареи. Т.е. хранятся они в ОЗУ и по мере возможности всё время автоматом уточняются.

Переход между режимами работы дросселя так же вычисляется арифметически, поэтому если переменные будут слишком некорректными - будут лаги. Всё это можно проконтролировать в отладочном режиме. Если зажать кнопку и подать питание, то индикатор начнёт показывать не заряд батареи, а активность программы. Если конкретнее, то:
1. Пока ток нулевой, но МК чем-то занимается - горит красный.
2. Если работает прямая связь (по мнению программы режим работы дросселя с прерывистым током) - желтый в случае отсутствия калибровки индуктивности, и зелёный, если шунт даёт достаточно стабильный сигнал. Однако можно заметить, что чаще всего загорается он неуверенно и ненадолго.
3. При переходе в безразрывный режим загорается голубой - работает ПИД-регулятор и калибруется Vout. Этот момент находится в пределах где-то 300...700мА, в зависимости от напряжения питания и индуктивности дросселя. При дальнейшем росте тока должен загореться синий, это значит что калибровка выходного напряжения прекратилась.

Так, нюансы в работе драйвера вроде бы расписал. Как работает интерфейс:
Прямая ссылка на видео YouTube

Более подробно можно почитать в соседней теме. Есть ещё много нюансов, но эти мелочи должны быть интуитивно понятны. Если временные интервалы случайно настроятся слишком короткими, и их проблематично будет перенастроить - вход в отладочный режим ставит максимальный интервал.

Что касается масштабирования мощности - по-идее достаточно одинаково и в одном направлении менять сопротивление шунта и индуктивность дросселя. Арифметика разницы заметить не должна, но я ещё не проверял это на практике. Ещё важно правильно рассчитать демпфирующую цепь, но я вам с этим помогу. Главное знать индуктивность дросселя и померять осциллографом частоту резонанса в уже готовой схеме. Да, ёмкость на входе и выходе так же необходимо пересчитывать. В этой схеме много микрофарад - плохо. Огромная ёмкость на входе не позволит корректно измерить внутреннее сопротивление батареи, а на выходе - приведёт к неустойчивой работе ПИД-регулятора (возможно) из-за значительных задержек в LC-фильтре (его резонансная должна находится в пределах 10кГц). Если оставить PB3 болтаться в воздухе, посадить на Vcc или использовать для питания внешнего усилителя, то максимальный уровень напряжение на PB4 равен 1,1V относительно GND. Под это значение и рассчитывайте свои шунты и усиление токовых мониторов.

Я вам даю архив, в нём есть два хекса и готовые батники с дудкой для прошивки через программатор на FT232RL. Внимание! После прошивки драйвера отключается RESET и потребуется HV-программатор для его восстановления. В архиве есть хекс, исходник и батник для вот этого восстановителя. Так же там есть печатка и схема в редактируемых форматах. Ну и таблица с низкоуровневым описанием алгоритма кнопки, если кто-то в ней разберётся...
Кстати, морзянки тут другие, не те что на видео. В хексе общие, там первым идёт "SOS", вторым "indigo v.5.0, designed by inferion, fonarevka.ru", а третьим "here could be your advertisement :).".

Indigo_v.5.0.rar

07.11.2013 Indigo 5.1:
Обновляю информацию по драйверу (старая под спойлером выше):
Перекроил прошивку, добавил ряд возможностей, улучшил ряд механизмов. Больше всего "пострадал" интерфейс. Теперь вместо обычной кнопки можно подключать кнопку с двумя степенями нажатия и зарядное устройство. Схематично это выглядит так:
Нажмите на изображение для увеличения
Название: Indigo 5.1m.png
Просмотров: 2681
Размер:	81.1 Кб
ID:	94415
Обратная совместимость сохранилась.
Печатные платы на MCPCB такого плана:
Нажмите на изображение для увеличения
Название: 120W.png
Просмотров: 1420
Размер:	48.4 Кб
ID:	94409Нажмите на изображение для увеличения
Название: P1014701.jpg
Просмотров: 1061
Размер:	63.9 Кб
ID:	94413Нажмите на изображение для увеличения
Название: P1014722.jpg
Просмотров: 954
Размер:	77.3 Кб
ID:	94414
Написал более внятную инструкцию по интерфейсу: Indigo 5.1m.doc. 5 страниц 14-м шрифтом, видео на ТАКОЕ я снимать постеснялся...
Поскольку v5.0 морально устарел - я делюсь его исходником: Indigo_5.0_final.txt. Но выложенный ранее hex отличается наличием одного бага (как минимум), так что советую перекомпилить.

Ну, теперь можно и об изменениях поговорить. Интерфейс расписан в документе, львиная доля изменений коснулась именно его. Почти всё трамбуется в EEPROM, модернизирован RGB индикатор (теперь держит стабильно баланс белого и использует сжатую базу + интерполяцию) и калибровка индуктивности (более агрессивный фильтр). Изменения коснулись и термоконтроля - у термодатчика появилась 32х передискретизация. Программа адаптирована под использование в разных схемах с разными нагрузками и индуктивностями. Пришлось высвобождать память, поэтому код жестко оптимизирован по размеру, и производительность хромает. Но реально тормозов нет, проблема в другом - некоторые узлы пришлось кастрировать. К примеру работа с EEPROM теперь упрощённая, битые блоки пропускаются только когда не пройдут верификацию. Если глючный блок глючит - его лучше отложить в сторонку и юзать свежий. Если он таки записал что нужно - не факт что сам через некоторое время не испортит эти данные...
Если МК обнаружит тормоза - он автоматом вывалится в инженерку до первого же выключения. Это поможет отследить место, где он тормозит. Я оптимизировал тайминги и в самых тяжелых местах ("зелёный" режим в тактическом режиме, во время настройки яркости) тормозов не обнаружил, но выпиливать механизм обнаружения подтормаживаний не стал. Может ещё пригодится...
Зависимость настройки яркости теперь кубичная.

Вот архивы с HEX и прочей требухой: Indigo 5.1 hex.zip и Indigo_5.1m.rar

Видимых изменений по сравнению с 5.1 практически нет, изменения коснулись в основном системных алгоритмов:
- Появилась калибровка термодатчика и интегратор ошибки ТК, позволяющие точно держать заданную температуру:
Нажмите на изображение для увеличения
Название: P1014737.jpg
Просмотров: 813
Размер:	50.8 Кб
ID:	94416Нажмите на изображение для увеличения
Название: P1014738.jpg
Просмотров: 645
Размер:	48.5 Кб
ID:	94417
Соответственно порог 30 и 60 градусов.

- Лучше отрабатывает перегрузку батареи.
- Сделал вспышки кнопки ярче, базу индикатора сгенерировал под реальный график реальной батареи, в реальных же условиях (спасибо vvvovand'у). Индикатор передаёт заряд батареи адекватнее.
- Появилась калибровка кнопки под разброс параметров МК. Выяснилось что в ней есть небольшая необходимость.
- Кнопка овердрайва теперь не заставляет тормозить основную, т.к. научилась откатывать её действие на шаг назад. Но работает корректно только в первых трёх режимах - остальное дебажить пока не хочу, поэтому в старших трёх режимах она заблокирована. Ещё во время овердрайва она теперь временно отключает ТК, чтоб не мешал.
- В инженерном профиле появился новый тип входа, позволяющий усыпить драйвер намертво. Это позволяет щупать подтяжки для подбора резисторов без какой-либо реакции драйвера (сейчас не актуально, т.к. кнопка умеет сама калиброваться под разброс параметров). Чтоб войти в этот режим - нужно подождать 5 секунд (пока красный не погаснет). В инструкцию вписать забыл...
- В описании 5.0 не вижу, должно быть добавил после? Защита от перенапряжения срабатывает на 15...16V, если режим безразрывный. В прерывистом увы - МК не может точно определить. При срабатывании идёт спать до лучших времён.
- Модулятор ШИМ стал умнее. Теперь он умеет уменьшать потери на околомунлайтовых мощностях, снижая потребление и нелинейность. Хотя по факту СИД теперь хоть и не тухнет полностью без компенсации потерь, но я бы не сказал что на минималке он держит яркость стабильно. Пока разбираться влом...
- Пачку багов выгреб. Как мелких, так и довольно жирных. Может что пропустил, а чего-то даже добавил, но пока на глаза не попадалось...

Народ, не забываем что программа на все варианты схемы одна. Внешний усилитель или встроенный, обычная кнопка или двухтактная, есть зарядка или нет - драйвер разберётся сам, в какой схеме он работает. При первом запуске необходимо произвести калибровку. EEPROM он отформатирует сам, если она чистая (но батник в архиве зашивает и фьюзы, и форматирует EEPROM). Мусор может рассмотреть как полезную информацию, поэтому сразу же заходим в инженерный профиль полностью нажав кнопку (если она двухтактная - это необходимо для её калибровки) и отпускаем кнопку когда горит красный индикатор. Все калибровочные константы принимают значения по умолчанию. Дальше необходимо:
1. Опционально. Настроить временные интервалы кнопки (4-й режим, зажатие во время индикации смещения шунта).
2. Откалибровать термодатчик. Входим в 3-й режим и зажимаем кнопку - начнёт мигать, это он показывает смещение термодатчика. Значит всё в порядке. Если начал регулировать яркость как обычно - температура корпуса не подходит (требуется 25 градусов).
3. Опционально. Настроить быстрый доступ к "стробососам" - войти во второй режим зажав кнопку. По умолчанию этот доступ отключен.
4. Опционально. Настроить термоконтроль, по умолчанию он включен и температура задана 60 градусов. Только в инженерке он не обладает склерозом.
5. Откалибровать выходное напряжение и индуктивность - крутим яркость туда сюда между желтым и голубым индикаторами, пока не устаканится позиция. Это самое важное, что тут требуется сделать.
6. Выкручиваем ток на максимум и ждём пока мигнёт. Яркость должна резко подскочить после этого - значит аккумулятор мощнее чем думал драйвер. Если он будет слишком мощный - может проигнорировать из-за слишком слабого сигнала. Тут поможет аккумулятор послабее. 5-й и 6-й пункты можно выполнить просто включая и выключая фонарь на максимальную мощность.
7. Выключаем чтоб сохранить параметры и выходим из инженерного профиля, чтоб ничего не сбить. В дальнейшем при загрузке драйвер будет использовать эти значения, но во время работы он их будет продолжать калибровать. Разница только в том, что калибровка не будет записываться в энергонезависимую память.

При попадании влаги внутрь может заработать индикатор заряда батареи. Это значит что герметичность нарушена. В первую очередь кнопки и места на плате, где она подпаивается к RESET'у МК. Нужно просушить и залить критичные участки силиконом или цапонлаком. На самом деле это полезная фитча, в обычной ситуации вместо безобидной индикации включился бы сам фонарь...

19.11.2013:
Вот обновление ПО: Indigo_5.1mp.rar Indigo 5.1mp.doc
Косметику не навёл. Поковырял термоконтроль и его интерфейс. Добавил полицейскую мигалку. Исправил баг с двойной кнопкой. Может быть добавил каких-нибудь других "мотыльков, застрявших в контактах реле" ...

18.12.2013:
Версия 5.2: Indigo_5.2.rar. В архиве HEX, "дудка" с батником и руководство пользователя.

1. Доработана арифметика - параметры нагрузки вычисляются более тонко, потребляемая мощность оценивается более корректно, момент перехода между режимами так же вычисляется более точно.
2. Устранён шум в мунлайте, оптимизирован ПИД-регулятор.
3. Добавлена возможность высасывать батарею сверх нормы.
4. Добавлена возможность отключать мигания при выходе из режима настройки яркости.
5. Зажатие кнопки при включении автоматически пробрасывает во второй режим.
6. Убран копирайт из набора морзянок.

На данный момент это актуальная версия. Прилично вылизанная, но пока ещё толком не опробована.

Кому интересно более низкоуровневое описание работы регулятора:

Драйвер стартует с определённых стартовых значений, записанных в EEPROM, они программируются в инженерном профиле. Затем во время работы непрерывно их правит хитрой арифметикой. Основной цикл выглядит так:

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

2. Вычисляется внутреннее сопротивление батареи, если все необходимые для этого данные готовы:
Rin=(Vinmax-Vinmin)/Iinmax
Vinmax - измеренное напряжение питания без нагрузки (во время пауз в анимации или при включении). Т.е. напряжение практически соответствует напряжению не нагруженной батареи.
Vinmin - полученное напряжение питания при нагрузке на батарею, соответствующую значению Iinmax. Таким образом мы разницу напряжений делим на разницу токов, и получаем сопротивление источника питания. Закон Ома. Все необходимые переменные находятся ниже.

3. Вычисление напряжения источника питания без нагрузки:
Vcc=(Iinmax*Rin)+Vinmin
Фактически тот же закон Ома. Зная сопротивление мы вычисляем просадку и добавляем её к текущему напряжению питания. Это нужно в первую очередь для индикации заряда батареи, чтоб нагрузка не влияла на результат.

4. Дифференциальное сопротивление нагрузки.
Rout=(Voutmax-Voutmin)/(Ioutmax-Ioutmin)
Те же яйца что и во втором пункте, вид сбоку.
СИД имеет некоторое напряжение смещения (около 2,4V) и сопротивление (десятые доли Ома). Чем меньше это сопротивление - тем лучше, но оно не нулевое и его приходится учитывать, т.к. оно вносит зависимость напряжения падения от тока. Зачем это нужно - станет ясно ниже.

5. Напряжение смещения нагрузки:
Vbias=Voutmin-Rout*Ioutmin
Вычисляем падение на сопротивлении Rout при токе Ioutmin и вычитаем результат из текущего выходного напряжения драйвера Voutmin, которое соответствует значению на токе Ioutmin.

6. Вычисляем выходное напряжение на максимально допустимом токе:
Vout=Rout*Irefmax+Vbias

7. Вычисляем сам максимально допустимый ток:
Irefmax=(Vcc-3V)*3V/(Rin*Vout)
Рекурсия? Привыкайте. На самом деле это уравнение с плохим условием, и МК проще его вычислить так, чем через квадратное уравнение. Последовательным приближением он за несколько циклов найдёт решение, при первом цикле в 6-м пункте в Irefmax подставляется максимальное значение.
Тут мы вычисляем максимально допустимый выходной ток, с которым напряжение источника питания не опустится ниже 3V. На самом деле в алгоритме два порога. 3V и дельта в пол вольта. Т.е. напряжение на батарее не только не опустится ниже 3V, но ещё и не просядет более чем на 0.5V.

8. Параллельно вычисляется ещё и максимально допустимый ток по температуре, однако там следящий механизм вроде ПИ-регулятора, и так просто его не описать. Irefload не может превышать эти значения, и искусственно ограничивается ими, а результат попадает в Iref, который и идёт уже в регуляторы.

9. Вычисляем предполагаемое выходное напряжение на границе между режимами работы дросселя (прерывистый-безразрывный):
Vout=Rout*Ithreshold+Vbias
Ithreshold - см. ниже. Если он неизвестен (первый цикл) - вместо Vout подсовываем Voutmin, т.к. он очень близок к Vout.

10. Вычисляем предполагаемое заполнение ШИМ на Ithreshold
Ton=(T*(Vout-Vinmin)/Vout)
T - период ШИМ (4мкс), Ton - длительность импульса.

11. Вычисляем, собственно, сам Ithreshold - выходной ток, при котором дроссель будет находится на границе между режимами:
Ithreshold=Vinmin*Ton*(T-Ton)/sqrt2TL^2
sqrt2TL - переменная, представляющая из себя квадратный корень 2*T*L, где L - индуктивность дросселя. Она находится ниже. Да, этажерки "рекурсий", но оно работает...

12. Определяем в каком режиме находится дроссель. Тупо сравниваем Iref с Ithreshold. Если Iref больше - режим безразрывный, иначе прерывистый. Для каждого режима дальнейшие действия различны.

Прерывистый режим:
13. Находим предполагаемое выходное напряжение, т.к. напрямую его вычислить мы в этом режиме не можем:
Vout=Rout*Iref+Vbias

14. Вычисляем необходимое заполнение ШИМ (Ton), чтоб получить выходной ток соответствующий опорному значению:
Ton=sqrt(Iref*(Vout-Vinmin))*sqrt2TL/Vinmin

15. Вычисляем предполагаемый потребляемый драйвером ток, т.к. напрямую мы его в этом режиме вычислить не можем:
Iinmax=Vinmin*Ton^2/sqrt2TL^2+(Vinmin*Ton)^2/(sqrt2TL^2*(Vout-Vinmin))

16. Если сигнал с шунта устойчивый, а Iref не ниже 0,5*Ithreshold - Находим sqrt2TL следящей системой. Просто крутим эту переменную так, чтоб показания шунта совпали с опорным значением.

17. Меряем Vinmin и дальше цикл повторяется...

Безразрывный режим:
13. Тупим в цикле ПИД-регулятора, отрабатываем порядка 400 семплов и считаем что ток на выходе соответствует опорному значению. Да, наконец-то человеческая ОС по току. Дело в том, что на малых токах шунт непригоден для такого использования, поэтому в прерывистом режиме используется сложная арифметика.

14. Вычисляем Потребляемый драйвером ток:
Iinmax=Iref*Ton/(T-Ton)+Iref
Тут вычисление довольно точное, учитывается так же и КПД, ибо потери компенсируются завышенным Ton.

15. Вычисляем выходное напряжение:
Vout=Vinmin*Ton/(T-Ton)+Vinmin
То же самое - точность высокая, плюс сюда включаются и потери, что позволяет их учитывать в дальнейшем.

16. Если Iref<1,25*Ithreshold - дублируем Vout в Voutmin и Iref в Ioutmin. Если Iref практически максимальный (0,6 от максимума и выше) - делаем то же самое с Voumax и Ioutmax.

17. Меряем Vinmin и дальше цикл повторяется...

[Исправлено: INFERION, 14.01.2014 в 15:57]
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 7 раз(а)
Admin (03.01.2014), Behram (27.05.2015), Dima.shym (29.11.2015), Lavrentiy (06.02.2016), motoandrey14 (12.11.2014), MSS (26.02.2016), rezhik (24.03.2015)
Старый 03.01.2014, 00:53   2
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 26.10.2019 00:54
Адрес: Киев, Украина
Сообщений: 10634
Сказал(а) спасибо: 431
Поблагодарили: 1496 раз(а) в 1106 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Хм. Имеем версию 5.1м (вроде, ну то что я первый раз прошивал и больше ничего не менялось). Стоял фонарь на столе пару неделек с работающим маяком в кнопке. Сейчас включаю - в первом режиме яркость регулируется ТОЛЬКО ступенчато, по кругу (т.е. доходим до макс и сразу мин, опять растет - и наоборот, доходим до мин и сразу макс). Ессно направление изменения яркости меняется. Плавная регулировка пропала совсем, осталась ступенчатая. Режим запоминает.
На втором режиме всё путем как и должно быть. Шо эйто было? Кстати почему было - оно и сейчас есть .
Собственно главный вопрос который волнует - гипотетически эта трабла в новой прошивке решена? А то я её собираюсь в скором времени зашить в новый контроллер, а этот положить на полочку до лучших времен появления ВВ программатора.
Батарейку отключал - не попустило.
Да, и мунлайта в первом режиме нет. Во втором - не проблема.
Maksym вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 01:17 Автор темы   3
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 04:30
Адрес: Украина, Полтава
Сообщений: 4120
Сказал(а) спасибо: 260
Поблагодарили: 4159 раз(а) в 1267 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Откуда ноги растут у этого бага - я догадываюсь. Исправить ситуацию должен "зелёный" вход в инженерку - сброс пользовательских настроек. Я сейчас еду в автобусе, подробности позже напишу. Скажу только что этот момент в 5.2 не затрагивался, поэтому если есть такой баг - его ещё предстоит пофиксить (если сам не пофиксился).
INFERION вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 01:30   4
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 26.10.2019 00:54
Адрес: Киев, Украина
Сообщений: 10634
Сказал(а) спасибо: 431
Поблагодарили: 1496 раз(а) в 1106 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Да, зеленая инженерка помогла. Таки желательно это в 5.2 пофиксить.
Maksym вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 02:00 Автор темы   5
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 04:30
Адрес: Украина, Полтава
Сообщений: 4120
Сказал(а) спасибо: 260
Поблагодарили: 4159 раз(а) в 1267 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Если б я знал где фиксить. Я же не знаю при каких обстоятельствах у тебя в ОЗУ попал мусор. Первый режим изначально как был настроен? Плавная регулировка, и вдруг стала дискретной? Или в дискретной вдруг яркость изменилась на что-то не соответствующее одному из порогов? Дискретная меняет значение на определённый шаг, и если там что-то пошло не так - никогда не попадёт в значения, совпадение с которыми считается границами. Их просто будет проскакивать и переполнятся.

Можно сделать механизм устойчивым к таким помехам, но ведь разгуливающий по ОЗУ мусор может и другие вещи зацепить? Фиксить нужно его, а не усложнять алгоритм настройки яркости. Если просто внезапно установился флаг дискрета, когда яркость выставила плавная настройка, где-то между мин. и макс. значениями - задача упрощается...
INFERION вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 02:10   6
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 26.10.2019 00:54
Адрес: Киев, Украина
Сообщений: 10634
Сказал(а) спасибо: 431
Поблагодарили: 1496 раз(а) в 1106 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Был дискретный настроен. После двухнедельного стояния пропала плавная регулировка и изменение направления яркости при упирании в макс/мин. По достижению макс сразу сбрасывалось в мин и потом опять ступеньками до макс и опять резко мин. И наоборот.

Алгоритм настройки яркости усложнять не нужно :) . Если известно где может сбоить - пофиксить. Если не известно... не на кофейной же гуще гадать :( .
Maksym вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 02:52 Автор темы   7
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 04:30
Адрес: Украина, Полтава
Сообщений: 4120
Сказал(а) спасибо: 260
Поблагодарили: 4159 раз(а) в 1267 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Плавная не пропала, она просто перестала включатся, т.к. происходит это на границах яркости. Дискретная просто перестала попадать в эти границы, и замечать их. То недолёт, то перелёт. Это может произойти, если изначально в уровне яркости значение не соответствовало ни одному из дискретных порогов. Переключение в дискретный вариант настройки происходит тогда, когда плавная установила соответствующие дискрету значения. Такая вот скользкая ситуация - мусор в этом слажено работающем механизме просто выводит из строя регулятор. Сброс этого значения (зелёная инженерка) возвращает всё в порядок, но из-за чего он произошел? Что записало в яркость лажу? Приеду - посмотрю. Еду я только стоя на месте, с перегретым двигателем где-то между Полтавой и Луганском...

В разрабатывающемся сейчас 6.0 механизм устойчивее. Там уже заложена проверка на возможные "перелёты" мимо границы.
INFERION вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 03:18   8
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 26.10.2019 00:54
Адрес: Киев, Украина
Сообщений: 10634
Сказал(а) спасибо: 431
Поблагодарили: 1496 раз(а) в 1106 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Еду я только стоя на месте, с перегретым двигателем где-то между Полтавой и Луганском...
итить. Зима ж на улице.
Maksym вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 16:19 Автор темы   9
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 04:30
Адрес: Украина, Полтава
Сообщений: 4120
Сказал(а) спасибо: 260
Поблагодарили: 4159 раз(а) в 1267 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

Доехал. Да, зама, но двигатель сгорел.
INFERION вне форума   Ответить с цитированием Вверх
Старый 03.01.2014, 16:39   10
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 26.10.2019 00:54
Адрес: Киев, Украина
Сообщений: 10634
Сказал(а) спасибо: 431
Поблагодарили: 1496 раз(а) в 1106 сообщениях

По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер?

ппц. КАК???
Maksym вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему

Опции темы

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользовательский интерфейс "Indigo" INFERION Разработки от INFERION 219 13.04.2014 11:30
Indigo 5.0, или "не совсем форумный" драйвер? INFERION Разработки от INFERION 701 03.01.2014 17:25
FL33 (aka "форумный фонарь") - теперь по-русски! lux-rc.com Разработки от Lux-RC 1058 29.11.2012 06:52
Продам медные "модули" D26 под 334 модуль от Lux-RC или форумный трипл и дравер 17mm MIHASYA Архив сделок 38 09.10.2012 11:26
Ищу драйвер для фонаря на трёх элементах "С" (SSC P7 C или Cree MC-E K0-WG) baban Разработка и модификация электроники фонарей 15 05.06.2010 11:49

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:53. Часовой пояс GMT +3.
Даты в формате dd.mm.yyyy.
(По умолчанию форум работает по московскому времени.)


Powered by vBulletin® 3.8.x
Copyright ©2000 - 2014, vBulletin Solutions, Inc. Перевод: zCarot


FONAREVKA.RU - хоббийный проект, сообщество энтузиастов, для которых область фонаростроения (в частности фонарики, компоненты, зарядные устройства, источники питания и т.д.), это исключительно хобби и общение "по интересам".

Проект FONAREVKA.RU - не ведет торговую деятельность и не оказывает иных услуг, где существует коммерческая составляющая. Исключение составляют предоставление на нашей площадке рекламных мест для баннерной рекламы (без каких-либо привилегий для самого рекламодателя) и поддержка в рамках разумного мелкосерийных производителей и кастомщиков, для которых разработки, это в первую очередь многолетнее хобби.

Проект FONAREVKA.RU - не имеет никакого отношения к созвучным магазинам или доменам в других доменных зонах.

Все наши проекты, созданные в рамках основного проекта FONAREVKA.RU размещаются исключительно на поддоменах домена Fonarevka.ru

Список наших проектов:

Официальная база тестов и сравнения фонарей: Fonarevka.ru
Форум о фонарях и светотехнике: Forum.fonarevka.ru
Форум о лазерах и лазерной технике: Lasers.fonarevka.ru
База отзывов о товарах с DX и т.п.: Dxreviews.fonarevka.ru
Калькулятор светового потока: Ledcalc.fonarevka.ru
База тестов и сравнения фонарей от наших коллег: 3rdparty.fonarevka.ru
Глоссарий Фонарёвщика: Glossary.fonarevka.ru

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.

Copyright ©2007 - 2020, FONAREVKA.RU.

Если Вы не являетесь правообладателем того или иного контента размещенного на форуме (фото/видео/текст),
то при любом использовании материалов форума необходимо получить письменное разрешение
на использование того или иного материала у администрации форума.

При использовании материалов форума ссылка на forum.fonarevka.ru обязательна.

Рейтинг@Mail.ru

Время генерации страницы 0.26082 секунды с 21 запросами