Перейти к содержанию
Aviamodelka - форум авиамоделистов-самодельщиков

Бальза Фанера Карбоновые трубки Эпоксидные смолы Карбоновые стержни Латунные трубки Проволока ОВС Ткани

Бальза, Фанера, Карбоновые трубки, Эпоксидные смолы, Карбоновые стержни, Латунные трубки, Проволока ОВС, Ткани, МРД, Клеи

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


Гость Штефан

Рекомендуемые сообщения

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

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

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

Передатчик:

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

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

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

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

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

Ссылка на комментарий

Бальза Фанера Карбоновые трубки Эпоксидные смолы Карбоновые стержни Латунные трубки Проволока ОВС Ткани

Бальза, Фанера, Карбоновые трубки, Эпоксидные смолы, Карбоновые стержни, Латунные трубки, Проволока ОВС, Ткани, МРД, Клеи

  • Ответов 50
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

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

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

Изменено пользователем Штефан
Ссылка на комментарий

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

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

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

 

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

Ссылка на комментарий

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

 

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

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

Ссылка на комментарий

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

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

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

post-4135-1267875745_thumb.jpg

Ссылка на комментарий

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

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

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

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

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

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

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

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

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

 

Ссылка на комментарий

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

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

Изменено пользователем Штефан
Ссылка на комментарий

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

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

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

post-4135-1268429386_thumb.jpg

post-4135-1268429428_thumb.jpg

post-4135-1268429445_thumb.jpg

AM.rar

Ссылка на комментарий

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

RC.rar

Изменено пользователем Штефан
Ссылка на комментарий

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

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

Ссылка на комментарий

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

RC1.rar

Ссылка на комментарий
  • 4 недели спустя...

Потихоньку сделал 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){}

}

Ссылка на комментарий
  • 3 недели спустя...
Гость Штефан

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

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

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

Изменено пользователем Штефан
Ссылка на комментарий
  • 3 недели спустя...

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

post-4135-1275065235_thumb.jpg

post-4135-1275065258_thumb.jpg

post-4135-1275065282_thumb.jpg

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

 

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

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

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

Ссылка на комментарий

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

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

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

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

Ссылка на комментарий

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

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

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

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

 

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

Ссылка на комментарий
  • 2 недели спустя...
  • 4 недели спустя...

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

 

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

post-4135-1278806780_thumb.jpg

post-4135-1278806799_thumb.jpg

post-4135-1278806832_thumb.jpg

Ссылка на комментарий
  • 4 недели спустя...

Отправляю подборку актуальных схем, исходников для пульта и приемника (плата передатчика не соответсвует схеме, были доработки, схема с исправлениями). Пульт уже работает с FMS через COM порт, меняет мощность излучения. Выяснилось что приемник плохо работает в непосредственной близи передатчика на придельной мощности (1.5Вт) и вполне нормально при 0.5Вт.

forum.rar

Ссылка на комментарий

Испытал аппаратуру в Поле (в 98 км от Питера), дальность чуть больше 1км (измерено по столбикам вдоль приозерского шоссе), при количестве ошибок менее 10%. Сейчас хочу заменить ОУ в схеме приемника на более малошумящий, тем самым увеличить дальность дополнительно. Сейчас уровень шумов, приведенных ко входу около 10мкВ.

Ссылка на комментарий
  • 2 недели спустя...

Заменил операционный усилитель на буржуйский OP284. В принципе, пойдет и TL072 (он дешевле и доступней), но тогда приемник не сможет работать от 1го Lipo. Дальность возросла до 2.2км (измерено в Шлиссельбурге), правда недавно обнаружил ошибку в коде пульта, из-за нее битрейт не точно 2400бод, это снижает помехоустойчивость, так-что дальность еще больше будет. Шас код пульта причесываю, коменты пишу.

Ссылка на комментарий
  • 2 недели спустя...

Свершилось! Сегодня не просто какие-то коды отправлял и принимал. А управлял яркостью светодиода с помощью 1го канала.

 

Софт передатчика обеспечивает управление мощностью излучения, и передачу 6ти каналов пропорционального управления с помощью моего метода кодировки (писал выше) разрешение 8бит, частота 30Гц.

В прицепе подробности.

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

 

Перечень вопросов которые осталось решить:

1 Разводка и изготовление платы приемника (с учетом желаний и возможностей)

2 Разработка кода приемника по части обнаружения ошибок идентификации потери сигнала

(предполагается, что при внезапной потере сигнала сначала сервы неподвижны, а через 0.3с в нейтраль или 0)

(БАНО будет предупреждать о разряде и помехах)

3 Разработка кода ШИМ модулятора для серв и коллекторных моторов.

4 Доделка кода передатчика

forum2.rar

Изменено пользователем Штефан
Ссылка на комментарий

Да, еще слова у меня 6ти разрядные, как я и задумал, каждое слово передает 4 бита (или 2 слова на канал). Синхроимпульс 8ми разрядный его значение 0x0F. Такой импульс оказался значительно более надежным 6ти разрядного, его спектр не накладывается на спектр кода. Всего за 1 кадр передатчик передает 8+6*2*6=80 бит данных со скоростью 2400

Ссылка на комментарий

Подцепил 2 минисервы esky ek-0508 есть 2 новости

Сервы хорошо работают от 1й банки Lipo.

Сервы трясутся, причина - софтовая реализация канальных импульсов. Прерывания "дергают" (раньше об этом как-то не подумал) импульсы, хочу сделать аппаратную реализацию ШИМ импульсов через средства таймера 0 atmega48, но потребуется прилипить небольшую схемку на диодах. И еще количество градаций положения сервы уменьшится до 115. Оставшиеся градации можно употребить для дискретных команд.

 

 

Есть задумка следующую версию выполнить на ПЛИС, тк алгоритм подходит для нее, кроме того получаем синтезатор частоты с фазовращателями (для подавления зеркального канала), и никаких проблем с прерываниями.

 

Ссылка на комментарий
Сервы трясутся, причина - софтовая реализация канальных импульсов. Прерывания "дергают" (раньше об этом как-то не подумал) импульсы

 

Убедитесь, что оцифрованный сигнал потенцометров от ручек не шумит в младшем бите.

Если есть возможность пожертвовать разрешающей способностью просто сделайте побитовое "AND (~0x01)".

 

По пам"яти в моих опытах дешевые сервомашинки чувствительнее 1-2градусов не работали, от этого и отталкивайтесь.

 

Например, 8 бит на полный ход ручки (1/255) есть больше, чем подобная сервомашинка может отработать (1/90 = 2градуса).

 

Удачи !

Ссылка на комментарий

Поздравляю с днем рождения!

Нет, резисторы работают отлично передатчик без проблем может выдать хоть 10 бит, мой диагноз точный. Более того проблему уже решил, обеспечил 8ми разрядное разрешение и сервы не дергаются.

Изменилась схема приемника, пришлось встроить хитрый дешифратор на резисторах.

Кто может предложить недеффицитный LDO стабик на 3.3В для питания приемника (ток менее 20мА)?

Подробности в прицепе

forum3.rar

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
  • Создать...