Заголовок сообщения: Re: Часы на газоразрядных индикаторах
Добавлено: Чт окт 12, 2017 13:10:57
Открыл глаза
Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пн ноя 17, 2014 21:35:05 Сообщений: 42 Откуда: Воронеж / Москва
Рейтинг сообщения:0
Да, то что просто так рил тайм клок заменить не выйдет это понятно. По поводу -M - точности от неё ожидать вообще не следует, по документации она намного менее точная чем просто 3231 (5ppm против 2ppm соответственно), да и вообще позиционируется как low-cost. Паяльником запаять не проблема, думаю. При наличии паяльника с терморегуляцией, качественного флюса и припоя это не такая уж сложная задача. Ещё у неё есть дополнительные выводы. Интересно будет попробовать использовать вывод, который раз в секунду срабатывает. Подключить на ножку с прерыванием, и по каждому прерыванию обновлять время. Вообще так много идей, что аж стало понятно, что первый мой экземпляр такого устройства выйдет в свет очень не скоро. Потому что не совсем понятно, как реализовать. Пока медленно но верно пишу в свободное время под mega328p на ArduinoIDE. Есть ли у кого общедоступные наработки в этом направлении? Явно попахивает прерываниями в большом количестве. При том динамическая индикация в идеале не должна подтормаживать (тоже делать на прерываниях по таймеру? О_о ). Управление хочется попробовать на энкодере с кнопкой.
Заголовок сообщения: Re: Часы на газоразрядных индикаторах
Добавлено: Чт окт 12, 2017 14:27:53
Сверлит текстолит когтями
Карма: 12
Рейтинг сообщений: 252
Зарегистрирован: Пн апр 14, 2008 12:54:35 Сообщений: 1289 Откуда: Город ГЕРОЙ Ленинград
Рейтинг сообщения:0
Я под себя написал шикарную библиотеку для работы с этой микрухой, через нее можно делать всё, что душе угодно. Но там местами есть костыли (не влияющие на правильность работы) для корректной работы с железом stm32. И да, при работе с модулем TWI я не пользуюсь прерываниями, как раз, что бы не подвисала индикация. Еще причина тому - часы не такая вещь что бы требовалось максимальная занятость ядра, больше 90% времени программа ничего не делает (ждет события).
... Явно попахивает прерываниями в большом количестве. При том динамическая индикация в идеале не должна подтормаживать (тоже делать на прерываниях по таймеру? О_о ). Управление хочется попробовать на энкодере с кнопкой.
Во всех программах часов использую одно прерывание таймера с автосбросом по совпадению. Этого достаточно. Всё остальное время в течение секунды или минуты для 4 индикаторов камень спит. Например или c часовым кварцем.
И да, при работе с модулем TWI я не пользуюсь прерываниями, как раз, что бы не подвисала индикация.
Если я правильно понимаю, то Вы допускаете прерывание во время передачи данных, а так как тактирует ведущий, то на целостность данных это не влияет? И ещё: можно ли как-то использовать эту библиотеку в ArduinoIDE, ну или хотя бы в AtmelStudio. Просто увидел строку #include "mcu_i2c.h", я так понял это заголовочный файл от STM32? Извиняюсь за тупые вопросы, если они такие Я не особо "шарю" в проге и в микроконтроллерах. Так, на уровне новичка Но желание совершенствоваться и создавать имею.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Заголовок сообщения: Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 13, 2017 00:21:42
Сверлит текстолит когтями
Карма: 12
Рейтинг сообщений: 252
Зарегистрирован: Пн апр 14, 2008 12:54:35 Сообщений: 1289 Откуда: Город ГЕРОЙ Ленинград
Рейтинг сообщения:0
Поскольку шина i2c построена на аппаратных возможностях контроллера, другие прерывания не будут мешать передаче данных. Максимум передача текущего байта закончится и через какое-то время обмен данными возобновится после выхода из прерывания. "mcu_i2c.h" тоже сам писАл из чьей-то библиотеки, специально под железо STM32. У вас это будет своя библиотека. В коде используются всего 2 функции:
Код:
mcu_i2c_write_byte(DS3231_ADDRESS_WRITE, n, send_data); // отправить данные // DS3231_ADDRESS_WRITE это адрес чипа на шине - 0b11010000 // n это количество передаваемых на чип байт // send_data массив с данными
mcu_i2c_read_addr_byte(DS3231_ADDRESS_READ, n, raw_data, byte_address); // считать данные по адресу // DS3231_ADDRESS_READ это 0b11010001 // n это количество получаемых с чипа байт // raw_data массив в который будут записаны данные // byte_address адрес регистра с которого будем получать данные
Тут уж вам придется либо что-то изменить в моем коде, либо имеющиеся функции обмена данными переделать под мой формат
_________________ Опыт приходит сразу после того, как он был нужен...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 13, 2017 14:45:34
Сверлит текстолит когтями
Карма: 12
Рейтинг сообщений: 252
Зарегистрирован: Пн апр 14, 2008 12:54:35 Сообщений: 1289 Откуда: Город ГЕРОЙ Ленинград
Рейтинг сообщения:0
Может и в коде, особо не разбирался, если честно. И не верю я что нестабилизированный кварцевый генератор может хоть чуть-чуть приблизится к точности стабилизированного. Были попытки программной корректировки (правда на AVR), примерно как у akl но попроще, но из-за изменения комнатной температуры все потуги были тщетными. Шло точно месяц, потом резко уходило. П.С. считаю ошибку 10 секунд в год существенной.
_________________ Опыт приходит сразу после того, как он был нужен...
Может проблема не в STM32 а в неправильно написаном коде? Многие проэкты созданы на STM32 без внешки. Пока никто не жаловался.
Мне стм-ный ртц не понравился. Для установки времени нужно обязательно стопить часы. Хотяя, может у других кристаллов иначе - я делал на 051-м. Зато есть флаг и команда перехода на летнее время и назад. Вот у микрочиповского такого нет. Зато можно крутить время на ходу. Ну и немного дебильный доступ к регистрам, через регистры-указатели. Зато ЦНХ у стм32 имеет меньшую дискретность, чем у ПИК-ов. Хотя, нафига я это пишу?
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Мне показалось, что вы, наоборот, попробовали и сделали часы на stm32 и потому недоумеваете. Собственно, снова, если брать многоногий stm32, то нет смысла цеплять 1307. Получается практически тоже самое - есть вход резервного питания и часы продолжают идти, стабильность, как у простого кварца. И только один недостаток - нельзя на ходу крутить время. А если такого вывода нет, как у кристаллов в корпусе LQFP32 (у еще менее ногих часто выводы для кварца отсутствуют, если чо), то снова заморочки с детектированием пропадания основного питалова и переход в режимы пониженного потребления и просыпание из них.
Но у ds3231 генератор то - термокомпенсированный. Это уже другой уровень. И тут уже внутренние часики по точности пролетают. Хотя можно заморочиться термостабильностью - но это опять другого класса конструкция. Как сделать "резервную" термостабильность?
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Но у ds3231 генератор то - термокомпенсированный. Это уже другой уровень.
И какую точность он с этой компенсацией выдаёт? Если будет давать пять секунд в год в течение двадцати лет - тогда есть какой-то смысл, иначе нафиг оно надо...
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
А кому-то эта суперточность нужна? Даже если за месяц уйдет на 1 мин, я от этого ссума не сойду. Немцы например, решили проблему по другому - синхронизация по WiFi или по радиоканалу NTP. Получается атомная точность
Заголовок сообщения: Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 14, 2017 00:36:30
Сверлит текстолит когтями
Карма: 12
Рейтинг сообщений: 252
Зарегистрирован: Пн апр 14, 2008 12:54:35 Сообщений: 1289 Откуда: Город ГЕРОЙ Ленинград
Рейтинг сообщения:0
Раз вам не нужна, пользуйтесь встроенными в МК средствами, никто вас не заставляет ставить дорогущую микросхему, еще и шину и2ц поднимать Я же процитирую себя.
Волосатый писал(а):
считаю ошибку 10 секунд в год существенной.
Вайфай прикошачивать к часам по-моему более упоротая идея, чем ставить термостабилизированный генератор Но своё мнение никому не навязываю, нравится - ставьте Можно вообще цезиевые часы поставить, вашим внукам их подводить не придется
_________________ Опыт приходит сразу после того, как он был нужен...
А кому-то эта суперточность нужна? Даже если за месяц уйдет на 1 мин, я от этого ссума не сойду.
У меня обычный дешёвый кварц без всякой компенсации спокойно настраивается до 3 секунд в месяц. А вот точнее - уже приходится крутить цифровую настройку один-два раза в год - частота медленно едет в плюс.
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения