Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
удалил CodeVisionAVR2.05.0 скачал CodeVisionAVR 3.12 отсюда, если кому надо, http://radioaktiv.ru/loads/softf/compil ... r-312.html стало компилироватся без ошибок
результат: все получилось как задумывалось, днем ярко ночью тускло
но, снова НО
перед сменой показаний на термометр и сразу после смены на мили секунду ярко засвечиваются некоторые сегменты светящихся тускло
цифр в ночном режиме.
если отключить показания ( при установке для индикации температуры 0 сек. для индикации даты и 5 сек. )
то часы светя тускло смена показаний часы дата работает и ни каких засветов нет, все отлично.
я думаю что то осталось в коде что то от фоторезистора
если есть предложения или какие то идеи даже мысли в слух как убрать этот косяк, напишите.
HELP !!!
результат: все получилось как задумывалось, днем ярко ночью тускло
но, снова НО
перед сменой показаний на термометр и сразу после смены на мили секунду ярко засвечиваются некоторые сегменты светящихся тускло
цифр в ночном режиме.
если отключить показания ( при установке для индикации температуры 0 сек. для индикации даты и 5 сек. )
то часы светя тускло смена показаний часы дата работает и ни каких засветов нет, все отлично.
я думаю что то осталось в коде что то от фоторезистора
если есть предложения или какие то идеи даже мысли в слух как убрать этот косяк, напишите.
HELP !!!
- Вложения
-
- часы динамика ночной тест.7z
- (241.7 КБ) 328 скачиваний
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
если есть предложения или какие то идеи даже мысли в слух как убрать этот косяк, напишите
Виноваты в этом "косяке" функции которые участвуют в работе с температурным датчиком. Они запрещают прерывания и тем самым сбивают динамическую индикацию. Один из вариантов решения (на мой взгляд, не совсем удачный) это отключить все запреты прерывания стоящие перед вызовами функций указанными выше. Сделать это можно так, в файле "ds18x20_v3.lib" закоментировать все запреты на прерывания. Правда при этом пострадает работа с датчиком DS18B20, что выразится, иногда, в пропуске индикации температуры. Для исключения этого, нужно дописывать код что бы выводить предыдущее значение температуры, когда функция не вернула ее значение, при этом сделать ограниченное число "подмены" для исключения случаев когда температура выводится, а датчик, к примеру, вышел из строя.
Если есть еще варианты, пишите.
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
привет всем кто со мной делает день-ночь в часах! есть хорошая новость !
я прошил контролер авторской прошивкой
посмотрел внимательно перед сменой показаний на термометр и сразу после смены на мили секунду цифры дергаются тоже как и у меня , однако засвета нет.
подумал-подумал и поставил max_yarkost = 64; вместо max_yarkost = 10;
и все стало отлично работать без засветов. пробовал ставить 8, 32 засвет есть,а 64 нет
Вопрос что это за цифра и как она вычисляется??? какие мысли по этому поводу
void set_yarkost (void) {
if (fotorez) return; // если "не ноль" - работа с фоторезистором отключена
rtc_get_time(&myhour, &mymin, &mysec);
if ((indicate == IND_CLOCK) && (myhour >= 0x22) || (myhour <= 0x05)) {
max_yarkost = 64;} // яркость тускло
else { max_yarkost = 250;} // яркость ярко
я прошил контролер авторской прошивкой
посмотрел внимательно перед сменой показаний на термометр и сразу после смены на мили секунду цифры дергаются тоже как и у меня , однако засвета нет.
подумал-подумал и поставил max_yarkost = 64; вместо max_yarkost = 10;
и все стало отлично работать без засветов. пробовал ставить 8, 32 засвет есть,а 64 нет
Вопрос что это за цифра и как она вычисляется??? какие мысли по этому поводу
void set_yarkost (void) {
if (fotorez) return; // если "не ноль" - работа с фоторезистором отключена
rtc_get_time(&myhour, &mymin, &mysec);
if ((indicate == IND_CLOCK) && (myhour >= 0x22) || (myhour <= 0x05)) {
max_yarkost = 64;} // яркость тускло
else { max_yarkost = 250;} // яркость ярко
- Вложения
-
- часы динамика ночной тест 1.7z
- (236.46 КБ) 301 скачивание
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
+5Спойлер
Редкое явление здесь, что кто то попросил что то изменить, а потом взял, разобрался и САМ сделал, и даже устранил возникшие проблемы, и тоже сам! Большинство просящих будут месяцами клянчить помощь и обвинять всех в нежелании помочь
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Martin76 писал(а):Редкое явление здесь, что кто то попросил что то изменить, а потом взял, разобрался и САМ сделал, и даже устранил возникшие проблемы, и тоже сам! Большинство просящих будут месяцами клянчить помощь и обвинять всех в нежелании помочь
Речи нет, это хорошо, когда человек сам разобрался. Но нужно учитывать, что есть люди которые как-либо разбираются в электронике, могут повторить устройство, возможно и самостоятельно прошить микроконтроллер. Но в программировании микроконтроллеров у них нет познаний. От слова совсем. И есть еще распространенное мнение, типа, что стоит программу накидать. Плевое дело. Особенно это пошло после появления ардуин.
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Кстати, кто собирал эти часы на динамике? Вопрос следующий. Есть ли мерцание дисплея? Спрашиваю по следующей причине, времянки работы с 1-wire жесткие. Работа с датчиком требует определенное время, а при динамике это может вылезти мерцанием дисплея.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Никакого мерцания даже на больших 3, 4 и 5 дюймовых индикаторах нет.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
только у горе-разработчиков. если дело делал нормальный разработчик - никаких проблем не бывает.Demiurg писал(а):времянки работы с 1-wire жесткие. Работа с датчиком требует определенное время, а при динамике это может вылезти мерцанием дисплея.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Вопрос что это за цифра и как она вычисляется??? какие мысли по этому поводу
Постараюсь написать наиболее кратко, не вдаваясь в подробности. Динамическая индикация реализована восьми разрядным таймером. В данном проекте, при переполнение таймера-счетчика возникает прерывание, в котором микроконтроллер засвечивает следующий разряд. Но есть еще одно прерывание этого же таймера, это по совпадению, т.е. досчитав до определенного числа, наступает еще одно прерывание, в котором гасятся все разряды. Получается, что записав число, например -max_yarkost = 20, Таймер сначала засветит разряд, потом досчитав до 20 погасит, а когда будет 255, переключит на следующий разряд и так далее Следовательно увеличивая данное число, увеличиваем длительность свечения разряда и соответственно повышается яркость.(Программный ШИМ). Автор выбрал максимальное число - max_yarkost = 250. Пять оставшихся тактов таймера - это защитный барьер от паразитной засветки соседнего разряда, т.е. предыдущий разряд гасится немного раньше, чем включится следующий.
Так вот, откуда "вспышки"?. Представим ситуацию, засветился разряд, через 20 отсчетов таймера должно сработать прерывание и погасить его. А в этот момент "приспичило" температуру измерить, и как правильно выше здесь писали - времянки работы с 1-wire жесткие, соответственно функции запрещают прерывания на время измерения, - разряд индикатора будет продолжать гореть, пока разрешат прерывания, отсюда и "вспышки". Они заметны только на малой яркости, За счет нелинейного характеристики свечения светодиодов и анатомического строения глаза, на максимальной яркости их уже не заметно, но они есть.
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
спасибо zseer64 , круто описали и понятно, еще раз большое спасибо!
мне так понравились эти часики с ночным режимом, хоть ниже и нельзя max_yarkost = 64;я решили в зал сделать только с большими цифрами
однако большие сегменты дорого стоят, да и ждать с али долго, поэтому буду делать сам.
как и из чего, и чего получилось напишу
мне так понравились эти часики с ночным режимом, хоть ниже и нельзя max_yarkost = 64;я решили в зал сделать только с большими цифрами
однако большие сегменты дорого стоят, да и ждать с али долго, поэтому буду делать сам.
как и из чего, и чего получилось напишу
- Акма
- Встал на лапы
- Сообщения: 87
- Зарегистрирован: Сб фев 13, 2016 10:18:25
- Откуда: D.P.R. Мясо комбинат.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
[uquote="Demiurg",url="/forum/viewtopic.php?p=3175387#p3175387"]Я попробовал посмотреть код. Это кошмар. Мне проще написать программу с нуля. Может и возьмусь как-нибудь... Раз этот проект такой популярный, почему бы и не поучаствовать.[/uquote]
Привет всем!!! Восемь лет тема была актуальна и всем нравилась. Буквально, нашлись спецы переписать код на свой лад. Не лучше бы им написать свой никем не придуманный и выложить здесь как уникальный. Все кто хоть в чем то разбирается и так пришли к своему консенсусу без разных прений. Я так думаю.
Привет всем!!! Восемь лет тема была актуальна и всем нравилась. Буквально, нашлись спецы переписать код на свой лад. Не лучше бы им написать свой никем не придуманный и выложить здесь как уникальный. Все кто хоть в чем то разбирается и так пришли к своему консенсусу без разных прений. Я так думаю.
Во время поиска небольших радиодеталей, упавших со стола, вероятность их обнаружения прямо пропорциональна размеру детали и обратно пропорциональна их значению для завершения работы
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Всем привет!
Прислали посылку с али AT24C32 реального времени RTC I2C DS1307 модуль https://ru.aliexpress.com/item/New-I2C- ... 0.0.dDhAP1
Для будильника модуль усилитель декодирования аудио Плеер https://ru.aliexpress.com/item/1pcs-TF- ... 0.0.Qe4LSK
Развел плату, напечатал, отутюжил, протравил, получилось красиво, осталось на паять детальки.
Возник вопрос
Кто то RTC I2C DS1307 использовал его в часах ???
модуль можно использовать не меняя код или надо другую библиотеку прилаживать. Или проще выковырнуть из модуля микросхему DS1307 и припаять в часы ???
Кто Что и Как лучше-проще сделать, посоветуйте!
Прислали посылку с али AT24C32 реального времени RTC I2C DS1307 модуль https://ru.aliexpress.com/item/New-I2C- ... 0.0.dDhAP1
Для будильника модуль усилитель декодирования аудио Плеер https://ru.aliexpress.com/item/1pcs-TF- ... 0.0.Qe4LSK
Развел плату, напечатал, отутюжил, протравил, получилось красиво, осталось на паять детальки.
Возник вопрос
Кто то RTC I2C DS1307 использовал его в часах ???
модуль можно использовать не меняя код или надо другую библиотеку прилаживать. Или проще выковырнуть из модуля микросхему DS1307 и припаять в часы ???
Кто Что и Как лучше-проще сделать, посоветуйте!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Подскажите пожалуйста, до какого номинала можно уменьшать резистор транзисторных ключей между базой и коллектором?
нужно не только знать, но и уметь это объяснить
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
я лично делал ключи так взял 7 шт. кт315 на базу 1кОм на эмитер 100 Ом коллектор на +5 вольт , у меня самодельный индикатор в котором сегмент состоит из двух параллельных 5 мм светодиода и 4 шт. кт361 на базу 1кОм эмитер на светодиоды коллектор -.
вторые часы полет отличный
вторые часы полет отличный
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Про ключи я много раз уже здесь писал, как и что нужно делать, и почему авторский вариант не очень удачный. Так же реализация ключей зависит от напряжения питания , т е размеров и цвета свечения индикаторов. И благо любое сочетание активных уровней можно выбрать только лишь нажатием нужной кнопки при включении питания.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Serzh2000 писал(а): состоит из двух параллельных 5 мм светодиодай
думаю, все таки лучшее решение включение светодиодов, это последовательное, так как тогда через кристаллы проходит одинаковый ток и свечение более равномерное к тому же ток на сегмент будет обычно до 20 мА, а если нужно включить параллельно 4 светодиода, то ток уже будет 80 ма, а при таком токе, ключи могут греться, и тепло которых будет воздействовать на термодатчик, сбивая правильные показания.
Martin76 писал(а):Про ключи я много раз уже здесь писал
Martin76, если не трудно, напишите пожалуйста на каких страницах вы написали о ключах. Я конечно же попробую поискать сам, но страниц уже набралось достаточно много, и можно просто упустить какую-то нужную информацию при поиске.
у меня уже была подобная проблема раньше, когда-то сделал часы на зеленых индикаторах 2.3", внутри стоят 4 светодиода на сегмент включенных последовательно, примерно вышло 2*4=8 вольт питание сегмента, тогда вопрос решился уменьшением резистора базы-коллектор с 4к7 до 2к2, правда входное питание было 15 вольт. И они работают до сих пор, уже 5 лет.
нужно не только знать, но и уметь это объяснить
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Сейчас по быстрому только такую картинку нашел. В случае ОА и УЛН ничего в настройках менять не нужно будет управление уровнями 1/1. ПНП транзисторы только помощнее я ставлю, ВС327/807, 8550, 2N/MMBT4403 и тп.
При небольшом токе, через резистор в данном случае не повредит, напряжение будет ограничено защитным и паразитным диодами на уровне U пит +0,5В.jumbo писал(а): не повредит ли напряжение питающее аноды индикаторов, порты вывода микроконтроллера ?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Martin76 писал(а): транзисторы только помощнее я ставлю
а зачем транзисторы помощнее ставить, если ток будет в пределах 15-17 мА, может лучше подобрать по усилению, ВС847С например ?
Martin76 писал(а):напряжение будет ограничено защитным и паразитным диодами на уровне U пит +0,5В.
это защитными диодами которые внутри контроллера ? Напряжение на ножках контроллера управляющих анодами при сопротивлении базо-коллекторного резистора 2К7 получается 1.27В, а что должно быть +0,5В или я не правильно что-то понял ?
Martin76, спасибо за схему если надумаю сделать еще одни часы то плату переделаю под такие транзисторные ключи для управления индикаторами с ОА. Просто плата уже сделана, и без большой крови ну никак не получится переделать ключи (если бы это были выводные детали то можно было-бы попробовать, а так у меня все на СМД). Хотел спросить, у кого-то работают индикаторы по этой схеме, если да, то сколько светодиодов последовательно включены, и какое падение напряжения на сегменте?
П.С. Попробую уменьшить базово-коллекторный резистор до 2К, посмотрим что будет.
нужно не только знать, но и уметь это объяснить
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Всем привет !
подпаял я китайский модуль AT24C32 реального времени RTC I2C DS1307, часы заработали
правда ужасно спешат. дня через два появилось время и я решил разобраться.
открыл часы, а там батарейка вздулась, померил на ней 1 вольт остался??????
в интернет за мудростью ..........
Вот что я нашел, может кому пригодится http://blog.rchip.ru/obzor-chasov-realn ... ni-ds1307/
выпаял диод, два сопротивления, поставил перемычку, батарейка больше не раздувалась, начал менять кварц.
реальных изменений в точности хода не добился, как спешили так и спешат, за 3 часа почти на 2 минуты убегали.
подумал-подумал и прям не думая припаял два конденсатора на 22 пФ одними ногами на минус вторыми на ножки кварца.
два дня часы идут секунда в секунду
подпаял я китайский модуль AT24C32 реального времени RTC I2C DS1307, часы заработали
правда ужасно спешат. дня через два появилось время и я решил разобраться.
открыл часы, а там батарейка вздулась, померил на ней 1 вольт остался??????
в интернет за мудростью ..........
Вот что я нашел, может кому пригодится http://blog.rchip.ru/obzor-chasov-realn ... ni-ds1307/
выпаял диод, два сопротивления, поставил перемычку, батарейка больше не раздувалась, начал менять кварц.
реальных изменений в точности хода не добился, как спешили так и спешат, за 3 часа почти на 2 минуты убегали.
подумал-подумал и прям не думая припаял два конденсатора на 22 пФ одними ногами на минус вторыми на ножки кварца.
два дня часы идут секунда в секунду
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Зачем усложнять схему лишним транзистором на канал? Если можно попросить перекомпилировать программу? Или самому это сделать, если кто разбирается. Чтобы вместо управляющей 1 был управляющий 0.