Самодельный передатчик (часть 1)
lamobot спасибо а то хочу спаять такой приёмник. А как он себя зарекомендовал ну например качество приёма, максимальное расстояние и во сколько весь приёмник тебе обошёлся. Да а передатчик какой?
передатчик ну как бы самопальный все же )) только ВЧ блок от e-sky. кварцы feiga для одинарного преобразования завелись без проблем.
обошеся приемник в рублев 350 наверное, я точно не могу сказать-я все детали обычно беру с запасом и сейчас уже не вспомню.
работает прекрасно. Удалил передатчик ~на 150-200м по земле и крутил настройки. Все работает отлично. Интересно что даже дома накрыв передатчик, лежащий на полу, тазом и уйдя за несколько бетонных стен он все равно работал =) может конечно у меня стены картонные дома 😂
если хочешь собирать-собирай сразу сразу версию на 8 каналов, схема есть в теме-обсуждении статьи. Там различия только в печатке-ВЧ часть точно такая же и настройка не отличается.
MC3371P в чип-дип стоит 92р.
накрыв передатчик, лежащий на полу, тазом и уйдя за несколько бетонных стен он все равно работал
Надо медным тазом накрывать чтоб не работал.
Както от темы удаляемся…
to focus
to lamobot
так кто как полётные режимы переключает???
MC3371P в чип-дип стоит 92р.
ага, поди купи его 😃 он есть только в прайсах.
молдетз!
полетные режимы я переключаю тумблером с тремя положениями. ну короче их три у меня всего 😊
а мне больше и не надо ))
интересно конечно узнать как это сделано в фирменных передатчиках. но уж больно не хочется выслушивать некоторых особо умных хоббистов с их репликами "аааа он не может даже придумать как переключать режимы ааа пошел бы работать и купил футабу, недоумок!!! " 😲
или еще идея по существу: есть две кнопки вврех и вниз. На экране высвечивается текущий режим, кнопками скролим режимы как список и останавливаемся на нужном. плюсы: любое колличество режимов. Минусы: пока проскролим включится куча ненужных режимов. Решение-сделать задержку применения выбранного режима на 1…1,5 сек, чтобы успевать
или еще идея по существу: есть две кнопки вврех и вниз. На экране высвечивается текущий режим, кнопками скролим режимы как список и останавливаемся на нужном. плюсы: любое колличество режимов. Минусы: пока проскролим включится куча ненужных режимов. Решение-сделать задержку применения выбранного режима на 1…1,5 сек, чтобы успевать
такой вариант сейчас и рассматриваетсятолько вместо задержки 1-1,5 сек ещё кнопочка вроде подтверждение…
либо переключатель трёхпозиционный пока оставил это на сладкое 😃
честно говоря мне почти никогда не приходилось переключать режимы в полете =) поэтому судить не могу удобно это или нет. но мое ИМХО все же, что лучше бы исключить необходимость пялится на экран. допустим я лечу и смотрю в небо, и задумал переключить-получается я должен взор опустить на экран, покликать там =) попытатся разобрать название режима… короче не знаю. я наверное тумбер оставлю
настроение у меня фичакатное 😵
лучше бы исключить необходимость пялится на экран. допустим я лечу и смотрю в небо, и задумал переключить-получается я должен взор опустить на экран, покликать там =) попытатся разобрать название режима… короче не знаю. я наверное тумбер оставлю
здесь ты полностью прав… тумблер форева!
интересно конечно узнать как это сделано в фирменных передатчиках. но уж больно не хочется выслушивать некоторых особо умных хоббистов с их репликами "аааа он не может даже придумать как переключать режимы ааа пошел бы работать и купил футабу, недоумок!!! " 😲
Если интересно, могу расказать как сделаны переключатели на “Фирменном” чисто вертолетном пульте от валкеры. Думаю, что они там все слили с jr или еще откуда-то.
Там есть 3 шт. переключателя dual rate.
Для чувствительности гироскопа задается два значения, одно из которых в дальнейшем выбирается для каждого полетного режима.
1 шт. 3х-позиционный переключатель режимов+1 режим Throttle hold, который перекрывает 3х позиционный переключатель, если throttle hold включен. Для всех 4х режимов задаются кривые шага и номер чувствительности гироскопа. Для всех, кроме throttle hold задается газ. Для throttle hold задается уровень газа в процентых при всех положениях стика.
Есть крутилки для регулировки газа и шага в среднем положении стика газа (думаю чисто вертолетная фича)+крутилка, сдвигающая кривую шага на всем протяжении вверх-вниз.
Переключатель gear.
Есесно выбирается тип тарелки перекоса.
В кривых есть прикольная феня - при движении стика на кривой рисуется вертикальная линия, показывающая текущее положение стика и пишутся положение стика и результирующее значение.
Есть монитор, показывающий положение всех каналов.
Есть настраиваемая пищалка по уровню напряжения аккумукляторов и запускаемый вручную таймер. Напряжение аккумуляторов показывается на экране.
Чего нет и что считаю удобством:
- Показа текущего режима
- цифрового триммера стика газа. (Почему-то аналоговый)
- Когда крутишь ручку pit trim (сдвигающую кривую шага целиком), то на экране не появляется график. Но двигается ползунок.
- Отсутствует таймер по газу больше определенного.
Да, экран неизвестного разрешения размером 5.7 на 3 см. Его площади и пиуселей достаточно для вывода практически всего необходимого. К примеру, обычные менюшки там высвечиваются в два столбца и под скроллер никогда не попадают.
Если надо, могу сделать фотки экрана и выложить. К сожалению, футабы не имею и ее показать и рассказать о ней так просто не могу.
Да, проц - то ли 32-я, то ли 64-я мега.
спасибо вам большое! очень интересно!
несколько раз перечитывал-вроде понял =) Теперь обмозговываю.
Мне кажется что для универсального пульта будет оптимально иметь два ползунка, две крутилки, 4-6 трехпозиционных тумблеров и 2 двухпозиционных. Ну и ручки само собой. Кто нить прокомментирует?! 😉
Кстати в JR вроде бы тоже аналоговый триммер газа.
Если надо, могу сделать фотки экрана и выложить
если вас не затруднит, сделайте парочку пожалуйста!
Да, проц - то ли 32-я, то ли 64-я мега.
а вот это неожиданно! наверное на асме написана прошивка
2focus:
Сделал таки Ваш кодер.
Переписал исходник на GCC под Mega128
Меню работает изумительно. Таймер полётного времени ведёт себя странно - хочет - стартует сразу при сбросе контроллера, хочет - через 2-3 минуты (то есть через время, никак не связанное со значением таймера), а иногда и вовсе не стартует.
В чём может быть засада?
Кстати, что и где надо поменять чтобы таймер работал правильно при тактовой 16МГц вместо 12МГц ?
(у меня отладочная плата на базе Mega128 с кварцем на 16МГц
ERE EMB128C16 + ERE MEGAEX )
2focus:
Кстати, что и где надо поменять чтобы таймер работал правильно при тактовой 16МГц вместо 12МГц ?
проблеммка немного шире нежели кажется…
часы у вас торопятся так? так!
а считаются они у фокуса в прерывании от таймера!
тобиш тут:
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
если под GCC то тут:
SIGNAL(SIG_OUTPUT_COMPARE1A)
и параметры PPM у вас тожа уплыли !!!
у вас сейчас получается таймер щёлкает на 2 мегагерца а в оригинале было 1,5!!
а чтобы врё правильно заработало нужно ввести поправки в длительности каналов а часики сами наместо станут !!!
и параметры PPM у вас тожа уплыли !!!
у вас сейчас получается таймер щёлкает на 2 мегагерца а в оригинале было 1,5!!
а чтобы врё правильно заработало нужно ввести поправки в длительности каналов а часики сами наместо станут !!!
Ага
я увеличил значения регистров чтобы считало “дольше”. Но часики как бежали - так и бегут. как раз на 25 прОцентов быстрее 😦
у Евгения значения канальных импульсов 2250, я выставил 3000 … Но ничего не изменилось … ВООБЩЕ НИЧЕГО !!! Может я не туда тыкаюсь? Ткните плиз куда мне надо, я с Таймерами в АВР ещё ни разу не работал - посему для меня это “тёмный лес”.
Прикол то ещё и в том, что эти часики то сами с места срываются - а то никакими усилиями не заставишь их тикать , и где ковырять - я тоже пока не понимаю.
Привет всем!
Переписал кодер Фокуса ( для мега16) под под схему Фокуса на мега128.
Хекс внизу.
#define up PIND.4
#define down PIND.5 // навигация по меню
#define ok PIND.6
#define esc PIND.7
#define ch7_1 PINE.2
#define ch7_2 PINE.3
#define ch5 PINE.4 // пятый канал
#define rate PINE.5 //расходы первые/вторые
#define cut PINE.6 // выключение двигателя
#define beeper PORTE.7
у Евгения значения канальных импульсов 2250, я выставил 3000 … Но ничего не изменилось …
Прикол то ещё и в том, что эти часики то сами с места срываются - а то никакими усилиями не заставишь их тикать , и где ковырять - я тоже пока не понимаю.
del=ch[1]+ch[2]+ch[3]+ch[4]+ch[5]+ch[6]+ch[7];// вычисляем общую длину импульсов
del=30000-del; // вычилляем длительность синхропаузы
здесь 30000 исправить на 40000
нуи считать каналы от 3000 и поправочка нужна к тому что прибавляеш к 3000
иначе получиш слишком шерокий диапазон длительностей и можеш выжеч машинки
выглядеть будет примерно так:
ch[1]=3000+adc[1]+trim[1]*9;
по поводу почему “срываются” часы надо в твой код глядеть… 😉
del=ch[1]+ch[2]+ch[3]+ch[4]+ch[5]+ch[6]+ch[7];// вычисляем общую длину импульсов del=30000-del; // вычилляем длительность синхропаузы
здесь 30000 исправить на 40000
У Евгения есть ещё значение задержки 14000 - его тоже надо менять?
ну и считать каналы от 3000 и поправочка нужна к тому что прибавляеш к 3000
иначе получиш слишком шерокий диапазон длительностей и можеш выжеч машинки
выглядеть будет примерно так:ch[1]=3000+adc[1]+trim[1]*9;
по поводу почему “срываются” часы надо в твой код глядеть… 😉
вот мой код - фактически это просто переделанный под Мегу128 и под GCC кодер Евгения. Да, и define вынесены в отдельный файл config.h, но логику работы я не менял.
Я так и не понял по коду - в какой момент _должен_ запускаться таймер и как его можно (и можно ли) принудительно остановить, чтобы не тикало.
Я так и не понял по коду - в какой момент _должен_ запускаться таймер и как его можно (и можно ли) принудительно остановить, чтобы не тикало.
по евгению
таймер запускается принажатии esc и up
останавливатся по esc и down
if ((m[1][0]==0)&&(!esc)&&(!up)&&(tm1!=0)){b_tm=1;} //включение таймера
if ((esc==0)&&(down==0)&&(b_tm==1)){tm2=0;b_tm=0; beeper=0; tm1=time;} //выключение таймера
щас гляну ваш код ,далеко не уходите 😉
про 14000 это инециализационное значение если его не поменять то первая посылка после включения будет не правильная!короткая…
в принчепе ничего страшного но для полядка поставте туда 19000