Заголовок сообщения: 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? Извиняюсь за тупые вопросы, если они такие Я не особо "шарю" в проге и в микроконтроллерах. Так, на уровне новичка Но желание совершенствоваться и создавать имею.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: 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 секунд в месяц. А вот точнее - уже приходится крутить цифровую настройку один-два раза в год - частота медленно едет в плюс.
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Сейчас этот форум просматривают: -Valerius- и гости: 54
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения