Пожалуйста подскажите бюджетные вч-реле, желательно на 12 вольт, подходящие для управления переключением режимов трансивера на базе ОСЫ.
Последний раз редактировалось VladiGeo; 23.04.2020 в 14:50.
Очень хорошая идея - использовать АРДУИНО для управления Блоком Диапазонных Фильтров. Пожалуйста подскажите, какой скетч для загрузки Вы используете?
Добрый день!
Завтра выложу исходник для дпф с электронной перестройкой варикапами. Использовал готовый блок дпф от приемника jrc
Спасибо - NikB ! Обычно конкретикой своих секретов не очень любят делиться...
Я пока присматриваюсь к китайскому 6-диапазонному фильтру:
https://aliexpress.ru/item/327180846...chweb201603_53
НЕ РЕКЛАМА!!!
Хочу попробовать его подружить с ОСОЙ. :-)
Можно Омроны на алиэкспрессе закупить, там они от 5-10 штук продаются и не дорого, их сейчас во все Китайские радиостанции ставят, типа TYT-9800 и другие, у себя использую советские РПВ2/7 для передачи и нековские сигнальные реле для блокировки МШУ, несколько постов выше есть на фото, полгода активного использования - полет нормальный. А по поводу диапазонных фильтров http://www.cqham.ru/trx75_19.htm вот очень неплохой вариант, специально для него взял на али транзисторный тестер с расширенными возможностями, умеет мерить практически все компоненты и точность очень порадовала на последних прошивках.
Последний раз редактировалось R7RAS; 11.05.2020 в 08:32.
Вдруг кому пригодится код бендкодера для ардуино и ДПФ с электронной перестройкой от JRC 545 (вот для примера с ebay)
КОД:
/*********************************************************/
/* Переключатель ДПФ и RX/TX для OSA103 Mini в роли SDR. */
/* Частично используется код из http://xelfaer.ru/?p=508 */
/* ss, 2017 */
/*********************************************************/
#define F_CPU 16000000UL
#include <avr/io.h>
#include <stdint.h>
//*** Инициализация UART ***//
inline void uart_init(void)
{
UBRR0 = 0; // 1Mbps
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); // 8 бит данных, 1 стоп-бит, без контроля чётности
UCSR0B = (1 << RXEN0); // разрешить прием данных
}
//*** Инициализация таймера 1, частота ~16 КГц ***//
inline void timer_init(void)
{
TCCR1A = 0; // режим CTC
TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); // fOSC/1024
OCR1A = 0xFFFF; // считать до упора
}
//*** Прием данных по UART ***//
unsigned char uart_receive(void)
{
while (!(UCSR0A & (1 << RXC0)));
return UDR0;
}
uint8_t x; // индекс принятого байта в буфере
uint8_t buf[5]; // буфер приёма
uint16_t tmr; // предыдущее состояние таймера
#define FREQ (*(uint32_t*)buf)
#define RXTX (buf[4])
#define TXFLAG 0x80
//*** Переключение фильтров. Суммарно до 11 ДПФ на пинах PD2..PD7, PB1..PB5, нумерация с нуля ***//
void switch_bpf(uint8_t n)
{
//if (n < 6)
//{
// PORTD &= ~(4 << n);
// PORTB &= (1 << PB0);
//} else {
// PORTD = 1;
// PORTB = (PORTB & (1 << PB0)) | (2 << n);
//}
if (n < 6)
{
if (n == 0)
{
PORTD = B11100011;
}
if (n == 1)
{
PORTD = B11100111;
}
if (n == 2)
{
PORTD = B11101011;
}
if (n == 3)
{
PORTD = B11101111;
}
if (n == 4)
{
PORTD = B11110011;
}
if (n == 5)
{
PORTD = B11110111;
}
if (n >= 6)
{
PORTD = B11111011;
}
}
}
//*** Переключение RX/TX ***//
inline void show_tx(void)
{
if (RXTX & TXFLAG)
PORTB |= (1 << PB0);
else
PORTB &= ~(1 << PB0);
}
const uint32_t freqs[] = { // верхние границы диапазонов
400000
, 1600000
, 4400000 // 1.6 .. 4.4
, 12300000 // 4.4 .. 12.3
, 20500000 // 12.3 .. 20.5
, 30000000 // 20.5 .. 30
, 0xFFFFFFFFUL // если выше - включаем bypass
};
//*** Главная программа ***//
int main(void)
{
DDRD = 0xFC; // установим верхние 6 бит порта D как выходы, будем управлять ДПФ
PORTD = 0xFF; // установим логический 0 на все пины порта D, снимем подтяжки
DDRB = 0x3F; // индикатор/реле передачи на PB0, далее ДПФ
PORTB &= 0xC0; // обнулим младшие разряды
uart_init();
timer_init();
tmr = TCNT1;
while (1)
{
x = 0;
while (x < 5)
{
buf[x++] = uart_receive();
if (TCNT1 - tmr > 300) // если на приём ушло много времени,
x = 1; // ... то это первый байт пакета
tmr = TCNT1; // обновим таймер
}
for (uint8_t i = 0; i < sizeof(freqs) / sizeof(freqs[0]); i++)
{
if (FREQ <= freqs[i])
{
switch_bpf(i);
break;
}
}
show_tx(); // покажем работу на передачу
}
}
Запилил еще один МШУ для Осы на SPF5122Z
Сумарное усиление со всех каскадов перед Осой составило около 70 db, результатом доволен, измерить реальную чувствительность в домашних условиях нечем, но сравнивая работу получившегося приемника Осы, Yaesu FT-2900 и TYT MD-9600 уже можно сказать, что корреспондента которого Оса слышит на уверенные 3 балла с небольшим шумом на обеих станциях уровень сигнала на уровне галюцинаций, открывается шумоподавитель, но разборчивость нулевая, когда корреспондент переключается на пониженную мощность на Осе сигнал читается процентов на 50, отдельные фразы можно разобрать, то на обеих станциях нет даже присутствия сигнала. Да еще дополню, микросхемы SPF5122Z, купленные в Москве (оригинальные) - работают отлично, что не скажеш про эти же микросхемы, приобретенные на Алиэкспресс, работают, но уровень приема значительно хуже, субъективно 2-3 балла проигрывает, есть предположение, что отбраковка или вообще подделка.
Последний раз редактировалось R7RAS; 11.05.2020 в 23:14.
Спасибо от Павел
Откройте даташит на дроссель, который у вас установлен по питанию выходной линии SPF5122Z, посмотрите его частоту саморезонанса.
Очень вероятно что именно этот не оптимален в данной конструкции
Последний раз редактировалось EU1SW; 12.05.2020 в 09:50.
Спасибо от Павел
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)