результат: все получилось как задумывалось, днем ярко ночью тускло но, снова НО перед сменой показаний на термометр и сразу после смены на мили секунду ярко засвечиваются некоторые сегменты светящихся тускло цифр в ночном режиме.
если отключить показания ( при установке для индикации температуры 0 сек. для индикации даты и 5 сек. )
то часы светя тускло смена показаний часы дата работает и ни каких засветов нет, все отлично.
я думаю что то осталось в коде что то от фоторезистора
если есть предложения или какие то идеи даже мысли в слух как убрать этот косяк, напишите. HELP !!!
если есть предложения или какие то идеи даже мысли в слух как убрать этот косяк, напишите
Виноваты в этом "косяке" функции которые участвуют в работе с температурным датчиком. Они запрещают прерывания и тем самым сбивают динамическую индикацию. Один из вариантов решения (на мой взгляд, не совсем удачный) это отключить все запреты прерывания стоящие перед вызовами функций указанными выше. Сделать это можно так, в файле "ds18x20_v3.lib" закоментировать все запреты на прерывания. Правда при этом пострадает работа с датчиком DS18B20, что выразится, иногда, в пропуске индикации температуры. Для исключения этого, нужно дописывать код что бы выводить предыдущее значение температуры, когда функция не вернула ее значение, при этом сделать ограниченное число "подмены" для исключения случаев когда температура выводится, а датчик, к примеру, вышел из строя. Если есть еще варианты, пишите.
+5СпойлерРедкое явление здесь, что кто то попросил что то изменить, а потом взял, разобрался и САМ сделал, и даже устранил возникшие проблемы, и тоже сам! Большинство просящих будут месяцами клянчить помощь и обвинять всех в нежелании помочь
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Редкое явление здесь, что кто то попросил что то изменить, а потом взял, разобрался и САМ сделал, и даже устранил возникшие проблемы, и тоже сам! Большинство просящих будут месяцами клянчить помощь и обвинять всех в нежелании помочь
Речи нет, это хорошо, когда человек сам разобрался. Но нужно учитывать, что есть люди которые как-либо разбираются в электронике, могут повторить устройство, возможно и самостоятельно прошить микроконтроллер. Но в программировании микроконтроллеров у них нет познаний. От слова совсем. И есть еще распространенное мнение, типа, что стоит программу накидать. Плевое дело. Особенно это пошло после появления ардуин.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Кстати, кто собирал эти часы на динамике? Вопрос следующий. Есть ли мерцание дисплея? Спрашиваю по следующей причине, времянки работы с 1-wire жесткие. Работа с датчиком требует определенное время, а при динамике это может вылезти мерцанием дисплея.
Вопрос что это за цифра и как она вычисляется??? какие мысли по этому поводу
Постараюсь написать наиболее кратко, не вдаваясь в подробности. Динамическая индикация реализована восьми разрядным таймером. В данном проекте, при переполнение таймера-счетчика возникает прерывание, в котором микроконтроллер засвечивает следующий разряд. Но есть еще одно прерывание этого же таймера, это по совпадению, т.е. досчитав до определенного числа, наступает еще одно прерывание, в котором гасятся все разряды. Получается, что записав число, например -max_yarkost = 20, Таймер сначала засветит разряд, потом досчитав до 20 погасит, а когда будет 255, переключит на следующий разряд и так далее Следовательно увеличивая данное число, увеличиваем длительность свечения разряда и соответственно повышается яркость.(Программный ШИМ). Автор выбрал максимальное число - max_yarkost = 250. Пять оставшихся тактов таймера - это защитный барьер от паразитной засветки соседнего разряда, т.е. предыдущий разряд гасится немного раньше, чем включится следующий. Так вот, откуда "вспышки"?. Представим ситуацию, засветился разряд, через 20 отсчетов таймера должно сработать прерывание и погасить его. А в этот момент "приспичило" температуру измерить, и как правильно выше здесь писали - времянки работы с 1-wire жесткие, соответственно функции запрещают прерывания на время измерения, - разряд индикатора будет продолжать гореть, пока разрешат прерывания, отсюда и "вспышки". Они заметны только на малой яркости, За счет нелинейного характеристики свечения светодиодов и анатомического строения глаза, на максимальной яркости их уже не заметно, но они есть.
спасибо zseer64 , круто описали и понятно, еще раз большое спасибо!
мне так понравились эти часики с ночным режимом, хоть ниже и нельзя max_yarkost = 64;я решили в зал сделать только с большими цифрами однако большие сегменты дорого стоят, да и ждать с али долго, поэтому буду делать сам. как и из чего, и чего получилось напишу
Я попробовал посмотреть код. Это кошмар. Мне проще написать программу с нуля. Может и возьмусь как-нибудь... Раз этот проект такой популярный, почему бы и не поучаствовать.
Привет всем!!! Восемь лет тема была актуальна и всем нравилась. Буквально, нашлись спецы переписать код на свой лад. Не лучше бы им написать свой никем не придуманный и выложить здесь как уникальный. Все кто хоть в чем то разбирается и так пришли к своему консенсусу без разных прений. Я так думаю.
_________________ Во время поиска небольших радиодеталей, упавших со стола, вероятность их обнаружения прямо пропорциональна размеру детали и обратно пропорциональна их значению для завершения работы
Возник вопрос Кто то RTC I2C DS1307 использовал его в часах ??? модуль можно использовать не меняя код или надо другую библиотеку прилаживать. Или проще выковырнуть из модуля микросхему DS1307 и припаять в часы ??? Кто Что и Как лучше-проще сделать, посоветуйте!
я лично делал ключи так взял 7 шт. кт315 на базу 1кОм на эмитер 100 Ом коллектор на +5 вольт , у меня самодельный индикатор в котором сегмент состоит из двух параллельных 5 мм светодиода и 4 шт. кт361 на базу 1кОм эмитер на светодиоды коллектор -. вторые часы полет отличный
Про ключи я много раз уже здесь писал, как и что нужно делать, и почему авторский вариант не очень удачный. Так же реализация ключей зависит от напряжения питания , т е размеров и цвета свечения индикаторов. И благо любое сочетание активных уровней можно выбрать только лишь нажатием нужной кнопки при включении питания.
думаю, все таки лучшее решение включение светодиодов, это последовательное, так как тогда через кристаллы проходит одинаковый ток и свечение более равномерное к тому же ток на сегмент будет обычно до 20 мА, а если нужно включить параллельно 4 светодиода, то ток уже будет 80 ма, а при таком токе, ключи могут греться, и тепло которых будет воздействовать на термодатчик, сбивая правильные показания.
Martin76 писал(а):
Про ключи я много раз уже здесь писал
Martin76, если не трудно, напишите пожалуйста на каких страницах вы написали о ключах. Я конечно же попробую поискать сам, но страниц уже набралось достаточно много, и можно просто упустить какую-то нужную информацию при поиске.
у меня уже была подобная проблема раньше, когда-то сделал часы на зеленых индикаторах 2.3", внутри стоят 4 светодиода на сегмент включенных последовательно, примерно вышло 2*4=8 вольт питание сегмента, тогда вопрос решился уменьшением резистора базы-коллектор с 4к7 до 2к2, правда входное питание было 15 вольт. И они работают до сих пор, уже 5 лет. Но вот по прошествии долгого времени вновь выпала возможность взять в руки паяльник, и захотелось сделать еще одни часы (у меня слабость к измерению времени ). Но вот проблема, на сегмент уже нужно подавать от 8,8 вольта, к тому же питание желательно 12 вольт. То есть, если уменьшить резистор база-коллектор хотя-бы до 1к6 или 1к8, то теоретически, на коллекторе транзистора повысилось бы напряжение достаточное для свечения сегмента (хоть и не в полную яркость, но думаю хватило-бы). Но заметил, что через этот резистор, идет полное напряжение питание к базе транзистора, которая через резистор 4к7 подключена напрямую к микроконтроллеру, то есть если я его сильно уменьшу не повредит ли напряжение питающее аноды индикаторов, порты вывода микроконтроллера ? Поэтому вопрос и был задан, что до какого номинала можно уменьшать резистор без ущерба работы схемы, и без риска сжечь контроллер.
_________________ нужно не только знать, но и уметь это объяснить
В случае ОА и УЛН ничего в настройках менять не нужно будет управление уровнями 1/1. ПНП транзисторы только помощнее я ставлю, ВС327/807, 8550, 2N/MMBT4403 и тп.
jumbo писал(а):
не повредит ли напряжение питающее аноды индикаторов, порты вывода микроконтроллера ?
При небольшом токе, через резистор в данном случае не повредит, напряжение будет ограничено защитным и паразитным диодами на уровне U пит +0,5В.
а зачем транзисторы помощнее ставить, если ток будет в пределах 15-17 мА, может лучше подобрать по усилению, ВС847С например ?
Martin76 писал(а):
напряжение будет ограничено защитным и паразитным диодами на уровне U пит +0,5В.
это защитными диодами которые внутри контроллера ? Напряжение на ножках контроллера управляющих анодами при сопротивлении базо-коллекторного резистора 2К7 получается 1.27В, а что должно быть +0,5В или я не правильно что-то понял ?
Martin76, спасибо за схему если надумаю сделать еще одни часы то плату переделаю под такие транзисторные ключи для управления индикаторами с ОА. Просто плата уже сделана, и без большой крови ну никак не получится переделать ключи (если бы это были выводные детали то можно было-бы попробовать, а так у меня все на СМД). Хотел спросить, у кого-то работают индикаторы по этой схеме, если да, то сколько светодиодов последовательно включены, и какое падение напряжения на сегменте?
П.С. Попробую уменьшить базово-коллекторный резистор до 2К, посмотрим что будет.
_________________ нужно не только знать, но и уметь это объяснить
подпаял я китайский модуль AT24C32 реального времени RTC I2C DS1307, часы заработали правда ужасно спешат. дня через два появилось время и я решил разобраться. открыл часы, а там батарейка вздулась, померил на ней 1 вольт остался?????? в интернет за мудростью .......... Вот что я нашел, может кому пригодится http://blog.rchip.ru/obzor-chasov-realn ... ni-ds1307/
выпаял диод, два сопротивления, поставил перемычку, батарейка больше не раздувалась, начал менять кварц. реальных изменений в точности хода не добился, как спешили так и спешат, за 3 часа почти на 2 минуты убегали.
подумал-подумал и прям не думая припаял два конденсатора на 22 пФ одними ногами на минус вторыми на ножки кварца. два дня часы идут секунда в секунду
Зачем усложнять схему лишним транзистором на канал? Если можно попросить перекомпилировать программу? Или самому это сделать, если кто разбирается. Чтобы вместо управляющей 1 был управляющий 0.
Сейчас этот форум просматривают: Google [Bot] и гости: 33
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения