9zip.ru - технологии для людей
Какой должна быть амплитуда кварцевого генератора, если им тактировать AVR микроконтроллер? Меня смущает, что она всего 0,6В на выходе генератора.

8 месяцев назад | Василий | Вопросы / Схемы - электронные самоделки радиолюбителей

Ответ
Длина текста:
введите это число
сначала новые
1 месяц назад

Делается частотомер, ставится хороший опорный кварц, либо термостатированный кварц, либо термостатированный/термокомпенсированный генератор. Затем этот частотомер (а на самом деле - его генератор) нужно откалибровть. Для этого можно взять GPS-модуль, он может выдавать по запросу оооооочень точную частоту, от 1 Гц. По этой частоте калибруете опорный генератор, подкручивая подстроечный конденсатор: когда частота на экране будет точно такая, на какую запрограммирован GPS-модуль, то калибровка закончена. Кстати, этот модуль можно встроить прямо в частотомер и периодически проверять. Это довольно простая конструкция, несмотря на кажущуюся сложность. Если нужно, могу сделать вам такую.
7 месяцев назад

Считать не сам таймер, а количество его переполнений, ну и остаток в таймере прибавить в конце. Это ж почти 4,2 млн условных тактов. Какая точность должна быть!
7 месяцев назад

Тогда нужен таймер с большой разрядностью. 16 битный даст цифру только до 65535. Это мало.
7 месяцев назад

Вешаем прерывание на измеряемый вход, инициируем таймер. По первому прерыванию запускаем таймер, по второму прерыванию останавливаем его. Считаем, сколько натикал таймер. Вот и весь обратный отсчёт.
7 месяцев назад

Ну и ещё вдогон.
У нас получилась точность до трёх сотых долей герца при времени измерения в 1 секунду. Если вдруг нужно больше (куда вам ещё?) то добавляем ещё делитель например на 10 и получаем время измерения в 10 секунд, но зато частота будет измеряться до тысячных долей герца. До трёх, если честно, но всё-таки тысячных. То есть до 32768.000 герц.
И это на простой ардуинке. Если ваш микроконтроллер может измерить интервал не микросекундами а меньше, то точность будет ещё выше.
7 месяцев назад

Продолжу. Теперь представим, что у нас получился не миллион импульсов а 1000001. Лишний один импульсик сосчитался. Ага, значит частота уже другая! Считаем.
1000001 умножить на 1 микросекунду равно 1.000001 секунды. Это длительность импульса на входе микроконтроллера в секундах. Почти такая же. Считаем дальше. Обратная будет 0.999999 и ещё куча нулей и девяток. Это частота на входе микроконтроллера. Уже как бы и что-то не то как раньше, правда? Так какая же была частота на входе счётчика? Умножаем эту девяточную ересь на 32768 и получаем 32767.967 (ну, округляем до третьего знака). Это та самая частота при которой ваш частотомер переключится на другое значение.
Точность - до 0.033 Гц. Скорость счёта - одно измерение в секунду. Так вас устроит?
7 месяцев назад

Дополню. Если частоту 32768 разделить на 32768 двоичным счётчиком вы получите импульсы в 1 Гц. Замеряем длительность этих импульсов с точностью до микросекунды (pulseIn). Получим 1 миллион. Теперь можно узнать, какая же там была частота. Умножаем миллион импульсов на 1 микросекунду каждого импульса и получим общее время входного импульса в секундах. Одна. Теперь считаем частоту. Обратная от 1 секунды (1/1сек) будет тоже 1. То есть 1 Гц. Это мы узнали частоту на входе микроконтроллера. Но у нас есть ещё делитель на 32768. Умножаем его коэффициент на эту частоту (1 Гц) и получаем число 32768. Вот мы и измерили входную частоту, ура!
7 месяцев назад

Да сколько угодно. В той же ардуине есть два способа - через библиотеку FreqCount, как я уже говорил. Она работает по принципу классического частотомера измеряя кол-во импульсов на входе в течении заданного интервала. И есть функция pulseIn которая измеряет длительность единицы и нуля на входе в микросекундах. Вот вам и обратный счёт.
Но если вам нужно замерить частоту 32768 Гц с высокой точностью то шага дискретизации в микросекунду будет мало. У вас длительность всего такта по входу составит только 30.5 микросекунд. То есть точность получится плюс-минус 3 процента. В таком случае ставится дополнительный делитель частоты по входу который увеличивает длительность входных импульса и паузы, тем самым увеличивая точность.
Разделите 32768 на 10 - получите точность уже в 0.3 процента. Ещё на 10 - 0.03 и так до бесконечности.
Ставьте двоичный делитель на 32768. Тогда импульсы будут в 1 секунду и точность получится в одну миллионную.
7 месяцев назад

На низких частотах повысить точность можно, применив метод обратного счёта. То есть считать не сколько импульсов прошло за секунду, а сколько условных тактов прошло за период измеряемого сигнала. Правда я не видел таких реализаций.
7 месяцев назад

Например, мы измеряем частоту 32768 Гц в течение 1 секунды. То есть мы можем измерить только 32767 она или 32768 или 32769, в этом диапазоне. А что нужно сделать, чтобы повысить точность? Увеличить время измерения до 10 секунд? Чтобы, например, ещё десятые доли захватить наподобие 32768,0 Гц.
7 месяцев назад

Точность измерения будет зависеть от того, насколько точно ваш секундный интервал соответствует собственно секунде. Если он вместо одной секунды будет равен 1.000001 то точность измерения составит 1ppm.
7 месяцев назад

Количество импульсов пришедших на вход за одну секунду равно частоте этих импульсов.
7 месяцев назад

При измерении в течение 1 секунды точность будет 1 Гц?
7 месяцев назад

Блин, склероз проклятый, уменьшил интервал, а не увеличил! Вместо 200 мс ставил всего 25.
(Отдых нужен, срочно...)
7 месяцев назад

Из своего опыта - делал цифровые шкалы на Arduino Nano. Использовал библиотеку FreqCount. Так для неё при инициализации устанавливается длительность счётного интервала в миллисекундах. На родной пьезокерамике на 8 МГц уход частоты при прогреве платы был где-то на -300 ppm. Поставил вакуумированный кварц на 1 МГц в стеклянной колбе и увеличил интервал в восемь раз. Ухода при прогреве не стало, а измеряемые значения остались те же.
Ps. Atmega328 по входу таймера T1 тянет до 11 МГц при питании от 5 вольт. Потом таймер начинает сбиваться. Даже с учётом разных экземпляров до 10 МГц на ардуине можно мерить напрямую без предделителя.
7 месяцев назад

Ну, не знаю...
Интервал в оду секунду можно получить практически от любого кварца. Какая бы частота у него не была на 1 разделить можно всегда. Вот если вам нужно чтобы частотомер показывал частоту в реальном времени, обновляясь несколько раз в секунду, то тогда уже не каждый кварц подойдёт. А интервал в секунду и больше можно получить от любой частоты.
Даже если у вас и получится дробное значение, которое вы не сможете нацело разделить, то у вас есть мощный микроконтроллер, который вполне может в нецелые числа с плавающей запятой. Если при этом и получится какая-то погрешность то она по любому будет меньше погрешности установки частоты кварца.
7 месяцев назад

Некратное значение не поделить так, чтобы получилось ровное, наподобие 0,8 секунд. Там надо наверное играть с таймером (инициировать его определённым значением), чтобы подогнать. Формул лично я не видел.
7 месяцев назад

Интересный тут у вас проект. А действительно, какая разница за какое время считать переполнения счётчика? Просто выбрать любой интервал при котором будет нужная точность а потом результат подогнать под нормальные секунды.
Например у вас счётный интервал из-за нестандартной частоты кварца получился не 1 секунда, а 0.8 секунды. Считаем переполнения за это время и умножаем на 1.25. Получим цифру как за секунду. В чём проблема?
7 месяцев назад

Не, там другой принцип. Частота увеличивает счётчик, считается количество его переполнений за единицу времени.
7 месяцев назад

Зачем нацело? Главное получить цифры - длительность импульса и паузы сигнала по входу, а потом просто поделить с нужным коэффициентом и будет вам частота. Даже если таймер будет считать дробными долями микросекунд конечный результат легко пересчитать на целые значения.
7 месяцев назад

Тоже собираюсь делать частотомер, но мне нужно мерять довольно невысокую частоту, а именно 32,768 кГц. Прочитал ваши советы, думаю начать с того, чтобы взять хороший стеклянный резонатор. Калибровать думаю по хорошему часовому кварцу, где-то у меня была парочка таких, снятых с промышленного оборудования.

Для микроконтроллера ведь подойдёт не любой резонатор, там должна как-то нацело поделиться частота на разрядность таймера или типа того.
7 месяцев назад

Если моменты переключения никуда не сдвинутся за 10 дней то это даст точность установки частоты кварца в одну миллионную. Это максимум для самодельной схемы без термостатирования. Да, и кварц должен быть очень качественным. Металл и малогабаритки не подойдут, только большой и в стекле.
7 месяцев назад

Насчёт калибровки. Где-то на этом сайте в комментариях уже упоминался такой способ.
Ставите на микроконтроллер точный и хороший кварц и загружаете программу мигания светодиода. Кнопкой сброса синхронизируете моменты переключения светодиода микроконтроллера и секунд в каких-нибудь точных электронных часах. Можно через интернет посмотреть точное время. Затем оставляете микроконтроллер включенным на несколько дней, пусть мигает. По истечении какого-то времени снова сравниваете моменты переключения секунд и светодиода. Что куда уйдёт, то и определит неточность частоты установки кварца.
Долго, но очень точно.
7 месяцев назад

Реально, конечно. Просто нужна точная и стабильная опорная частота, а микроконтроллер всего лишь подсчитывает количество импульсов пришедших на вход за интервал, который и определяется за счёт этой опорной частоты. Ну или измеряет длину входных импульсов опять же в единицах времени, которые и зависят только от опорника. То есть качество самого микроконтроллера роли никакой не играет.
7 месяцев назад

А на микроконтроллере вообще реально собрать хороший частотмер? И присоединяюсь к вопросу о том, как его калибровать. Говорят, что хорошая стабильность частоты у кварцевых генераторов для GPS.
7 месяцев назад

Мало, даже 25ppm это очень плохая стабильность для частотомера. Это погрешность по входу на 2.5 кГц при входной частоте в 100 МГц. То есть частотомер будет считать с точностью до 10 кГц, если не извращаться с дробными счётными интервалами.
Ставьте просто обычный стеклянный кварц на сам микроконтроллер. При точной настройке он даст погрешность примерно в 10 раз меньшую, до 1 кГц врать не будет.
7 месяцев назад

В Nokia 3310 есть TCO-9131H на 26 МГц.
7 месяцев назад

Если TXC - это производитель, то левые похожи на QTM750, то у них по даташиту Frequency Stability (Fstab) ±50ppm, ±25ppm

Правые - возможно, серия AX
Frequency Tolerance ±30ppm
Frequency Stability ±50ppm max
7 месяцев назад

Вот такие?

[img:6t6ZVc1/image/png]

У левых 4 контакта, написано TXC. У правых 2 контакта, написано почему-то тоже TXC. Отдельный самый правый имеет 3 контакта. Как бы определить модели, чтобы найти даташиты.
7 месяцев назад

В генераторе на фото? Откуда, там всего 2, максимум 3 транзистора. Просто генератор и буфер. В компах нужна точность только для часов, для этого на материнках есть часовой кварц. А частоты проца и шин могут быть с большим разбросом, на работу компа это не влияет. У этих модулей по паспорту уход частоты 100 ppm, это 10в-4. Такую же стабильность имеет просто хороший LC контур. Этого очень мало для высокоточного частотомера.
Нормальные такие модули можно найти на платах от раций или старых мобильников. Мелкие SMD прямоугольнички с золочёными бортиком и контактами. Обычно были на 26 и 13 МГц. У них уход 20в-6, это даст погрешность измерения на частоте 100 МГц в плюс-минус 200 Гц. То есть ваш частотомер сможет на таких частотах без ошибок измерять сигнал с точностью до 1 кГц. Для домашних самоделок этого более чем достаточно.
7 месяцев назад

Я думал, может там есть термокомпенсация, то есть подстройка частоты в зависимости от температуры.
7 месяцев назад

Ещё добавлю. По личному опыту изготовления частотомеров и цифровых шкал могу сказать что верить рекламе импортных кварцев и генераторов про суперстабильную частоту не стоит. Врут напропалую, буржуи. Стабильность частоты старого доброго советского кварца в стеклянном вакуумированном корпусе намного лучше чем у любого импортного девайса.
Ещё неплохо себя ведут кварцы от часов на 32768 Гц. Но к сожалению простыми методами от них можно получить только измерительные интервалы кратные секунде. То есть ваш частотомер будет выдавать результат максимум раз в секунду, не чаще.
7 месяцев назад

Нет конечно. Обычная трёхточка с буфером на выходе. Единственно только все детали подобраны так чтобы температурная стабильность была хорошей. Но всё равно частота будет уходить от прогрева.
Термостатированный генератор стоял в старом советском приёмнике Р-250. В теплоизолированном кожухе был смонтирован кварцевый генератор на 100 кГц и нихромовый нагреватель. Вся конструкция разогревалась до 50-60 градусов и затем температура стабилизировалась. Это исключало уход частоты генератора от изменения внешней температуры. Оставался только уход от старения деталей, но он был очень медленным и легко компенсировался при плановой поверке приёмника.
В радиолюбительских журналах 80-х годов было довольно много схем подобных генераторов со стабилизацией нагревом. Максимальная относительная стабильность частоты подобных извращений была на уровне 10в-6. То есть частотомер с таким опорным генератором на входной частоте 1 МГц врал всего на 1 Гц. На 100 МГц - 100 Гц. Это предел, лучше не будет ника
7 месяцев назад

Подскажите, а вот такие генераторы тоже термостабилизированные? Раньше стояли на старых материнских платах типа 286.

https://9zip.ru/pictures/kvarcevyj_generator_42mhz.jpg
8 месяцев назад

Как будете калибровать частотомер? :)
8 месяцев назад

Ваш транзистор не будет постоянно работать в режиме насыщения! Он всего лишь кратковременно туда залезет на пиках входного сигнала и только. Это обычный усилительный каскад, только работающий в перегрузке по усилению. Проблема состоит в том, что попав в режим насыщения транзистор будет очень долго из него выходить. Это заморочки из квантовой физики, рекомбинация зарядов и тому подобная фигня. Суть в том что полупроводники, диоды и транзисторы, будучи в открытом состоянии протекающим прямым током не могут сразу закрыться если ток резко изменился. То есть ваш транзистор не сможет моментально выйти из насыщенного состояния и какое-то время будет оставаться открытым. При входной частоте в 10 МГц время полуволны будет составлять всего 50 нс. Если время выхода транзистора из насыщения будет больше то он просто не успеет войти обратно в нормальный режим работы к началу следующего периода.
Вот поэтому и надо применять быстрые транзисторы.
8 месяцев назад

Рабочая точка в области насыщения:

[img:CHd0KLT/image/png]
8 месяцев назад

Если резистор в коллекторе будет 330 Ом, то максимальный ток коллектора составит всего 15 мА. Максимальная мощность на транзисторе будет 0.02 Вт. Ясен пень что ни о каком перегреве и речи нет и быть не может.
Насчёт насыщения. Да, это режим работы при котором напруга на коллекторе меньше чем на базе. Это получится если транзистор полностью откроется входным сигналом и напряжение на коллекторе опустится ниже 0.6 вольт. Такое может произойти при любом входном напряжении если усиление каскада достаточно большое. Просто мы загоняем транзистор в режим двухстороннего ограничения сигнала для как можно более крутых фронта и спада импульса. При этом транзистор входит в режим насыщения и именно поэтому он и должен быть особо шустрым.
Резистор в базу вам придётся подбирать по напряжению на коллекторе. Расчёт есть, но нужно знать точное значение коэффициента передачи тока именно этого экземпляра транзистора. Проще будет подобрать.
8 месяцев назад

Не перегреется, если ток коллектора не превышать.
8 месяцев назад

А транзистор не перегреется в таком режиме, когда без сигнала на коллекторе половина напряжения питания?
8 месяцев назад

Почитал про расчёт транзистора в режиме насыщения, но не понял, как это применить в подобном применении, то есть со входным сигналом.
Чтобы перевести NPN транзистор в режим насыщения, UБ должно быть выше, чем UК и UЭ.
8 месяцев назад

В схеме, из которой они выпаяны, смещение было 1.5, 2.5 и 10 кОм, но вряд ли они там работали в режиме насыщения, это был блок радиоканала телевизора.
8 месяцев назад

Да, можно поставить. Какой примерно резистор для смещения базы для BF979 при 5 вольтах питания?

Collector-base voltage VCBO 20V
Collector-emitter voltage VCEO 20V
Emitter-base voltage VEBO 3V
Collector current IC 50mA
8 месяцев назад

А если его там нет? Ставьте на всякий случай, хуже он не сделает.
8 месяцев назад

Спасибо! Конденсатор в генераторе должен быть встроен.
8 месяцев назад

Можно. Только нужно "перевернуть" каскад. Вообще любой транзистор может работать в насыщенном режиме, просто такие данные по времени рассасывания неосновных носителей пишут только для специально разработанных для такого применения транзисторов. Если данных нет то ориентировочно можно принять что транзистор может переключаться в насыщении на частоте в 20 раз меньшей предельной. У BF979 это будет примерно 70 МГц, для вашего частотомера более чем достаточно.
Эмиттер на плюс, коллектор на вход микроконтроллера и через резистор 330-470 ом на землю. Резистор смещения с базы на коллектор придётся подбирать так чтобы без сигнала напряжение на коллекторе было равно половине напряжения питания. Частоту 10 МГц от опорного генератора нужно подать на базу через конденсатор в 100 пФ для развязки по постоянному току.
Нужен ещё блокировочный конденсатор по питанию в 0.1 мкФ как можно ближе к каскаду.
8 месяцев назад

А pnp транзистор можно применить? Есть BF979, пишут, что высокочастотный, но Turn-off time в даташите не указан.
8 месяцев назад

В частотомеры всегда ставят стекляшки. В самодельные и заводские, везде стекло было. Это только с появлением схем на микроконтроллерах забили на точность опорного кварца. Все эти частотомеры и шкалы на МК со своим кварцем просто показометры с точностью примерно 10в-4. То есть при измерении частоты в 1 МГц оно будет врать на 100 Гц. Если к микроконтроллеру припаять стеклянный кварц и настроить его поточнее, то получите погрешность 10в-5. Это плюс-минус 10 Гц на 1 МГц входной.
Если вам нужна большая точность, то ставьте внешний генератор, лучше термостатированный на 50-60 градусов. Тогда в теории вы сможете получить точность 10в-6. Это предел для схем которые можно собрать в домашних условиях.
8 месяцев назад

То есть можно ставить в частотомер и будет приличная точность?
8 месяцев назад

Вакуум лучше. В стеклянных откачка и контроль были на уровне радиоламп а металлические откачивали "на отвали" и запаивали дырку простым припоем. Ну а если без юмора то в целом добротность резонаторов в стеклянном корпусе намного выше любых других. Следовательно у них более точные установка и удержание частоты, меньший дрейф, большая температурная стабильность. Да и допустимая мощность тоже выше.
8 месяцев назад

Чем стеклянные резонаторы лучше металлических? Металлические не вакуумируются?
8 месяцев назад

Вполне подойдёт. В коллектор 470 ом, с базы нужно подбирать по половине напряжения, по входу 100 пф разделительный.
8 месяцев назад

Может быть 2N2369 подойдёт (если не смогу найти КТ316)?
Fast switching devices exhibiting short turn-off and low saturation voltage characteristics.
2N2369/A are NPN Silicon High Speed Saturated Switching, Transistors With Low Powerand High Speed Switching Applications.
ton < 12nS
toff < 15nS
8 месяцев назад

2N3904 не успеет переключиться в насыщенном режиме на частоте 10 МГц. Он сможет усилить сигнал но не даст резких фронта и спада. Микроконтроллеру нужно чтобы скорость нарастания и спада сигнала была минимальной иначе будет шум на переходе от 0 к 1. То есть формирователь должен работать только в насыщении. 2N3904 не успеет.
Можно попробовать S9018 он хотя и не предназначен для такой работы но достаточно шустрый чтобы переключаться на таких частотах.
8 месяцев назад

2N3904, в коллекторе резистор 1к на +5В, с базы на коллектор - 68к. Эмиттер на массу, с коллектора выход.
8 месяцев назад

Попробуйте выставить фьюзы, как для кварцевого резонатора, но к XTAL1 подключить TCXO. Есть вероятность, что будет работать, но не обещаю, нужно проверять.
8 месяцев назад

К микроконтроллеру вполне подходят вакуумированные кварцы с точностью 10 в -6. Генератор там, конечно, так себе но суммарно точность +- 10 Гц на входной частоте в 1 МГц можно получить и от самого микроконтроллера.
Для формирователя на транзисторе нужен очень быстрый транзистор, с малым временем спада импульса при выходе из насыщения. На 10 МГц это время (Turn-off time в даташитах) должно быть не более 50 нс, а лучше меньше.
У меня на 10 МГц в каскаде формирователя с насыщением очень хорошо работал старый советский КТ316. У него это время всего 10 нс, в переключающем режиме у меня работал до 15 МГц и только потом начинал глючить. У большинства современных транзисторов это время около 100-500 нс, они тут непригодны.
8 месяцев назад

Спасибо! А какой транзистор порекомендуете? Частота генератора - 10МГц.
Для чего я всё это затеял: хочу собрать точный частотомер на AVR, для этого микроконтроллер будет тактироваться внешним термокомпенсированным генератором.
8 месяцев назад

верно, близкая к ттл уровням. в идеале от 0 и до уровня питания. если у вас всего 0.6 вольт то нужно ставить транзисторный каскад, он даст максимальный размах сигнала.
8 месяцев назад

Близкая к TTL - 4 вольта. Поэтому нужно ставить формирователь.


Главная 9zip.ru База знаний радиолюбителя Контакты
Девять кучек хлама:

Радиотехника, электроника и схемы своими руками Ремонт домашней электроники Виртуальный музей старых радиодеталей XX века Ламповый звук hi-end и ретро электроника Катушки Теслы Радиодетали и модули с Aliexpress Интернет и сети, компьютеры и программы Категория свободна Инструкции


Дайджест
радиосхем

Новые схемы интернета - в одном месте!

 3.5 Фотоаппарат мгновенной печати на ESP32 Cam
1 2
 21.4 Непростой простой микшер
 5.4 Гаражная сигнализация GSM и термостат

Задай вопрос радиолюбителям!


4.5 DS1307 работает без батарейки или нет?
2.5 Добрый день, возник следующий вопрос. Условно, ...
1
27.4 Добрый день. Хотел бы уточнить, как работает ...
3