Самодельный передатчик (часть 1)
Вот, накрапал кратенькое описание
Ой классно, только вот нет у меня PowerPoint что бы почитать, а нельзя ли в другом формате выложить? PDF или ворд?
Ну так и знал, что у кого-нибудь не окажется. 😃 Мою новую прошивку еще не пробовали?
То FOCUS
А не могли бы вы выложить вашу печатку (желательно в sprint layout) 😒
Ну так и знал, что у кого-нибудь не окажется. 😃 Мою новую прошивку еще не пробовали?
Я попробовал, но ничего не понимаю. В верхней части экрана мусор, иногда проскальзывает правильное изоброжение. С кварцем все ОК. Таймер тикает правильно, но экран обновляется раз в 2-20 сек 😦 . У кого-нить такое было?
То FOCUS
А не могли бы вы выложить вашу печатку (желательно в sprint layout)
Нет. Она с ошибками. И их надо исправлять чтобы потом по готовому проводники не резать. Причем она в P-CADe.
Я попробовал, но ничего не понимаю. В верхней части экрана мусор, иногда проскальзывает правильное изоброжение. С кварцем все ОК. Таймер тикает правильно, но экран обновляется раз в 2-20 сек . У кого-нить такое было?
Не должно быть такого. Проверь фьюсы.
Привет всем!
В меню Модель-Селект мусор.
На главном экране ( там где часики) имя модели прописывается только 3 знакоместа. Остальное иногда появляется при нажатии кнопок.
В верхней части экрана мусор
У меня тоже такое при програмировании чипа понипрогом.
При програмировании из КодеВижена - нормально. На всякий случай скажу что в чип заливать надо не только .HEX но и .EEP
При програмировании из КодеВижена только файлом .HEX - в верхней части экрана мусор.
Женя , спасибо! Ты все сделал что я просил. Разбираюсь дальше…
Добавлю к описанию:
Режим калибровки можно вызвать одновременным нажатием кнопок вверх, вниз и лево, затем подать питание. Калиброка - установить крайние положения джойстиков.
Насколько я видел из текста Си - вход АЦП не дифференциальный. Поэтому переменным резистором на AREF установить напряжение несколько больше чем максимальное напряжение снимаемое с джойстиков. В моем случае напряжение на джойстиках 4.5 Вольт, AREF=4.6 Вольт. Эту операцию надо сделать до режима калибровки.
Если че не так - поправте.
Мануал в виде PDF тут:
Изучил мануал. Появились вопросы и предложения. Не очень то понятно что значит виртуальный орган управления? приведите пример его использования? Далее с переключением мжеду режимами полета, чем задается? трехпозиционным SW или мжно назначить на любй SW? Вот еще вопрос-предложение. Посути каждый полетный режим это свободный микс? Есть предложение отказаться от употребления слова полетный режим и ввести возможность обзывать их самостоятельно и иметь возможность назначить его на любой SW а так же расширить их до 5ти штук.
Если я правильно понимаю. То все выглядит так. Заходим в Mix1 (название по умолчанию) Обзываем его как нам надо (“Start” например), идем в конструктор и собираем режим. Далее идем в Mix2 и там тоже собираем из конструктрора. Паралельно наначаем им SW. Вот еще один вопрс. Елероны, высота,руль и газ зашиты сторого каждый на свою ручку? А если я использую газ слева? Значит в программу нужно ввести либо выбор модов управления Mod1, Mod2… либо иметь функцию настройки, присвоение джойстикам названия. Что скажете на это? С нетерпением жду ответа!
Вполне готов проверить, высылай прошивку.
Выложена в этой ветке. Используйте версию rcu_20060713.rar.
Не знаю, хватит ли производительности. Попробую. Ведь для ЮСБ жесткие временные рамки… Выкладывай исходники. А я попробую включить их.
Включить так просто не получится, поскольку использованный вариант USB поддержан только для двух компиляторов - gcc (WinAVR) и IAR. Портировать его под другие компиляторы может быть непростой задачей, так как там есть ассемблерный модуль, и очень активно используется препроцессор, который у указанных компиляторов доступен и для ассемблерного текста, и совместим (точнее, тот же самый) с сишным.
Тем не менее, я исходники rcu_20060713_source.rar под IAR компилятор выложил на общее обозрение в той же ветке. Я бы предложил кодер переписать в более структурированном виде. Когда сделаю железку, то и сам займусь таким вопросом, а пока могу лишь предлагать.
В любом случае респект автору за достаточно законченное, как я могу судить, изделие, имеющее открытый исходный код. Будет у меня железка и время - тоже приложу руку у буту для него и, может, к чему-то еще.
Если я правильно понимаю. То все выглядит так.
собери, включи и все станет понятно.
Женя, епром при включении неплохо бы проверять… И при несовпадении кс, к примеру - выдавать предупреждение. А вобще его можно сделать внешним и побольше… А особые гурманы - могут оформить ввиде сменной карты… Или вобще SD или mmc заюзать, хотя это уже излишество…
Уже собираю 😉 А там я хотел сказать БУДЕТ. Ну да ладно, не будем в ступе воду толочь. Пока не соберу не вернусь 😈 Что бы по пустому языком не мелить.
На главном экране ( там где часики) имя модели прописывается только 3 знакоместа. Остальное иногда появляется при нажатии кнопок.
Ага. Нащел этот глюк. Скоро исправлю. А еепром надо просто весь нулями зашивать…
Женя, епром при включении неплохо бы проверять… И при несовпадении кс, к примеру - выдавать предупреждение.
Незнаю… постараюсь сделать… если времени хватит.
Ага. Нащел этот глюк.
Причем кол-во невыводимых символов зависит от количества каналов в ППМ пакете.
Нашел еше один крупный глюк. Смотрел что реально грузится в таймер. В нейтральном положении джойстика 2250. Это эквивалентно периоду 1.5 милисекунды. Но это ведь период, т.е. вместе с паузой в 410 микросекунд. Осцилографом проверил, все подтвердилось: пауза между каналами 0,41 милисек. ППМ импульс 1.1 милисек., длительность пакета ППМ 20 милисек.
Женя, тебе центрироваться надо не относительно 2250, а относительно 2250+616.
Да и еще, как по мне, то ППМ не инвертированый - это когда паузы в нулях, а у тебя наоборот.
Но это бай зе вей.
Успехов!
я в отпуск!
У себя уже поправил.
В math.c один раз заменить 2250 на 2866. ППМ стал на свое место.
Теперь сделал длительность межканального импульса 0.3 милисекунды, как по стандарту.
Для этого заменил 2866 на 2250+450=2700, и изменил OCR1AH=0x01; OCR1AL=0xС2;
Тут это… Корочче я последних два своих мессага тормозил. Сорри. Можно грохнуть их.
Да-да… Пауза тоже учитывается 😃))
Доброго времени суток! Че-то тема стоит… Ну ничего. Решил разбавить немного. Глюки и баги прошивки в ближайшую неделю исправить не смогу - уезжаю. Но думаю придумать схемку с DDS синтезатором. Очень удобно получается. Только вот один вопросик. Допустим пусть у меня опорная частота 40.685МГц, то при частотной модуляции на сколько она должна изменяться на выходе. Т.е. какая частота должна быть, когда в РРМе 0 и когда 1. Скорости хватает. Смена частоты в синтезере происходит за ~17 тактов (на частоте 120МГц). Загрузка параллельная по 8 бит. Управляющее слово 32 бита. Весь пакет - 40 бит.
З.Ы. Хоть я и в отъезде буду, но все равно буду в инет лязять…
Но думаю придумать схемку с DDS синтезатором. Очень удобно получается.
Евгений, при такой частотной манипуляции с использованием DDS спектр выходного сигнала будет неприемлемо широким. Ширина спектра ЧМ определяется как сумма девиации и верхней частоты модулирующего сигнала. Цифровой РРМ или РСМ имеет крутые фронты и, следовательно, очень широкий спектр. Подавать такой сигнал на модулятор нельзя. В обычных передатчиках перед варикапом обязательно ставится фильтр НЧ с частотой среза 2.5-3кГц.
Кроме того, DDS выдает довольно грязный сигнал, к-рый надо будет тщательно фильтровать по ВЧ. Фильтры будут гораздо сложнее, чем П-контур обычного передатчика.
Евгений, при такой частотной манипуляции с использованием DDS спектр выходного сигнала будет неприемлемо широким. Ширина спектра ЧМ определяется как сумма девиации и верхней частоты модулирующего сигнала. Цифровой РРМ или РСМ имеет крутые фронты и, следовательно, очень широкий спектр. Подавать такой сигнал на модулятор нельзя. В обычных передатчиках перед варикапом обязательно ставится фильтр НЧ с частотой среза 2.5-3кГц.
Кроме того, DDS выдает довольно грязный сигнал, к-рый надо будет тщательно фильтровать по ВЧ. Фильтры будут гораздо сложнее, чем П-контур обычного передатчика.
Немного не соглашусь… Современные синтезаторы позволяют менять частоту без разрыва фазы, за счет чего резко снижается уровень побочных спектров. Да и фильтр не очень сложный будет.
Tak kak v RC ispoljzujetsa uzkopolosnaja moduljacija i shag kanalov 10kHz to 4astota izmenjajetsa v predelah 3-3,5 kHz t.e. na takuju velje4inu, 4tobi polosovoi filjtr v prijemnjike smog normaljno rabotatj.
U raznih proizvoditeljej filjtri v prijemnjikah ispoljzujutsa raznije. Jestj kto ispoljzujet 3,5kHz, jestj i na 5kHz. Jesli peredat4ik normaljnij i polosa sostavljajet 3,5kHz, to mozho budet ljetaj i na sosednjih kanalah. t.e. njebudet pomehi.
4ashe vsego pri 0 F=F0 a pri 1 F=F0+3,5kHz.
Jeslji postavitj F=F0 a pri 1 F=F0+5kHz i pri uslovije, 4to u drugovo prijemnjika kotorij nahodetsa v zonje prijoma v prijemnjike stoit filjtr s polosoi 5kHz i on poljzujetsa odnjim kanalom vishe, to u njevo vozmozhno budet pomeha.
P.S.
gdeto bila statja ob peredat4ikah i tam bilo vsjo opisano.