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

Обсуждаем контроллеры компании Atmel.
Ответить
Грызет канифоль
Аватара пользователя
Сообщения: 262
Зарегистрирован: Пт ноя 16, 2007 00:40:17
Откуда: Украина

Сообщение foxit »

буду ждать
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 85
Зарегистрирован: Сб дек 26, 2009 09:46:13
Откуда: Польша-Щецин

Сообщение GALIONVER »

Danko! заметил один глюк в часах-при переключении с показаний времени на температуру,время иногда показывает два цикла а потом температура.можно ли как-то подправить программу?плиз.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Это не глюк. Когда датчик возвращает ошибку, показания температуры пропускаются. При динамической индикации это не редкость. Ведь прерывания на индикацию сбивают чтение по шине 1-wire.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 85
Зарегистрирован: Сб дек 26, 2009 09:46:13
Откуда: Польша-Щецин

Сообщение GALIONVER »

спасибо за информацию!
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Для "нетерпеливых" :)) добавил вызов температуры на 5 сек. кнопками "+" и "-", как описывалось выше., при это работает при любом времени индикации температуры. На эти 5 сек. состояние кнопок не читается т.е. в это время перевести часы в другой режим невозможно.

Хочу добавить по вопросу ошибок при чтении с датчиков: проблема может быть и аппаратной. Все зависит от физического подключения самого датчика. Тип провода, в экране или нет и пр. Подтягивающий резистор на 4,7 кОм это для идеальных условий и он может быть и не на 4,7 кОм и располагаться не возле МК. Более детально я думаю стоит почитать в соответствующих ветках форума или поискать в Инете.

P.S.
новая прошивка на 1 странице.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Открыл глаза
Сообщения: 50
Зарегистрирован: Пт окт 23, 2009 18:51:16

Сообщение инженегра »

Может уже писали, заметил глюк - при работе с фоторезистором в темное время(при пониженной яркости дисплея) при переключении режима отображения с даты на температуру дисплей на пол секунды включается на полную яркость.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

часы дома. Вечером посмотрю, проверю.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Сообщения: 50
Зарегистрирован: Пт окт 23, 2009 18:51:16

Сообщение инженегра »

В последней версии при нажатии на кнопку два раза ярко вспыхивает
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Проверил. Есть такой глюк. При включении фоторезистора (через eeprom) при полной темноте глюк не проявляется. Начинает проявляться если фоторезистор закрыть от света (просто закрыть пальцем). Проявляется резкими сменами яркости (вспышки).

Буду исправлять и тестировать.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 175
Зарегистрирован: Ср июл 29, 2009 23:22:36
Откуда: Беларусь

Сообщение 546vlad »

Не могу понять: проект Proteus'а с первой страницы не работает. Запускается без ошибок, но ничего не происходит: индикатор не горит, реакции на кнопки нет. У меня Proteus 7.6 SP4
©Кварц обладает экстремальной поливариантностью своего генезиса.
Открыл глаза
Аватара пользователя
Сообщения: 79
Зарегистрирован: Ср дек 30, 2009 18:36:00
Откуда: БЕЛАРУСЬ

Сообщение tipoya »

Danko писал(а):Проверил. Есть такой глюк. При включении фоторезистора (через eeprom) при полной темноте глюк не проявляется. Начинает проявляться если фоторезистор закрыть от света (просто закрыть пальцем). Проявляется резкими сменами яркости (вспышки).

Буду исправлять и тестировать.
Могу подсказать, откуда ноги растут. Прерывания асм при опросе линии датчиков, но появляется при очень низких значениях яркости (точно не помню, по-моему, ниже 10).
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

546vlad, оба проекта рабочие.

инженегра, проблема не столько програмная сколько аппаратная. Фоторезистор вмести с резистором на 20 кОм образуют делитель напряжения. Сопротивление фоторезистора изменяется от кОм до МОм. При этом если с КилоОмами все в порядке, то МегаОмы дают эффект обрыва. Для исправления ситуации нужно параллельно фоторезисторы подпаять резистор на 200 кОм. Не помешает подпаять емкость на вход ADC1, но на практике я еще не проверял.

На первой странице обновил прошивку. Нововведений немного: направлены на более стабильную работу с фоторезистором.

Для настройки устройств подключенных к ADC0 и ADC1 добавил функцию, которая выводит на "экран" значения АЦП. Активизируется записью в ячейку EEPROM с адресом 0х06 номера АЦП (0 - кнопки, 1 - фоторезистор)

Для проверки правильности показаний термодатчиков да и для обкатки библиотек под WinAVR портировал программу под WinAVR. Программа особо не трогал. Библиотеку для DS1307 под I2C не нашел (точнее нашел, но она мне не понравилась) посему DS1307 запустил под TWI, соответственно в Протеусе не запускается, но в железе работает. Под DS18B20 библиотеку взял от AVR (проект "микро-термостат").

Сделал несколько выводов: в проекте с библиотеками из CVAVR и с библиотеками от AVR показания термодатчика не отличаются т.е. термодатчик врет не по вине моих исправлений в библиотеку CVAVR DS18B20.

второе: в новых часах однозначно будет мега168, меги88 не будет т.к. код под WinAVR получается более объемным, по сравнению с CVAVR. Загвоздка в библиотеке 1-wire, которая в CVAVR повидимому написана на Асме и более компактная, чем библиотека 1-wire написанная на Си под WinAVR.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

Для DS1307 посмотри http://www.extremeelectronics.co.in/avr ... TC/RTC.zip
Для d18b20 http://www.mulder.franken.de/ds1820tous ... 309.tar.gz
Библиотеку под 18в20 еще не использовал но выглядит компактно
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

ВНН, спасибо все вытянул.

Разбираюсь.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 793
Зарегистрирован: Пн ноя 02, 2009 18:00:05
Откуда: Украина Николаев

Сообщение grott »

Извините, что вклиниваюсь не в свой топик. Прочитал только первую и последнюю страницу. Подобную конструкцию собрал два года назад. Задача была создать ПРОСТО часы с большим дисплеем и туда больше не заглядывать. Коррекции по суткам мало, как минимум брешет на пол секунды. Добавил коррекцию понедельно, и этого мало. За два года эксплуатации часы спешат почти на две минуты. Надо ввести помесячную коррекцию, правда две проблемы : по длительности месяцы разные (несущественно) и надо ещё вспомнить через месяц ввести константу( существенно).
Яркость регулировал изменением напряжения питания дисплея фоторезистором через LM317.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Это вопрос, предложение или ... ???
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 793
Зарегистрирован: Пн ноя 02, 2009 18:00:05
Откуда: Украина Николаев

Сообщение grott »

Danko писал(а):Это вопрос, предложение или ... ???
Это предложение, ввести понедельную и помесячную коррекцию DS1307. Если это уже осуществлено в Вашем проекте, то ещё раз извините.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Коррекция посуточная. В 23-00 прибавляется или отнимается установленное пользователем ко-во секунд. Возможно в следующем проекте добавлю еще и недельную или ежемесячную поправку (коррекцию). Но в первую очередь запоминание прошла корректировка или нет т.е. если в 23-00 часы были выключены.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

При неблагоприятных обсоятельствах и использование DS1307 недельная
девиация может достигать 17сек (перепад влажности и температуры).
При MK41T56N 9сек Я предлагаю перейти на MK41T56 а корекцию производить один раз при запуске часов (апаратную).
Так что два раза в месяц допустим 1 и 16 числа каждого месяца, вполне.
PS. Дешевле ,более стабильнвй OSC ,менее капризна. (Как альтернатива возможность выбора кристала RTC)
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Ходил я на днях в местный центр по обслуживанию кассовых аппаратов и:

встретим меня доброжелательный ремонтник по национальности татарин но в душе хохол :))

На мой вопрос "не могли бы Вы мне продать микросхемку" я получил ответ:

"мікросхеми є но трішки та тільки для себе" :)) :)) :))

а если серьезно то: "микросхемы есть но как ремзапас т.к. пока пришлют микросхему с завода пройдет не одна неделя, а ремонтировать кассовые аппараты нужно"

Вот так. :(

Я с удовольствием перейду на MK41T56 если было бы где их достать попроще.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Ответить

Вернуться в «AVR»