ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 июля
1286362 Топик полностью
il-2 (23.02.2023 15:32, просмотров: 475) ответил PlainUser на Помехоустойчивость часов в STM32 и DS3231 не устраивает.Магнитные поля их сбивают.Время уходит (отстает естественно) на 5-7сек в сутки.Да и 6пф заколебали уже , где их брать никто не знает , а в металле тем более.
Я тут несколько раз высказывался как правильно готовить часовой кварц в STM32. Если найдете - выложите ссылки. Кратко: 

1. Использовать надо обычный часовой кварц с CL = 12.5пФ, которых везде как грязи.

2. Нагружать этот кварц следует с учетом параметров, данных в даташите на МК (иначе не запустится)

3. Полученную недогрузку (уход часов вперед) следует откалибровать:

3.А. По системному кварцу (который термостабилен). Но здесь важно, чтобы системный кварц был тоже адекватно нагружен. Например, для CL=16пФ нужны емкости обвязки 24пФ, для CL=20пФ емкости обвязки 33пФ.

3.Б. Если нет системного кварца, то можно ввести фиксированную компенсацию. Если пользовать кварцы одного производителя (или даже разного производителя, но близкие по параметрам), то вполне рабочий способ.

Совершенно отдельно стоит проблема термокомпенсации. Она можетдолжна быть решена, когда устройство запитано и работает. Здесь тоже есть план А и Б :-)

А. При наличии системного кварца все тупо и просто - счет времени идет по системному кварцу. Он термостабилен. Накопленный разбег относительно часового кварца складывается в Backup-регистры.

Б. При отсутствии системного кварца можно пользовать встроенный в STM32 термодатчик и вводить параболическую термокомпенсацию. ЗЫ: Этот пункт я не пробовал, но эффект от него должен быть.

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