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

focus

По поводу смесителя СCPM и симуляторов.
дело в том что ни один симулятор до сих пор не поддерживает демультиплексирование CCPM
Стало быть нужен ещё один выход для Normal PPM специально для симуляторов.
Соответсвенно в прочих режимах на него просто будет дублироваться PPM на передатчик.

Либо для сима переключаться в другую модель и восстанавливать настройки

Я для сима создаю отдельную модель. А CPPM микшер делается в конструкторе каналов.

А зачем тебе адаптер джойстика? Не проще ли интегрировать эту функциональность прямо в твой кодер? Я, практически, готов выложить исходники (после получения ответа от тестера, что прошивка под схему rcdesign.ru живет).

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

Переправил прошивку. Вроде бы все советы учел.

вот основные функции:

Модуляция: PPM и инвертированный PPM (IPPM)
2-8 каналов
8 органов управления (5 аналоговых, 1 трехпозиционный и 2 двухпозиционных переключателя)
Три режима полета.
Отдельные двойные расходы для элеронов, руля высоты и поворота на каждый режим.
Функция выключения двигателя
2 виртуальных органа управления (получают входной сигнал с любого физического, например для настройки двух различных кривых на одну ручку).
Кривая на элероны, рули высоты, поворота, газ, доп. пропорциональный и на 2 виртуальных органа управления ( по семи точкам).
Конструктор каналов (позволяет реализовать любые микшеры).
Память на 4 модели

CVProject_new.rar

focus

Блин ну этож надо! Посеял мобилу!!! ААА!!!мда… Мой любимый SX … А я еще мечтал о верте… просто зверек пушистый… не знаю че и делать…

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 бит.
З.Ы. Хоть я и в отъезде буду, но все равно буду в инет лязять…