[image]

Оффтопик в ракетомодельном

 
1 2 3 4 5 6 7 55

Mihail66
mihail66

аксакал

Xan> Вот у меня в будущем предполагается с их помощью регистрация времени событий до микросекунд.

А как быть в случае если GPS-сигнал пропадет?
   87.0.4280.8887.0.4280.88

Xan

координатор

Xan>> Вот у меня в будущем предполагается с их помощью регистрация времени событий до микросекунд.
Mihail66> А как быть в случае если GPS-сигнал пропадет?

Это нормальные часы со своим кварцем.
Которые слушают инфу из GPS (время, дату, координаты) и подстраиваются.

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

Ай, это я не на то вопрос ответил! :)

Но то же самое!
Генератор (ГУН) на 10 МГц, который подстраивается по GPS.
Оба делают секундные импульсы, схема смотрит, чей фронт первее, и подкручивает напряжение, чтоб подогнать частоту и фазу.
   77

Mihail66
mihail66

аксакал

Xan> Оба делают секундные импульсы, схема смотрит, чей фронт первее, и подкручивает напряжение, чтоб подогнать частоту и фазу.

Просто ты собрался регистрировать события с высокой точностью, но GPS может пропасть на неопределенное время (минуты, часы, ...). В этом случае про точность вообще говорить не приходится.
А почему нельзя синхронизироватьcя с NTP (или в глубокую тайгу собрался, где кроме GPS нихрена нету)?
   87.0.4280.8887.0.4280.88

Xan

координатор

Mihail66> но GPS может пропасть на неопределенное время (минуты, часы, ...).

Это как это?
Комп у меня от GPS уже много лет точное время получает.

Mihail66> А почему нельзя синхронизироватьcя с NTP

Сложно и неточно.
   77

Mihail66
mihail66

аксакал

Xan> Комп у меня от GPS уже много лет точное время получает.

Это как? Мой комп время от NTP-сервера получает, а вот сервер уже от GPS.
Для меня чтобы что-то точное от GPS получить как правило приходится очень долго ждать, нередко без пляски с бубенцами вообще не обходится. Бывает, что сигнал пропадает на сутки (от NEO-6 лучшего ждать не приходится). И даже когда прием сигнала вполне уверенный, то данные со спутников периодически пропадают целыми пачками, благо что быстро восстанавливаются.

Mihail66>> А почему нельзя синхронизироватьcя с NTP
Xan> Сложно и неточно.

Ну не сложнее чем от GPS (в плане железа). А про точность я сейчас посмотрел, действительно точность хуже (5-100мс).
   87.0.4280.8887.0.4280.88

Xan

координатор

Xan>> Комп у меня от GPS уже много лет точное время получает.
Mihail66> Это как? Мой комп время от NTP-сервера получает, а вот сервер уже от GPS.

Написал прогу, которая получает текстовое время от NEO-6.
Сравнивает его с системным компа и по чуть-чуть подкручивает системное время.

Цель была — получить системное время с точностью до десятой или лучше секунды.

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

Mihail66> Бывает, что сигнал пропадает на сутки (от NEO-6 лучшего ждать не приходится).

У меня висит на раме окна внутри комнаты. Не замечал перебоев.
Ну, можно в логи посмотреть, за пять лет накопилось, но это ж надо прогу писать! :D
   77

Mihail66
mihail66

аксакал

Mihail66>> Бывает, что сигнал пропадает на сутки (от NEO-6 лучшего ждать не приходится).
Xan> У меня висит на раме окна внутри комнаты. Не замечал перебоев.

Т.е. GPS у тебя постоянно включен, а не только когда нужно регистрировать события с высокой точностью?
Вот сейчас у нас снег идет, NEO-6 уже больше часа на подоконнике лежит, МОЛЧИТ!

Xan> Ну, можно в логи посмотреть, за пять лет накопилось, но это ж надо прогу писать! :D

Пинко уже написал, но не для часов, а для трекера. Строки с "белебердой" вместо координат и времени идут с завидной регулярностью. В зависимости от условий приема запросто может получаться 50/50. Причем могут пропадать пачки по 10-15 строк подряд. Да и при хорошем приеме сигнала выпадение информационных строк это в порядке вещей. На корректировки часов в компе это не отражается, но говорить о точности в 1мс на коротком интервале времени тоже нельзя.
   87.0.4280.8887.0.4280.88
RU Бывший генералиссимус #10.01.2021 16:23  @M&D#10.01.2021 13:35
+
-
edit
 
Mihail66> Просто ты собрался регистрировать события с высокой точностью, но GPS может пропасть на неопределенное время (минуты, часы, ...). В этом случае про точность вообще говорить не приходится.
Почему? Просто она портится несколько.
Атомные часы на спутнике обеспечивают относительную точность 10-11, пройдя через ионосферу, сигналы портятся примерно до 10-10, термокомпенсированный кварц обеспечивает 10-9. Это всё равно точнее "просто" кварца. У которого из-за погрешностей деталей в схеме редко бывает стабильность лучше 10-8. А точность начальной установки частоты обычно порядка 10-5.
Прежде чем завести текущую программу, я экспериментировал с измерением периода этого сигнала на мой "обычный" кварц.
С типовыми деталями оно показывало 09998794, вместо долженствующих 10000000. То есть, погрешность начальной установки частоты была 120 ppm. Потом я впаял подстроечный конденсатор вместо постоянного, и выкрутил частоту на 10000000. Она немножко плавала, но немножко.
Я об этом процессе написал в своём ЖЖ:

Три года назад я поспорил про Морской Старт

В смысле, что никто никуда не летит. Естественно, так оно и оказалось. Зачем его выкупали у американцев? Зачем S7 выкупала его у "Энергии"? Боинг свои сиюминутные проблемы решил, Южмаш продлил существование, "Зенит" - красивая ракета, которая мне очень нравится, к тому же, пока летал "Зенит", была… //  users.livejournal.com
 

Автоподстройку частоты кварца не делал пока, да и не думаю, что нужно. Погрешность установки частоты я извёл до меньше 0,5 ppm.
Да, так вот, после выключения и включения питания, до появления фикса период импульсов 1pps ровно на одну миллионную (1 ppm) больше, чем нужно. Хотя время приёмник ловит и по одному спутнику, его значение может отличаться от "правильного", когда есть фикс, аж на 7 секунд. Не знаю, как так может быть, но я это экспериментально наблюдал.
Когда приёмник ловит 4 спутника и выдаёт правильный фикс, частота увеличивается на эту миллионную (период уменьшается), и он запоминает этот параметр (т.е. регулировку подстройки частоты), и за час он не уплывает. За сутки уплывает чуть-чуть.
   87.0.4280.8887.0.4280.88
RU Mihail66 #10.01.2021 16:38  @Бывший генералиссимус#10.01.2021 16:23
+
-
edit
 

Mihail66
mihail66

аксакал

Б.г.> Почему? Просто она портится несколько.....

Это все понятно. Но если я правильно понимаю то вам ведь нужно иметь строгую частоту в 1гц, а от спутников ты не сумеешь получать эти импульсы постоянно (как от генератора), там обязательно будут разрывы и они будут совершенно случайными. Т.е. ты запросто можешь попасть в интервал в несколько сек. когда не сумеешь произвести подстройку. Для коррекции часов в компе это пофигу, а для точного секундного генератора уже никак. Или я не понимаю смысла в этом секундомере.
   87.0.4280.8887.0.4280.88
RU Бывший генералиссимус #10.01.2021 16:44  @M&D#10.01.2021 16:38
+
-
edit
 
Б.г.>> Почему? Просто она портится несколько.....
Mihail66> Это все понятно. Но если я правильно понимаю то вам ведь нужно иметь строгую частоту в 1гц,

Да.

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

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

Mihail66> Т.е. ты запросто можешь попасть в интервал в несколько сек. когда не сумеешь произвести подстройку. Для коррекции часов в компе это пофигу, а для точного секундного генератора уже никак. Или я не понимаю смысла в этом секундомере.

Там не бывает пауз. Сказано - один импульс в секунду, оно и будет один импульс в секунду. Без спутников эта секунда имеет точность в одну миллионную, со спутниками - в одну стомиллионную. Можно бы и в одну десятимиллиардную, но это не для бытовых приёмников.
   87.0.4280.8887.0.4280.88
RU Mihail66 #10.01.2021 17:02  @Бывший генералиссимус#10.01.2021 16:44
+
-
edit
 

Mihail66
mihail66

аксакал

Б.г.> А вот это ты неправильно понимаешь. Я же пишу, приёмник выдаёт эти импульсы, даже если спутников нет вовсе, от своего встроенного генератора, причём, если он ни разу после включения спутников не нюхал, он ошибается на одну миллионную. А, как только сможет определить координаты, он на эту одну миллионную корректируется, и запоминает, насколько скорректировался, и дальше минимум сутки может её помнить.

А вот теперь понял. NEO-6 корректирует свою частоту по спутникам, я не знал. Т.е. чем лучше у него условия приема, и больше спутников он видит, тем меньше у него ошибка.
Растолковал, спасибо.
Ну все равно вопрос остался. А с какой целью можно использовать такую синхронизацию часов (просто пример)?
   87.0.4280.8887.0.4280.88
RU Бывший генералиссимус #10.01.2021 17:21  @M&D#10.01.2021 17:02
+
+1
-
edit
 
Mihail66> Ну все равно вопрос остался. А с какой целью можно использовать такую синхронизацию часов (просто пример)?

Смеяться не будешь? :)

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

Ну, то есть, если я рассчитываю, с помощью, допустим, Success Rockets или кого-то ещё, долететь до орбиты, и, при этом, собираюсь перед включением последней ступени, построить ориентацию по звёздам, мне нужно знать астрономическое время. Обычно там 10 миллисекунд достаточно. Это 0,15 2,4 угловой секунды. Орбитальная система координат вращается относительно инерциальной системы координат со скоростью 360 градусов за 90 минут, или 240 угловых секунд за секунду времени.

То есть, бортовые часы имеют право разойтись с правильными за время полёта, но, в момент старта, бортовые часы должны быть установлены с максимальной доступной точностью.
   87.0.4280.8887.0.4280.88
Это сообщение редактировалось 11.01.2021 в 02:14
RU Mihail66 #10.01.2021 17:29  @Бывший генералиссимус#10.01.2021 17:21
+
-
edit
 

Mihail66
mihail66

аксакал

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

Интересно. А как же с этой проблемой на заре космонавтики справлялись?
А вообще, круто!
   87.0.4280.8887.0.4280.88
RU Бывший генералиссимус #10.01.2021 17:33  @M&D#10.01.2021 17:29
+
-
edit
 
Б.г.>> То есть, бортовые часы имеют право разойтись с правильными за время полёта, но, в момент старта, бортовые часы должны быть установлены с максимальной доступной точностью.
Mihail66> Интересно. А как же с этой проблемой на заре космонавтики справлялись?

Хреново справлялись, если честно, из-за этого прибор на Спутнике-2 гавкнулся, и телеметрия передавалась не в то время, когда спутник пролетал над СССР! У "Венеры-1" бортовые часы не включили вовремя приёмники командной радиолинии. Много всего случилось тогда...

Mihail66> А вообще, круто!

В моей "родной" (я её изучал на военной кафедре) ракете 8К84 задающий генератор был термостатированный. То есть, банка, размером с жестянку для чая. В ней- 2 кварца на 1024 килогерца. На банку намотан нихромовый провод, и простейший биметаллический размыкатель удерживает температуру банки плюс-минус пара градусов. Но это уже не Р-7, а следующее поколение, уже шахтное и ампулизированное.
   87.0.4280.8887.0.4280.88
BE pinko #10.01.2021 18:24  @Бывший генералиссимус#10.01.2021 17:21
+
-
edit
 

pinko

опытный

Б.г.> Ну, то есть, если я рассчитываю, с помощью, допустим, Success Rockets или кого-то ещё, долететь до орбиты, и, при этом, собираюсь перед включением последней ступени, построить ориентацию по звёздам, мне нужно знать астрономическое время. Обычно там 10 миллисекунд достаточно. Это 0,15 угловой секунды.
Б.г.> То есть, бортовые часы имеют право разойтись с правильными за время полёта, но, в момент старта, бортовые часы должны быть установлены с максимальной доступной точностью.

Если это цель, то как бы противодействовал изменению фазы и частоты в кристалле (TCXO) GPS-a из-за эффектов ускорения в активной фазе в случае потери сигнала - ето может привести к значительной ошибке за короткое время?
   84.084.0
RU Бывший генералиссимус #10.01.2021 18:39  @pinko#10.01.2021 18:24
+
-
edit
 
Б.г.>> То есть, бортовые часы имеют право разойтись с правильными за время полёта, но, в момент старта, бортовые часы должны быть установлены с максимальной доступной точностью.
pinko> Если это цель, то как бы противодействовал изменению фазы и частоты в кристалле (TCXO) GPS-a из-за эффектов ускорения в активной фазе в случае потери сигнала - ето может привести к значительной ошибке за короткое время?

Вообще-то, может. Но там делают инерционный ФАПЧ, подобный тому, что держал фазу в генераторе цветовой поднесущей NTSC. Его постоянная времени велика. В телевизоре - несколько строк.
Соответственно, устройство запоминает величину регулирующего воздействия и хранит её. Понятно, что точность хранения со временем портится, но отчасти спасает то, что диапазон регулирования сам по себе маленький. И ошибка его не так важна.

Применительно к приёмнику GPS регулировки хватает, например, на плюс или минус 5 ppm. И тогда требующийся 1 ppm - это 20% от максимального сигнала. Если он через сутки будет не 20%, а 30% или 10%, то и тогда точность лучше, чем без регулирования вовсе.
   87.0.4280.8887.0.4280.88

Xan

координатор

Просто так посмотрел в логи и внезапно, всего пару дней назад, увидел такой бред:

16:39     0.0017    .   7.9    
16:40     0.0042    .   8.3    
16:41     0.0095    .   8.6    
16:42     0.0132    .   8.9    -10
16:43     0.0076    .   9.0     -7
16:44     0.0034    .   9.0     -3
16:45     0.0018    .   8.5    
16:46     0.0033    .   8.3    
16:47     0.0074    .   8.6    
16:48     0.0142    .   8.9    -10
16:51   -43.1776  275   8.9    
16:52  -124.9915    .   8.9    
16:53  -124.9897    .   8.5    
16:54  -124.9859    .   8.8     10
16:55  -124.9717    .   8.7     50
16:56  -124.9183    .   8.9     50
16:57  -124.8681    .   8.8     50
16:58  -124.8125    .   9.0     50
16:59  -124.7585    .   8.9     50
17:00  -124.7048    .   8.9     50
17:01  -124.6539    .   8.7     50
17:02  -124.6021    .   8.1     50
17:03  -124.5520    .   8.6     50
17:02   -20.6513  325   9.0     50
17:03     0.5556    .   8.8    
17:04     0.5608    .   9.0    
17:05     0.5639    .   8.9    
17:06     0.5673    .   8.7    -10
17:07     0.5584    .   7.8    -50
17:08     0.5096    .   7.4    -50
17:09     0.4617    .   7.7    -50
17:10     0.4143    .   7.6    -50
17:11     0.3647    .   6.8    -50
17:12     0.3177    .   6.8    -50
17:13     0.2690    .   6.8    -50
17:14     0.2222    .   7.0    -50
17:15     0.1754    .   6.9    -50
17:16     0.1277    .   6.8    -50
17:17     0.0803    .   6.6    -50
17:18     0.0350    .   7.5    -35
17:19     0.0035    .   7.7     -3
17:20     0.0035    .   7.7    
17:21     0.0080    .   7.5     -8
17:22     0.0024    .   7.5    
17:23     0.0074    .   7.6     -7
17:24     0.0033    .   7.9    
17:25     0.0056    .   7.7     -5
17:26     0.0021    .   7.9    
17:27     0.0043    .   7.7    

Первая колонка — системное время.
Вторая колонка — разница между системным временем компа и временем из GPS.
Третья — число принятых из приёмника блоков, если оно 5 * 60 = 300, то прога ставит просто точку, а иначе число.
Четвёртая — число спутников, среднее за минуту.
Пятая — миллисекунды, на которые прога подвигает системное время.

И вот всё шло гладко, пока какая-то цензоред вдруг не передвинула системное время вперёд на 125 секунд.
А через 13 минут вернула его обратно.
Это явно не глюк моей проги, потому что границы минуты прога определяет по системным часам, когда секунды станут "00".
И там явно за кривые минуты при сдвиге времени было принято сначала меньше 300 блоков, а потом больше.

Что это было?
Кто может так менять системное время?
У проги, меняющей время, должны быть админские права, не у каждой они есть.
   77

pinko

опытный

А ты отключил синхронизацию системного времени с сервера?
   84.084.0
+
-
edit
 

Полл

координатор
★★★★★
pinko> А ты отключил синхронизацию системного времени с сервера?
В наших краях она по умолчанию отключена.
   83.083.0
+
+1
-
edit
 

pinko

опытный

pinko>> А ты отключил синхронизацию системного времени с сервера?
Полл> В наших краях она по умолчанию отключена.

Хм, если бы он был подключен, имело бы смысл что впервом произошла синхронизация между аппаратными часами, а затем обратно из интернет-сервер.

В любом случае можно проверить Event Viewer и увидеть обновление времени RTC или сервера.
Прикреплённые файлы:
TS.jpg (скачать) [1406x483, 152 кБ]
 
RTC.png (скачать) [1124x493, 37 кБ]
 
 
   84.084.0
Это сообщение редактировалось 10.01.2021 в 20:00

Xan

координатор

pinko> А ты отключил синхронизацию системного времени с сервера?

Конечно.
Давным давно. Много лет назад.
И сейчас проверил, отключено.
Немножко изменил время, разрешил, нажал "синхронизировать" — время стало почти точно, как при GPS, снова запретил синхронизацию.
   77

Полл

координатор
★★★★★
Xan> И сейчас проверил, отключено.
Пинко прав, нужно в журнале "Система" просмотра событий посмотреть, там должно отразится изменение системного времени.
   83.083.0
RU Бывший генералиссимус #10.01.2021 22:50  @M&D#10.01.2021 15:55
+
-
edit
 
Mihail66> Вот сейчас у нас снег идет, NEO-6 уже больше часа на подоконнике лежит, МОЛЧИТ!
А сейчас, как, поймался?
Что-то сегодня реально хуже ловится!
   87.0.4280.8887.0.4280.88
KZ Xan #11.01.2021 06:34  @Бывший генералиссимус#10.01.2021 22:50
+
-
edit
 

Xan

координатор

Mihail66>> Вот сейчас у нас снег идет, NEO-6 уже больше часа на подоконнике лежит, МОЛЧИТ!
Б.г.> А сейчас, как, поймался?
Б.г.> Что-то сегодня реально хуже ловится!

У меня число спутников за сутки от 8 до 12, очень редко падает до 6.5 (это среднее за минуту).

=====

Посмотрел в журнале событий, есть строчки вида:
Системное время изменено с ‎2021‎-‎01‎-‎08T16:48:00.026664200Z на ‎2021‎-‎01‎-‎08T16:48:00.015000000Z

Каждая такая строчка соответствует строчкам из моего GPS протокола по величине изменения времени.
Но во время "бяки" время в журнале и в протоколе не совпадает, например:

16:54 -124.9859 10
Системное время изменено с ‎2021‎-‎01‎-‎08T16:51:55.039128300Z на ‎2021‎-‎01‎-‎08T16:51:55.049000000Z.
16:54 у меня и 16:51 у системы.

Похоже, системная функция
GetSystemTime(&st);
выдавала неправильное время.

Ну и во время бяки в журнале время кончалось на 55 секунд, а в хорошие времена на 00.
Прикреплённые файлы:
Err.png (скачать) [707x826, 70 кБ]
 
 
   77
RU Mihail66 #11.01.2021 08:08  @Бывший генералиссимус#10.01.2021 22:50
+
-
edit
 

Mihail66
mihail66

аксакал

Б.г.> А сейчас, как, поймался?
Б.г.> Что-то сегодня реально хуже ловится!

Вчера вообще не поймался, и я отключился.
Сегодня по утру 4-5 спутников, но это на подоконнике. Если на улицу вынести то будет 6-7 (обычно так). А при хорошем приеме 8-9 в среднем, 12 крайне редко.
Но у меня это не хронометр, а трекер. Я не могу на нем видеть все пакеты, а лишь один за 20-25сек.

ПС.
В 9.30 светодиод на NEO-6 снова перестал моргать (снег пошел).

ППС.
Примерно в 13.00 солнце выглянуло, стало морозЕть, решил снова включить.
Сразу 8-9 спутников (на подоконнике!). Походу зимой условия приема GPS-спутников даже лучше, чем летом в ясную погоду.
   87.0.4280.8887.0.4280.88
Это сообщение редактировалось 11.01.2021 в 13:00
1 2 3 4 5 6 7 55

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru