Думаю, чтобы улучшить точность хода ваших часов, необходимо изменить разводку платы. Особое внимание нужно уделить часовому кварцу- дорожки от контролёра к нему должны быть минимально возможной длины, под кварцевым резонатором необходимо предусмотреть полигон который соединяется с минусом питания в одной точке. Сам кварцевый резонатор необходимо припаять к полигону на котором он будет находиться. И конечно же не стоит выход контролёра ( динамическая индикация.) располагать в паре миллиметров от дорожки кварцевого резонатора. Воспользуйтесь переназначением выхода контролёра на другой его "пин". Плата на фото выглядит чистой, но спрошу: - Как и чем её мыли после пайки? Недоотмытый флюс под контролёром и между выводов резонатора может доставить много неприятностей. Визуально - невидим, но его тонкая плёнка вносит существенную коррекцию в работу устройства( это- из личного опыта.) Посмотрев на печатную плату можно увидеть, что можно контролёр повернуть на 45 град. по часовой стрелке, при этом дорожки к кварцевому резонатору станут гораздо короче, минус питания проходит вдоль него и припаять корпус к минусу- дело 1 минуты.
PS Пожалуй, я бы сделал минусовую шину- пошире, примерно как на фото ниже, корявенько нарисовано но смысл понятен, и кнопки убрать подальше от резонатора.
Отмывал изопропиловым спиртом, особенно уделял внимание дорожкам кварца, корпус уже подтянул к земле, скобой из жесткой медной проволки. Мне кажеться он спешит довольно равномерно, потому попытаюсь ввести корректировку времени (пока по расчетам нужно отнимать еденицу из счётчика 2, каждые 980 тиков, если я все правильно посчитал, можно к примеру ввести отдельную переменную которая будет за это отвечать) Вам огромное спасибо за помощь и + к карме, без вашей помощи, я бы не справился)
Добавлено after 7 hours 58 minutes 56 seconds: Появился еще один вопрос, я могу паралельно прерыванию по совпадению с 127, сделать прерывания по совпадению с 63? Я посчитал, и по идеии для корректировки нужно отнимать единицу из второго счётчика каждые 7,5 секунд, и вот мне надо получить эти пол секунды. Ну либо второй вариант, по очереди отнимать единицу через 7 и через 8 секунд. Что посоветуете?
То что на коленке написал за пару минут (каждые 15 секунд, отнимаю по два из второго счетчика) помоголо, за 9 часов, ушло на 3 секунды осталось еще немного пошаманить, и думаю все будет довольно точно
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Частота, на которой должен работать ХОРОШИЙ часовой кварц, выбрана кратной степеням двойки. Поэтому, при наличии в схеме такого кварца и грамотно написанной программы, коррекция хода потребуется минимальная. Т.е. верная программа делит точно до секунды, и остается только точность кварца/конденсаторы/монтаж. Я собрал около десятка часов/таймеров, и максимальный уход у меня был около 4 секунд за 10 дней. Я бы рекомендовал: 1. попробовать настроить таймер, как я советовал выше по теме. 2. если результаты не улучшатся, поменять кварц. 3. попробовать поиграться с конденсаторами и фьюзом CKOPT 4. если ничего не помогло, и плата чистая, тогда я не знаю
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
3. попробовать поиграться с конденсаторами и фьюзом CKOPT
это самое правильно решение. в узком диапазоне можно изменять частоту конденсаторами. 1. отключить внутренние конденсаторы. 2. изменением внешних конденсаторов подбирать частоту по минимальной погрешности. и необязательно менять емкость одновременно обоих конденсаторов. гораздо точнее подгонка частоты будет подбором одного конденсатора. 3. но может случиться такое, что даже при маленькой емкости параллельных конденсаторов, частота будет ниже требуемой (ниже 32768). тогда ставим конденсатор последовательно с кварцем - это позволит повысить частоту. и дальше возвращаемся к пункту 2 - подгонять частоту параллельными конденсаторами. но последовательный конденсатор должен иметь уже не маленькую емкость (может, сотни-тысячи пик), чтобы не сильно снизить эквивалентную емкость кварца.
есть еще и способ 4. для снижения частоты параллельно кварцу поставить маленькую емкость для увеличения эквивалентной емкости кварца.
например, в советских наручных часах "Электроника" стоял крошечный подстроечный конденсатор для регулировки точности хода часов.
то есть, не придумывать "костыли" с вычитанием или прибавлением единички с некоторой периодичностью, а поиграть настройкой частоты.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Зачем трахаться с конденсаторами, когда все решается на программном уровне. Вот у стартера часы убежали за 8,5 часов на 30 секунд, т.е. за 30'600 насчитали 30'630 секунд. 30'630/30'600*32768Гц~32'800Гц. Что без внешних конденсаторов вполне логичная величина, которая забивается в OCR1A=32800-1 таймера Т1. Таймер переводится в режим CTC. Организуется счетчик секунд на 59, после отсчета которым в последнюю 60-ю секунду заносится число, представляющее разность между минутным интервалом и периодом 59 секунд. Вот длительностью последней секунды можно программно корректировать минутный интервал и получить примерно такое
Тоже не вижу смысла с конденсоторами играться, главное что частота не плавает, а значит можно настроить программно, я уже уменьшил убегание с 31 секунды до 3 секунд, немного настрою корректировку, и выйду на нормальную частоту, темболее так хоть математически можно посчитать корректировку, а не по воле случая тыкать конденстары и пытаться поймать частоту.
Starichok51 У mega8 имеется 16-разрядный таймер Т1 и возможность работы от Low-Frequency Crystal Oscillator 32'768Гц. Не нужно заморачиваться с предделителями и ограничивать возможность подключения встроенных конденсаторов FUSE-битом CKOPT. Это просто рабочий вариант.
про существование Таймера1 я знаю. остается только объяснить это топикстартеру, чтобы он отказался от Таймера2, и не мучился с "изобретением" этой убогой коррекции времени...
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Я тоже не вижу, если программа и кварц нормальные, понадобится только МИНИМАЛЬНАЯ коррекция (никак не секунды в час) См. мою первую рекомендацию. Сделайте для начала деление частоты кварца ровно на 32768.
Starichok51 У mega8 имеется 16-разрядный таймер Т1 и возможность работы от Low-Frequency Crystal Oscillator 32'768Гц. Не нужно заморачиваться с предделителями и ограничивать возможность подключения встроенных конденсаторов FUSE-битом CKOPT. Это просто рабочий вариант.
Вообще то нет. Только таймер T2 позволяет тактировать от кварца 32'768, сохранив тактирование основного ядра от внутреннего RC-генератора 8МГц. Если Т1 вы будете тактировать от кварца 32'768 то и основное ядро будет также тактироваться от 32'768. К примеру UART от 32'768 работает кое как на скорости 110 бит/сек, тогда как от RC-1МГц - кое как 9600 бит/сек, от RC-8МГц - 19200 бит/сек и более. Смотря для чего ему надо, может и 32'768 достаточно будет.
Таймер1 не вариант, поскольку хочу реализовать бесперебойное питание, что-бы при пропадании внешнего питания, кидало мк в сон, а таймер продолжал тикать от батарейки.
По поводу питания: ток потребляемый МК прямо пропорционален частоте, и, если правильно настроить режим сна, потребленная энергия зависит только от напряжения питания и от количества выполненных команд (а от частоты не зависит). поэтому, если часового кварца хватит для тактирования АЛУ (по его производительности) то даже лучше тактировать им, т.к. увеличивается стабильность работы на пониженном напряжении питания при тойже (или даже меньшей из за меньшего Uпит) мощности (есть проект, и я недавно на него ссылку выкладывал, где тинька13 от 1,5в работает, правда т.к. сама кварц не умеет - использует внешний генератор на часовом кварце).
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения