anw может быть несколько подходов: 1. напр исследовать интерференцию замешав их напр в A(+)B затем выделить скажем разность dsp фильтрацией. 2.можно поделить одну из частот в 2^N раз и посчитать количество периодов другой частоты в периоде разделенной, тогда разрешающая способность будет Nbit. 3. если частоты сравнительно низкие - можно сравнивать количества какихто быстрых периодов в периоде одной и другой частоты. тогда разрешающая способность определяется соотношением периодов измеряемых частот и самого короткого измерительного интервала который можно создать, напр макс частотой таймера.
Да, такая же, 32768Гц, ну раз имеем дело с часиками, и с точностью до одного герца.
AlexS4 писал(а):
anw может быть несколько подходов:
Нет, что нибудь по проще. Если бы был синус можно было бы осциллограф использовать, фигура Лиссажу, кстати с какой точностью можно осциллографом выставить?
Вообще-то у меня несколько иной вариант предполагался... Выставляем базовый RC у аттини13 на 9,6 МГц переводим CLKPR с 8 на 1 после запуска программы Задается коэффициент для прескалера Т0 х64 коэффициент для таймера 150 В итоге имеем прерывание с интервалом в 1 миллисекунду (за время исполнения 9600 одноцикловых команд) Данное прерывание выставляет байтик флагов для "заинтересованных процессов", одним из которых является наш таймер. Собственно сам таймер состоит из двух счетчиков - досчета до секунды (х1000), где собственно и вводится поправка коррекции отклонения точности хода, и счетчика заданного пользователем интервала в секундах. Это под ассемблером. Для адуринки (Си) используем функцию millis() и те же два счетчика.
BOB51, не важно как вы там сделаете, но вы должны с чем-то сравнивать.
Идея такова: берем D-тригер (может что еще можно, не знаю), к примеру на к155ла3 собрать, до 2МГц она спокойно работает, на один вход D-тригер подаем сигнал образцовой частоты на другой - сигнал с МК
на выходе D-тригера смотрим осциллографом, при равенстве частот там будет идеальный сигнал, вопрос состоит на сколько этот метод эффективен?
Подали на вход 32768Гц - с точностью 1Гц. Подали 65536 - с точностью 0,5Гц. 131072 - с точностью 0,25Гц.
Вот и подгоняйте ваши прескалеры, коэффициенты, досчеты и пр.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Сравнение простейшее выше уже предлагалось: опорный генератор, линейка счетчиков с дешифратором но заданный интервал, счетчик рассогласования с индикацией и некоторая обвязка для одновременности подачи сигнала запуска и контроля сигнала останова(завершения) счета. Правда насколько точен будет эталон - также вопрос.
Подгонка константы коррекции такая же как и в обычных часах тик-так энное количество часов - убежали вперед - ставим в минус 1-2 условны единицы, опять проверяем - ежли не так как желаемо ставим соответственно коррекцию в + или в - на некоторое количество тех УЕ. И так пока не добиваемся приемлемого результата. Долго, но весьма просто и доступно.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Правда насколько точен будет эталон - также вопрос.
производитель уверяет точность 10 минус 12 степени. По крайне мере я прогнал диапазон до 1МГц, контролируя показания прибором DM90A, единичку в единичку показывает.
С часами как-то дело проще обстоит. За основу можно взять часы тырнета. На ds1307 получилось, за 455 часов отстали на 136 секунд, это на кварце 32768Гц с материнки. Асинхронный таймер удалось настроить, за 215 часов отстал на 3 секунды, это на китайском кварце 32кГц. Основной минус, долго ждать, а прибора измеряющего с точностью до 9 знака нет.
Не частотомер, а специализированный комплект с элементами частотомера(в части измеритель -формирователя контрольного интервала) с автоматическим синхронным формированием импульсов запуска и останова счета. Дополнительный счётный узел считает разницу между импульсами завершения контрольного интервала. Тем самым исключая субъективность восприятия, обычную при визуальной сварке между экраном ПК и дисплеем проверяемого таймера.
Как вариант использовать метод биений. Допустим, автомат или программа запускает счетчики периодов No и Kx в момент совпадения фронтов Fo и Fx. Автомат или программа определяет момент следующего совпадения фронтов. Тогда To*No=Tx*Kx или, после преобразования Fx=Fo*Kx/No Пример: No=5'000'001 Kx=5'000'000 100*Fx=32'768*5'000'000/5'000'001=3276799
а что такое R23? он у тебя не определен. по логики-то понятно, что там должно быть 11 ... и пока твои циклы крутятся в поиске совпадения, будет опоздание к совпадению до 4 машинных циклов. что может дать существенную ошибку.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
К155ЛА3 + осциллограф Подал меандр с МК вот код Спойлер
Код:
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: CTC top=OCR1A // OC1A output: Toggle on compare match // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,015625 ms // Output Pulse(s): // OC1A Period: 0,03125 ms Width: 0,015625 ms // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (1<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1=0x00; ICR1=0x00; OCR1A = 0xF9; OCR1B=0x00;
Тактовая МК 16МГц, выход с МК 32кГц. Более менее стабильные показания, но не совсем стабильные, мне удалось получить на эталонной частоте 31996Гц - 31997Гц, к сожалению не могу дробнее выставить.
А теперь посчитайте какая реальная частота кварца МК?
я бы детектировал совпадение фронтов сравнивая 2 бита gpio предыдущего(сохраненного) и текущего состояний, 00->11 так количество битов/сигналов неважно, хоть 2 хоть 8. и полная синхронность сэмплирования! и конечно это легко сводится к 1 операции сравнения например сдвигом и сравнением с паттерном. или xor+and.
Почти, почти, идеальные показания удалось получить при 100011us 9,9989Гц. По чему почти, я ловлю либо фронт либо спад сигнала, селектор развертки в положении 1ms, за 15 минут наблюдения сигнал сместился на 3 деления (не на три клеточки) от середины.
Думаю при 1 секунде можно получить идеальные показания.
Dimon456, может, сегодня не мой день,но я ничего не понял из твоего эксперимента с К155ЛА3 и осциллографом. что ты подаешь на К155ЛА3 и что ты видишь на осциллографе? и откуда взялись 100011 мкс?
Dimon456 писал(а):
я определил точную частоту кварца МК 16001760Гц.
ну да, ошибка тут. нужно 9,9989 Гц умножить на 1600000
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Добавлено after 4 minutes 52 seconds: Starichok51, берем D-тригер (может что еще можно, не знаю), к примеру на к155ла3 собрать, до 2МГц она спокойно работает, на один вход D-тригер подаем сигнал образцовой частоты на другой - сигнал с МК
на выходе D-тригера смотрим осциллографом, при равенстве частот там будет идеальный сигнал, я имею ввиду ширина импульса не будет изменяться.
Это то же самое, что вы пытаетесь
Цитата:
детектировал совпадение фронтов сравнивая 2 бита
, таким бы способом я бы совпадение фронтов ждал бы вечность.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения