Цифровой секундомер (нестандартный). Требуется помощь!

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение ARV »

shutdown писал(а):вас устроит секундомер, который за 36 часов обогнал настоящее на 2 минуты?
погрешность 0,1% - высокий класс измерительного средства!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение pyzhman »

Сейчас в моде перфекционизм.
В патологической форме — убеждение, что несовершенный результат работы неприемлем.

Википедия (с)
Docendo discimus
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

GARMIN писал(а):Тогда для этого можно применить GPS секундомер с точностью 10-9. Но опять возникает вопрос точности фиксации момента события при длительном интервале отсчёта.

Ну кстати. Если уж так хочется точности, то надо ставить ВНЕШНИЙ GPS модуль. (точность 10-9 , т.е. 0,0025 сек за месяц с ежесуточной корректировкой)
А уж если сподобились поставить DS-ку вместо него (10-4 или 300 сек за месяц без корректировки), то надо предпринимать меры по её работе (тепловая и электрическая изоляция) , тогда можно достичь точности 10-6 (или 3 с за месяц). Иначе это бред "ленивых погроммистов". Но смысл в DS-ке есть только если предпринимать меры, коих не наблюдается ни у кого (помимо программной корректировки).
Вот например известные часы =Pebble= http://www.3dnews.ru/788740 обходятся без внешних модулей, чисто на прерываниях STM32F2.
Ну так то талантище и неленивый, а не то что некоторые начинающие здесь. :))
Аватара пользователя
c2n
Сверлит текстолит когтями
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение c2n »

Вариант 1й.
взять МК и внешний добротный тактовый генератор. время считать внутри МК. либо по watchDog, либо от прерываний.. вариантов море.

вариант 2й.
взять RTC + МК. (или интегрированное решение АРМ-кортекс) в МК в EEPROM писать стартовый момент и момент окончания, данные брать из RTC. выводить оператору значение. В этом случае местами решается проблема сбоя питания. Реализуется возможность вывода текущих значений. можно реализовать подключение к иным устройствам.

На мой взгляд оптимально-дешево будет часики+тини2313.

3й вариант. брать время из эфира. для этих целей достаточно будет принять сигнал с любого одного доступного GPS\ГЛОНАСС спутника. Минус - нужен доступ к небу.+ антена, декодер... и всетакое.
3А вариант. Время брать из FM диапазона служебной подчастоты радиовещания. функция RDS. но тут будет облом, если на радиостанции что нить кебздыкнецца. еще минус - остутствие помехозащищенности. Вполне есть готовые RDS декодеры.

4 вариант. присобачить 10\100\1000-base ethernet, прицепиться к NNTP серверу, которому вы доверяете.

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

6й вариант. Часы "командирские" + камера. Декодировать изображение стрелок.

Самый точный способ будет NNTP или ГЛОНАСС.

Ну и на самое вкусное! взять добротный генератор и построить схему на счетчиках и жесткой логике. Для менее извращенцев - ПЛИС.
при этом нужно реализовать счетную машину с предустановкой. регистр хранения старта. регистр хранения стопа. блок вычитания, и блок декодирования. частота обработки и точность будет зависеть от тактового генератора.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение oleg110592 »

имхо 2 вариант лучшее - в STM32 RTC можно калибровать
http://uc.org.ru/node/27
кроме того внутри STM32 есть температурный датчик - можно корректировать от температуры, application note есть
Аватара пользователя
c2n
Сверлит текстолит когтями
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение c2n »

я армы, и все интегрированное, побаиваюсь предлагать, после некоторого общения с миландром. в наших "1986ВЕ9х (ядро ARM Cortex-M3)" датчик температуры есть... но он не калиброваный, и в каждом кристалле отличается по показаниям от соседа.... как у ST, TI, AVR и прочих дела обстоят - не знаю. скорее всего продают бытовую с параметрами рабочей температуры 0..40. промышленное исполнение, -40..+70 поискать ннада.
а уход часов от температуры.... ну я ХЗ, на сколько критично это все... нужно конкретно уже рассматривать варианты.
как говорится нет грамотного и четкого ТЗ, изделие получится ХЗ.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение ChipKiller »

c2n писал(а):я армы, и все интегрированное, побаиваюсь предлагать, после некоторого общения с миландром. в наших "1986ВЕ9х...
а не нужно равнять АРМы и Миландр, если только Вы не на военку заказ делаете - у ST часы прекрасно работают и жутко напоминают по функционалу DS3232
Аватара пользователя
shutdown
Открыл глаза
Сообщения: 75
Зарегистрирован: Сб ноя 22, 2014 21:38:43
Откуда: Россия

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение shutdown »

c2n, вроде бы уже всё "разжевано", что касается ТЗ.
Что именно вам не понятно?
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

c2n писал(а):Вариант 1й.
взять МК и внешний добротный тактовый генератор. время считать внутри МК. либо по watchDog, либо от прерываний.. вариантов море.

вариант 2й.
взять RTC + МК. (или интегрированное решение АРМ-кортекс) в МК в EEPROM писать стартовый момент и момент окончания, данные брать из RTC. На мой взгляд оптимально-дешево будет часики+тини2313.


Проблема сейчас в том, что сейчас железом начали заниматься "погроммисты". И они всё что касается железа делают "на отьебись", т.к. сильно его боятся. И во всех приведённых вариантах проблема точности хода решается не до конца.

Например пути всего 2 - аппаратный и софтовый.
Если вы делаете прерывания, то их надо уметь обрабатывать (считай 90% халявщиков-"погроммистов" выпадает сразу в осадок). Прерывания от внутренного таймера не гарантируют ПЛАВНОСТИ хода, хотя вы можете корректировать его хоть каждую секунду, но могут дать среднюю точность если отcлеживать температуру (например смарт-часы Pebble на stm32). Но это путь пассивный. Это путь "погроммистов" и трусов. Тот же вариант с внешним модулем - например GPS и DS (внешние часы).

Но GPS отпугивает опять 90% халявщиков-"погроммистов", ибо надо разбираться в протоколе обмена (программные заморочки), обеспечивать сигнал и сопряжение антенны (аппаратные заморочки), обеспечивать небо (проблемы эксплуатации в закрытых помещениях). А внешние часы проще всего. Но "погроммисты" и тут не доделывают до конца. Внешние часы считывать конечно просто, но их надо аппаратно и физически изолировать (т.е. делать фильтрацию питания, стабилизировать температуру), а с этим у "погроммистов" проблемы всегда, ибо СТРАХ перед железом.

Заметьте, что прерывания от RTC не дают такой точности, как DS только в одном случае - если кварц ВНУТРИ процессора. И его нельзя температурно застабилизировать (большая масса процессора и нестабильность нагрева от времени работы, наличие внутреннего источника тепла). А DS-ка снаружи и её можно (как и внешний кварц для процессора) стабилизировать.
В случае температурной стабилизации кварца или DS - обе эти конструкции дают одинаковый ПЛАВНЫЙ ход (равномерность хода) и одинаковую СТАБИЛЬНОСТЬ хода (уход за сутки).

Ошибка "погроммистов" - это пассивность. Они считывают температуру и пытаются корректировать ход часов без влияния на неё. А во всём мире принято наоборот - физически (схемотехнически, "железячно") стабилизировать температуру кварца, т.е. сначала аппаратно выжать максимально плавный ход, а уж потом бороться с ошибками хода программным путём.

Поэтому кварцы выпускаются на 55, 70 и 85 градусов рабочего режима.
Последний раз редактировалось kren700 Чт июн 04, 2015 11:32:42, всего редактировалось 1 раз.
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

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

(0,2 мкА в режиме хода, и до 1300-1500 мкА в режиме чтения для DS1302 и 1307).

А генератор на кварце генерит всегда одну частоту и больше никак не меняется, т.к. просто отдаёт частоту во время работы.
Постоянно и всегда.

Понятно, что стабилизировать надо весь генератор - кварц и микросхему генератора.
Последний раз редактировалось kren700 Чт июн 04, 2015 12:35:09, всего редактировалось 3 раза.
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

c2n писал(а):я армы, и все интегрированное, побаиваюсь предлагать, .. в наших "1986ВЕ9х (ядро ARM Cortex-M3)" датчик температуры есть... но он не калиброваный, и в каждом кристалле отличается по показаниям от соседа.... как у ST, TI, AVR и прочих дела обстоят - не знаю.

прикол в том, что важна не калибровка датчика, а точность поддержания температуры на одном уровне. т.е. вы меряете T процессором, сравниваете с нужным, выдаёте команду на корректировку точности хода из таблицы температур (пассивно боретесь за точность). При этом каждое ваше действие нагревает процессор и требует дальнейшее вмешательство в процесс корректировки, т.к. от нагрева внутренний кварц "плывёт".

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

c2n писал(а):как говорится нет грамотного и четкого ТЗ, изделие получится ХЗ.
ТЗ тут одно - максимально плавный и точный ход как можно дольше и как можно более дешёвыми средствами.
Последний раз редактировалось kren700 Чт июн 04, 2015 14:45:09, всего редактировалось 2 раза.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение oleg110592 »

kren700 писал(а):А генератор на кварце генерит всегда одну частоту и больше никак не меняется, т.к. просто отдаёт частоту во время работы.
Постоянно и всегда.

В STM32 именно корректируют частоту кварца до делителя на 32768. И прерываний не требуется - часы и календарь обычные регистры. Результат счета отображается в двух 32-разрядных регистрах. Первый из них RTC_TR содержит информацию о времени, второй – RTC_DR представляет собой календарь, включающий год, месяц, неделю и день. Все данные представлены в BCD формате, что позволяет их сразу же использовать для отображения на различных индикаторах. Модуль календаря поддерживает автоматическое определение високосных лет, а также количества дней в текущем месяце. Кроме этого доступны функции перевода на зимнее и летнее время, вызываемые программно.
Изображение
2 kren700 правила п. 2.2 почитайте, я уже получал по шапке
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

oleg110592 писал(а):
kren700 писал(а):А генератор на кварце генерит всегда одну частоту и больше никак не меняется, т.к. просто отдаёт частоту во время работы.
Постоянно и всегда.

В STM32 именно корректируют частоту кварца до делителя на 32768. И прерываний не требуется - часы и календарь обычные регистры. Результат счета отображается в двух 32-разрядных регистрах.

ну Pebble не зря же на них сделан. :))
Но для него ЭТО (внутренний кварц) - не критично.
Внутренний кварц плох тем, что нельзя его температурно изолировать от неуправляемого нагревателя - кристалла самого процессора.

Но наручным часам - это по-барабану. Внешних воздействий столько, что они перекрывают любые нестабильности от нагрева корпуса процессора кристаллом самого процессора :))
к тому же там есть GPS и часики каждые сутки бывают на улице под спутниками. Да и для наручных часов никто ОСОБОЙ точности - не требует.
(Посмотрел, GPS там через сотовую сеть, как в телефоне. Реального модуля нет, Это в других, подороже - http://www.3dnews.ru/903927/page-2.html#Выводы )

oleg110592 писал(а):И прерываний не требуется - часы и календарь обычные регистры.
Кхм. Это отдельно прокомментирую :))
Т.е. нет прерываний для поддержки хода часов. Но есть прерывания для отображения на дисплее. Эти прерывания работают от чего ?
Или ваши часы отображают секунды так - 1,2,2,3,5,7,7,7,10 ? :))
Тогда "спасибо", не надо.
Аватара пользователя
c2n
Сверлит текстолит когтями
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение c2n »

Спросил опытных инженеров. Сказали бери RTC, 2313, сажай на радиатор от 4 пня, можно без кулера, и не е@и нам мозги.

По поводу точности, детали промышленной выборки в керамическом корпусе.

Проверка на вшивость - хороший,годный цифровой осцилограф или частотомер, даже с метрологической пломбой "У" Хватит....

Про наш мк от миландра. В ТУ нет калибровочной таблицы, поэтому для каждого изделия прийдется ее составлять, как минимум по 4м точкам.
Самое поганое, что и Интеграл пока тоже не освоил.
Единственная деталь из наших - платиновый терморезистор с таблицей в ТУ.

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

Теперь еще КЮ. Нехрен гнать на нормальных программеров встроенных систем. Щи, мухи, котлеты... Не сравнивайте ардуинщиков и студентов радиотехнических факультетов и факультетов информатики.

И при внешних часиках у вас есть такт, как минимум на 1Гц. Ниче не мешает брать для корректировки по переполнению 8битного таймера.
Последний раз редактировалось c2n Чт июн 04, 2015 19:51:46, всего редактировалось 1 раз.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение oleg110592 »

kren700 писал(а):Но есть прерывания для отображения на дисплее. Эти прерывания работают от чего ?

Для отображения в STM32 тоже не использую прерывания - для этого есть DMA. DMA запускает таймер. Если таймер работает допустим на частоте 0.1Гц (можно и быстрее), то секунды мы прекрасно видим все - от 0 до 59.
Аватара пользователя
c2n
Сверлит текстолит когтями
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара
Контактная информация:

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение c2n »

0.1 Гц, маловато, для посекундного то....
Установку часов можно по компорту организовать.

Тут не понятно, в каких условиях все это будет экслуатироваться... Если офис, свиноферм, лесопилка - одно, если доменный цех - другое, авиация или космос - третье.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение oleg110592 »

ошибся, да - 0.1Гц читать как 0.1сек
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

c2n писал(а):Спросил опытных инженеров. Сказали бери RTC, 2313, сажай на радиатор от 4 пня, можно без кулера, и не е@и нам мозги.
А кто их "опытными" назвал? :))
c2n писал(а):По поводу точности, детали промышленной выборки в керамическом корпусе.
кхм. И как это связано ?
Да хоть термокопенсированные детали в золоте возьми, как это на точность хода повлияет ? Кристаллы там теже самые, что и в пластмассе. Чудес не бывает - нет борьбы за точность хода - её не будет.
c2n писал(а):Проверка на вшивость - хороший,годный цифровой осцилограф или частотомер, даже с метрологической пломбой "У" Хватит....
А в квалификации инженеров Тектроникс или Роде и Шварц - я не сомневаюсь. Именно поэтому ОНИ продают приборы НАМ.
А не ВЫ - ИМ. :))
c2n писал(а):Про наш мк от миландра. В ТУ нет калибровочной таблицы, поэтому для каждого изделия прийдется ее составлять, как минимум по 4м точкам.
Вы как-будто слушаете, но не слышите (с) Иисус Х. '0032 год нашей эры.
Таблица там и не нужна, Всё относительно. Если предприятие будет ещё и калибровать (например лазером, проводя комплекс работ), то стоимость возрастёт в 10 раз.
Вам в часах не нужно точная температура, вам нужна относительная.
И этих встроенных датчиков достаточно.
c2n писал(а):Самое поганое, что и Интеграл пока тоже не освоил.
Единственная деталь из наших - платиновый терморезистор с таблицей в ТУ.
Ну вот. Докатились. Этому прибору уже лет 100-150. Потому что основан на фундаментальном законе. Потому стабильность и точность. Но дорого. А разве калибровать не надо ? :))
c2n писал(а):Да. Детали приходится набирать из перечня министерства под руководством Шойгу...
Так точно.
c2n писал(а):Теперь еще КЮ. Нехрен гнать на нормальных программеров встроенных систем. Щи, мухи, котлеты... Не сравнивайте ардуинщиков и студентов радиотехнических факультетов и факультетов информатики.
Ну я, как инж. 1 категории, проработавший 16 лет на военку, в темах бортовых (самолётных ИЛ-76-А50, Миг-31) процессоров и т.д. не могу вас различить по уровню подготовки. Где, где ваши знания ?
Вы разговариваете как "погроммист". Раньше про таких как вы говорили ЛАМЕР - т.е. не просто лох, а лох агрессивный и не терпящий поучения.
Даже не слышите что вам говорят. Ну не хотите слова лох, пусть будет - нуб, но вы же не нуб, вы учитесь на факультете. Поэтому вы говорите не на простом языке, а на радио-жаргоне, но несёте чушь почти постоянно. Вот как вас называть ?
c2n писал(а):И при внешних часиках у вас есть такт, как минимум на 1Гц. Ниче не мешает брать для корректировки по переполнению 8битного таймера.
да это вовсе не проблема. проблема в том что этот такт от того же кварца.
kren700
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс май 10, 2015 12:25:31
Откуда: Челябинск

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение kren700 »

oleg110592 писал(а):
kren700 писал(а):Но есть прерывания для отображения на дисплее. Эти прерывания работают от чего ?

Для отображения в STM32 тоже не использую прерывания - для этого есть DMA. DMA запускает таймер. Если таймер работает допустим на частоте 10Гц (можно и быстрее), то секунды мы прекрасно видим все - от 0 до 59.
Пока по stm32 я сказать вам ничего не могу. Но раньше было наоборот - таймер запускал прямой доступ в память (DMA), у которого в свою очередь был свой счётчик массива пересылки.

Именно так устроен классический DMA. Обычно его используют для пересылки инфы без участия проца. Но этот случай фактически - это тоже прерывание. Прерывание работы проца, причём событие происходит по таймеру :)).
Т.е. проц просто подвешивается для освобождения линий связи (шин) и поэтому ничего о DMA не знает.

Я написал о дисплее с целью провокации, конечно. Но вы вспомнили третий способ прерывания (я уж и подзабыл о нём).
Но организация этого - неправильная.
Достаточно 1 Гц-вого прерывания (для часов) чтобы поправить счётчик секунд и, в конце подпрограммы, и дисплей. Для stm (как меня поправили раньше) достаточно только дисплей 1 раз в секунду.
Т.е. обновлять дисплей 10 раз секунду для часов - это неправильно.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Цифровой секундомер (нестандартный). Требуется помощь!

Сообщение oleg110592 »

Так и есть таймер запускает DMA (я коряво написал). DMA, после запуска таймером, подготовленные данные в буфере ОЗУ выпихивает в порт. Если индикация семисегментная динамическая, 1Гц для зажигания сегментов недостаточно. В таком случае часы считают сами по себе, индикация работает сама по себе, ядру остается постоянно считывать время и если значение единиц секунд изменилось, подготовить новые данные в буфере. Прерывания не нужны вообще.
Но у автора темы индикатор не динамический - можно обойтись без DMA - если значение единиц секунд изменилось, просто вывести данные на индикатор.
Ответить

Вернуться в «Разные вопросы по МК»