9zip.ru - технологии для людей
9zip.ru Радиотехника, электроника и схемы своими руками Генератор с регулируемой частотой и скважностью на AVR (Bascom)

Здесь рассматривается простой генератор импульсов с регулировкой частоты и скважности, что бывает очень полезно в лаборатории радиолюбителя. Он может пригодиться для тактирования каких-либо устройств, проверки шаговых двигателей, в экспериментах с технологиями Теслы. В результате мы имеем диапазон генерации 1Гц - 10МГц, разбитый на 30 перекрывающихся поддиапазонов.

Как это работает? Из атмеловского даташита мы знаем, что:

Duty Cycle: D = (OCR1A+1) / (OCR1C+1)
Частота Шим: fpwm = 1 / (OCR1C+1)

Таким образом:

Duty Cycle: D = fpwm * (OCR1A+1)

Эти расчёты и производятся программой, написанной на Bascom. Таким образом, можно установить частоту и поддерживать нужную скважность. Шкала изменения скважности оказалась линейной, а вот частоты - нет (гиперболическая), самое удобное ограничение верхней частоты - 1МГц.

Частота и скважность задаются независимо друг от друга двумя переменными резисторами, значения которых считываются через АЦП.

Контроллер использует внутренний генератор на 8МГц (со снятым фьюзом CKDIV8), а также PLL для Timer1, который в 8 раз быстрее, чем внутренний генератор. После включения PLL требуется некоторое время, после которого Timer1 сможет работать на тактовой частоте 64МГц. В данной реализации имеется кнопка для переключения между внутренним генератором и PLL, ещё одна кнопка циклически переключает 15 значений прескалера Timer1. Как уже говорилось, программа написана в Bascom, работа с PLL - вставки на ассемблере.

Безусловно, в базовом варианте необходим внешний частотомер, чтобы знать, какая частота установлена в настоящий момент, т.к свободных пинов у МК ATTiny45, применённого в этом варианте, не осталось.

Схема генератора

Схема очень простая, с малым количеством деталей: 2 переменных резистора, 2 кнопки, 1 конденсатор и несколько резисторов.

Так как этот генератор - цифровой с восьмибитным таймером, то имеется определённый шаг работы переменных резисторов. Например, с внутренним генератором, делённым прескалером на 2048, Timer1 будет получать 1 импульс каждые 512 микросекунд, и это - лимит разрешения; иными словами, шаг изменения скважности в этом случае будет 512 микросекунд. Таким образом, невозможно получить длительность импульса 1 мкс на частоте 50Гц.

Несмотря на свою простоту, этот генератор может быть полезен многим. Им можно управлять скоростью вращения двигателя (через полевик), яркостью светодиодов. При использовании же другого МК, возможности устройства можно значительно расширить.

Исходник: frequency_generator.bas

Авторская страница проекта (на английском):




1 нравится?

01.02.2017 © 9zip.ru
Авторские права охраняет Роскомнадзор

Понравилась статья? Похвастайся друзьям:

Хочешь почитать ещё про схемы своими руками? Вот что наиболее популярно на этой неделе:
Регулируемый блок питания из блока питания компьютера ATX
Схемы и печатные платы блоков питания на микросхемах UC3842 и UC3843
Схемы, устройство и работа энергосберегающих ламп
Леопольд одобряет.

Есть вопросы, комментарии? Напиши:

Имя
Комментарий
Длина текста:
число с картинки
Правила прочитал(а)

Пользовательские теги: схемы bascom avr генератор bascom [ Что это? ]

Дальше в разделе радиотехника, электроника и схемы своими руками: Тестер транзисторов с дисплеем от Nokia 3310, знаменитый определитель типов и выводов полупроводниковых приборов, который также умеет определять параметры резисторов и конденсаторов.

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

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


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

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