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

Обсуждаем контроллеры компании Atmel.
neon-f
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

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

Сообщение neon-f »

ВНН писал(а):1 Подбор Rx не более 1% (ненравится , замеряем значения перещитываем вносим изменения компилим)
2 Подбор самих кнопок (часто встречаются сопротивление в замкнутом состоянии 100 и более ОМ)
Это понятно что любую проблему можно решить, но вся прелесть цифровой электроники, в том что слово "подбор" можно выбросить. Никто же не заморачивается например подбором меги по уровню напряжения выходного сигнала. Просто ставят любую исправную микросхему и получают рабочий девайс. Вот так хотелось бы и с кнопками - собрал без ошибок из исправных деталей, и получил полностью рабочие часики.
odesasha писал(а):По поводу нехватки ног у М168 и использовании М16 М32 несогласен один из вариантов 595 регистры + ключи или вообще
Одним регистром особо не расшириться. нужно потратить минимум 2(а скорее всего 3 или 4) вывода контроллера, а расширимся на 8 выводов. вот и получится конечный выигрыш - всего 4-6 выводов. Расширять регистроми нужно когда выводов нужно ну очень много и несколько регистров цепляем друг за другом. В нашем случаи лучше сороконогую мегу применить.
odesasha :)) а я всегда считал что это я гигантоманией страдаю.....
kip96 у меня как раз наоборот, не проскакивает, а не срабатывает set. приходится несколько раз нажимать пока сработает. хотя иногда пока нажимаешь и не срабатывает, а потом может и проскачить.
Ещё вопрос- как точно выставить время, по "шестому сигналу" так сказать?
как обычно, в режиме секунд нажимаешь кнопку К и с шестым сигналом точного времени отпускаешь её. Если хочешь выставлять по времени с компа, то перед выставлением рекомендую перезагрузить комп, синхронизировать время и потом уже устанавливать часы.
Реклама
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

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

Сообщение Danko »

odesasha писал(а): надо делать ТИХОЕ ПРЕОБРАЗОВАНИЕ несколько раз
В программе есть две функции "чтение кнопок" и "реакция на нажатие кнопки".

Плюс к тому нужно учесть еще то, что "чтение" кнопок происходит с интервалом в 200 mS. И соответственно если вы нажатием попали в промежуток то получится промах, а удержали кнопку чуть дольше и получили повтор нажатия и соответствие перепрыгивание через пункт меню кнопкой Set.

Нужно будет полностью поменять эту часть программы.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

Надо не просто расширять ноги . а делать с заделом на выносной -удаленный дисплей на Тиньке или М8 со свяью по 2-м , 3-м линиям .

На плате ( в случае коробочки на телеке ) это всего лишь пару перемычек - а кому надо что-то крупнее . тот сделает через кабель куда захочет .

Считаю . что новый прект надо делать МОДУЛЬНО как программно . так и аппаратно с применением независимых как программно , так и аппаратно блоков :
1) RX-TX индикатор -удаленный (пример такого подхода : http://www.pcdimmer.de/index.php/dmx512 ... switchpack , пример использования : http://bascom.at.ua/publ/cvetomuzyka_qu ... t/1-1-0-20
2) Блочки измерителей ( датчиков) удаленные.
3) Главный блок управления с разъемами , если надо . совершенно автономный и функциональный для бытового применения .

В общем , я думаю , идея понятна . Это в тему нового проекта г-на Danko .
И пусть он не обижается -мы все учимся друг у друга . Для того и форумы .

А для удаленного индикатора можно вообще написать программку на комп и выводить время или что другое , если
кому надо .
[
Последний раз редактировалось odesasha Чт май 20, 2010 13:24:12, всего редактировалось 5 раз.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

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

Сообщение Danko »

odesasha, на досуге загляните сюда http://bbcode.ru/
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

Danko писал(а):odesasha, на досуге загляните сюда http://bbcode.ru/

Спасибо ! Начинаю применять впервые . Не смейтесь , если коряво -я только учусь .
Реклама
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

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

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

Попробуйте что-то типа

key_adc=read_adc(0)
delay_us(50) ;Возможно меньше
temp_key_adc=read_adc(0)
if (key_adc != temp_key_adc) return

В новой версии видимо нужно предусмотреть калибровку клавиатурв
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Реклама
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

ВНН писал(а):
В новой версии видимо нужно предусмотреть калибровку клавиатурв

И , как видится . стабилизацию Vref и напряжения на делителе кнопок с использованием TL431 c резисторами на 4 вольта .
Просто стабилитрон не пойдет из-за больщого ( до 0,3 в ) разброса .
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

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

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

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

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

Сообщение Danko »

Для чего нужна стабилизация?

Опорным напряжением является напряжение питания МК и соответственно напряжение на делителе.

Падает напряжение на МК соответственно падает напряжение на делителе.

Не стоит торопить события и перегружать схему.

Внесу изменения в программу обкатаем и посмотрим.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

Он все равно покажет значение от относительно среднего значения Vref за время преобразования .
Если Vref свазано с общим питанием . оно может плавать по неизвестному закону вместе с питанием , но там стоит LC фильтр !?.
У меня на макетке с питанием 5в. от стабильного 12в. работало нормально , а когда перешел
на одну ступень (78L05) стало работать иначе . Не подбирать же стабы !
Как писалось выше все цифровое тем и хорошо , что ничего не подбирается .
В случае применения TL431 можно резюком выставить Vref . хорошо его отфильтровать , запитать делитель
от него же . У TL431 очень крутая х-ка стабилизации в отличии от простого стабилитрона ( см.даташит ).
Вложения
TL431.rar
TL431 datasheet
(226.42 КБ) 245 скачиваний
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

ВНН писал(а):Попробуйте что-то типа

key_adc=read_adc(0)
delay_us(50) ;Возможно меньше
temp_key_adc=read_adc(0)
if (key_adc != temp_key_adc) return
И оно зациклится , потому что результат 2-х преобразований со сдвигом 50 мкс (хотя я не знаю частоту пробразователя ,время
может быть и больше ) редко бывает одинаковый . Самое лучшее -использовать прерывание по окончанию АЦП ,
но это может нарушить существующий в проекте алгоритм (не говорю уже за тихое преобразование .
И нельзя так часто мучить ЕЕПРОМ на запись -он просто навернется .
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

А вообще-то идея ВНН правильная .
У меня вариант с LCD 2x16 , мне легче написать идею для него . для LED , будут другие обозначения кнопок и символы
на индикаторе .


1)Паяем резисторы +\- 10% .
2) держим подсветку (или кнопку , не связанную с АЦП - она может не работать) 5 сек,
3) потом пишем па дисплее : нажмите влево на 1 сек,
4) отпустите
5) нажмите вправо на 1сек.
и т.д для всех кнопок на АЦП .
Делается один раз после сборки часов и Эти данные пишутся в ЕЕПРОМ но при инициализациим основного цикла они
должны переписываться в SRAM однозначно .
При этом запоминаются данные с АЦП и относительно них формируются окна значений +\_ 5% или другие , например
как у DANKO в исходнике .
Так наверное лучше всего и делать .
Если перепаяли что-то в кнопках -опять вызываем процедуру калибровки нажатием на кнопку подсветка .
А стабилизация тоже бы не помешала - так многие делают .
neon-f
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

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

Сообщение neon-f »

идея калибровки - интересная.
вход в калибровку при удержании "+" в момент включения.
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

neon-f писал(а):идея калибровки - интересная.
вход в калибровку при удержании "+" в момент включения.
Можно еще рисовать какой-то символ , в зависимости от измеренного значения для проверки состояния контактов микрушек .
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

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

Сообщение Seal »

А может оставить в покое АЦП ,и пустить его на другие задачи ?
Например коррекция времени по сигналу радиостанции, вроде как на всех станциях одинаково передается частота и скважность .
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Аватара пользователя
cheshir
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Ср дек 23, 2009 23:57:54
Откуда: Арзамас

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

Сообщение cheshir »

Я эти часики не собирал, я типа любопытствующий и постигающий основы цифры. :wink:
Собственно, вот, что хотел сказать. Если не нравится, как работают кнопки. Почему бы не поставить сдвиговый регистр или дешифратор?
Первое, что пришло в голову: берем два регистра 74HC164, 7 бит первого пускаем на кнопки, остальное на индикацию тех же будильников. Естественно, программу надо будет доработать. зато проблемы с кнопками исчезнут :wink:

P.S. Объясните, плиз, как расчитывались резисторы у транзисторов или тыкните носом где почитать. Идею вроде понял, но как конкретные цифры получить никак не пойму :?
P.P.S. Автору респект за такой классный проект
Мы не поможем людям, делая за них то, что они могли бы сделать сами. /Авраам Линкольн/
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

Seal писал(а):А может оставить в покое АЦП ,и пустить его на другие задачи ?
Например коррекция времени по сигналу радиостанции, вроде как на всех станциях одинаково передается частота и скважность .


Приемник в студию , плииз !!!

И зачем тогда нужны Кварц , DS1307 , программная коррекция хода ? Прицепим еще ЯЩИЧОК и будем ждать сигнала от ДЯДИ .
Последний раз редактировалось odesasha Пт май 21, 2010 07:52:21, всего редактировалось 1 раз.
Аватара пользователя
odesasha
Прорезались зубы
Сообщения: 237
Зарегистрирован: Пт фев 12, 2010 14:02:22
Откуда: Одесса

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

Сообщение odesasha »

Первое, что пришло в голову: берем два регистра 74HC164, 7 бит первого пускаем на кнопки, остальное на индикацию тех же будильников. Естественно, программу надо будет доработать. зато проблемы с кнопками исчезнут
Эти регистры работают '' просто '' по своему протоколу и требуют как мин. 2 имп. секвенции + куча проводов
(питание , развязки и т.п. ) . Все это можно сгородить - но тогда теряется вся соль от простоты железа при применении
софтовой логики .
Лучше , кажется , понаделывать независимые контроллеры клавы ,т индикатора и т.д. , работающие независимо
и выдающие (принимающие ) данные по командам основного . Это грамотное на сегодня решение .
Зашитая Тинька2313 функционально может заменить кучу жесткой логики - это же ясно .
И к конце концов мы же занимаемся AVRами , а не просто цифровой логикой .
Объясните, плиз, как расчитывались резисторы у транзисторов или тыкните носом где почитать. Идею вроде понял, но как конкретные цифры получить никак не пойму :?
Я могу объяснить , если буду знать о каких резисторах идет речь .
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

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

Сообщение Danko »

Переработал работу с кнопками.

На моих часах работать стали лучше.

Не проверял в режиме плавной смены показаний и реж.рег.яркости.
Вложения
Clock-Term-Calendar-Alarm_LED_2010-05-21_e.zip
(83.44 КБ) 380 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
cheshir
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Ср дек 23, 2009 23:57:54
Откуда: Арзамас

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

Сообщение cheshir »

odesasha писал(а): Эти регистры работают '' просто '' по своему протоколу и требуют как мин. 2 имп. секвенции + куча проводов
(питание , развязки и т.п. ) . Все это можно сгородить - но тогда теряется вся соль от простоты железа при применении
софтовой логики.
Я конкретно по этой схеме предложил. Какого-либо серьезного усложнения я тут не вижу. По крайней мере IMHO проще, чем отдельные тиньки вешать. А модульно надо уже в новом проекте думать. Это к автору :roll:
odesasha писал(а): Я могу объяснить , если буду знать о каких резисторах идет речь .
Если посмотреть схему на 1 странице, то там транзисторов с резисторами всего 4 - в управлении индикаторами, они там подписаны еще BC547 ;)
Мы не поможем людям, делая за них то, что они могли бы сделать сами. /Авраам Линкольн/
Ответить

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