Приёмник УКВ диапазона с плавной настройкой
Предлагаемый приёмник работает в диапазоне 88,9 -108 МГц и имеет плавную настройку частоты, которая обеспечивается с помощью таймера микроконтроллера, вырабатывающего сигнал широко импульсной модуляции (ШИМ).
Управление микроконтроллером осуществляется с персонального компьютера (ПК) через последовательный СОМ - порт по протоколу RS-232 (если ваш ПК имеет только USB порты, то необходимо использовать переходник USB – RS-232, который можно легко приобрести).
Схема приёмника представлена на Рис.1. Cам приёмник выполнен на микросхеме DA2 – KP174XA34 (аналог TDA7021T). В разработанном приёмнике данная микросхема включена по схеме близкой к типовой, с учётом рекомендаций, изложенных в www.radio.ru/support/001 (о «скрипе» 174ХА34 – отвечает В. Поляков).
Радиосигнал, принятый антенной поступает на входной широкополосный не перестраиваемый контур L1, C7, C8, зашунтированный внутри микросхемы DA2 двумя последовательно соединёнными резисторами по 700 Ом, образующими аттенюатор, который ослабляет сигналы мощных радиовещательных и телевизионных передатчиков, работающих за пределами указанного диапазона, а также сигналы расположенных по близости базовых станций мобильной связи. Сравнительно низкая добротность контура обеспечивает его бесподстроечную работу во всём УКВ диапазоне. Резистор R3 служит для защиты микросхемы от статического напряжения. Конденсатор С9 обеспечивает связь входного контура с проводом общего потенциала (GND) по высокой частоте.
Светодиод HL1 включён, если уровень принимаемого сигнала достаточно велик и выключен при его отсутствии.
Сигнал низкой частоты (НЧ) снимается выхода 16 микросхемы DA2 и через переменный резистор R7 и разделительный конденсатор С14 поступает на усилитель НЧ – микросхему DA4 , K174УН14 (аналог TDA2003), а далее на динамик 8 – 12 Ом - с выводов Х4 и Х5.
Приёмник настраивается на нужную радиостанцию с помощью изменения напряжения на варикапе VD1. Стабилизаторы DA3 (78L05) и DA1 (78L03) последовательно снижают напряжение до питания микросхемы DA2 – 3B, ибо, как показала практика – для стабильной настройки приёмника на станцию и её удержания в процессе прослушивания, одного стабилизатора явно недостаточно.
Катушка L1 – бескаркасная, намотана на оправке диаметром 3 мм и содержит 4,5 витка провода ПЭВ-2 диаметром 0,47 мм. Снятую с оправки необходимо растянуть, придавая её виткам шаг приблизительно 1 мм (общая длина - 4…5 мм). Катушка L2 – бескаркасная и имеет 7,5 витков того же провода, намотанного виток к витку на такой же оправке.
Блок управления приёмника выполнен на микроконтроллере ATtiny2313, который управляется с ПК через интерфейс RS-232, состоящий из преобразователя уровней – микросхемы DD2 (MAX3232) (c внешней обвеской из конденсаторов С2, С3, С5, С6) и разъёма DB9-F, который непосредственно впаивается в плату. Индикация выполняется на жидко – кристаллическом индикаторе типа МТ-16S2H (производитель – МЭЛТ). Подача команд и приём информации осуществляется с помощью терминала BASCOM (версия 2.0.5.0), поскольку программирование микроконтроллера осуществлено в этой среде. При этом используется функция BASCOM – «ЭХО».
Регулирование напряжения сигнала ШИМ, как известно, определяется так называемым коэффициентом заполнения, т.е. отношением длительности ВЫСОКОГО (лог.1) и НИЗКОГО (лог.0) уровней выходного сигнала при сохранении общего периода колебаний. Поэтому для фильтрации такого напряжения (или преобразования его в постоянный уровень напряжения, т.е. его интегрирования) требуется фильтр. Данную функцию выполняет активный фильтр, организованный на элементах R10, CE2, VT1, VT3, CE3, R12, C24. Фильтр подаёт напряжение на варикап VD1 и, следовательно, настраивает приёмник на приём сигнала определённой частоты.
Регулирование данного напряжения осуществляется с терминала BASCOM следующим образом:
1. Предельная настройка генератора ШИМ (содержимое регистра сравнения Timer1) составляет 255 импульсов – это соответствует напряжению 3,1 -3,2В на варикапе VD1 приёмника.
2. Начальная настройка ШИМ равна 150 импульсов.
3. Для того, чтобы изменить начальное значение настройки (и, следовательно, значение напряжения на варикапе) необходимо нажать на клавиатуре ПК любую клавишу (курсор должен находиться на экране терминала) , а после ввода цифры нажать «ENTER». На экране терминала появиться надпись: «Enter READeeprom – (0), > - (1), <- (2), Stop – (3):». Это значит, что если вы введёте «0», то данное значение напряжения на варикапе (настройка генератора ШИМ) будет считано из энергонезависимой памяти микроконтроллера (EEPROM). Если вы введёте «1», то значение начальной настройки генератора ШИМ увеличится на 5 импульсов, что соответствует увеличению напряжения на варикапе примерно на 0,1 В. При введении «2» начальная настройка генератора ШИМ уменьшается на 5 импульсов. При вводе цифры «3» текущее значение настройки, а следовательно и частота выбранной радиостанции, будет сохранено в энергонезависимой памяти микроконтроллера.
При нахождении какой – либо радиостанции загорится светодиод HL1, а на нижней строке ЖКИ и экране терминала появится надпись «Radio SCAN», что будет свидетельствовать о «захвате» радиостанции . В первой строке ЖКИ отображается значение импульсов настройки генератора ШИМ микроконтроллера (содержимое регистра сравнения Timer1), которое прямо пропорционально напряжению на варикапе. То же самое значение передаётся и на экран терминала (см. Рис.2).
Программа ”Retrans” представляет из себя управляемый генератор ШИМ сигналов. Эта программа была подробно описана на сайте www.AVR.ru в рубрике «Bascom для начинающих (статья №13)».
Программа состоит из основного цикла и трёх подпрограмм. В основном цикле происходит ограничение счёта Timer1 до верхнего значения (255). Подпрограмма обработки прерывания по достижению счёта значения, записанного в регистре сравнения - Compare1A , «Pulse» позволяет переключить вывод ОС1А (PORTB.3). Подпрограмма обработки прерывания по приёму «RxD» позволяет управлять коэффициентом заполнения сигнала ШИМ, изменяя значение количества импульсов, записанного в регистр сравнения – Сompare1A.В данной подпрограмме производится также отображение содержимого регистра сравнения на ЖКИ и на экране терминала Bascom. Подпрограмма обработки внешнего прерывания по INT0 – «Scan» свидетельствует о «захвате» радиостанции и позволяет отобразить это событие на ЖКИ и экране терминала надписью «Radio SCAN».
Текст программы с подробными комментариями приводится ниже:
$regfile = "attiny2313a.dat" ‘настройки микроконтроллера
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32
$sim ’использовать только при симуляции
Config Pind.0 = Input 'UART RxD
Config Pind.1 = Output 'UART TxD
Config Int0 = Falling 'вешнее прерывание по спаду импульса
Config Pind.2 = Input 'внешнее прерывание INT0
Config Portb.3 = Output 'OC1A-выход TIMER1
Config Debounce = 200 'задержка прерывания 200 мс
Config Timer1 = Pwm , Prescale = 64 , Compare A = Toggle , Clear Timer = 0 'конфигурация таймера
$eeprom 'определение ячейки памяти
Number:
Data 10%
Dim Counters As Word 'определение переменных
Dim N As Byte
Dim Z As Byte
Dim X As Byte
N = 150
Compare1a = N
Cls
Lcd "N=" ; N
On Urxc Rxd 'определение подпрограмм прерываний
On Compare1a Pulse
On Int0 Scan
Enable Interrupts 'разрешение прерываний
Enable Urxc
Enable Compare1a
Enable Int0
Stop Timer1 'очистка таймера
Timer1 = 0
Do 'основной цикл
Stop Timer1 'останов таймера
Counters = Timer1 'считывание из таймера
If Counters => 255 Then 'верхний предел счёта таймера
Toggle Portb.3 'переключение в верхней точке
Timer1 = 0 'очистка таймера
End If
Start Timer1 'запуск таймера
Loop
Rxd: 'обработка прерывания по приёму
Do
Wait 1 'задержка 1сек
Input "Enter READeeprom-(0),>-(1), <-(2), Stop-(3) :" , X 'ввод управляющих команд
If N = 0 Then 'предельное нижнее значение
N = N + 5
Cls
Lcd "N=" ; N
Print "N=" ; N
Wait 1
End If
If N => 255 Then 'предельное верхнее значение
N = N - 5
Cls
Lcd "N=" ; N
Print "N=" ; N
Wait 1
End If
If X = 0 Then 'считывание значения Compare1A из EEPROM
Readeeprom Z , Number
N = Z
Cls
Lcd "N=" ; N
Print "N=" ; N
Compare1a = N
Wait 1
Exit Do
End If
If X = 1 Then 'увеличение значения
N = N + 5
Cls
Lcd "N=" ; N
Print "N=" ; N
Compare1a = N
Wait 1
Exit Do
End If
If X = 2 Then 'уменьшение значения
N = N - 5
Cls
Lcd "N=" ; N
Print "N=" ; N
Compare1a = N
Wait 1
Exit Do
End If
If X = 3 Then 'выход из цикла с записью значения в EEPROM
Cls
Lcd "N=" ; N
Print "N=" ; N
Z = N
Writeeeprom Z , Number
Compare1a = N
Wait 1
Exit Do
End If
Loop
Return
Pulse: 'подпрограмма переключения РВ3 при достижении ‘значения Compare1A
Toggle Portb.3
Return
Scan: 'сигнал о нахождении радиостанции
Print "Radio SCAN" 'в терминал
Lowerline
Lcd "Radio SCAN" 'на ЖКИ
Return
End 'end program
Скачать программу можно здесь.
Автор andre