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

rulll
yura_v:

Второй вопрос какое напряжение выставлять подстроечником R4 ?
я сейчас выставил на ощупь чтоб калибровка примерно в центре была.
но границы не чётко отрабатываются иногда уже край квадрата а ход ручки ещё есть…

rcopen.com/forum/f8/topic28745/400
Это было раньше. Можно былоб почитать форум самостоятельно и найти ответы.

yura_v

Забыл спросить а в калибровочном окне нижняя полоска - индикатор под квадратами что отображает?

у меня она дублирует один из джойстиков причём вправо(правые процентов 20) просто исчезает и появляется аж с краю экрана с другой стороны.
АЦП запаяны только 4 потенциометра и батарея

ubd

Эта полоска показывает 5-й пропорциональный канал.

Aleksey_Gorelikov
yura_v:

Забыл спросить а в калибровочном окне нижняя полоска - индикатор под квадратами что отображает?

у меня она дублирует один из джойстиков причём вправо(правые процентов 20) просто исчезает и появляется аж с краю экрана с другой стороны.
АЦП запаяны только 4 потенциометра и батарея

Это просто АЦП проца глючит, так как вход висит в воздухе. Если подпаяешь резюк - все будет ок, будет еще один канал.

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

Насчет резюка, на АРЕФ, его надо задвинуть в крайнее положение, т.е. на напряжение поданное на резюки. В противном случае повышая точность ацп мы теряем линейность. (нейтараль - вовсе не нейтраль, видно при калибровке). Выход?!? Диф. вход АЦП решит проблему, но Женя почему-то от него отказался… Почему??? Да потому, что с его резисторами (Хайтек) все клево, ибо у них ход равен ходу ручки. Наверно по этому… Соответственно, на АРЕФ у него, скорее всего 5в.

focus

Вот испаравленная прошивка. Исправлен глюк с восьмым каналом, поменяны местами триммеры на дисплее (Для Ubd). Скорость триммера уменьшена вдвое.

кто- нибудь пробовал собрать кодер на МЕГА8 и Индикатором от телефона например nokia3310??

По поводу использования меги 8 вот что могу сказать: про нормальное использование граф дисплея можно забыть - некуда девать буффер. Матеатика поместится. Но вот графику запихнуть проблема будет. Я делал первый кодер на меге16. Все с натяжкой влезло в нее. Прога выложена в начале ветки где-то.

CVProject_Final1.1.rar

toxa
focus:

Я делал первый кодер на меге16. Все с натяжкой влезло в нее.

Очень увлекаетесь конструкциями вроде lcd_pixel(8,24,1); Это занимает много места и работает долго. Напишите функцию вывода спрайтов и задавайте картинки (спрайты) в виде констант. Так как рисунок ч/б то можно кодировать 1 бит = 1 пиксел; это даст экономию по памяти и быстродействию.

ubd

Насчет резюка, на АРЕФ, его надо задвинуть в крайнее положение, т.е. на напряжение поданное на резюки. В противном случае повышая точность ацп мы теряем линейность. (нейтараль - вовсе не нейтраль, видно при калибровке). Выход?!? Диф. вход АЦП решит проблему, но Женя почему-то от него отказался… Почему??? Да потому, что с его резисторами (Хайтек) все клево, ибо у них ход равен ходу ручки. Наверно по этому… Соответственно, на АРЕФ у него, скорее всего 5в.

И что, нет смысла в этом переменном резисторе? Дело то в том что 5-ти килоомный резистор перемещается всего на 1 К в одну сторону и в другую 1К - амплитуда примерно 2К. Если подать на него 5В, то на выходе будет - в крайнем нижнем положении ручки 1,5В а в верхнем положении 3,5В. А на AREF нужно подать немного больше того что подаётся на аналоговые входы АЦП. Т.е. оптимально 4В. Значит этот переменный резистор очень нужен. В принципе, будет и с 5В работать… А линейность, линейность будет, ведь калибровка на то и нужна…

Focus, огромное тебе спасибо! Завтра прошъю на работе и посмотрю как всё будет работать.

Удачи всем!

Aleksey_Gorelikov
ubd:

А линейность, линейность будет, ведь калибровка на то и нужна…

Дык тогда надо всю логику подправить. Появившуюся нелинейность калибровка не спасет. Прошьешь - упидишь, при калибровке - “глазки” будут косые. Собственно и нейтраль машинок - тоже. С шайтековскими джойстиками проблем то нет, т.к. резистивное покрытие у них только в рабочем диаппазоне хода ручки. Тут как раз ставишь 5 вольт (или выкидываешь резистор) и все нормально, “глазки” не косые. А в вашем случае именно диф. вход предпочтителен.

yura_v

А вопрос как один контрол засунуть в два канала с разными кривыми?
Это нужно во всех вертолётах с коллективным шагом
кривые шаг газ с одной ручки снимаются и могут быть весьма произвольными.
Насколько я понял кривая привязана к контролу и как тогда быть?
Последнюю прошивку ещё не пробовал а на этой при попытке зайти в users1 или users2 вешается и через несколько секунд сыпет мусор на экран
Переключатели режимов не запаяны. кроме нормала.

ubd

Focus, ты перепутал. Я просил поменять местами руль высоты и газ, а ты поменял местами элероны и руль поворота. Теперь получается что перепутаны тримера на всех органах управления.

А чувствительность тримеров, более менее нормальная стала. Хотя говорить так уверенно я не буду, нужно в полёте попробовать. Пока так оставим.

Focus, пожалуйста поправь ещё раз…
Ждём следующую версию…

yura_v

Вариант с сохранением ориганального передатчика

bea

_________.rar Дело то в том что 5-ти килоомный резистор перемещается всего на 1 К в одну сторону и в другую 1К - амплитуда примерно 2К. Если подать на него 5В, то на выходе будет - в крайнем нижнем положении ручки 1,5В а в верхнем положении 3,5В.

Вот таким образом изменил резисторы,хотя про токопроводящий клей уже писали.
Дискретность около 800

yura_v

Поспешность и мерзкое отсутствие осцилоскопа сделали своё злое дело - начал летать на фпшнике - и прикладывал по комнате пока не сломал обе лопасти.И это при том что он у меня отстроенный и нормально управлялся на родном пульте.
Проблема переползания с китайских прошитых пультов следующая - надо точно знать что у них шло с каналов - сколько мс центр и каков размах. Потому как в делюксе пашет замечательно а на верте - не управляется нифига причем не сразу понятно почему.
Вопервых надо точно выставить центр по рудеру иначе гиры не хватает в какую либо сторону.
Во вторых я не знаю где китайцы замикшировали ревомикс - на пульте или на приёмнике

Поэтому повторяю свой вопрос - как отдать контрол (тягу) в два канала
в данном случае тяги и микс рудера - с разными кривыми?

Пожелание к прошивке будет такое - возможность замерять оригинальный и свой ппм и казать в цифрах
например в окне калибровки

Aleksey_Gorelikov
yura_v:

Поэтому повторяю свой вопрос - как отдать контрол (тягу) в два канала
в данном случае тяги и микс рудера - с разными кривыми?

Пожелание к прошивке будет такое - возможность замерять оригинальный и свой ппм и казать в цифрах
например в окне калибровки

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

yura_v
Aleksey_Gorelikov:

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

понял
они у меня как раз и не работают 😦 вешают пульт
буду сегодня пробовать последнюю прошивку что фокус для ubd выложил

focus

Focus, ты перепутал. Я просил поменять местами руль высоты и газ, а ты поменял местами элероны и руль поворота. Теперь получается что перепутаны тримера на всех органах управления.

Мои извинения… 😃 Вот, поправил.

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

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

CVProject_Final1.2.rar

yura_v
focus:

Мои извинения… 😃 Вот, поправил.
Она такая же как и предыдущая, только изменена скорость и привязка триммеров.

Пришлось потереть еепром - полечило.

Припаял два потенциометра на проп и ад1
проп не каибруется и рисуется с ошибками - курсор кидает влево с определенной правой позиции.

мелкий недочёт - в меню controls назавания смещены на 1 писель вверх.

при введении имени модели последние буквы не отображаются сразу - только после перезагрузки

после некоторых действий разваливается max ch количество каналов - рисуется мусор и не работает.

ubd

Пришлось потереть еепром - полечило.

А нужно было пямять ЕЕПРОМ, сохранить отдельным файлом, а после обновления программы, загрузить его опять - все бы настройки сохранились…

Припаял два потенциометра на проп и ад1
проп не каибруется и рисуется с ошибками - курсор кидает влево с определенной правой позиции.

ад 1 не существует. Как я понял, есть только пять пропорциональных канала - элероны, руль высоты, газ, руль поворота и дополнительный канал, он подключается к 61 ноге, т.е. ADC0. Вот он как раз калибруется нормально.

мелкий недочёт - в меню controls назавания смещены на 1 писель вверх.

У меня всё нормально.

при введении имени модели последние буквы не отображаются сразу - только после перезагрузки

Это не страшно, можно питание выключить и включить. Лиш бы всё остальное работало…

yura_v
ubd:

А нужно было пямять ЕЕПРОМ, сохранить отдельным файлом, а после обновления программы, загрузить его опять - все бы настройки сохранились…

дык изза неё как раз и не работали юзерсы Поэтому пришлось тереть.

ад 1 не существует. Как я понял, есть только пять пропорциональных канала - элероны, руль высоты, газ, руль поворота и дополнительный канал, он подключается к 61 ноге, т.е. ADC0. Вот он как раз калибруется нормально.

а у меня такое впечатление что зашкал идёт.
Фокус, калибровка всех джойстков независима друг от друга?
Китайцы в моём пульте применили 5к резюки и задействовали среднюю зону 3.4к оставив по краям 810ом мёртвые зоны
А на пропы я поставил резюки на 20к …

У меня всё нормально.

не может быть. Зайди в controls потом в ailerons и увидишь что надпись вверху - Ailerons подпрыгнула на пиксел

Это не страшно, можно питание выключить и включить. Лиш бы всё остальное работало…

Это да но вот то что макс ch может развалиться напрягает. Вчера сделал модель - для сима назаначил 8 каналов и забыл
сегодня сунулся туда - мусор вместо цифры 8. Причём это не просто на экране мусор - оно в натуре не работает.

Вопрос: отображаются только три режима. Все остальные тумблеры давишь вслепую? swXX, kmodX, дуалы…
нигде не индицируются?

Из пожеланий:
калибровочный экран под mode2 переделать
сделать монитор всех контролов в цифре и миллисекундах
добавить проп2 на всякий случай - на вертолётных пультах до трёх крутилок бывает

скоро приедет ccpm верт и тогда точно всё скажу

yura_v

Залез в код
по поводу смещения на пиксель - да стоит 7 а не 8 в этих меню. Поправил.

по поводу prop
в math.c он присваивается ad[7] которого не существует - при компиляции ворнинг
есть подозрение что он не идёт в канал в результате этого.
if (AD[4]>0) input[7]=AD[4]*Kmax[4]/10;
else input[7]=AD[7]*Kmin[4]/10;

по поводу калибровки prop
я вывел в эран калибровки все значения в цифре AD[x] и проч
ubd - если у тебя калибруется нормально то значит у тебя абсолютное значение с ацп значительно меньше 1023
А у меня со всех джойстиков максимум 1023. Бага в следующем
В коде рисуется палка длиной 50 писелей и маркер.
x2=(AD[4]-ADmin[4])*50/(ADmax[4]-ADmin[4])+23 ;
lcd_rectangle(23,50,73,52,1);
lcd_fillrect(x2-1,48,x2+1,54,1);

как видно при умножении чисел от 656 до 1023 на 50 результат переполняет двухбайтовую внутреннюю переменную.
поэтому следует либо уменьшить длину полозка до 31 либо както навязать longint в процессе вычисления -
я не спец в си.

Фокус!Желательно проверить весь код на переполнение в процессе вычислений.

focus

x2=(AD[4]-ADmin[4])*50/(ADmax[4]-ADmin[4])+23 ;

у меня в проге они вообще типа unsigned char i,x2,y2; - 1байт, и все работает… странно даже. я сам шас глянул и удивился 😃

yura_v
focus:

у меня в проге они вообще типа unsigned char i,x2,y2; - 1байт, и все работает… странно даже. я сам шас глянул и удивился 😃

эти пофиг. к ним присвоение в самом конце. Главное с какой точностью вычисления делаются.
каков у тебя диапазон измений AD[i] ?

После интенсивного тестинга обнаружил что опять загадились юзерсы. Придётся опять тереть еепром и все по новой.
Либо в еепром чтото случайно пишется например при копировании модели
либо у меня такая странная мега.

Кстати наверно не стоит при копировании модели копировать и её название.

jon_bear
yura_v:

После интенсивного тестинга обнаружил что опять загадились юзерсы. Придётся опять тереть еепром и все по новой.
Либо в еепром чтото случайно пишется например при копировании модели
либо у меня такая странная мега.

Привет! А они загадились не после выключения-включения передатчика? у меня такое было, и решилось просто, спасибо VAD64 ! (см. Сообщение #503)

ubd

Рекомендую активизировать в процессоре систему BOD. При выключении питания напряжение спадает плавно, а при критически низком напряжении процессор может делать странные вещи, в том числе - портить EEPROM. Включенный BOD будет переводить проц в RESET при падении напряжения ниже заданного порога.

Там во фьюзах есть BODLEVEL и BODEN. Какой из них ставить?

yura_v
ubd:

Там во фьюзах есть BODLEVEL и BODEN. Какой из них ставить?

насколько из тех постов я понял - оба. если питание у меги 5 вольт. сам ещё не шил.

кстати а никто не хочет дописать тахометр для этого проекта?