Я возился с микросхемами таймеров, изучал, как они работают, и теперь я хочу разработать простые цифровые часы с использованием генератора импульсов с частотой 1 Гц. Достаточно ли микросхемы таймера 555 для создания точных импульсов с частотой 1 Гц или есть ли другой способ разработать генератор импульсов? Есть ли конкретное значение сопротивления/емкости для микросхемы, или я ошибаюсь, и для этой цели есть лучший осциллятор?
Конечно, можно было бы получить сигнал 1 Гц с помощью 555. Однако есть (по крайней мере) две проблемы. а) Предполагая, что вы можете получить правильные значения конденсатора и стабильный потенциометр, было бы очень сложно измерить точный сигнал 1 Гц с помощью осциллографа или счетчика, поскольку сигнал очень медленный, и б) 555 не будет генерировать квадратный сигнал. И, конечно же, RC-таймер не будет очень стабильным.
Если вы все еще хотите провести исследование с использованием 555, вы можете выровнять волну с помощью триггера JK, который в процессе уменьшит вашу частоту вдвое. Я бы также создал гораздо более высокую частоту, например 1,024 кГц, а затем уменьшил ее с помощью счетчика/делителя до 1 Гц. Таким образом, вы можете использовать свой прицел для чтения и настройки потенциометра, чтобы 555 был настолько точным, насколько вы можете это сделать, прежде чем урезать до 1 Гц.
Для более точного источника синхронизации вы можете вместо этого создать схему кварцевого генератора или использовать RTC, которые обычно имеют выходной сигнал с частотой 1 Гц.
Фактическая частота таймера 555 зависит от постоянной времени RC, на которую сильно влияют изменения фактического сопротивления и емкости. Резистор имеет начальную точность (например, 1% или 0,1%), а также зависит от температуры. Конденсатор также имеет начальную точность (часто +20%/-80% или хуже) и изменяется в зависимости от приложенного напряжения.
Лучшим способом является использование кварцевого кристалла, такого как общедоступные часовые кристаллы с частотой 32,768 кГц «камертон». Используйте серию из 15 триггеров, чтобы разделить 32,768 кГц на и вы получаете 1 Гц с очень высокой точностью.
недорогой CD4060 принимает резонатор ниже 32,768 кГц и колпачки, но имеет только Выход в Гц, поэтому для /2 требуется D FF.
Альтернатива http://www.digikey.com/product-detail/en/maxim-integrated/DS1099U-WT-/DS1099U-WT--ND/1196714 включающая в себя резонатор и делитель на 2Гц
Для наилучшей точности выберите <50ppm или настройте с помощью триммера и GPS. или купите чип Osc 1ppm за несколько долларов и дополнительные делители http://www.digikey.ca/product-detail/en/abracon-llc/ASTX-H12-10.000MHZ-T/535-12048-1-ND/ 3907428
Точность измеряется в секундах в месяц с 2,59 миллионами секунд в месяц или частями на миллион (PPM).
РЕДАКТИРОВАТЬ: Как было предложено @Bradman175, причина, по которой обычно используется таймер 555, заключается в том, что легко генерировать широкий диапазон f, но с точки зрения точности времени ограничена стабильностью внутреннего эталона и допусков компонентов RC с точки зрения xxxx PPM, см. техническое описание.
Самым дешевым решением может быть покупка цифровых часов за 6 долларов с секундной стрелкой и использование этого пульса.
Приятно стоять на плечах «гигантских» ответов, подобных тем, которые были даны ранее — по сути, ничего из того, что вы строите с 555, не будет очень точным, и в этих больших временных масштабах это будет заметно.
Как уже было сказано, используйте что-то, что дает вам стабильную выходную частоту — кварцы 2 ** 15 Гц, безусловно, являются правильным способом здесь.
Чаще, чем мне хотелось бы признать, я оказываюсь в ситуации, подобной вашей: «Это было бы очень просто, если бы я мог просто поместить генератор сигналов в свою схему». И потом я это делаю — я склонен использовать дешевые микроконтроллеры на базе Cortex-M0 (например, серии STM32F0), просто потому, что я покупаю их небольшими партиями, поэтому у меня есть один, когда он мне нужен, и я просто подгоняю свою IDE (хорошо, это emacs/arm-none-eabi-gcc/openocd, но он все еще считается) и написать минимальную процедуру прерывания по таймеру, которая делает то, что я хочу. В вашем случае я бы использовал свой простой резонатор 8 МГц в качестве внешнего источника тактовой частоты ЦП и настроил ЦП для работы на этой скорости, а также использовал бы один из 32-битных таймеров, чтобы напрямую прерывать 2 Гц, переключая один выходной контакт. каждый раз, когда это прерывание срабатывает --> прямоугольная волна 1 Гц.
Поначалу пришлось немного повозиться, но тот факт, что я использую одну и ту же настройку для всего, что хочу сделать «прямо сейчас», облегчает задачу.
Это ни в коем случае не продуманное решение — я уверен, что мне следует уделить больше внимания переводу как можно большего количества моего MCU в спящий режим, пока он мне не нужен, если бы я использовал другой микроконтроллер, который на самом деле имел Встроенный RTC Мне не нужно было бы работать на высоких тактовых частотах, что еще больше снижает потребление энергии. Но опять же, для этого используется менее 1 мА, и довольно часто это «уровень значимости», который я бы присвоил энергопотреблению для чего-то, что не должно месяцами работать от батарей.
Так что да, я полностью согласен со всеми другими решениями — с использованием минимальной логики, необходимой для достижения цели — просто я стал довольствоваться тем, что просто делаю стандартную вещь, которая надежно работает.
Я хотел бы дать обзор преимуществ других подходов:
Разнообразие этих ответов показывает одно:
Это действительно необходимо записать ваши цели дизайна.
Вам нужен этот 1 Гц с допуском <0,1 ppm? Что ж, GPS или атомные часы — ваши единственные варианты. Вам это нужно с минимальным количеством компонентов/пространства? Вероятно, решение на основе микроконтроллера с тем же компонентом, выполняющим и другие функции. Вам нужно что-то, чтобы проиллюстрировать, как работает переключение триггеров? Воспользуйтесь каскадным решением Mark FF. Нужно что-то дешевое, не хотите программировать микроконтроллер, особенно не в полевых условиях, который просто работает? Очевидно, Тони донес до вас свое мнение.
Просто отметим, что CD4521 производит 1 Гц непосредственно из кварца 32768 Гц. Это, вероятно, лучший компромисс между минимальным компонентом и точностью, если только синхронизация фронта импульса (например, с UTC) не является критической.
есть лучший осциллятор для этой цели?
выполнимо с 555, но вам, вероятно, придется поэкспериментировать со значениями rc, и они могут быть не такими точными / последовательными / стабильными.
для лучшей производительности (точной/стабильной/стабильной/и т. д.) вы можете использовать цифровой счетчик либо в аппаратном, либо в аппаратном и программном обеспечении (например, микроконтроллер). довольно легко достичь точности 1% с помощью одного микроконтроллера, полагаясь на внутренний генератор.
есть микросхемы таймеров, отличные от 555 - например, линейные делают их довольно много.
Чипы RTC — еще один пример, но многие из них требуют программирования, по крайней мере, на начальном этапе.
вы можете помочь себе, говоря другим, насколько точным вы хотите, чтобы это было.
Очень точный сигнал 1 Гц можно получить с модуля GPS. Не подходит для всех приложений, но для некоторых определенно может работать.
Два других способа генерировать один Гц. Не увидел среди ответов:
я так много пойти с кристаллом. (A) он не нуждается в программировании. (B) не требуется модуль (экономическая выгода) и антенна (для GPS), что сделает все громоздким, если вы захотите носить его с собой. (C) точность кристалла составляет примерно от 99,8 до 99,9, если не 100%. (D) он более доступен, чем GPS. (E) это действительно послужит образовательной цели для вас, чтобы понять, как делить частоту (это неплохой бонус)
придурок
Джиппи
Винс Патрон
Олин Латроп
Тони Стюарт EE75
Красный Песчаный Кирпич