HardEgor 67 15 января Опубликовано 15 января · Жалоба 6 часов назад, mantech сказал: Дак у него тоже по словам, то работает то нет)) По уму если надо очень, можно потихоньку отзывать устройства мелкими партиями, проводить калибровку и возвращать, ну эт конечно, если погрешность систематическая, а если случайная, зависит от того, как включишь и от фазы луны - то да, тут все печально, они еще даже не представляют как))) Так надо не подстраивать генератор под GPS, а нормально откалибровать его. Если прибор в стабильной температуре, то калибровка поможет, раз в год выносить "на солнышко" и проверять. Так-то у прибора должен быть какой-то межповерочный интервал, тогда можно и подремонтировать, если кварц плохой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 15 января Опубликовано 15 января · Жалоба 21 минуту назад, HardEgor сказал: Так надо не подстраивать генератор под GPS, а нормально откалибровать его. Если прибор в стабильной температуре, то калибровка поможет, раз в год выносить "на солнышко" и проверять. Так и представил себе например - счётчик электроэнергии, токовые трансформаторы которого, включены в цепь питания насоса, качающего нефть из скважины; в ТЗ которого будет такое требование про "вынос на солнышко". Первый вопрос покупателя такого счётчика будет: "А кто мне компенсирует финансовые потери от недополученной прибыли во время простоя насосов из-за загорания счётчиков на солнышке?" Особенно если дебит одной скважины = 100-200 тонн/сутки, а подстанция питает пару десятков таких насосов. Или скажем - многоквартирный дом, оборудованный такими счётчиками. И каждый Новый год жители неделю сидят без света, так как управляющая компания вынуждена снимать все счётчики в доме и выносить их на прожарку. Хотя - какие там неделю: часть жильцов уехала в отпуск. Придётся несколько раз в течение года такие работы проводить. Это-ж сколько гемора управляющей компании!!? Так и видится - поле из неск. сотен счётчиков лежащих перед таким домом. А если кто-то из жильцов сделал ремонт и неосмотрительно вмонтировал этот счётчик так, что без порчи ремонта никак его не снять? Представляю сколько будет матов.... Уши горе-разработчика такого девайса гореть будут непрерывно, не переставая никогда. 21 минуту назад, HardEgor сказал: Так-то у прибора должен быть какой-то межповерочный интервал, тогда можно и подремонтировать, если кварц плохой. Ну например: межповерочный интервал электросчётчика == 16 лет. И на сколько убегут часы счётчика за 16 лет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 67 15 января Опубликовано 15 января · Жалоба 1 час назад, jcxz сказал: Так и представил себе например - счётчик электроэнергии, токовые трансформаторы которого, включены в цепь питания насоса, качающего нефть из скважины; в ТЗ которого будет такое требование про "вынос на солнышко". Бесполезный трёп. Гадать как там по факту, можно до бесконечности. Но верю, фантазия у вас есть) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 24 января Опубликовано 24 января · Жалоба On 9/8/2023 at 1:47 PM, Halfback said: Есть непонятки как реализовать калибровку RTC, конкретно у меня за 1 час время уходит на 1-2 минуты. Удивительное совпадение - вчера звонит приятель, у него на Ф4 тоже уходит время, и именно на 1-2 мин. за час! После расследования, оказалось что он по недосмотру, LSE он включил , но RTC тактировал от LSI... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 37 5 февраля Опубликовано 5 февраля (изменено) · Жалоба On 1/24/2024 at 10:08 PM, Allregia said: у него на Ф4 тоже уходит время, и именно на 1-2 мин. за час! On 1/24/2024 at 10:08 PM, Allregia said: LSE он включил , но RTC тактировал от LSI... Ну логично, не поверю, что может быть такой отвратительный кварц... ЗЫ. Тоже раньше мучался со встройкой в контроллер часов, правда на IMX6 процессоре, уход был не такой, но за месяц набегало прилично. Потом стал ставить часовые платы с али на ds3231sn, но "sn" там конечно врут, там мемс-резонатор, но точность без калибровок 0.5 сек сутки, что вполне норм для бытовухи... Изменено 7 февраля пользователем haker_fox Мат исправлен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 10 5 марта Опубликовано 5 марта · Жалоба On 1/11/2024 at 6:31 PM, RDutch said: У меня аналогичная проблема на STM32F427ZI. RTC тактируется от внешнего осциллятора Q-0,032768-MMTF32-6-10 32,768 кГц, frequency tolerance at 25 °C ± 5 °C ±: 10 ppm / ±20 ppm (указано тут). Отставание составляет от 1,7 сек до 3,0 сек в сутки. Тестировал на 5 экземплярах одного и того же устройства. Устройство несколько лет находится в производстве и схемотехнические изменения вносить в него запрещено. Когда-то у меня был подобный случай. Устройство успешно прошло все испытания, а в серии у каких-то экземпляров стали сильно врать часы. В ходе расследования выяснилось, что часы врали из-за цифровых помех. PCB была четырехслойная. На испытаниях и в первой выпущенной партии структура PCB была такой, что внутренние слои земли и питания находились близко от поверхности. А при заказе новой партии плат их изготовили методом попарного прессования (поскольку я структуру PCB стека не указал, прошляпил), поэтомy слои земли и питания оказались в глубине. Из-за этого наводимые на цепи часового кварца цифровые помехи хуже гасились и давали ложные импульсы, часы убегали вперед. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daniil 2 5 марта Опубликовано 5 марта · Жалоба Ещё вот такое есть в STM32F405/407xx and STM32F415/417xx device errata: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 6 мая Опубликовано 6 мая · Жалоба Такая неточность часов, как у топикстартера, возможна по по причине тактирования не от LSE, а от LSI. Но вот что еще есть: вызов RTC_Init() при инициализации в main() портит счетчик субсекунд. Так что можно испортить показания часов просто нажимая RESET. Выход - не инициализировать RTC без необходимости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 58 6 мая Опубликовано 6 мая · Жалоба Так ведь перед инициализацией RTV следует проверить, запущены ли они или нет, читая состояние бита RTCEN в RCC. Всё, что работает от домена Backup, оно не сбрасывается при всех видах сброса микроконтроллера, при условии питания этого домена от "часовой" батарейки. Вообще, регистры и биты управления этим доменом защищены от перезаписи, и нужно дополнительно сбрасывать эту защиту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 7 мая Опубликовано 7 мая · Жалоба 15 hours ago, EdgeAligned said: Так ведь перед инициализацией RTV следует проверить, запущены ли они или нет, читая состояние бита RTCEN в RCC. Все так. Но генерируемый CubeIDE код инициализации ничего не проверяет. И я не знаю, как сделано у топикстартера. Калибровку RTC я делал так: Компьютер, синхронизирующий системное время по NTP, устанавливает точное время в контроллере и включает режим калибровки. Дней через 5 компьютер запрашивает текущее время контроллера и вычисляет калибровочный коэффициент. Режим калибровки останавливается. В память контроллера записывается история калибровки - когда началась и когда закончена, отклонение времени и калибровочный коэффициент. Разумеется, во время калибровки установка времени в контроллере запрещена. Я тогда работал с MSP430, там нет счетчика субсекунд, поэтому установка времени в начале калибровки и чтение времени в конце делалось на границе секунды в компьютере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
m.pletnev 0 7 мая Опубликовано 7 мая · Жалоба Однажды на производстве помыли плату с кварцами в ультразвуковой ванне. Погрешность после этого выросла на пару сотен ppm 🙃 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 58 7 мая Опубликовано 7 мая · Жалоба 3 часа назад, m.pletnev сказал: помыли плату с кварцами в ультразвуковой ванне Правильно - кварц - механический прибор, вибрирующая мелко-пластинка. Поэтому, такие платы в общем случае не рекомендуют мыть в УЗ. 4 часа назад, Dvorkin сказал: Но генерируемый CubeIDE код инициализации ничего не проверяет. Для этого есть руки кодописателя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 8 мая Опубликовано 8 мая · Жалоба 16 hours ago, EdgeAligned said: Для этого есть руки кодописателя Перестаньте флудить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 58 8 мая Опубликовано 8 мая · Жалоба Да ну? Не понял наезда, если честно. Вы думаете, вы один такой продыбанный чтоль? 🙂 С вопросом топикстартера, насколько я помню, разобрались еще более полугода назад, почитайте тему, прежде чем чето писать. А сейчас я отвечал на ваше предложение, что "...можно испортить показания часов просто нажимая RESET." Вообще-то, там может попортится не только счетчик субсекунд, но и вообще всё, включая текущее время и дату. Вызывать инит RTC после запуска МК вообще ненужно. Инит вызывается только действиями пользователя, пожелавшего установить текущее время. Иногда, в некоторых реализациях устройств, сразу после первого включения запрашивается установка текущего времени. Для этого в коде нужно выполнять либо проверку включения RTC в целом, либо проверку специального флага инициализации ININS в регистре RTC->ISR, и об этом прямо сказано в мануале. Не в том HAL-коде, а в мануале. И это не флуд, а цитирование мануала. RTFM! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 8 мая Опубликовано 8 мая (изменено) · Жалоба 2 hours ago, EdgeAligned said: Вообще-то, там может попортится не только счетчик субсекунд, но и вообще всё, включая текущее время и дату. Обнуление даты и времени программист заметит сразу же. Да, установку даты и времени в MX_RTC_Init() легко обойти. 2 hours ago, EdgeAligned said: Вызывать инит RTC после запуска МК вообще ненужно. А вот это очень спорно. В MX_RTC_Init() инициализируются, в частности, hrtc.Instance и hrtc.TampOffset. Так что правильный ответ - написать свою инициализацию RTC, а штатную - выкинуть. 2 hours ago, EdgeAligned said: С вопросом топикстартера, насколько я помню, разобрались еще более полугода назад, почитайте тему, прежде чем чето писать И с чем же там разобрались? Разве что с благоглупостями типа калибровать часовой кварц от HSE. Изменено 8 мая пользователем Dvorkin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться