Светодиодные фонари и световые приборы. Всё о светотехнике.
Вернуться   Форум FONAREVKA.RU Мастерские светотехников Мастерская: INFERION
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 237640   Ответов в теме 698   Подписчиков на тему 39   Добавили в закладки 6
Опции темы Поиск в этой теме
Старый 03.08.2013, 04:56 Автор темы   1

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

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



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


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

Начну со схем. Вот эта была запланирована:
Нажмите на изображение для увеличения
Название: Indigo_v5.0a.png
Просмотров: 5961
Размер:	87.8 Кб
ID:	94403
И собрана:
Нажмите на изображение для увеличения
Название: P5214503.jpg
Просмотров: 4886
Размер:	94.6 Кб
ID:	94406
Сразу же обнаружился косяк. Почему-то на малых значениях яркость регулировалась нелинейно, как бы всплесками, рывками... Виновник быстро нашелся:
Нажмите на изображение для увеличения
Название: P5274507.JPG
Просмотров: 5002
Размер:	139.1 Кб
ID:	94407
И задавился:
Нажмите на изображение для увеличения
Название: P5284514.JPG
Просмотров: 4927
Размер:	145.8 Кб
ID:	94408
Схема приобрела вот такой вид:
Нажмите на изображение для увеличения
Название: Indigo_v5.0b.png
Просмотров: 5119
Размер:	88.2 Кб
ID:	94404
Добавилась демпфирующая RC-цепочка, давящая паразитный резонанс LC-контура, образованного индуктивностью дросселя и паразитной ёмкостью в его цепях (диоды, ключ и т.п.). Теперь вроде бы можно отлаживать программу. Долго я её мурижил, всё надеялся что смогу заставить работать встроенный дифференциальный усилитель. Фиг! У 85-х тинек он гораздо ужаснее чем у тех же 25-х. Поэтому был успешно забит и заменён вот этим внешним костылём:
Нажмите на изображение для увеличения
Название: Indigo_v5.0s.png
Просмотров: 1450
Размер:	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
Просмотров: 2922
Размер:	81.1 Кб
ID:	94415
Обратная совместимость сохранилась.
Печатные платы на MCPCB такого плана:
Нажмите на изображение для увеличения
Название: 120W.png
Просмотров: 1605
Размер:	48.4 Кб
ID:	94409Нажмите на изображение для увеличения
Название: P1014701.jpg
Просмотров: 1200
Размер:	63.9 Кб
ID:	94413Нажмите на изображение для увеличения
Название: P1014722.jpg
Просмотров: 1089
Размер:	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
Просмотров: 937
Размер:	50.8 Кб
ID:	94416Нажмите на изображение для увеличения
Название: P1014738.jpg
Просмотров: 748
Размер:	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 в 17: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, 02:53   2
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

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

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

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

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

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

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

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

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

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

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

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

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

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

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

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

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

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

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

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

ппц. КАК???
Maksym вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Leeo74 (21.03.2021)
Старый 03.01.2014, 20:22   11
Tamagotchi

 
Аватар для Tamagotchi
 
Регистрация: 07.09.2011
Последняя активность: 04.08.2023 18:59
Адрес: Волгоградская обл.
Сообщений: 13705
Сказал(а) спасибо: 3333
Поблагодарили: 7886 раз(а) в 3523 сообщениях

Отправить сообщение для Tamagotchi с помощью Skype™
По умолчанию Re: Indigo 5.0, или "не совсем форумный" драйвер? (Часть 2)

Я вот, чем больше слежу за этой бедой, тем больше думаю, что устройство работать должно, а не калиброваться в промежутках между сменами батареи и простоями на полке. [INFERION mode ON] по дилетантски все сделано [INFERION mode OFF].

При разработке серийного устройства, если бы случайно дошло до серийного производства, автора бы давно отымели ни по детцки.
Tamagotchi вне форума   Ответить с цитированием Вверх
Старый 04.01.2014, 00:44 Автор темы   12
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

Я выше где-то писал, что на заводах делают сложнее схемотехнически и проще программно. Им так выгоднее. Так что вариант не для завода, это верно.

Tamagotchi, часто ты его калибруешь в перерывах? Я вообще не калибрую, в норме он сам всё должен делать. Или смущают баги? Меня они тоже смущают, когда я на них натыкаюсь. У тебя их в программах такой сложности не бывает, да? Сразу всё хорошо начинает работать.
Тушки у меня, увы, долго на полке не лежат. Поэтому такие недельные валяния без использования у меня роскошь. По коду разницы быть не должно, одна вспышка маяка, или сотня тысяч. Цикл выполняется самый обычный.

[Исправлено: INFERION, 04.01.2014 в 00:47]
INFERION вне форума   Ответить с цитированием Вверх
Старый 05.01.2014, 22:35   13
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

А версия 5.2 в обозримом будущем будет еще меняться или пока что можно её заливать как последнюю?
Maksym вне форума   Ответить с цитированием Вверх
Старый 06.01.2014, 01:04 Автор темы   14
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

Maksym, заливай, если будут проблемы - подарю восстановитель и буду ковырять прошивку. Я просмотрел код - маяк и близко не подходит к функциям регулировки яркости. Он вообще перепрыгивает весь интерфейс и сразу же со старта в регуляторы попадает. Как он мог что-то записать куда не просят - не понял. Однако в 5.2 есть свободное место, и можно сделать регулировку яркости устойчивее. Изначально интерфейс не предусматривал дискретную регулировку, поэтому в нём неполноценный детектор переполнений и границ. Ковырять 5.2 я уже не хочу, поскольку с нуля пишется 6.0. Хоть и понижалка, но очень похожа на повышалку. Потом можно будет слепить 5.3 с него. Лучше тем, что код чище, ибо уже изначально заложено всё то, что я фактически докостыливал в 5.0. Плюс интерфейс лучше.

В общем прошивай, не жди. Перепрошить проще потом будет. Тем более что мне лишний тестер не помешает .

[Исправлено: INFERION, 06.01.2014 в 01:06]
INFERION вне форума   Ответить с цитированием Вверх
Старый 06.01.2014, 01:26   15
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

ОК, доберусь - залью что есть. Восстановитель собрать в принципе не проблема, коль будет в том необходимость. Детальки в Имраде все есть, стоимость - полторы тиньки . СЕЙЧАС купить чистую тиньку получается банально дешевле.
Maksym вне форума   Ответить с цитированием Вверх
Старый 24.01.2014, 00:38   16
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

Итого, свершилось! Залил новую прошивку в новый МК и впаял в драйвер. Всё тип-топ, всё работает. Небольшие ступеньки все же остались.
Maksym вне форума   Ответить с цитированием Вверх
Старый 24.01.2014, 00:45 Автор темы   17
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

Они меньше или больше за старые версии? Калибровку нормально провёл? ВАХ нагрузки сняло? Мощность батареи адекватно оценивает? Нововведения в интерфейс годятся?

Прощупай, плиз, интерфейс и скажи чего бы ты хотел добавить/изменить. Я уже просил, но ты проигнорировал. Готовится 6.0, и интерфейс ещё не приобрёл законченный вид. Он похожий, но его главное отличие - возможность одним кликом с последующим удержанием включить турбо практически в любой момент, и после отпускания вернутся в исходный режим. В 5.1 и 5.2 это возможно только с хитрой кнопкой, но она мне не понравилась. Ещё 6.0 имеет другой способ настройки температуры и умеет показывать эффективность драйвера. А в инженерке можно посмотреть качество тепловой связи пилюли с драйвером - этот момент компенсируется и термодатчик даёт более адекватную картину.

[Исправлено: INFERION, 24.01.2014 в 00:51]
INFERION вне форума   Ответить с цитированием Вверх
Старый 24.01.2014, 00:49   18
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Они меньше или больше за старые версии?
Сложно сказать. Похожи . Мож чуточку меньше.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Калибровку нормально провёл? ВАХ нагрузки сняло?
По мануалке все как написано. Надеюсь что сняло.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Мощность батареи адекватно оценивает?
Не знаю. Но работает, на полной мощности в т.ч.


Цитата:
Посмотреть сообщение Сообщение от INFERION :
Нововведения в интерфейс годятся?
Да, за нововведения респект. Особенно переключение во второй режим по длинном нажатию (интересно получается, если первый слабее а второй мощнее то получается еще типа и плавный старт за счет загорания сначала первого режима). Ну и убрались эти гадостные мигания при регулировке. Ваще ляпота.
Правда врет термометр. А калибровать его сложно - сейчас в комнате 22 градуса, будем ждать потепления до 25, иначе ж я никак не обеспечу корпусу 25 градусов.
Maksym вне форума   Ответить с цитированием Вверх
Старый 24.01.2014, 00:54 Автор темы   19
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

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

Цитата:
Посмотреть сообщение Сообщение от Maksym :
Ну и убрались эти гадостные мигания при регулировке. Ваще ляпота.
Их в инженерке можно вернуть, если соскучишься .
Цитата:
Посмотреть сообщение Сообщение от Maksym :
Правда врет термометр. А калибровать его сложно - сейчас в комнате 22 градуса, будем ждать потепления до 25, иначе ж я никак не обеспечу корпусу 25 градусов.
Я просто прогреваю тушку до 25-ти. Это и руками сделать можно, и в миску с подогретой водой окунуть...
На сколько по умолчанию врёт то? Мне для статистики. У меня обычно около +10 градусов, и странно что почти везде так.

В 6.0, кстати, первый режим сугубо мунлайтовый. На нём больше сотни миллиампер не выкрутишь. Решил отказаться от этой сшивки в режимах. Старшие работают в импульсном режиме с током от 50мА (ориентировочно, смотря насколько хватит шунта), а первый до 100мА в линейном режиме и со специфической "активностью" МК - почти коматозное состояние, даже индикатор ели дышит. Но это пока всё в теории. Сейчас не до программы, много дел по хозяйству. Так что я жду пожеланий...

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

[Исправлено: INFERION, 24.01.2014 в 00:59]
INFERION вне форума   Ответить с цитированием Вверх
Старый 24.01.2014, 01:05   20
Maksym
Ветеран Фонарёвки
 
Регистрация: 26.11.2011
Последняя активность: 09.01.2022 00:32
Адрес: Киев, Украина
Сообщений: 10493
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях

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

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Их в инженерке можно вернуть, если соскучишься .
Возвращал же для калибровки.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Я просто прогреваю тушку до 25-ти. Это и руками сделать можно, и в миску с подогретой водой окунуть...
Мерять точно особо нечем . Пирометра нетути.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
На сколько по умолчанию врёт то? Мне для статистики. У меня обычно около +10 градусов, и странно что почти везде так.
Значица так. По моим приблизительным оценкам когда у корпуса было 25 градуса я калибранул термокалибровку и она выдала 12 миганий. Но при этом термоконтроль градусов на 10 врет - т.е. задано 50, а тушка краснеет уже при 40 градусах на поверхности.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
В 6.0, кстати, первый режим сугубо мунлайтовый.
Плохо. Лучше его запихнуть подальше, но иметь возможность вызвать мгновенно. Потому что ну не нужен постоянно мунлайт, и каждый раз на него натыкаться зло. В то же время когда он нужен другие более яркие режимы недопустимы даже на короткий срок. Надо думать как включать мунлайт отдельно от основной линейки.
Maksym вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности
Время генерации страницы 0.19861 секунды с 17 запросами