Я переделал немножко этот многим известный частотомер так, как удобнее мне. Возможно, кому-то это тоже может оказаться полезным, поэтому выложу здесь идею, что было изменено в конструкции платы и исходник моей прошивки с расширенным функционалом вместо штатной, которая там была ( на микропаскале. но , глядя на текст исходника , который я выложу чуть позднее, можете то же самое написать и на си). Программная память атмеги8 заполнилась под 85% , так что пока можно ещё что-то дописать туда дополнительно, если придут в голову новые идеи.
Необходимость доработки возникла у меня в силу ряда неудобств при использовании данного прибора на улице, когда требуется выявлять частоты выходящих в эфир радиоэлектронных средств связи противника в радиусе пары десятков метров вокруг.
Поскольку скрытное ношение всё же удобнее, чем держать сей непонятный для прохожих девайс с антенной в руке, то возникает ряд неудобств. Во первых, после того, как частотомер словил какую-то частоту и бег цифр остановился, с исчезновением несущей показания будут потеряны, если в этот момент не нажать кнопку для "замораживания" показаний, но для этого надо всё время видеть экран. Второе неудобство состоит в том, что через каждые примерно 40 секунд он выключался (хотя это и устраняется закорачиванием транзисторного ключа).
Короче, попользовавшись немного этой моделькой, я её немного модифицировал.
В результате этот частотомер работает непрерывно, пока есть питание (вместо кроны поставлено 2 маленьких Li-ion 1200ma*h соединённых последовательно (ток потребления у этого частотомера 50 миллиампер, так что кроны дюрасел хватает примерно на 2 с половиной часа, а этих полностью заряженных аккумуляторов на примерно 24 часа автономной работы должно хватить, то есть можно оставить девайс на сутки где-нибудь в помещении, а потом поглядеть в памяти все записанные частоты, если была активность..
При обнаружении стабильных не меняющихся во времени показаний (условие- два подряд идущих показания равны между собой и уровень сигнала не ниже определённого опытным путём(без этого иногда возможны ложняки)) девайс подаёт короткий звуковой сигнал , свидетельствующий об этом факте, что довольно удобно. Пискушку пришлось туда добавить, так как в штатном варианте она не предусмотрена. Я использовал пьезопищалку от какого-то мультиметра.
Далее процессор лезет в свой еепром, где размещается до 32 записей и оглавление (каждая запись состоит из 16 байт, один байт на уровень принятого сигнала, 4 байта на частоту (при подсчёте было задействовано 3 байта, но поскольку счёт шел после прескалера на 64, то надо ещё умножать всё это на 64, поэтому 4 байта здесь использую для хранения и вывода на экран частоты (Double Word)) , остальные байты зарезервированы на будущее. если бы у атмеги были свободные ножки, можно было бы вписывать туда также время и дату для обнаруженного сигнала и координаты GPS датчика, но сейчас этого нет). Пробегая в цикле по всем записям, он сравнивает измеренную только что частоту с теми, что уже записаны в память, если она не совпадает ни с одной из уже имеющихся, то производится добавление новой записи ,инкрементируется количество имеющихся записей в оглавлении, на одной из позиций ЖКИ в нижней строке отображается символ "+", означающий, что в памяти есть непрочитанные сообщения. Так же в соседней позиции будет показан номер этой последней записи и заловленная последний раз частота (как на фото : 452.6624 мгц) Об этом событии также извещается коротким звуковым сигналом. Двумя кнопками "Up" и "Dwn" можно листать этот список, записанные частоты с указанием уровней будут отображаться в нижней строке индикатора . До десятых долей килогерца. При листании записей значок "+" с экрана исчезнет.
Должен заметить, что это же самое может делать и готовый фабричный девайс ST-007, описанный в
http://www.t-ss.ru/st_007.htm , но во-первых, он довольно дорог, во-вторых , к большому сожалению , он показывает частоту с точностью только до десятков кгц, что означает при шаге в 12.5 кгц неопределённость определения частоты обнаруженного РЭС плюс-минус целый один канал, и именно это и побудило меня отказаться от использования его и перейти к разработке его аналога, на основе имевшегося у меня стокового китайского частотомера GY-560. После чего он стал выглядеть так:
Увеличить
Увеличить
Увеличить
Увеличить
Поскольку Atmega8 там в дипе, а перепрошивка её внутрисхемным программатором неудобна из-за того, что пришлось бы резать дорожки на плате (да ещё и вывод Reset сконфигурирован не как сброс, что не позволяло её перепрошить прямо в плате),мне её пришлось выпаять и отложить, а вместо неё воспользоваться новенькой 8-ой атмегой, вставляемой во впаянную на место старой атмеги колодку. Так удобнее вынимать её и вставлять в программатор, если возникнут мысли что-то ещё переделать в программе.
Исходный текст прошивки и сам HEX-файл для всех желающих приведу здесь чуть позже , а пока расскажу, какие изменения надо сделать в самой плате. Из-за того, что я применил более удобный ЖКИ индикатор 2х12 вместо 2х8, мне пришлось использовать корпус чуть большего, чем был у родного девайса , размера. Можно оставить и родной индикатор, а значит, и родной корпус, но пользоваться будет неудобно.
Вывод Reset у меня испоьзуется традиционно, поэтому дорожка, идущая к нему перерезана, и эта ножка подвешена к питанию 5 вольт через резистор 10 килоом.
Не использованные в родной схеме линии портов атмеги PD3 и PD6 (ножки 6 и 12 соответственно) идут под кнопки Up" и "Dwn", тоже подтянуты резисторами 3 килоома к питанию. (можно сделать и внутренние подтяжки, но я к ним отношусь скептически в отношении помехоустойчивости из-за очень малого тока подтяжки)
выводы PD1 и PD3 задействованы как противофазные выходы для пьезопищалки (можно было бы как альтернативу задействовать имеющийся на PD3 транзисторный ключ для управления эдектромагнитным зуммером, звук будет громче, но я не стал так делать.ключ отсоединён от выхода).
Немного изменен сам алгоритм подсчёта. У них сигнал с выхода прескалера MB506 (свч делитель на 64,128 и 256) делился вначале микросхемой 74НС393, результат в праллельном коде (1 байт) поступал в атмегу, а сам делённый сигнал шел на вход внешнего счёта двухбайтового таймера-счетчика TMR1 (PD5). Внешний счётчик 74НС393 обнулялся по сигналу с ножки атмеги PD1.
Я поступил иначе. 74НС393 я вообще убрал, пустив сигнал напрямую с прескалера в атмгу (замкнул 1 и 8 площадки на плате, оставшиеся после отпайки 74НС393, а при переполнениях Timer1 я в прерываниях инкрементирую дополнительный регистр, получая таким образом третий байт частоты. Кварц у них там был 4 мгц, пришлось вместо него поставить на 16 мгц, в связи с тем, что без 74НС393 частота на счетном входе TMR1 будет побольше.
В этом варианте он меряет где-то до 500-600 мгц, но мне больше и не требуется. Хотя, поскольку есть ножки атмеги,, освободившиеся после удаления 74НС393, их можно использовать для коммутации коэфф деления MB506 с 64 на 128 или 256 . В последнем случае будет мерить до 2 гГц.
На низких частотах чувствительность этого делителя падает, менее 60 мгц мерить проблематично, хотя атмега бы отработала. Доходит до того, что, скажем, 50 мгц показывать не хочет, начинаешь увеличивать сигнал- покажет 100 мгц, то есть на 50 мгц чутьё настолько мало по сравнению с чувствительностью на 100 мгц, что ему легче вторую гармонику увидеть, чем 50 мгц. Так что о LOW BAND можно забыть с таким прескалером. Или найти другой. Но для работы в диапазонах 160мгц , 300 или 450 мгц данный девайс вполне годится.
Продолжение следует.
в дальнейшем собираюсь также "скрестить" этот проект с моим прошлым проектом по управлению R820T, в результате чего R820T будет всё время настраиваться на ту частоту, какую в данный момент намерял частотомер, а при наличии достаточного уровня сигнала ещё и открывать шумодав, и в итоге получим приёмник, почти мгновенно настраивающийся на любую появившуюся вблизи передачу и тут же демодулирующий её . В отличие от сканирующего приемника, который может просто не успеть добежать до частоты, на которой что быстро "вякнуло".
В принципе, я мог бы и в этом проекте предусмотреть передачу заловленной в эфире частоты по RS232 на какой-нибудь AOR , ничего сложного в передаваемом туда пакете нет. Поскольку использована плата от GY-560, где эта ножка раньше управляла внешним делителем 74hc393, который сейчас убран оттуда, то можно использовать её дополнительную функцию ( UART ) .