Обсуждаем контроллеры компании Atmel.
Ответить

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Пт мар 25, 2022 22:52:11

vovanw7, есть! Смотрите схему на 1-й странице топика. Это кнопки "AL1" и "AL2". :)) Светодиоды горят - включены, потушены - выключены.

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб мар 26, 2022 10:58:39

Это кнопки установки будильников.Надо оперативно отключить будильник ДО ЗВОНКА,а не ползти в меню,что бы их отключить,как вариант предложили (ув.Serzh2000) поставить выключатель в цепь зуммера

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Вс июн 26, 2022 20:42:45

Коллеги, представляю вашему вниманию свою реализацию проекта, которую я обозвал «Сова-2».
Вначале немного предыстории. Настенные часы в керамическом корпусе «Сова» (она же «Сатир», она же «Кот», она же «Домик») появились в нашей семье без малого 36 лет назад все эти годы радовали нас, в общем-то, безупречной работой в режиме 24/7, без преувеличения став частью семейной истории. За столь долгое время Сова повидала своими зелёными глазами-индикаторами всякое: раза три или четыре я заменял ей эти самые вдрызг прогоревшие индикаторы новыми, один раз что-то накрылось в схеме по мелочи и было восстановлено, при очередном переезде Сова промокла и изрядно поржавела и в довершение была уронена, отчего её корпус треснул надвое и был склеен. Но в целом часы работали точно и безотказно, пользуясь случаем посылаю всяческие лучи добра в адрес производителей: Новосибирский радиозавод «Восток», который работает поныне. И только на тридцать седьмом году жизни старушку всё-таки хватил апоплексический удар, её глазки истерично замигали и погасли навсегда. Беглый осмотр показал, что, скорее всего, отъехал контроллер ИК1901 (1984 года выпуска, на минуточку). В принципе птицу-ветерана можно было в очередной раз реанимировать, но всё-таки я пришёл ко мнению, что пора ей пересадить мозги начисто, вместо того чтобы в очередной раз паять старую гетинаксовую плату с отваливающимися от времени дорожками.
Схема часов взята на первой странице и реализована с небольшими изменениями. Вместо разисторов 4,7К в базовых цепях «разрядных» каскадов я установил на 1K, мои экземпляры ВТ547 почему-то начали медленно, но ощутимо нагреваться и я решил приоткрыть их пошырше :shock: . Подтягивающие резисторы в цепи Б-K вообще убрал, оно и без них всё прекрасно работает, зато нагрев прекратился. Ну и в сегментной нагрузке индикаторов резисторы на 33 Ома явно не к месту, наверное, эта ошибка уже обсуждалась здесь. Впаял на 330 Ом. Будильник не разводил. Индикаторы использованы зелёного цвета, 0,8 дюйма, производства G-Nor GNS8011, знакоместо у них такое же, как у оригинальной лампы и к тому же через родные оранжевые светофильтры Совы они дают абсолютно аутентичный цвет, если не приглядываться вплотную, то и не отличишь, что лампы заменены на светодиоды. Ток сегмента у них заявлен в 20 мА, в принципе с таким током ULN2803 не слишком нужна, но почему-бы не поставить, раз у меня их целый спичечный коробок? Да и вообще, как это обычно бывает у нормального радиогубителя, распаиваешь не то, что оптимально по параметрам, а то, что есть в наличии. Ага, «используй то, что под рукою и не ищи себе другое», как говаривал Филеас Фогг.
Часы собраны на четырёх платах, размеренных так, чтобы сесть на крепёжные отверстия основания. Условно я их обозвал «главной платой» со всей требухой, «общей» – она пустая, на ней только дорожки и PBS розетки для двух одинаковых индикаторных плат, заменивших лампы. Они воткнуты через угловые PLS разъёмы. На индикаторных платах распаяны цанговые зажимы SCSL в них уже вставлены индикаторы. Главная плата соединяется с общей и кнопками тоже через разъёмы PLS-BLS, термочип и фоторезистор подключены тоже через них, как вы уже наверное догадались. Обожаю разъёмчики, при необходимости поделку можно разобрать и собрать как автомат Калашникова, замена индикатора – минутное дело без паяльника. И да, у меня есть обжимка. :)
От оригинальных часов осталось основание, оно у меня старого образца, из добротного толстого металла. Слышал, что в поздних версиях часов основание уже было пластиковым, не знаю, как на него сядут мои платы. Стойки платы тоже оригинальные. Кнопки остались на своих местах, там стоят старые добрые КМ1, перепаял их только согласно новой схеме. Трансформатор тоже оригинальный, но перемотанный: я смотал с него вторичку и накрутил провод от схожего по габариту контаткора на 24 вольта, просто до заполнения каркаса, не считая даже витки. Получилось что-то около 13 вольт, как раз то, что надо. Думал использовать транс как времянку и позже заменить его на фабричный, но раз оно работает и не греется, то решил пока его оставить. Оранжевые фильтры, как я уже писал выше, тоже остались на своих местах, только я их не стал крепить к плате на болты и уголки, как это было в оригинале, а просто приклеил их к корпусу термосоплями. Так оно вышло гораздо эстетичнее, пропал огромный зазор между корпусом и фильтром. Может он задумывался специально, для дополнительного охлаждения родных катод-люминисцентных индикаторов – не знаю. Но теперь он и так и сяк не нужен. Ну и корпус отыскал новый, на всем известном сайте объявлений, чтобы было совсем хорошо и красиво.
В общем, теперь Сова стала Совой мудрой, с сохранением хода при отключении питания, календарём, температурой и прочими изысками и в новом, с иголочки, корпусе, который, впрочем, полностью идентичен старому. Она снова в строю, стоит на полочке, мыргает глазками, исправно отсчитывая тридцать седьмой год нашей жизни. :)

Изображение
Вложения
Sova-2.zip
(353.46 KiB) Скачиваний: 117

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Пн июн 27, 2022 10:33:37

Зупер. Только вот изображение мелковато - ну что это за 1600 * 1200. Надо было хотя бы 8000 * 6000 пикселей :) Набирать две страницы ни_о_чём (в ФИДО говорили: "многа букфф, ниасилил") времени не жалко было, а отрисайзить джипег до вменяемого размера - руки не дошли?
Конструкция, наверное, хорошая, но при описании следует быть полаконичнее и в текстах, и в графике, я думаю. Во времена dial-up и ограничения трафика много лестных слов услышал бы автор в свой адрес.

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Пн июн 27, 2022 12:30:21

:beer: :kill:

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Ср июн 29, 2022 06:06:59

а где фото совы то? одни внутренности ее!

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Ср июн 29, 2022 12:00:01

Ну сова - как сова. Приблизительно такая. Наверное. :)
Изображение
Только вместо глаз -LEDы :shock:
Вложения
Сова.jpg
(15.47 KiB) Скачиваний: 895

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Вт авг 23, 2022 14:21:47

я сломал ногу и заняться дома нечем вот и решил добавить в часы, собранные мной 2017 году анимацию.
хорошие люди MLX90640 и Dimon456 объяснили принцип как делать эффекты.
вот чё получается :)))



комментария, критика, предложения приветствуются. :shock:

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Вс сен 04, 2022 16:51:24

А может ли кто из специалистов добавить в конструкцию "Коррекцию температуры + - гр.4 ", а то уж больно подвирают часики на градуса два. Думаю такая добавка была бы к стати!

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Вс сен 04, 2022 19:44:50

комментария, критика, предложения приветствуются. :shock:

Вроде мелочь, а неприятно. Из мелочей ведь всё состоит:
238t - что мешает поставить разделитель (точку)? 8t - по моему bt получше будет? (уже говорил). Дальше не смотрел.

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Пн сен 05, 2022 11:52:47

Изображение

разделительная точка-это лишнее.. мне данный вариант очень нравиться! :love:

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 01:18:33

Присоединяюсь к пожеланию юзера 2zz по поводу вранья температурных датчиков в этих. Это их вранье и побудило меня в свое время (давно уже) разобрать их. Предлагаю Serzh2000 или кому-то другому программисту переписать прошивку с добавлением возможности коррекции показаний температурных датчиков. Если в Мегу 8 она не влезает, то можно будет кое-чем пожертвовать. Чем именно - решится позднее, в процессе написания.

Новая прошивка желательно должна предусматривать раздельное подключение датчиков к выводам Меги 8! На мое мнение, как раз именно нынешнее подключение их (к одному выводу) и приводит к неверным их показаниям. :(

P. S. Вспомнил: лучше в новой прошивке предусмотреть применение DS3231 вместо DS1307. 3231 не требует коррекции хода часов в отличии от 1307 и размер кода при этом сокращается. Место для коррекции показаний термодатчиков как раз и освобождается. :)

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 12:02:28

по поводу вранья температурных датчиков

какая прошивка у вас, я не знаю :dont_know:
но в любой открываете вкладку main_mega8_88.c ищите строки
Код:
// ****************************** начало расчета **********************************
   temp = (unsigned int) temperature; 


и пишите то число на которое нужно с корректировать температуру
temp = (unsigned int) temperature-0x20; (минус 2 градуса)

в новой прошивке предусмотреть применение DS3231 вместо DS1307.


открываете вкладку ds1307_twi.h ищите строки
Код:
void rtc_set_date(unsigned char date,unsigned char month,unsigned char year) {
   twi_start();
   twi_write(0xd0);
   twi_write(4);
   twi_write(date);
   twi_write(month);
   twi_write(year);
   twi_stop();
}


void rtc_get_date(unsigned char *date,unsigned char *month,unsigned char *year) {
   twi_start();
   twi_write(0xd0);
   [color=#BF4000]twi_write(4);[/color]
   twi_start();
   twi_write(0xd1);
   *date=twi_read(1);
   *month=twi_read(1);
   *year=twi_read(0);
   twi_stop();
}


и пишите число 3

void rtc_set_date(unsigned char day,unsigned char date,unsigned char month,unsigned char year) {
twi_start();
twi_write(0xd0);
twi_write(3);
twi_write(day);
twi_write(date);
twi_write(month);
twi_write(year);
twi_stop();
}


void rtc_get_date(unsigned char *day,unsigned char *date,unsigned char *month,unsigned char *year) {
twi_start();
twi_write(0xd0);
twi_write(3);
twi_start();
twi_write(0xd1);
*day=twi_read(1);
*date=twi_read(1);
*month=twi_read(1);
*year=twi_read(0);
twi_stop();
}

вот моя прошивка - ds3231 и с корректированной температурой на -2 градуса.
можно корректировку загнать в меню, но места нет в атмеге8.
но по правде говоря это глупость, температуру часы правильно показывают.
может датчик у вас в корпусе установлен? тогда да! в корпусе жарко от циферблата.

P.С. скорость анимации можно изменить с шагом 20 от 40 до 500 или вовсе выключить oF в меню DISP:
время индикации времени (t1), время индикации даты (t2), время индикации температуры (t3),П 40-500 или выключить oF, возвращение в режим индикации времени.
Вложения
анимация_ DS3231 коррекция минус 2 градуса.rar
(688.26 KiB) Скачиваний: 114
Последний раз редактировалось Serzh2000 Сб сен 10, 2022 18:53:22, всего редактировалось 3 раз(а).

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 12:11:18

kot-155, у меня есть проект на DS3231 и экране 1602.
мне не нужны эти часы, просто хотел освоить работу с DS3231. чисто из этого интереса купил на Али такой модуль.
добавить 2 термометра на DS18B20 - не проблема.
я пишу на ассемблере, и в меге8 останется еще много свободного места.
сейчас там у меня 3 режима индикации - текущее время, будильник1 и будильник2.

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 17:46:38

kot-155 писал(а):Новая прошивка желательно должна предусматривать раздельное подключение датчиков к выводам Меги 8! На мое мнение, как раз именно нынешнее подключение их (к одному выводу) и приводит к неверным их показаниям.
А объясните мне, пожалуйста, (только подробно, как для Блондинки™) на основании чего такой вывод?
Датчики цифровые, рассчитаны на параллельное подключение по одной линии... Почему их надо разносить на разные выводы?

Я никогда не заморачивалась разносом на разные выводы.... Они параллельно все читаются и управляются. Только в программе нужно предусмотреть какую то идентификацию каждого датчика... Что б понимать какой из них в подвале с картошкой, какой в сарае, а какой на улице...

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 18:26:39

Только в программе нужно предусмотреть какую то идентификацию каждого датчика... Что б понимать какой из них в подвале с картошкой, какой в сарае, а какой на улице...


это мы делали на стр. 127 от Ср дек 06, 2017 19:12:29 :))

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 18:49:24

Serzh2000, Правильно.
Меня смущает утверждение, что нельзя 2 датчика на один провод вешать, они врать будут.... Может я уже такая старая Баба Яга с маразмом и что то пропустила в мире цифровых технологий?

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 19:02:00

что нельзя 2 датчика на один провод вешать, они врать будут....

я думаю человек не очень компетентен в этом вопросе...
нет разницы, если считывать по очереди показания датчиков висящих на разных ножках атмги или также считывать по очереди датчики висящие на одной ножке как у нас :wink:


if (devices >= 1) {
for (i=0;i<devices;i++) {
temperature=ds18x20_temperature(&rom_code[i][0]);
}

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сб сен 10, 2022 22:22:25

Serzh2000, я в курсе, что нежелательно термодатчик размещать на плате. У меня он расположен вне платы, на метровом удалении от нее. Так что плата на него никак влиять не может. :)

Ваши исходники мне ни к чему. Все одно в СИ понимаю немного. Могу только залить в МК готовую прошивку. Какая версия прошивки была у меня залита - я не помню уже. Давно это было. Ту мегу я уже пару раз перезаливал другой прошивкой с другого устройства. Мега у меня в ДИПе, стояла в панельке. Тогда еще и 1307 тоже была диповская и тоже была в панельке.



Starichok51, меня заинтересовало Ваше предложение. скиньте мне в ЛС все материалы по тому Вашему проекту часов с ЖКИ (схему и прошивку). Пока как есть. Два термодатчика (обязательно с возможностью коррекции +/- 4 град. с шагом 0,1 град.,задаваемого в меню) добавите чуть позднее. Я соберу, гляну его. Скажу. что там еще надо будет добавить/поправить.
У меня есть стандартный райстаровский русифицированный ЖКИ RC1602E-YKY-CSX.

Пойдет такой вариант?

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Вс сен 11, 2022 09:06:27

kot-155, схемы еще нет, я её не рисовал.
1602 у меня не русифицированный, но я нужные русские буквы запрограммировал в пользовательскую область.
и сейчас у меня 1602 работает через интерфейсный модуль по I2C.
у меня была готовая плата для другого моего проекта и я под неё делал прошивку.
но можно переделать на прямое подключение экрана к МК. но это объемная работа, но тогда придется собрать другую схему, чтобы всё проверить и отладить.

но сейчас идет "борьба с урожаем" и плотно заниматься этим проектом некогда.
Ответить