Самодельный передатчик (часть 1)

Brandvik

Жалко мобилку и крушение надежд с быстрой покупкой верта, соболезную. Слежу за темой с самого начала! Но в разговор не встревал до сих пор ибо сказать, посоветовать и спросить было нечего. Но вот проект подошол к какому никакому логическому концу!!! Поздравляю! Супер! 😃 А вот теперь собстовенно вопрос к Жене.
Конструктор каналов, реализует независимые микшеры для всех трех режимов полета?
Тоесть я создаю нужные микшеры для первого режима полета, потом их копирую в остальные и изменяю по мере надобности? Пример, создаю планер с двумя машинками в крыле и микширую их с хвостом это нормальный режим, затем копирую эти данные во второй режим обзываю его “термик”(да могу ли я обозвать режимы или они прописаны жестко ) и домиксовываю элероны чутка вниз и +руль высоты для коррекции. Я правильно понял? Я правильно понял что при желании в одном миксе могут учавствовать все каналы? А могу ли я на SW назначить микшр не переходя в другой полетный режим? тоесть при влючении переключателя включается микшер например руль высоты+наплавления для заброса металки. Или это уже считается полетный режим наверное.?
Я знаю вы пишите уже описание, так что я подожду если чего, а может натолкну на решение новых задач. А вообще это супер здорово что нет предустановленных микшеров и жесткой привязки каналов , это тлько для ленивых и от них одна головная боль 😃 Свободу фантазии и желаниям!
С ув. Андрей.

Brandvik

Ой классно, только вот нет у меня PowerPoint что бы почитать, а нельзя ли в другом формате выложить? PDF или ворд?

focus

Ну так и знал, что у кого-нибудь не окажется. 😃 Мою новую прошивку еще не пробовали?

vint

То FOCUS
А не могли бы вы выложить вашу печатку (желательно в sprint layout) 😒

Roma
focus:

Ну так и знал, что у кого-нибудь не окажется. 😃 Мою новую прошивку еще не пробовали?

Я попробовал, но ничего не понимаю. В верхней части экрана мусор, иногда проскальзывает правильное изоброжение. С кварцем все ОК. Таймер тикает правильно, но экран обновляется раз в 2-20 сек 😦 . У кого-нить такое было?

focus

То FOCUS
А не могли бы вы выложить вашу печатку (желательно в sprint layout)

Нет. Она с ошибками. И их надо исправлять чтобы потом по готовому проводники не резать. Причем она в P-CADe.

Я попробовал, но ничего не понимаю. В верхней части экрана мусор, иногда проскальзывает правильное изоброжение. С кварцем все ОК. Таймер тикает правильно, но экран обновляется раз в 2-20 сек . У кого-нить такое было?

Не должно быть такого. Проверь фьюсы.

rulll

Привет всем!

В меню Модель-Селект мусор.
На главном экране ( там где часики) имя модели прописывается только 3 знакоместа. Остальное иногда появляется при нажатии кнопок.

Roma:

В верхней части экрана мусор

У меня тоже такое при програмировании чипа понипрогом.
При програмировании из КодеВижена - нормально. На всякий случай скажу что в чип заливать надо не только .HEX но и .EEP
При програмировании из КодеВижена только файлом .HEX - в верхней части экрана мусор.

Женя , спасибо! Ты все сделал что я просил. Разбираюсь дальше…
Добавлю к описанию:

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

Насколько я видел из текста Си - вход АЦП не дифференциальный. Поэтому переменным резистором на AREF установить напряжение несколько больше чем максимальное напряжение снимаемое с джойстиков. В моем случае напряжение на джойстиках 4.5 Вольт, AREF=4.6 Вольт. Эту операцию надо сделать до режима калибровки.

Если че не так - поправте.

Мануал в виде PDF тут:

Brandvik

Изучил мануал. Появились вопросы и предложения. Не очень то понятно что значит виртуальный орган управления? приведите пример его использования? Далее с переключением мжеду режимами полета, чем задается? трехпозиционным SW или мжно назначить на любй SW? Вот еще вопрос-предложение. Посути каждый полетный режим это свободный микс? Есть предложение отказаться от употребления слова полетный режим и ввести возможность обзывать их самостоятельно и иметь возможность назначить его на любой SW а так же расширить их до 5ти штук.
Если я правильно понимаю. То все выглядит так. Заходим в Mix1 (название по умолчанию) Обзываем его как нам надо (“Start” например), идем в конструктор и собираем режим. Далее идем в Mix2 и там тоже собираем из конструктрора. Паралельно наначаем им SW. Вот еще один вопрс. Елероны, высота,руль и газ зашиты сторого каждый на свою ручку? А если я использую газ слева? Значит в программу нужно ввести либо выбор модов управления Mod1, Mod2… либо иметь функцию настройки, присвоение джойстикам названия. Что скажете на это? С нетерпением жду ответа!

osnwt
AVK:

Вполне готов проверить, высылай прошивку.

Выложена в этой ветке. Используйте версию rcu_20060713.rar.

focus:

Не знаю, хватит ли производительности. Попробую. Ведь для ЮСБ жесткие временные рамки… Выкладывай исходники. А я попробую включить их.

Включить так просто не получится, поскольку использованный вариант USB поддержан только для двух компиляторов - gcc (WinAVR) и IAR. Портировать его под другие компиляторы может быть непростой задачей, так как там есть ассемблерный модуль, и очень активно используется препроцессор, который у указанных компиляторов доступен и для ассемблерного текста, и совместим (точнее, тот же самый) с сишным.

Тем не менее, я исходники rcu_20060713_source.rar под IAR компилятор выложил на общее обозрение в той же ветке. Я бы предложил кодер переписать в более структурированном виде. Когда сделаю железку, то и сам займусь таким вопросом, а пока могу лишь предлагать.

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

rulll
Brandvik:

Если я правильно понимаю. То все выглядит так.

собери, включи и все станет понятно.

Aleksey_Gorelikov

Женя, епром при включении неплохо бы проверять… И при несовпадении кс, к примеру - выдавать предупреждение. А вобще его можно сделать внешним и побольше… А особые гурманы - могут оформить ввиде сменной карты… Или вобще SD или mmc заюзать, хотя это уже излишество…

Brandvik

Уже собираю 😉 А там я хотел сказать БУДЕТ. Ну да ладно, не будем в ступе воду толочь. Пока не соберу не вернусь 😈 Что бы по пустому языком не мелить.

focus

На главном экране ( там где часики) имя модели прописывается только 3 знакоместа. Остальное иногда появляется при нажатии кнопок.

Ага. Нащел этот глюк. Скоро исправлю. А еепром надо просто весь нулями зашивать…

Женя, епром при включении неплохо бы проверять… И при несовпадении кс, к примеру - выдавать предупреждение.

Незнаю… постараюсь сделать… если времени хватит.

rulll
focus:

Ага. Нащел этот глюк.

Причем кол-во невыводимых символов зависит от количества каналов в ППМ пакете.

Нашел еше один крупный глюк. Смотрел что реально грузится в таймер. В нейтральном положении джойстика 2250. Это эквивалентно периоду 1.5 милисекунды. Но это ведь период, т.е. вместе с паузой в 410 микросекунд. Осцилографом проверил, все подтвердилось: пауза между каналами 0,41 милисек. ППМ импульс 1.1 милисек., длительность пакета ППМ 20 милисек.
Женя, тебе центрироваться надо не относительно 2250, а относительно 2250+616.

Да и еще, как по мне, то ППМ не инвертированый - это когда паузы в нулях, а у тебя наоборот.
Но это бай зе вей.

Успехов!
я в отпуск!

rulll

У себя уже поправил.
В math.c один раз заменить 2250 на 2866. ППМ стал на свое место.
Теперь сделал длительность межканального импульса 0.3 милисекунды, как по стандарту.
Для этого заменил 2866 на 2250+450=2700, и изменил OCR1AH=0x01; OCR1AL=0xС2;

rulll

Тут это… Корочче я последних два своих мессага тормозил. Сорри. Можно грохнуть их.

focus

Да-да… Пауза тоже учитывается 😃))

focus

Доброго времени суток! Че-то тема стоит… Ну ничего. Решил разбавить немного. Глюки и баги прошивки в ближайшую неделю исправить не смогу - уезжаю. Но думаю придумать схемку с DDS синтезатором. Очень удобно получается. Только вот один вопросик. Допустим пусть у меня опорная частота 40.685МГц, то при частотной модуляции на сколько она должна изменяться на выходе. Т.е. какая частота должна быть, когда в РРМе 0 и когда 1. Скорости хватает. Смена частоты в синтезере происходит за ~17 тактов (на частоте 120МГц). Загрузка параллельная по 8 бит. Управляющее слово 32 бита. Весь пакет - 40 бит.
З.Ы. Хоть я и в отъезде буду, но все равно буду в инет лязять…

Vad64
focus:

Но думаю придумать схемку с DDS синтезатором. Очень удобно получается.

Евгений, при такой частотной манипуляции с использованием DDS спектр выходного сигнала будет неприемлемо широким. Ширина спектра ЧМ определяется как сумма девиации и верхней частоты модулирующего сигнала. Цифровой РРМ или РСМ имеет крутые фронты и, следовательно, очень широкий спектр. Подавать такой сигнал на модулятор нельзя. В обычных передатчиках перед варикапом обязательно ставится фильтр НЧ с частотой среза 2.5-3кГц.
Кроме того, DDS выдает довольно грязный сигнал, к-рый надо будет тщательно фильтровать по ВЧ. Фильтры будут гораздо сложнее, чем П-контур обычного передатчика.

focus

Евгений, при такой частотной манипуляции с использованием DDS спектр выходного сигнала будет неприемлемо широким. Ширина спектра ЧМ определяется как сумма девиации и верхней частоты модулирующего сигнала. Цифровой РРМ или РСМ имеет крутые фронты и, следовательно, очень широкий спектр. Подавать такой сигнал на модулятор нельзя. В обычных передатчиках перед варикапом обязательно ставится фильтр НЧ с частотой среза 2.5-3кГц.
Кроме того, DDS выдает довольно грязный сигнал, к-рый надо будет тщательно фильтровать по ВЧ. Фильтры будут гораздо сложнее, чем П-контур обычного передатчика.

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