Страница 31 из 148
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 12:07:18
neon-f
ВНН писал(а):1 Подбор Rx не более 1% (ненравится , замеряем значения перещитываем вносим изменения компилим)
2 Подбор самих кнопок (часто встречаются сопротивление в замкнутом состоянии 100 и более ОМ)
Это понятно что любую проблему можно решить, но вся прелесть цифровой электроники, в том что слово "подбор" можно выбросить. Никто же не заморачивается например подбором меги по уровню напряжения выходного сигнала. Просто ставят любую исправную микросхему и получают рабочий девайс. Вот так хотелось бы и с кнопками - собрал без ошибок из исправных деталей, и получил полностью рабочие часики.
odesasha писал(а):По поводу нехватки ног у М168 и использовании М16 М32 несогласен один из вариантов 595 регистры + ключи или вообще
Одним регистром особо не расшириться. нужно потратить минимум 2(а скорее всего 3 или 4) вывода контроллера, а расширимся на 8 выводов. вот и получится конечный выигрыш - всего 4-6 выводов. Расширять регистроми нужно когда выводов нужно ну очень много и несколько регистров цепляем друг за другом. В нашем случаи лучше сороконогую мегу применить.
odesasha 
а я всегда считал что это я гигантоманией страдаю.....
kip96 у меня как раз наоборот, не проскакивает, а не срабатывает set. приходится несколько раз нажимать пока сработает. хотя иногда пока нажимаешь и не срабатывает, а потом может и проскачить.
Ещё вопрос- как точно выставить время, по "шестому сигналу" так сказать?
как обычно, в режиме секунд нажимаешь кнопку К и с шестым сигналом точного времени отпускаешь её. Если хочешь выставлять по времени с компа, то перед выставлением рекомендую перезагрузить комп, синхронизировать время и потом уже устанавливать часы.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 12:20:47
Danko
odesasha писал(а): надо делать ТИХОЕ ПРЕОБРАЗОВАНИЕ несколько раз
В программе есть две функции "чтение кнопок" и "реакция на нажатие кнопки".
Плюс к тому нужно учесть еще то, что "чтение" кнопок происходит с интервалом в 200 mS. И соответственно если вы нажатием попали в промежуток то получится промах, а удержали кнопку чуть дольше и получили повтор нажатия и соответствие перепрыгивание через пункт меню кнопкой Set.
Нужно будет полностью поменять эту часть программы.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 12:35:52
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 .
И пусть он не обижается -мы все учимся друг у друга . Для того и форумы .
А для удаленного индикатора можно вообще написать программку на комп и выводить время или что другое , если
кому надо .
[
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 12:46:45
Danko
odesasha, на досуге загляните сюда
http://bbcode.ru/
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 13:00:40
odesasha
Спасибо ! Начинаю применять впервые . Не смейтесь , если коряво -я только учусь .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 17:47:43
ВНН
Попробуйте что-то типа
key_adc=read_adc(0)
delay_us(50) ;Возможно меньше
temp_key_adc=read_adc(0)
if (key_adc != temp_key_adc) return
В новой версии видимо нужно предусмотреть калибровку клавиатурв
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 17:58:51
odesasha
ВНН писал(а):
В новой версии видимо нужно предусмотреть калибровку клавиатурв
И , как видится . стабилизацию Vref и напряжения на делителе кнопок с использованием TL431 c резисторами на 4 вольта .
Просто стабилитрон не пойдет из-за больщого ( до 0,3 в ) разброса .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 18:18:06
ВНН
odesasha Нет. Нажимаеш кнопку считываеш АЦП запоминаеш значение в eeprom потом с ним и работаеш
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 18:23:15
Danko
Для чего нужна стабилизация?
Опорным напряжением является напряжение питания МК и соответственно напряжение на делителе.
Падает напряжение на МК соответственно падает напряжение на делителе.
Не стоит торопить события и перегружать схему.
Внесу изменения в программу обкатаем и посмотрим.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 18:36:39
odesasha
Он все равно покажет значение от относительно среднего значения Vref за время преобразования .
Если Vref свазано с общим питанием . оно может плавать по неизвестному закону вместе с питанием , но там стоит LC фильтр !?.
У меня на макетке с питанием 5в. от стабильного 12в. работало нормально , а когда перешел
на одну ступень (78L05) стало работать иначе . Не подбирать же стабы !
Как писалось выше все цифровое тем и хорошо , что ничего не подбирается .
В случае применения TL431 можно резюком выставить Vref . хорошо его отфильтровать , запитать делитель
от него же . У TL431 очень крутая х-ка стабилизации в отличии от простого стабилитрона ( см.даташит ).
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 19:06:30
odesasha
ВНН писал(а):Попробуйте что-то типа
key_adc=read_adc(0)
delay_us(50) ;Возможно меньше
temp_key_adc=read_adc(0)
if (key_adc != temp_key_adc) return
И оно зациклится , потому что результат 2-х преобразований со сдвигом 50 мкс (хотя я не знаю частоту пробразователя ,время
может быть и больше ) редко бывает одинаковый . Самое лучшее -использовать прерывание по окончанию АЦП ,
но это может нарушить существующий в проекте алгоритм (не говорю уже за
тихое преобразование .
И нельзя так часто мучить ЕЕПРОМ на запись -он просто навернется .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 19:36:47
odesasha
А вообще-то идея ВНН правильная .
У меня вариант с LCD 2x16 , мне легче написать идею для него . для LED , будут другие обозначения кнопок и символы
на индикаторе .
1)Паяем резисторы +\- 10% .
2) держим подсветку (или кнопку , не связанную с АЦП - она может не работать) 5 сек,
3) потом пишем па дисплее : нажмите влево на 1 сек,
4) отпустите
5) нажмите вправо на 1сек.
и т.д для всех кнопок на АЦП .
Делается один раз после сборки часов и Эти данные пишутся в ЕЕПРОМ но при инициализациим основного цикла они
должны переписываться в SRAM однозначно .
При этом запоминаются данные с АЦП и относительно них формируются окна значений +\_ 5% или другие , например
как у DANKO в исходнике .
Так наверное лучше всего и делать .
Если перепаяли что-то в кнопках -опять вызываем процедуру калибровки нажатием на кнопку подсветка .
А стабилизация тоже бы не помешала - так многие делают .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 20:16:38
neon-f
идея калибровки - интересная.
вход в калибровку при удержании "+" в момент включения.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 20:19:14
odesasha
neon-f писал(а):идея калибровки - интересная.
вход в калибровку при удержании "+" в момент включения.
Можно еще рисовать какой-то символ , в зависимости от измеренного значения для проверки состояния контактов микрушек .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт май 20, 2010 21:32:58
Seal
А может оставить в покое АЦП ,и пустить его на другие задачи ?
Например коррекция времени по сигналу радиостанции, вроде как на всех станциях одинаково передается частота и скважность .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт май 21, 2010 01:12:54
cheshir
Я эти часики не собирал, я типа любопытствующий и постигающий основы цифры.

Собственно, вот, что хотел сказать. Если не нравится, как работают кнопки. Почему бы не поставить сдвиговый регистр или дешифратор?
Первое, что пришло в голову: берем два регистра 74HC164, 7 бит первого пускаем на кнопки, остальное на индикацию тех же будильников. Естественно, программу надо будет доработать. зато проблемы с кнопками исчезнут
P.S. Объясните, плиз, как расчитывались резисторы у транзисторов или тыкните носом где почитать. Идею вроде понял, но как конкретные цифры получить никак не пойму
P.P.S. Автору респект за такой классный проект
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт май 21, 2010 07:17:08
odesasha
Seal писал(а):А может оставить в покое АЦП ,и пустить его на другие задачи ?
Например коррекция времени по сигналу радиостанции, вроде как на всех станциях одинаково передается частота и скважность .
Приемник в студию , плииз !!!
И зачем тогда нужны Кварц , DS1307 , программная коррекция хода ? Прицепим еще ЯЩИЧОК и будем ждать сигнала от ДЯДИ .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт май 21, 2010 07:41:15
odesasha
Первое, что пришло в голову: берем два регистра 74HC164, 7 бит первого пускаем на кнопки, остальное на индикацию тех же будильников. Естественно, программу надо будет доработать. зато проблемы с кнопками исчезнут
Эти регистры работают '' просто '' по своему протоколу и требуют как мин. 2 имп. секвенции + куча проводов
(питание , развязки и т.п. ) . Все это можно сгородить - но тогда теряется
вся соль от простоты железа при применении
софтовой логики .
Лучше , кажется , понаделывать независимые контроллеры клавы ,т индикатора и т.д. , работающие независимо
и выдающие (принимающие ) данные по командам основного . Это грамотное на сегодня решение .
Зашитая Тинька2313 функционально может заменить кучу жесткой логики - это же ясно .
И к конце концов мы же занимаемся AVRами , а не просто цифровой логикой .
Объясните, плиз, как расчитывались резисторы у транзисторов или тыкните носом где почитать. Идею вроде понял, но как конкретные цифры получить никак не пойму
Я могу объяснить , если буду знать о каких резисторах идет речь .
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт май 21, 2010 08:47:11
Danko
Переработал работу с кнопками.
На моих часах работать стали лучше.
Не проверял в режиме плавной смены показаний и реж.рег.яркости.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт май 21, 2010 08:54:23
cheshir
odesasha писал(а):
Эти регистры работают '' просто '' по своему протоколу и требуют как мин. 2 имп. секвенции + куча проводов
(питание , развязки и т.п. ) . Все это можно сгородить - но тогда теряется вся соль от простоты железа при применении
софтовой логики.
Я конкретно по этой схеме предложил. Какого-либо серьезного усложнения я тут не вижу. По крайней мере IMHO проще, чем отдельные тиньки вешать. А модульно надо уже в новом проекте думать. Это к автору
odesasha писал(а):
Я могу объяснить , если буду знать о каких резисторах идет речь .
Если посмотреть схему на 1 странице, то там транзисторов с резисторами всего 4 - в управлении индикаторами, они там подписаны еще BC547
