Jump to content

Sign in to follow this  
Guest Штефан

Самодельная аппа на 28 МГц, открытый проект

Recommended Posts

Guest Штефан

Еще на 3м курсе я был вдохновлен идеями прямого преобразования, публикациями В. Т. Полякова (пожалуйста скачайте и посмотрите его книгу "Радиолюбителям о технике прямого преобразования".

Хочу предложить открытый прект на тему использования для управления техники прямого перобразования.

Задел, котороный я на сегодня реализовал в железе.

Передатчик:

Частота генератора стаблизированна кварцем, частотная модуляция варикапом, девиация 4кГц, сдвиг излучаемой частоты от гетеродина приемника 16КГц. При макетировании получена выходная мощность 1Вт на нагрузке 50 Ом, при притании 8В. В приемнике и пердатчеке используются одинаковые кварцы 1/2 от несущей!

Отлажена схем приемного гетеродина на 2х транзисторах с питанием 3В и премлемым уровнем 2й гармоники.

Проведено моделирование приемного и передающего трака в среде Multisim 10.0

Еще нужно отмакетировать оконечный фильтр и согласование с антенной в передатчике, отмакетировать приемный тракт с фазовым подавлением зеркального канала, разработать ПО длч бортовой и наземной части.

Фото маетов приложу в ближайщее время. Прощу принять участие в проекте людей владеющих схемотехникой или AVR программистов. Желательно владеющих средой программирования IAR.

Share this post


Link to post

Guest

почему 27Мгц?

Share this post


Link to post
Guest Штефан

27 Мгц сочетает в себе простоту и эффективность.

Можно и выше, но я решил скинуть задачку по максимуму, чтобы это было максимальго доступно. Если тема с открытым пректом пойдет будем дорабатывать. Главное желающих найти попаять/программировать бесплатно. Даже если энтуазистов не найдется, я всеравно буду выкладывать свои разработки. Это типа линукса.

Edited by Штефан

Share this post


Link to post
Guest

С открытым проектом Микростар-2000 Вы знакомы?

Если нет - то почитайте внимательно...

Вряд ли стоит заново изобретать велосипед. Там много полезного включая прошивки и схемотехнические решения.

 

Думаю так же будет полезно пречитать статьи из "Школы Дядьки Глайдера"

Share this post


Link to post

Ссылка полезная...

 

Вряд ли стоит заново изобретать велосипед.
Я считаю, что стОит, если кто-то думает иначе - вероятно этот "кто-то" ошибся форумом...

Напоминаю - это форум самодельщиков... потребители общаются в других местах... B)

Share this post


Link to post
Guest Штефан

Смотрел микрстар, правда только передатчик. Сложная. Я хочу сделать проще. Что-то типа этого взять за основу:24tr1.gif

Вот аппы прямого реобразования с одинаковыми кварцами еще ни разу не видел.

Принцип действия прост, с помощью дросселя в приемнике и конденсаторов в передатчике частоты генераторв растаскиваются на 16 Кгц. В приемнике 16кГц фактически ПЧ. Она заводится на компаратор микроконтроллера (Atmega48) и там идет подсчет длительности импульсов ПЧ. Если длительность больше среднего значения значит 0 если меньще 1. Гетеродин приемника за одно тактирует МК. Приемник может быть по проще (без подавления зеркала) и посложней (с УВЧ и подавлением зеркального канала). Никаких АРУ.

post-4135-1267875745_thumb.jpg

Share this post


Link to post
Guest slafka

Идея стара,как мир,но продолжает интриговать своей кажущейся простотой.

Вся прелесть прямого преобразования открывается в полной мере только в телеграфной связи.

Все остальное требует усложнения схемы и,соответственно,конструкции.Все по-другому,но,вряд ли лучше и проще.

Попаять-ДА! Всеми четырьмя лапами-ДА!Своими руками сделанное-самое лучшее на свете!

Лично я не пошел дальше дискретной аппы ПП.В этом есть какой-то смысл.А делать,скажем РРМ с низкочастотной ПЧ ... ?

К ЛЭП не подлетай,в городе вообще одни помехи (наводки от трамов и тролов).

Кстати, насчет дискретки-есть очень интересное предложение использовать в качестве генератора командных частот

просто резистивную матрицу под варикапом.Кнопки,передатчик и резисторы!С современным качеством подстроечников

настройка на нужную частоту не проблема.Только по одной команде можно посылать.Но просто и дешево.Здесь преимущество ПП очевидно.

 

Share this post


Link to post
Guest Штефан

Мой опыт создание систем радиуправления - 2 доведенных до эксплуатации комплекта (не доведенные не считаю). Пропорциональный и дискретный. Это в середине 90х. Я и тогда хотел приспособить ПП, но тогда у меня небыло микроконтроллеров, тем более не было ничего даже близкого вроде нынешней atmega. Сейчас я мучаю модуль передатчика, к сожалению выходной фильтр мне не дается, гармоник много, потери, недостаток знаний. Завтра выложу схемку своего творения на обсуждение. Хочу повторить выходной каскад радиостанции "Колибрии"описание, тк он заточен под планарный монтаж.

PS Аппа планируется чисто цифровой, теория говорит что 2кБит/с можно вытянуть. Этого хватит хоть на 10 каналов и кучу дискретных команд.

Edited by Штефан

Share this post


Link to post
Guest Штефан

Запустил передатчик, почитал теорию штыревых укорченных антенн и разобрался. Параметры удалось сделать даже немного лучще чем у колибрии.

Фотка корпуса от спектрума не просто так, это система антенна + противовес (гробик железный), с которым испытывался передатчик.

Схемка в архиве.

post-4135-1268429386_thumb.jpg

post-4135-1268429428_thumb.jpg

post-4135-1268429445_thumb.jpg

AM.rar

Share this post


Link to post
Guest Штефан

На недельке собрал приемный тракт. Толком еще не проверял. Шумы около 5мкВ. Что при применяемом ОУ нормально. Ставить прицензионный услитель не хотел. Уменьшить существенно шум можно за счет УВЧ на полевичке, но это потом, после натурных испытаний. Хочу отметить, что весь тракт реализуем на наших SMD, кроме индуктивностей. Схема и фото в прицепе.

RC.rar

Edited by Штефан

Share this post


Link to post
Guest Штефан

Потихоньку тестирую канал в тяжелых условиях нашего предриятия (уровень шумов при антенне 30см около 50мкВ, собственный шум 5мкВ). Помеха идет от компов, у нас проводка на соплях, все без фильтров.

Хочу попросить помощи в теории помехозащищеного кодирования, помочь с приемлимыми алгоритмами для условий RC аппаратуры. В нете слишком много инфы, нелегко сразу нащупать нужное направление.

Share this post


Link to post
Guest Штефан

Закончил настройку приемника, иследовал его работу в течении длительного времени, вносил изменения, подробности в прицепе. Установил контроллер на плату приемник, и выяснил, что atmega вполне дружит с приемником. Хочу спросить, сколько может потреблять 1 серва, как на фото (Esky 7.5г)? Приемник весит 10 г, причем 5г - текстолит. Где бы найти милиметровый фольгированный текстолит?

RC1.rar

Share this post


Link to post
Guest serg5791

Если верить инструкции от регулятора Multiplex одна микросерва потребляет до 0.4...0.5 А. К регулятору с ВЕС на 1.5 А рекомендуют подключать не более 3..4 микросервы.

Share this post


Link to post
Guest slafka
Где бы найти милиметровый фольгированный текстолит?

Расщепить толстый на 0.5 и склеить циакрином.Я так 0.3 делал.

Share this post


Link to post
Guest Штефан

Потихоньку сделал 1й набросок программы для приемника.

Выкладываю последний исходник.

Этот код умеет восстанавливать несущую и угадывать значения бит с 90% вероятностью при сигнал/шум=1.5.

Скорость данных 2400бит/с.

Алгоритм обеспечивет работу ФАПЧ (Таймер 2)

работу корреляционного фильтра 8го порядка

 

//DIRRECm 26.03.10

#include <iom48.h>

#include <stdbool.h>

#include <inavr.h>

 

//const unsig*d char __eeprom ID[0x04]={0xF4,0xF3,0xF2,0xF1};

unsig*d short ZEROLEV; //средняя длительность периода ПЧ

unsig*d short SIGNAL; //текущая длительность импульсов ПЧ

unsig*d short SAMPLE; //предыдущее значение длительности ПЧ

unsig*d char CORREG; // содержимое регистра автокорелятора

unsig*d char HFAZE; //значение 0-7 текущее значение фазы, приращается по прерыванию таймера 2

//unsig*d char FLAGS; //флаги, пока не используется

 

//7-

//6-

//5-

//4-

//3-

//2-

//1-

//0-

 

void initDEV()

{

asm("cli");

__delay_cycles(0xFF);

DDRB=0x04;

 

ACSR=0x07;

DIDR1=0x03;

 

TCCR1A=0x00;

TCCR1B=0x41;

TIMSK1=0x20;

 

 

DDRD=0x20;

TCCR0A=0x23;

TCCR0B=0x09;

OCR0A=0x3F;

 

TCCR2A=0x03;

TCCR2B=0x0A;

OCR2A=0x60;

TIMSK2=0x02;

 

asm("sei");

 

}

 

 

 

 

#pragma vector=TIMER1_CAPT_vect

__interrupt void capt(void)

{

SIGNAL=ICR1-SAMPLE; // демодуляция ПЧ

SAMPLE=ICR1;

}

 

#pragma vector=TIMER2_COMPA_vect // прерывания с частотой 8*2400Гц

__interrupt void bitstrdetect(void)

{

unsig*d short a,b,COROUT;

COROUT=0x00;

a=SIGNAL;

a=a*4;

CORREG=CORREG>>1;//сдвиг корелятора

if(a>ZEROLEV){++ZEROLEV;CORREG|=0x80;OCR0B=0x3F;}//компарирование сигнала и ввод результата в корелятор

else {--ZEROLEV;CORREG&=0x7F;OCR0B=0x00;}

b=0x80;

while(b!=0x00){if((b&CORREG)!=0x00){COROUT++;}b=b>>1;}//вычесление выхода корелятора

if(COROUT==0x04){OCR2A=0x5D+HFAZE;}// если значение корелятора = 4 то подстраиваем частоту таймера 2 (ФАПЧ)

if(HFAZE==0x03){if(COROUT>0x04){PORTB=0x04;}else{PORTB=0x00;}} //определение наиболее вероятного значения текущего бита

HFAZE++;

HFAZE&=0x07;

}

 

 

 

int main()

{

initDEV();

while(1){}

}

Share this post


Link to post
Guest Штефан

Слесарю пульт потихоньку. Пульт задуман с модульным конструктивом, чтобы в будущем его легко можно было дорабатывать.

Разработал чертеж платы модуля передатчика.

Придумал на конец - то протокол обмена, исключающий наличие пост составляющей, обнаружение ошибки и в 1.5 раза экономичней манчестера.

Edited by Штефан

Share this post


Link to post
Guest Штефан

Работа над пультом идет, на коробке закреплены все кнопки и ручки, батарейный отсек. Сделан контроллерный модуль с дисплеем, разобрался, как управляется дисплей.

post-4135-1275065235_thumb.jpg

post-4135-1275065258_thumb.jpg

post-4135-1275065282_thumb.jpg

Share this post


Link to post
Guest GRAF
Штефан, ещё нужны советы по помехоустойчивому кодированию?

Share this post


Link to post
Guest
Придумал ... протокол обмена, ... обнаружение ошибки и в 1.5 раза экономичней манчестера.

 

А как насчет помехозащищености и устойчивости Вашего протокола? Вы как-нибудь Ваш протокол на надежность тестировали или проверяли?

Манчестер не случайно избыточен...

Он для того и избыточен, чтобы обнаруживать и корректировать ошибки и тем самым обеспечивать надежность канала связи.

Share this post


Link to post
Guest Штефан

GRAF От советов не откажусь.

Тот алгоритм, что я привел в 15 сообщении не любит постоянную составляющую в сигнале. Манчестер этой соствляющей лишен, но как оказывается не он один.

Я решил применть код, в котором слова содержат 6 бит, причем 3 бита 1 и 3 бита 0. Таких комбинаций набролось 20, причем минимальное кодовое расстояние между словами 2, те могут обнаруживать 1но кратную ошибку (1 битый бит на 1но 6ти разрядное слово). Слово 111000 решил использовать для синхронизации пакетов, посколько его можно легко отловить простеньким автокорелятором. Из оставшхся 19 откинуть 3 и передавать 4 бита за 1но слово. Ну плюс еще контрольная сумма на весь пакет. Таким образом, чтобы передать манчестером 4 бита нужно 8ми битовое слово, а по моему протоколу 6ти.

Восстанавливать поврежденный код не вижу смысла, тк при падении С/Ш ошибки нарастают не линейно, иследование реального тракта (в помещение с хреновым заземлением и большим числом компьютеров, это у меня на работе, там даже УКВ рация 118-136МГц шумит на верхнем приделе ШП) так вот, исследованя показывают наличие некоторого порога, после которого ошибки начинают резко сыпаться, поэтому применение восстановления кода даст увеличение дальности на проценты, а вот канал загрузит по самое не балуйся. Поэтому считаю, что хватит одного обнаружения ошибок, причем с не очень высокой надежностью.

Share this post


Link to post
Guest GRAF

Кроме кодирования можно ещё применить перемежение на передаче и деперемежение на приеме. Это позволит пакеты ошибок преобразовать в одиночные ошибки в разрядах пакета.

Каждый бит сообщения при передаче можно кодировать последовательностью бит, уникальной для 0 и 1. Это дополнительно повышает помехоустойчивость сигнала, расширяет его спектр (сигнал практически невозможно задушить).

Кодировать можно линейным циклическим кодом (БЧХ его ещё называют). Расстояние Хэмминга сами подоберёте, в зависимости от помеховой обстановки.

Это некоторое из того, что возможно реализовать на микроконтроллере.

 

Ещё, если интересно, посмотрите микросхемки трансиверов, CYRF6936, CC1101 например.

Share this post


Link to post
Guest Штефан

Хотел спросить:что такое QPCM и чем отличается от PCM? Квадратурная модуляция имеется ввиду?

Share this post


Link to post
Guest GRAF

QPCM, Q-quick, быстрая ИКМ. Наверное скорость модуляции выше.

Share this post


Link to post
Guest Штефан

Изготовил и настроил передатчик. Максимальная мощность 1.2Вт. Начился работать с нокиевским ЖКИ, прикупил таких 10шт, благо цена индикатора 50р. Закончил механику пульта, почти сделал навесной монтаж, осталась только плата импульсного стабилизатора 5В и контроллера заряда аккамулятора.

 

PS я скоро буду подчищать свои загруженные файлы постепенно.

post-4135-1278806780_thumb.jpg

post-4135-1278806799_thumb.jpg

post-4135-1278806832_thumb.jpg

Share this post


Link to post
PS я скоро буду подчищать свои загруженные файлы постепенно.
Зачем? Вам не хватает места для загрузки?

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...