Частотомер высокого разрешения. High Resolution Frequency Counter. STM32F103C8T6+74HC74D

  Переглядів 2,487

Олег Волков

Олег Волков

День тому

Прошлое видео про частотомер: • STM32. Замер частоты в...
Заходи в нашу группу ВК: solderingiron.stm32
ЯндексДзен: dzen.ru/id/622208eed2eb4c6d0c...
GitHub: github.com/Solderingironspb?t...
Материалы из видео: github.com/Solderingironspb/S...
74HC74D Двойной Триггер D-типа: www.chipdip.ru/product/74hc74d
00:00 Реклама
02:48 Теория
07:11 Схема D-триггера для частотомера
08:11 Практическая работа с D-триггером для частотомера
10:46 Про погрешность кварцевого резонатора при изменении температуры
12:11 Программная реализация частотомера

КОМЕНТАРІ: 25
@szapsis
@szapsis 11 місяців тому
Спасибо большое за твой труд друг!
@itsamorodok
@itsamorodok 7 місяців тому
По поводу старения кварца да, тут не предусмотришь. А температурный дрейф можно компенсировать в какой-то степени сняв функцию зависимости частоты от температуры и учитывая ее при вычислениях. Точность более трех знаков после запятой не знаю где может пригодиться.
@masterkit9517
@masterkit9517 11 місяців тому
Супер! Начинаю понимать)
@SevenNightdreemVeryPavlovny
@SevenNightdreemVeryPavlovny 11 місяців тому
Спасибо, кварцы все плавают по температуре, в даташитах это указано. Что бы получить стабильную частоту в домашних условиях их термостатируют, коробка из пенопласта и обогрев. А вот от старения его это не спасет.
@user-dz7ep4oe4l
@user-dz7ep4oe4l 9 місяців тому
В общем это можно сделать и без D триггера, только на таймерах. Я использовал STM32F429, TIM2 (32 битный) работает в режиме input capture для записи длительности захвата, таймер TIM3 работает в режиме слейва и тактируется при срабатывании input capture. Таймер 16 битный, поэтому либо ограничивать точность на высоких частотах, либо в качестве слейва к нему подключить ещё один таймер TIM4 для получения 32 битного кол-ва импульсов. При запуске надо ждать восходящего/нисходящего фронта, что бы input capture не глючил с 1 периодом, при низкой частоте это очень сильно влияет, э сделал это настройкой таймера TIM3 в режиме output compare, просто при первом фронте срабатывает прерывание и обнуляет TIM2, костыльно, можно наверное и проще. В итоге получилась макс частота входного сигнала 90 МГц, при при периоде опроса 1 с, точность +-0.000001% на любой частоте (измерял частоту своего же MCO и посчитал отклонения), естественно без качественного высокостабильного опорного источника такая точность избыточна.
@AlexRootx
@AlexRootx 11 місяців тому
Привет, Олег! Лайк за проделанную работу!!! На ГитХаб исходники выкладываешь?
@Solderingironspb
@Solderingironspb 11 місяців тому
Привет) да. В описании есть ссылка на материалы из видео
@Avenir-Sigrun
@Avenir-Sigrun 10 місяців тому
здравия желаю. как программировать Приемопередающий чип ключа автомобиля
@bashsat5339
@bashsat5339 11 місяців тому
Можно ли точно измерить частоту 32768, вплоть до долей герц? Где взять полную схему подключения?
@Solderingironspb
@Solderingironspb 11 місяців тому
Добрый день! Можно. Нужно использовать термостабильный опорный кварцевый генератор. Так же нужно очень точно знать его частоту, т.к. с завода не факт, что она будет до 1 Гц верна, собственно в видео это видно. Кварц моего генератора не совсем совпадает с кварцем платы, от чего мне пришлось подбирать частоту не 8000000 Гц, а 8000040 Гц. Для хороших, высокоточных замеров можно делать время замера не 1 секунду, а 10 секунд или 100. Тогда очень сильно возрастет точность. По поводу полной схемы подключения: * PA12(External clock TIM1) - замеряемый сигнал * PC14 - сигнал старт/стоп замера (идет на D-триггер) * PA8 - внешний триггер от Gate(D-триггера)(Таймер 1) * PB6 - внешний триггер от Gate(D-триггера)(Таймер 4) На плате D-триггера: * +3.3v и gnd - питание. * start/stop - это сигнал с ножки PC14 * signal - замеряемый сигнал. Он же на PA12 идет. * gate - выход D-триггера. Подключается к PA8 и PB6.
@bashsat5339
@bashsat5339 11 місяців тому
Спасибо за ответ. Есть высокоточный генератор. Буду пробовать.
@janedoe6182
@janedoe6182 11 місяців тому
Там 5 или 6МГц по-моему потолок у микрухи, при питании от 3 вольт
@Solderingironspb
@Solderingironspb 11 місяців тому
Ну тут от потребностей уже) допустим мне с такой высокой точность нужно до 100 кгц замеры делать, во всем остальном хватит олдскула с +/- 1 Гц) в крайнем случае можно и на 5 в переделать схему) главное чтоб задержек не было сигнала gate после прохода его через преобразователь уровня
@BalabayUA
@BalabayUA 11 місяців тому
Кажется есть возможность использовать один таймер в режиме ведущего. Вырабатывать им 1 сек интервал измерения и через сигнал синхронизации (TRG0) использовать второй (ведомый) таймер в режиме захвата. Не рассматривали такую возможность? В этом случае не нужна внешняя схема
@Solderingironspb
@Solderingironspb 11 місяців тому
Пока не совсем понимаю, как будете ловить целые периоды в таком случае…попробуйте) если получится - то вообще хорошо
@BalabayUA
@BalabayUA 5 місяців тому
Перечитал реф.мануал, вник в алгоритм измерения частоты. Таки нельзя всё реализовать на периферии контроллера🤝
@ciklomat
@ciklomat 11 місяців тому
По сути,уровень бесполезности такого устройства, на высоте. Но такой контент очень познавательный и необходим для развития. Спасибо учитель!
@Solderingironspb
@Solderingironspb 11 місяців тому
Почему бесполезно?)
@ciklomat
@ciklomat 11 місяців тому
@@Solderingironspb Заметил, что в наше время не так дорого купить частотомер и осциллограф. Получится гораздо точнее быстрее и комфортней работать. Изобретать изобретенное это трата времен,купив готовое ты быстрей шагнешь к чему то новому!
@alx123
@alx123 11 місяців тому
​@@ciklomat А точно ли точнее не так дорого? И сколько там бит в осциллографе? У меня 6 бит. Или может атмега намерит точнее через RC-резонатор? Или за 900 р с зеленым экраном, который с точностью до 100 Гц?
@Solderingironspb
@Solderingironspb 11 місяців тому
Да, но к частотомеру же, как к отдельному устройству, логику не приделаешь) хороший частотомер стоит дорого, как и осциллограф. Плюс есть датчики на основе кварцев, где нужно подсчитать частоту, а потом по рассчитанному полиному вычислить значение величины
@alx123
@alx123 11 місяців тому
@@ciklomat а чтобы сделать высокоточный датчик температуры, который построен на температурном изменении частоты 32.768 кварца в доли Гц, тоже осциллограф встроить надо?
@OpenFrimeTVcom
@OpenFrimeTVcom 9 місяців тому
Что то ролики все реже выходят(
@Solderingironspb
@Solderingironspb 9 місяців тому
Пока тем под мк нет интересных. А так я никуда не пропал. В вк выкладываю свою прогу под пк. Уже 5 версия. Там много мини-программ, которые облегчат жизнь разработчику.
CRC Calculator by Solderingiron. Обзор моей программы.
17:27
Олег Волков
Переглядів 1,7 тис.
Первые продажи Ryzen на Ozon и первый возврат! 😱
13:17
Герасимов Live
Переглядів 21 тис.
EEPROM AT24Cxx. Подключаем к STM32. CRC32.
27:09
Олег Волков
Переглядів 7 тис.
Старейшая нерешённая задача [Veritasium]
30:08
Новый прибор в будущую лабораторию.
31:00
💪Установи свой Home Assistant за 5 минут! 🏠 Умный Дом это просто!
6:04
Why is the SMART COUNTER lying on the pole? Electronic electricity meter. Electric meter on a pole.
15:20
Электрика, сантехника и ремонт своими руками
Переглядів 1,7 млн
Visual Studio + VisualGDB + STM32. Обзор. Пробный проект.
29:38
Олег Волков
Переглядів 8 тис.
ПРОДАВЩИЦА подменила ПРОДУКТЫ 😱 #shorts
0:58
Лаборатория Разрушителя
Переглядів 3,1 млн
Рыбаки подумали, что увидели тюленя
0:59
Фактифай
Переглядів 1,5 млн
Самая красивая и редкая лошадь
0:22
Морозов про Интересные факты
Переглядів 6 млн
#上快手学农技 #快手幸福乡村带头人 #土拨鼠
0:14
嘉祥成福养殖场
Переглядів 21 млн