Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Я заметил, что после изменения состояния в установках и выхода оттуда значение переменной не сохраняется. ПОстоянно идёт 1.
Один момент, похоже что заработало, тестирую...
Да, похоже что всё работает, спасибо Вам большое за помощь!!!
Добавлено after 1 hour 13 minutes 46 seconds: Еще небольшую проблемку увидел в работе режиме автояркости, примерно при среднем свете раз в некоторое время свечение часов немного притухает, потом возвращается в нормальный свет, это происходит раз или два в минуту, периодичность зацикленная. Есть некоторые подозрения что это проблема в секции ВКЛЮЧЕНИЕ режима регулировки яркости День/Ночь
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Еще небольшую проблемку увидел в работе режиме автояркости, примерно при среднем свете раз в некоторое время свечение часов немного притухает, потом возвращается в нормальный свет, это происходит раз или два в минуту, периодичность зацикленная. Есть некоторые подозрения что это проблема в секции ВКЛЮЧЕНИЕ режима регулировки яркости День/Ночь
чет я не допонял на каком режиме стоит (чему равен brightSet==?)
Код:
if(brightSet==17){//---------- ВКЛЮЧЕНИЕ режима регулировки яркости День/Ночь
if (month==1||month==2||month==3){DAY_START=7;} // в янворе, феврале,марте циферблат включится на полную яркость в 7 часов if (month==4||month==5){DAY_START=6;} // в апреле, мае циферблат включится на полную яркость в 6 часов if (month==6||month==7||month==8){DAY_START=5;} // в июне, июле, августе циферблат включится на полную яркость в 5 часов if (month==9||month==10){DAY_START=6;} // в сентябре, октябре циферблат включится на полную яркость в 6 часов if (month==11||month>12){DAY_START=7;} // в ноябре, декабре циферблат включится на полную яркость в 7 часов
if(hour>=DAY_START&&hour<DAY_END&&(minute!=lastMin)){ // каждую минуту проверяем ночной режим или дневной sendCmdAll(CMD_INTENSITY, 10); // посылаем команду на изменение яркости на 10 lastMin=minute; // } // else if(minute!=lastMin){ // sendCmdAll(CMD_INTENSITY, 0); // посылаем команду на изменение яркости на 0 lastMin=minute; // } // }
этот режим? или авто?
Код:
if(brightSet==16){//---------- ВКЛЮЧЕНИЕ режима автоматической регулировки яркости if(secFr==0){ // Проверка и изменение яркости каждую секунду int ledLevel=map(analogRead(BRIGHT_PIN), 1023, 0, 0, 15); // Считываем показания с фоторезистора и преводим их к виду от 0 до 12 ledLevel=constrain(ledLevel, 0, 12); // ограничиваем верхнее значение ledLevel до 12 sendCmdAll(CMD_INTENSITY, ledLevel); // Отсылаем команду на установку яркости экрана } // }
вставляйте в код Serial.println(ledLevel);delay(10);
Код:
if(brightSet==16){//---------- ВКЛЮЧЕНИЕ режима автоматической регулировки яркости if(secFr==0){ // Проверка и изменение яркости каждую секунду int ledLevel=map(analogRead(BRIGHT_PIN), 1023, 0, 0, 15); // Считываем показания с фоторезистора и преводим их к виду от 0 до 12 ledLevel=constrain(ledLevel, 0, 12); // ограничиваем верхнее значение ledLevel до 12 sendCmdAll(CMD_INTENSITY, ledLevel); // Отсылаем команду на установку яркости экрана Serial.println(ledLevel);delay(10); } // }
и будем смотреть в мониторе порта ledLevel ... при минимальном освещении, при максимальном и где эти цифры/яркость прыгает.
if(secFr==0){ // Проверка и изменение яркости каждую секунду int ledLevel=map(analogRead(BRIGHT_PIN), 1023, 0, 0, 15); // Считываем показания с фоторезистора и приводим их к виду от 0 до 12
1 и 2 это горит 1 лампа из 3-х, неяркая. Поставил другой, светить матрица стала ярче, на том фоторезисторе отсутствовала капелька, которая играет роль защиты и линзы. Слежу за поведением.
вместо ledLevel=constrain(ledLevel, 0, 12); сделал ledLevel=constrain(ledLevel, 0, 10);
я думаю это не верное решение... у автора часов яркость регулируется от 0 - 12 . если поставить 10 яркость не будет максимальной. наверно правильнее сделать здесь
Код:
int ledLevel=map(analogRead(BRIGHT_PIN), 1023, 0, 0, 15); // Считываем показания с фоторезистора и приводим их к виду от 0 до 12
int ledLevel=map(analogRead(BRIGHT_PIN), 1023, 0, 0, 10);
Хм, совсем нехорошо работает автояркость. Вот пример видео, камера не передает самого изменения, но по засветам можно определить когда яркость меняется, в самом начале не смотрите, настраивался автофокус.
Хотя есть подозрение что сам фоторезитсор надо размещать не мордой в люстру, на например в потолок, т.е. избегать прямого попадания света от света =) Поменял положение фоторезистора, вроде стало норм. Наблюдаем дальше =)
Попробовал проверить фонариком, изменяя интенсивность падения света, такой баг начинает появляться при определенном световом потоке.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения