Программируемый конденсатор

Хочу поделиться одной идеей, тесно связанной с антеннами
и радиоприемом. На досуге, все пытаюсь выжать из «бедной»
atmega8/32 еще чего не будь экзотическое… :) Изучал как то
внутреннюю структуру порта В/В в этом контролере и появилась
идея а не сделать ли мне из него программируемый конденсатор.
Для чего? Чуть позже.. Сначала о технике.
Если рассматривать упрощенную схему порта В/В в контролере,
то мы увидим примерно такую схему.(конечно очень упрощенную)



Когда порт настроен на «выход», комбинация управляющих
сигналов на затворах транзисторов, подключает выход
или к земле или к источнику питания. Это упрощенно
конечно, в реалии в землю и к VCC транзисторы подключены
через сопротивление ~100 ом. Когда порт В/В настроен
на ввод – эти транзисторы отключаются и физически вывод
контролера висит в воздухе или как говорят в таких случаях
– находится в высокоимпедансном состоянии.
Про подтягивающий к плюсу резистор в ~10кОм в самом
контролере говорить не буду – он отключается программно.
В итоге имеется возможность коммутировать к примеру
конденсатор, подключенный к этому выводу.



Стал вопрос – где можно применить? В качестве
программируемого «цифрового» переменного конденсатора.
Портов В/В в контролере достаточно, к примеру можно
сделать вот так.



Значение конденсаторов может быть и другим – вариант
на рисунке как пример. Количество конденсаторов
(и задействованных линий порта В/В может тоже
варьироваться. Емкость такого конденсатора будет
пропорциональна двоичному коду, который мы выдаем в
этот порт контролера.

Пример кода на ассемблере:
; Начало программы пользователя
; настройка портов В/В и.т.д
CLR R16 ;обнуление временного регистра R16 (R16=0)
OUT DDRC,R16 ;Настройка порта В/В на ввод
OUT PORTC,R16 ;Отключение всех подтягивающих резисторов ~10кОм
;Подпрограмма управления цифровым конденсатором
;Как пример: двоичное значение нашего конденсатора
;хранится в регистре R16
PUSH R17; сохраняем значение регистра R17
OUT DDRC,R16 ;Коррекция режима работы порта В/В.
SER R17; R17=$FF (в регистре R17 устанавливаем все биты в "1")
EOR R16,R17; инвертируем значение битов в регистре R16
OUT PORTC,R16 ;Вывод двоичного кода емкости в порт контролера
POP R17; Восстанавливаем значение регистра R17
RET; Выход из подпрограммы

Где можно применить такой переменный конденсатор?
Как пример – магнитная/рамочная антенна, перестраиваемый
входной контур приемника или как конденсатор в
широкополосном ГУН-е и.т.д

Понимаю, что не открыл Америку и что есть чип-конденсаторы
переменной емкости с управлением от мк. Но часто сам
контролер имеется в схеме к примеру того же приемника и
остается достаточно свободных линий портов В/В. Почему бы
их не использовать в таком варианте? Думаю на досуге
попробовать сделать ферритовую антенну, обсуждаемую на
этом форуме и добавить в нее такой программный конденсатор
переменной емкости. Получится перестраиваемая(узкополосая)
МА – вполне неплохо. Сам контролер будет выступать в роли
не только программного конденсатора но и управлять шаговым
двигателем поворотного устройства этой антенны. Как сделаю
– обязательно расскажу, что получилось.
Так что – продолжение следует… getQuotation();






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.