Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » убегает время (И снова часы на pic16f877a)
убегает время
terrarus Дата: Пт, 05.12.2014, 10:15  |                                                                                                                Сообщение # 16
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

для xaker-sss,  ".... тем более у кварцев со временем частота уходит, желательно ставить б/у.   "

Совершенно безграмотное утверждение на уровне начинающегося радиолюбительства.
У нормальных, природных, кварцевых резонаторов  стабильность частоты 10−10 ÷ 10−12 , а добротность 105 ÷ 106
У синтетических же кварцевых резонаторов стабильность не лучше 10−5 ÷ 10−8, а добротность 104 ÷ 105
Не покупайте дешевку и будет вам счастье.
Со временем природные кварцевые резонаторы не стареют. А синтетические почти не стареют.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пт, 05.12.2014, 10:17
xvovanx Дата: Пт, 05.12.2014, 12:16  |                                                                                                                Сообщение # 17
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата MiXaS ()
Покупаете ds3231 и вообще не паритесь

Она держит 5в или ей подавай 3.3в?
Имел дело раньше только с DS1307- очень нравилась.
Хорошо бы в студию примерчик по считыванию и записи инфо, типа такого

BusOut $D1,0,[SEC,MINS,HR,DAY,DATE,MON,YR] ' запись в DS1307
BusIn $D0,0,[SEC,MINS,HR,DAY,DATE,MON,YR] ' считывание из DS1307

Ну и хотелось бы "выцарапать" из ds3231 будильники и темпер, конечно snap

Сообщение отредактировал xvovanx - Пт, 05.12.2014, 13:07
xaker-sss Дата: Пт, 05.12.2014, 14:56  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 208
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Цитата terrarus ()
Со временем природные кварцевые резонаторы не стареют.
Я институты не кончал, утверждать не буду, все из инета узнаю.
http://www.rtcs.ru/supplier_article_detail.asp?supplier=38&id=325
Долговременная нестабильность частоты (старение) – систематическое изменение базовой частоты с течением времени из-за
внутренних изменений в кварцевом резонаторе. Параметр старения задается
как относительное изменение базовой частоты за заданный промежуток
времени. Это значение выражается в частях миллиона за год (например, 3
ppm / year ). Уход частоты под влиянием старения в максимальной степени
сказывается в течение первых 30 – 60 дней эксплуатации, после чего
влияние этого фактора уменьшается.


ПРОТОН ЭТО ВЕЩЬ.
XOXOJI87 Дата: Пт, 05.12.2014, 20:07  |                                                                                                                Сообщение # 19
Группа: Пользователи
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 12.11.2014

Статус: Offline

я конечно обеими руками за ds3231
просто на данный момент ее нет, ка с ней работать еще предстоит изучить.

в плане заказать на ебее и потом использовать для подстройки часов... ну и естественно, т.к. там батарейка, естественно не буду парится по поводу отключения питания своего устройства.

жаль под боком и нормального магазина радиодеталей нет (((
а на работе нет кондеров по 15пФ чтобы поставить к кварцу, скорее всего в них дело....

в протоне сегодня гонял часы и загнал сигнал в 1Гц.
если подстройку таймера оставить 3036, то часы действительно отстают... сейчас подстройку поставил 3040 в течении часа никаких отклонений
xvovanx Дата: Пт, 05.12.2014, 22:01  |                                                                                                                Сообщение # 20
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата XOXOJI87 ()
если подстройку таймера оставить 3036, то часы действительно отстают... сейчас подстройку поставил 3040 в течении часа никаких отклонений

Цитата xvovanx ()
тикают как атомные

я использовал трехногий кварц на 4МГц (уже с двумя кондерами внутри). Идут довольно точно.

Народ, никто не знает какими командами "выудить" из DS3231 температуру?

Сообщение отредактировал xvovanx - Пт, 05.12.2014, 22:03
XOXOJI87 Дата: Вс, 07.12.2014, 18:16  |                                                                                                                Сообщение # 21
Группа: Пользователи
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 12.11.2014

Статус: Offline

в поисках правды...
себе и другим на будущее, пока нашел только одну ошибку.
подстройку таймера 3040 нужно сделать сразу после переполнения таймера. а потом уже свои действия проводить...
ЯНДЕКС Дата: 07.12.2014
ADMIN Дата: Вс, 07.12.2014, 18:52  |                                                                                                                Сообщение # 22
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Цитата
в поисках правды...
себе и другим на будущее, пока нашел только одну ошибку.
подстройку таймера 3040 нужно сделать сразу после переполнения таймера. а потом уже свои действия проводить...

Мне следовало сказать об этом раньше, как то не сообразил...
xvovanx Дата: Пн, 08.12.2014, 12:52  |                                                                                                                Сообщение # 23
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата XOXOJI87 ()
подстройку таймера 3040 нужно сделать сразу после переполнения таймера. а потом уже свои действия проводить..


Да в моем примере видно же было, что запись 3040 происходит сразу же, как только убрали флажок, а уж потом обрабатываем там секунды/минуты
http://www.picbasic.ru/forum/5-1639-14716-16-1417531761

Сообщение отредактировал xvovanx - Пн, 08.12.2014, 12:53
XOXOJI87 Дата: Вт, 09.12.2014, 17:01  |                                                                                                                Сообщение # 24
Группа: Пользователи
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 12.11.2014

Статус: Offline

я как-то сразу и не обратил внимания, потом в инете порыл, вспомнил что писал АДМИН и тут до меня дошло.

померил сегодня кварц, 19-20 мГц без кондеров.
не пойму почему они все-таки убегают вперед((((
как я думаю, при таком раскладе они должны отставать,
DAlexV Дата: Чт, 11.12.2014, 20:45  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Цитата XOXOJI87 ()
померил сегодня кварц, 19-20 мГц без кондеров. не пойму почему они все-таки убегают вперед(((( как я думаю, при таком раскладе они должны отставать,
Все правильно. Сначала стопорим таймер, вносим значения,стартуем таймер, сбрасываем флаг. Особо это касается когда предделитель либо выклюючен либо с малым коэфицентом деления (достаточно заремить в прерывании строку TMR1ON=0  и получим уже не 10ms а 9.998ms).
Прикладываю исправленную версию кода с Протеусом. Щупаем, зашиваем, проверяем, потом задаем вопросы.
Успехов  wink
P/s. для xvovanx 
Цитата xvovanx ()
только кварцы "шалят"
Советую пользоваться кварцами серии ZTT это тот который с 3 лапами. Пользуюсь такими аж с 90-х годов. Ни один не шалил  smile
Прикрепления: XOXOJI87_Clock.rar (368.2 Kb)


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
XOXOJI87 Дата: Пт, 12.12.2014, 13:21  |                                                                                                                Сообщение # 26
Группа: Пользователи
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 12.11.2014

Статус: Offline

Цитата DAlexV ()
Все правильно. Сначала стопорим таймер, вносим значения,стартуем таймер, сбрасываем флаг. Особо это касается когда предделитель либо выклюючен либо с малым коэфицентом деления (достаточно заремить в прерывании строку TMR1ON=0 и получим уже не 10ms а 9.998ms).Прикладываю исправленную версию кода с Протеусом. Щупаем, зашиваем, проверяем, потом задаем вопросы.
Успехов wink

пока нет возможности зашить. а вопрос все таки задам....
что за значение ISR Overhead (cycles)

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

если рассуждать, то это количество тиков которые пропустит таймер, тогда откуда именно это значение? практика?

просто ищу зацепки, тк как писали выше, что запись значения в таймер происходит в 4 цикла, тоесть он их пропускает.... но вот в даташите нет этих данных,

Добавлено (12.12.2014, 13:21)
---------------------------------------------
у по поводу тиков на запись в таймер я понял, посмотрел в коде asm
тогда получается, циклов будет:


Код
If TMR1IF=1 Then      'тут не пойму, 2 или 3 тика уйдет

     TMR1ON=0 ' 1 тик  
     TMR1H = $3C         ' 2 тика
     TMR1L = $C9         ' 2тика
     TMR1ON=1             '1 тик
     TMR1IF=0
     'Inc Ms10  
     'Flag10ms=1

  End If

получается что 8 или 9 тиков уходит на эти действия.

на мой взгляд тогда ISR Overhead (cycles) будет не 25 а 8 или 9
DAlexV Дата: Пт, 12.12.2014, 13:58  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Цитата XOXOJI87 ()
если рассуждать, то это количество тиков которые пропустит таймер, тогда откуда именно это значение? практика?
Да нет. все взято из программы настройки таймеров. Скрин был в архиве и в посте. Она есть на сайте.
Число  ISR Overhead (cycles) =25 - это время которое прибавить к таймеру(оно тратиться на вход в прерывание, сохранение контекста, проверку флагов и занесение новых значений в таймер).
Как настраиваем таймер в программе:
Выбираем частоту
Тип проца (16 или 18 линейка)
Номер таймера (у нас 1 и только 16 битный. Другие могут работать и в 8 битном режиме)
в поле Search Interrupt Configuration вводим желаемое время срабатывания.
Внизу получаем все настройки таймера (предделители и значение)

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

Видим что на 5 сотых милисекунд.
Возвращаемся снова в TimerCalculator и с помощью ползунков подгоняем значение  Interrupt Period со значением что выдал Шпротеус(10.005ms)

После с помошью стрелок (зеленых таких) подгоняем значение что бы   Interrupt Period снова стал равен нужному нам значению (10.000ms).
 
Осталось только перенести новые значение в прерывание и радоваться жизни  smile


Успехов  wink
Прикрепления: 2995902.jpg (399.3 Kb) · 7803753.jpg (80.2 Kb) · 1065213.jpg (413.8 Kb) · 2416394.jpg (408.5 Kb) · 7514226.jpg (77.0 Kb)


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
XOXOJI87 Дата: Пт, 12.12.2014, 16:34  |                                                                                                                Сообщение # 28
Группа: Пользователи
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 12.11.2014

Статус: Offline

огромное, человеческое спасибо!
за то что теперь все просто и понятно понятно
xvovanx Дата: Пт, 12.12.2014, 16:51  |                                                                                                                Сообщение # 29
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата DAlexV ()
Цитата xvovanx ()только кварцы "шалят"Советую пользоваться кварцами серии ZTT это тот который с 3 лапами. Пользуюсь такими аж с 90-х годов. Ни один не шалил

Тоже самое могу сказать и про себя и про использование трехногих кварцев, пихаю их куда можно и куда нельзя smile . Еще в прошлом веке, работая в конторе по ремонту электроники выковыривал их их плат управления микроволновок и из крутых пультов от телика. Вот только больше 8MHz нигде не встречал, а процам частотку подавай и 16 и 20 и 40 мегов snap

Сообщение отредактировал xvovanx - Пт, 12.12.2014, 16:53
Форум Picbasic.ru » Программирование МК » Proton PicBasic » убегает время (И снова часы на pic16f877a)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: