форумы для свободного общения

Технический форум => Электроника => Автоматика для дома => Тема начата: john от Марта 28, 2016, 15:58:48

Название: Простые часы на микроконтроллере ATtiny2313
Отправлено: john от Марта 28, 2016, 15:58:48
(http://msevm.ru/2016/clock/foto2.jpg)

Описание: http://msevm.ru/2016/clock/index.htm
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 21, 2016, 01:40:37
А не найдется- ли  платки  для МК в Soic, е ? И насколько точны эти часики ? :-\
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: john от Декабря 21, 2016, 23:30:41
А не найдется- ли  платки  для МК в Soic, е ?

Нет, не делал.

И насколько точны эти часики ? :-\

Не очень. В программе судя по всему коррекция не предусмотрена, подбором емкости емкости разве что...
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 22, 2016, 00:19:35
Спасибо. Жаль, ладно переделаю. А третья кнопочка разве не коррекция ?
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: john от Декабря 22, 2016, 13:30:33
"Кнопка сброс (S1), позволяет установить время на полночь, иногда бывает полезно, хотя ее можно не устанавливать."
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 22, 2016, 22:33:45
А точность хода зависит от кварца ?
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Новичёк от Декабря 23, 2016, 00:15:50
Извиняюсь, что встреваю.

А точность хода зависит от кварца ?

Безусловно зависит, причём в первую очередь! Ведь именно кварц определяет ту частоту, на которой тикают часики. Однако, хоть кварц и является стабильным устройством, тем не менее, его частота зависит от множества причин:
1. Зависимость от уровня возбуждения (мощности, рассеиваемой на кристалле), т.е. от напряжения питания.
2. Зависимость от температуры.

(http://digteh.ru/WLL/XO/04.gif)

На графике показана зависимость частоты кварца от температуры от температуры для разных углов среза. Значения частоты приведены относительные, в единицах ppm (https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BB%D0%BB%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B4%D0%BE%D0%BB%D1%8F) - миллионных долях относительной величины.

3. Зависимость от времени - кварц со временем "стареет", т.е. его частота со временем уплывает.

(http://technomag.bmstu.ru/data/2012/05/18/1234181815/image019.jpg)

Видно, что наиболее сильно частота изменяется на начальном периоде эксплуатации. Со временем это изменение частоты уменьшается.

Естественно, что на частоту влияет и "обвязка" кварца, - в первую очередь конденсаторы C1, С2. Поэтому их следует применять высококачественными, с малым температурным коэффициентом - NP0 (МП0). Следует избегать применения в этих цепях конденсаторов в SMD исполнении, или по крайней мере, покрывать их влагозащитным лаком. Дело в том, что при изменении влажности ёмкость SMD конденсаторов за счёт поглощения её из воздуха, заметно изменяется. В идеале, весь кварцевый генератор помещают в герметичный корпус, заполненный сухим газом. В высококачественных и высокостабильных кварцевых генераторах так и делают, а сам кварц помещают в вакуум. Конечно же, всё зависит от того, какую точность требуется обеспечить. Обычный кварц без термостатирования и термокомпенсации обеспечит относительную стабильность порядка 10-5, это менее одной секунды в день. Термокомпенсированный генератор, примерно 10-6, это около 0,1 секунды в день. Термостатированные генераторы обеспечивают порядка 10-7 - 10-8, т.е. 0,01 - 0,001 секунды в сутки. Прецизионные высокостабильные кварцевые генераторы с двойным термостатирование могут обеспечить стабильность частоты до 10-10 и лучше, а это примерно 10 микросекунд в сутки или около 4 миллисекунд за год.

Следует отличать величину отклонения частоты кварцевого генератора и его систематическое изменение со временем. Если первое можно убрать органами подстройки - аналоговыми или цифровой настройкой хода (ЦНХ), то систематическое изменение полностью убрать невозможно, поскольку это процесс по большей части достаточно случайный и не прогнозируемый.
Оценить влияние этих изменений частоты достаточно просто:
Для отклонения частоты уход шкалы времени будет: Δt=δ·T
где: T - интервал времени, для которого рассчитывается уход шкалы времени;
δ - относительная величина отклонения частоты;
Δt - величина ухода шкалы времени на интервале T.

Что касается старения кварцевого резонатора, т.е. его систематического изменения частоты, то его точно оценить невозможно, поскольку как я уже говорил, это процесс в значительной мере случаен. Но в приближении линейной его величины в зависимости от времени можно использовать следующую формулу:
Δt=½σ·T2

Обозначения те же, что и в предыдущей формуле, а величина σ - это величина систематического ухода частоты генератора. Она имеет характерные величины для простых резонаторов порядка 10-11 с-1, для термостатированных генераторов порядка 10-13 с-1, для прецизионных кварцевых генераторов около 10-15 с-1.

Т.е. в зависимости от требуемой точности хода часов следует выбирать соответствующий тип резонатора и генератора. Для подстройки хода в этих часах можно использовать вместо С2 подстроечный конденсатор. И соответственно, резонатор, рассчитанный на работу с соответствующей нагрузочной ёмкостью, в данном случае 15 пФ. Либо изменить эти ёмкости в соответствии с параметрами резонатора. Только необходимо учитывать, что точность настройки самих резонаторов даже с указанной в паспорте ёмкостью может составлять до 100 ppm, т.е. 10-4, а это даст без какой-либо подстройки уход часов до 10 секунд в сутки!

Если всё же нужна существенно более высокая точность, то можно порекомендовать использовать не просто кварцевый резонатор, а термокомпенсированный кварцевый генератор (TCXO), например от старых мобильных телефонов. Но в этом случае нужно будет переработать программу ATINY и обязательно ввести цифровую настройку хода (ЦНХ), поскольку у TCXO нет никаких органов подстройки.
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 23, 2016, 01:47:09
 :)  Какой развернутый ответ ! Неожиданно, однако.Благодарю. Доступно и понятно. Этого не знал. Т.е. все тут поправимо ? Это насчет точности. Температура  в моем случае особо не будет изменяться. Напруга тоже будет стабильна. Насчет старения - так у меня резонаторы уже постарели и довольно точны: измерил и  все немного отличаются от номинала, на несколько герц. Останется при средней температуре произвести калибровку с пом. С2, который будет подстроечным (керамика). А я намеревался использовать  SMD.  Тогда  какие в подобных схемах юзать ? КД, КТ ?  Я вспомнил, как делал одно устройство с применением  круглых темнопесочного цвета(марку не знаю, имп.), так они оказались настолько нестабильны, что при приближении к ним даже  пальца частота  очень далеко убегала (по осциллу)- пришлось все 8 заменить на стабильные.
 Новичек, встревание оказалось оченно кстати. Эти правила применимы в термометрах с подобной схемой ?
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Новичёк от Декабря 23, 2016, 02:41:44
:)  Какой развернутый ответ ! Неожиданно, однако.Благодарю. Доступно и понятно. Этого не знал. Т.е. все тут поправимо ? Это насчет точности. Температура  в моем случае особо не будет изменяться. Напруга тоже будет стабильна. Насчет старения - так у меня резонаторы уже постарели и довольно точны: измерил и  все немного отличаются от номинала, на несколько герц. Останется при средней температуре произвести калибровку с пом. С2, который будет подстроечным (керамика). А я намеревался использовать  SMD.  Тогда  какие в подобных схемах юзать ? КД, КТ ?  Я вспомнил, как делал одно устройство с применением  круглых темнопесочного цвета(марку не знаю, имп.), так они оказались настолько нестабильны, что при приближении к ним даже  пальца частота  очень далеко убегала (по осциллу)- пришлось все 8 заменить на стабильные.
 Новичек, встревание оказалось оченно кстати. Эти правила применимы в термометрах с подобной схемой ?

Рад помочь! Думаю, что это будет не безинтересно и другим. По поводу старения - оно происходит именно в работающей схеме! Если резонатор просто лежит (на складе) то он тоже стареет, но гораздо медленнее, т.е. если начальный участок старения при работе порядка месяца, то при хранении на эту же величину он постареет примерно за год! А при включении снова начнётся процесс старения с большой скоростью. Где-то график был старения резонаторов при включении/выключении, но искать лениво, спать хочу! Уход частоты от номинала на единицы герц для резонатора в 10 МГц, - это порядка нескольких единиц на 10-7, что весьма неплохо даже для прецизионных резонаторов, поскольку лучшие из них выпускаются с погрешностью настройки ±0,5·10-6. Что касается конденсаторов - использовать SMD можно, но их следует ОБЯЗАТЕЛЬНО покрыть влагозащитным лаком, и только NP0! Но лучше всё же использовать например такие:

(http://www.promelec.ru/UPLOAD/2013/05/20/np0_18pf_5_50v.jpg)

Здесь изображён конденсатор NP0 18pF 5% 50V, у нас аналогичный NP0 20pF 5% 50V, CL0805, TS170R1H200JSBNB0R, SUNTAN стоит около двух рублей.

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

Вдогонку: аналоги - это наши конденсаторы К10-17Б, только тоже обязательно МП0!
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 23, 2016, 19:35:47
Про марку того, что на фото, не знал, хотя имею в достатке. Однако такой малой емкости нет. К-1017, как грязи, возможно смогу найти  нужную емкость.  Но у них, вроде, немалый разброс по емкости, а у меня китайский тестер меньше 20 пик не  узнает измеряемый элемент. Если бы можно  типа КТ, то   всяких номиналов есть, начиная с 1, 5  пф. На них хотя бы  четко читается  и номинал и погрешность. Хотя , конечно, лучше бы промерить. SMD, пожалуй, искать не буду-лениво  и заморочно  промерять на платах.
 А такие, как на фото, годятся ? Тип не знаю.
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Новичёк от Декабря 23, 2016, 21:46:31
Про марку того, что на фото, не знал, хотя имею в достатке. Однако такой малой емкости нет. К-1017, как грязи, возможно смогу найти  нужную емкость.  Но у них, вроде, немалый разброс по емкости, а у меня китайский тестер меньше 20 пик не  узнает измеряемый элемент. Если бы можно  типа КТ, то   всяких номиналов есть, начиная с 1, 5  пф. На них хотя бы  четко читается  и номинал и погрешность. Хотя , конечно, лучше бы промерить. SMD, пожалуй, искать не буду-лениво  и заморочно  промерять на платах.
 А такие, как на фото, годятся ? Тип не знаю.

Так, во-первых, что попало, выпаянное откуда попало, я бы ставить в ответственные вещи никогда бы не стал! Во-вторых, как я уже писáл, основное значение имеет не погрешность (отклонение от номинала) ёмкости конденсатора, а его стабильность и малый температурный коэффициент. И если измерить ёмкость, пусть даже такую малую, как 20 пФ, в принципе не составляет труда, то измерить температурный коэффициент ёмкости, а уж тем более стабильность этой ёмкости во времени, в домашних условиях невозможно, слишком сложное и дорогостоящее оборудование для этого нужно. Выход из этой ситуации очень простой - пойти в магазин и купить нужный конденсатор! Я чаще всего пользуюсь этим: ДАН (http://www.danomsk.ru/about/). Если магазин серьёзный, имеет все необходимые сертификаты и является авторизованным дилером известных фирм, то вероятность того, что тебе подсунут что-то не то, весьма мала. Нужно просто выбрать из их прайса то, что нужно, или обратить внимание на то, что именно нужно. Как правило, продавцы там достаточно квалифицированы и поймут. Как я уже писал, прежде всего нужно обратить внимание на температурный коэффициент ёмкости (ТКЕ), для импортных конденсаторов это должен быть диэлектрик NP0, для отечественных - МП0.  Вот ориентировочная картинка зависимости ёмкости конденсаторов с разным типом диэлектрика от температуры:

(http://ewnsk.com/data/content/Reference/Passives/Capacitors/temperature-coefficients.gif)

Что касается отечественных конденсаторов типа КТ, то насколько я знаю, маркировка ТКЕ у них производится цветом - с нулевым ТКЕ они серые. Только нужно обратить внимание, чтобы там не было никаких дополнительно цветных точек! Поскольку это уже другой ТКЕ. Ещё раз хочу обратить внимание, что отклонение от номинала не столь важно, как температурный коэффициент и стабильность конденсатора во времени. Ведь ты же всё равно будешь подстраивать частоту кварца! Насчёт подстройки - рекомендую поставить не просто керамический подстроечник, а использовать параллельно соединённые конденсатор постоянной ёмкости, например 5,6 пФ и подстроечник, 4,5-20 пФ. Это позволит избежать срыва генерации при слишком малой ёмкости и повысить общую стабильность и точность подстройки. Сразу встаёт вопрос: как ты планируешь производить подстройку частоты работы процессора точно на 10 МГц? Дело в том, что даже если ты подключишься к выводам кварца через делитель с малой ёмкостью, обычно это 10-15 пФ, это неизбежно приведёт к изменению частоты работы генератора! Лучший способ - это измерять период импульсов, производный от частоты тактового генератора. К сожалению, я не вникал в программу этих часов, но если там сделано всё правильно, то частота сканирования разрядов индикатора (D1 - D4) должна быть связана с частотой тактового генератора процессора. Обычно эта частота десятки - сотни герц. Но нужно точно знать коэффициент деления тактов процессора, как это реализовано в программе. Тогда можно подать один из этих сигналов на блок интервалов времени частотомера и с максимальной точностью измерить период этого сигнала. Например, пусть частота сканирования будет 200 Гц, тогда период импульса должен быть 5000,0000 мкс. Именно это значение при заданной частоте сканирования нужно будет выставить на частотомере подстройкой ёмкости С2. В этом случае будет достигнута точность установки частоты порядка 2·10-8, что обеспечит точность хода часов менее 0,002 секунды в сутки, конечно если исключить температурные влияния и старение резонатора.

Что касается фотографий твоих конденсаторов ничего сказать не могу. Дело в том, что два конденсатора одной и той же ёмкости, но имеющие разный температурный коэффициент внешне ни чем не отличимы! Именно поэтому я и рекомендую не использовать б/у элементы, а просто купить их у проверенно поставщика.
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 23, 2016, 23:13:43
Точность , как Вы указали, мне и не нужна Если неск-ко сек. в сутки +-, то это хорошо. Купить компоненты  нет возможности, т.к.  ближайшие магазины за 80 с гаком км. Не наездишься.  А так рассыпухи хватает любой с распаянных плат, в основном. А КТ ведь цветными метками не обозначались. Различаются, действительно, по цвету корпуса (ТКЕ)  и разброс  в % написан на корпусе. Да, график впечатляет. У NPO характеристика линейная.
Каким образом делать подстройку  частоты практически- понял только начало, а дальше нет. Если знаете, объясните подоступней.
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Новичёк от Декабря 24, 2016, 00:24:25
Точность , как Вы указали, мне и не нужна Если неск-ко сек. в сутки +-, то это хорошо.

Понятно, тогда и заморачиваться всеми теми проблемами, которые я обозначил, - не стоит!

Купить компоненты  нет возможности, т.к.  ближайшие магазины за 80 с гаком км. Не наездишься.  А так рассыпухи хватает любой с распаянных плат, в основном.

Понятно. Для указанной тобой точности - вполне пойдёт.

А КТ ведь цветными метками не обозначались. Различаются, действительно, по цвету корпуса (ТКЕ)  и разброс  в % написан на корпусе. Да, график впечатляет. У NPO характеристика линейная.

Увы, обозначались! Т.е. трубочка, цвет корпуса разный - синий, голубой, красный, серый, жёлтый, точнее бесцветный лак, да ещё и точки разноцветные! Пока с точками не попались, тоже думал, что ТКЕ - это только цвет корпуса.

Каким образом делать подстройку  частоты практически- понял только начало, а дальше нет. Если знаете, объясните подоступней.

Давай так, если ты предполагаешь делать часы, то можно их настроить, или по крайней мере проверить, несколькими способами. Если речь идёт о величине ухода в несколько секунд в сутки, то тут можно вообще не заморачиваться - ни с подстроечными конденсаторами, ни с проверкой и настройкой. Самый плохой резонатор настраивается на заводе при изготовлении не хуже, по крайней мере, ±100 ppm. Для заявленной тобой точности в этом случае делать вообще ничего не нужно! Даже никакой подстройки не нужно. Единственное, что необходимо соблюсти, - это соответствие нагрузочной ёмкости резонатора и ёмкости схемы. Поясняю.
Резонаторы бывают двух типов:
1. Работающие на последовательном резонансе, в этом случае на кварце указывается частота именно последовательного резонанса.
2. Работающие на параллельном резонансе при нагрузке вполне определённой ёмкостью. В этом случае на нём указывается частота при нагрузке именно на эту ёмкость.

Вот зависимость сопротивления кварцевого резонатора от частоты:

(http://digteh.ru/digital/image/Z_KvRez.gif)

Но фактически любой кварц имеет оба этих резонанса!
И если частота последовательного резонанса практически зависит только от собственно кварца, то частота параллельного резонанса во-первых, всегда выше частоты последовательного резонанса, а во-вторых, её можно менять в небольших пределах (примерно 10-4 - 10-3) изменением подключенных последовательно с кварцем ёмкостей или индуктивностей. Что обычно и используется для настройки.

Поскольку в схеме часов кварц используется на параллельном резонансе, то нужно выбрать кварц для работы на параллельном резонансе с нагрузочной ёмкостью в 15 пФ. Откуда 15 пФ? А вот откуда - Два конденсатора по 20 пФ включены последовательно и параллельно кварцу - это 10 пФ, плюс собственная ёмкость инвертора генератора микропроцессора примерно 5 пФ, таким образом, кварц оказывается нагруженным на ёмкость примерно 15 пФ. Именно такой кварц и рекомендуется выбирать - для работы на параллельном резонансе с нагрузкой 15 пФ.

Вот, где-то так.

Что касается настройки - я думаю, что если эти условия будут соблюдены, то никакой настройки и не понадобится! А проверить величину хода можно по часам на телевизоре, сравнив их в одно и то же время два раза через месяц (для большей точности). И вот если величина хода не устроит, вот тогда и продолжим диалог.  :)
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Charlie от Декабря 24, 2016, 01:29:49
Замечательно! Если процесс упрощается, то завтра  рисую плату, а возможно,и отутюжу.
 Только, уважаемый Админ, чтоб мне  не облажаться с измененной схемой,  нарисуйте, плиз, фрагмент  изменений (обвязка резонатора) в соответствии с Вашими рекомендациями.
  Благодарю за выкладку  подробного просветительского материала ! Ни на одном сайте не встречал таких отзывчивых админов, что меня, признаться,  приятно удивило.
Название: Re: Простые часы на микроконтроллере ATtiny2313
Отправлено: Новичёк от Декабря 24, 2016, 15:24:04
Замечательно! Если процесс упрощается, то завтра  рисую плату, а возможно,и отутюжу.
 Только, уважаемый Админ, чтоб мне  не облажаться с измененной схемой,  нарисуйте, плиз, фрагмент  изменений (обвязка резонатора) в соответствии с Вашими рекомендациями.
  Благодарю за выкладку  подробного просветительского материала ! Ни на одном сайте не встречал таких отзывчивых админов, что меня, признаться,  приятно удивило.

Так, давай начнём по-порядку. Прежде всего, что касается админа, - я таковым не являюсь, несмотря на соответствующую надпись у моих постов. Да, некоторые права мне были даны настоящим Админом этого форума - john'ом, но лишь с целью исполнения функций модератора в разделе Наука (http://msevm.ru/forum/index.php?board=73.0) и иногда в Палате №6 (http://msevm.ru/forum/index.php?board=152.0).

Далее, что касается изменений в плате - я честно говоря не понял о каких изменениях идёт речь, ведь я же сказал, что для заявленной тобой точности никаких изменений вносить не нужно! По всей видимости мы тут друг друга не поняли.

Ну, а насчёт отзывчивости, - спасибо! Хотя на самом деле, я могу быть не только отзывчивым, но и злым, ехидным и легко подвергнуть собеседника, если он того заслуживает, остракизму.  :) Все мы люди, однако.