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

Tigra74
gorbln:

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

Возможно всё таки не совсем корректно откалиброван-было подобное установил минимум на стиках максимально к нулю - где-то 0,1 вольт по вольтметру,потом выставил стики так-чтоб при среднем положении показания были одинаковы,и напряжение на AREF было больше на 20 процентов от максимального на стиках
Та это и на сайте написано,и в руководстве

gorbln:

Инвертировал это дело путем исключения транзистора VT5

В меню есть возможность инвертировать сигнал
И количество каналов в меню на пульте какое установлено?
Например Corona при 7 каналах “сходит с ума”,при 6 и 8 -работает нормально
Стабилизатор греется?
Причина может быть и в малом-плата тщательно промыта от остатков флюса?-Цепи контроллёра достаточно высокоомны-и любое загрязнение(под СМД компонентами не видное) может быть помехой-я окончательно плату промывал проточно под наклоном ацетоном со шприца(не чем больше было)

EagleB3
gorbln:

Собственно, суть проблемы: через некоторое, весьма короткое, время после запуска - значения по всем настроенным каналам начинают хаотично прыгать в диапазоне 20…80%.

…По началу, значение каналов прыгало только при приближении стика к минимальному значению, но потом (в течение пары минут) - значения опять стали прыгать во всём диапазоне.

От чего питаются кодер и передатчик? Есть высокочастотные преобразователи (StepUp, StepDown)?
Две минуты?.. Что-то где-то должно нагреваться…
Какой длины провода между кодером и передатчиком?
Как разведены и распаяны земли на плате? Не проходят ли цифровые земли по аналоговой земле? А земля питания - в стороне от них?

gorbln
Tigra74:

Возможно всё таки не совсем корректно откалиброван

Возможно. Однако, в таком случае, положение стиков дрягалось бы и в меню кодера. А стики на экране стоят как вкопанные, никакого джиттера.

Tigra74:

И количество каналов в меню на пульте какое установлено?

Хм. Установлено 6. Но на осциллографе, почему-то, 7 провалов.
Стабилизатор не греется, стабилизатор - обычный 78М05.

Tigra74:

плата тщательно промыта от остатков флюса?

Не промывал, флюс безотмывочный. Но если уж совсем всё плохо, попробую помыть спиртом.

EagleB3:

т чего питаются кодер и передатчик? Есть высокочастотные преобразователи (StepUp, StepDown)?

От обычных стабилизаторов 7805.
Заметил, кстати, такую фигню, не знаю, связано это с глюками или нет - на дисплее дрожат несколько строчек. Не всегда, но бывает, и заметил я это именно в момент, когда всё колбасилось. Возможно, где-то что-то садит питалово. Насчёт нагреваться и 2 минуты - потрогаю все компоненты платы передатчика.
Провода между кодером и передатчиком остались со старого пульта - сантиметров 6-8 максимум. Скручены вместе.
Насчёт землей на плате - тут я не присматривался даже. Просто взял топологию готовую, переразвёл заливку земли (сделал сеточкой, рисунок не менял). Но судя по тому, что до меня по этой топологии народ уже делал платы, и таких глюков не было - дело не в топологии.
Щас попробую снять видео, как это всё происходит.

EagleB3
gorbln:

От обычных стабилизаторов 7805

7805 конденсаторами обвязаны?
Источник питания что? Аккумулятор? Если нет - запитайся от аккумулятора. И будешь щупать - не забудь электролиты-бочки потрогать.

Посмотри как питался передатчик в заводском варианте.
Можно даже попробовать запитать передатчик от заводской платы кодера (штатно), и дотянуть до самокодера только PPM. И землю, естественно. Хорошую землю. Желательно в точку соединения цифровой земли и питания.

Да! И шлейф программатора от кодера отсоединить не забудь!

gorbln
EagleB3:

7805 конденсаторами обвязаны?
Источник питания что? Аккумулятор? И будешь щупать - не забудь электролиты-бочки потрогать.

Посмотри как питался передатчик в заводском варианте.

7805 обвязаны только танталами, на передатчике стоит как раз стабилизатор из родного кодера. Щас его потрогал - горячий. Солидно горячий, градусов 55-60. Но вроде бы это не должно приводить к таким последствиям. По осциллографу судя - кренка не пищит. Насколько она была горячей в родном кодере - не могу сказать.
питаю всё от аккума 3S.
бочки отсутствуют, только танталы и местами керамика.
в оригинале на кренке на входе висела маленькая керамика, и больше ничего. заметил, что если держать кренку пальцем - вроде как стабильность возрастает. Но вполне вероятно, что я выдаю желаемое за действительное. Щас напаяю керамику на 0.1 мкф на вход кренки, посмотрю.

gorbln

UPD:
Напайка керамики никак не помогла.
С родным кодером всё работает прекрасно, держал минут 15 - “ни единого разрыва”. Кренка в родном кодере тоже греется. По всему, проблема в новой плате кодера. Осталось попробовать, как советовал EagleB3 - запитать передатчик от родной платы, а ППМ подать от нового кодера. Не пробовал пока, но думаю, результат будет как раньше - борода.
(кстати, заметил: после напайки в разные места керамики - дрожание строчек на экранчике убралось)

Ещё думаю выпилить напрочь тренерскую схему, повесить ППМ почти на ногу проца (через инвертор и делитель). Если и это не поможет - ну тут уж я прям не знаю…

sashok17

После кренки питание не просело? Если говорите что когда кренку пальцем прижали дрожание стало меньше, вполне может быть что палец просто как теплоотвод подействовал

СашаЖ

Заработала и у меня плата, буду вживлять в корпус, подскажите чтобы заново пере калибровать , что нужно сделать , спасибо автору и всем за поддержку данного проекта.

EagleB3

Все эти дрожания - наводят на прочную мысль о самовозбуждении. Горячие детали - могут быть следствием самовозбуждений (палец мог подействовать не только как теплоотвод, но и как конденсатор), а могут быть “просто” из-за больших токов.

Попробуй запитаться от 2S.
Попробуй отключить дисплей (если он не на разъеме - отпаяй шлейф от кодера).
Выгрызать тренерскую часть - КМК, достаточно только выпаять некоторые компоненты.

И попробуй поиграть с количеством каналов в настройке модели.
Ну и если приемник работает с инверсным PPM, и если включение IPPM в меню не отсушено - то попробовать все же работать со штатной схемой, включив IPPM.

Да!

После примерно минут 3-4 работы в таком режиме, приёмник то ли зависает, то ли вырубается

А точно зависает именно приемник?
В этот момент кодер нормально реагирует на стики-триммера-кнопки? PPM на его выходе регулируется? Потребление тока передатчиком не меняется?

Tigra74

А каким напряжением питалось ВЧ до переделки и после?

gorbln
EagleB3:

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

Попробуй запитаться от 2S.
Попробуй отключить дисплей (если он не на разъеме - отпаяй шлейф от кодера).
Выгрызать тренерскую часть - КМК, достаточно только выпаять некоторые компоненты.
И попробуй поиграть с количеством каналов в настройке модели.
Ну и если приемник работает с инверсным PPM, и если включение IPPM в меню не отсушено - то попробовать все же работать со штатной схемой, включив IPPM.

Наводят, да. Я думал, может проблема в нагреве - присобачил на кренку небольшой радиатор (около 10см2) - теперь кренка совсем холодная, а всё так же глючит. Но возбудов не видать, кренка - она свистит вольта на 2, видно бы было осциллографом.
От 2S - попробую обязательно (только с дачи приеду).
Дисплей - отключу.
Из тренерской части выпаяю релюшку (4066), VT1-VT2, стабилитрон.

Насчёт каналов - ставил 6 и 8 - не помогает.
Насчёт IPPM - попробую, не думал, что всё так просто =) я сразу - паяльником =)

EagleB3:

А точно зависает именно приемник?
В этот момент кодер нормально реагирует на стики-триммера-кнопки? PPM на его выходе регулируется? Потребление тока передатчиком не меняется?

Не знаю, что зависает. Походу, всё-таки приёмник. Кодер реагирует на стики и кнопки. Потребление тока, судя по нагреву кренки, не меняется. Да и вайфай рядом глушится - то есть передатчик явно что-то передаёт. Как посмотреть PPM - я не знаю, у меня на работе старинный осциллограф, который не держит синхру %).

Напряжение питания ВЧ блока FlySky - 5 вольт через кренку. Что в родном кодере, что в самодельном.

СашаЖ
СашаЖ:

Заработала и у меня плата, буду вживлять в корпус, подскажите чтобы заново пере калибровать , что нужно сделать , спасибо автору и всем за поддержку данного проекта.

Извиняюсь тормознул, в мануале есть.

gorbln

Победил!!!
Проблема со скачущими каналами решилась после выпаивания всей тренерской части подчистую. Что именно было - затрудняюсь сказать, но вроде как всё заработало как надо. Спасибо всем, кто помогал советами, я их все проверил =)

Mininc

Доброе время суток. Переделал свою аппу еще года 2 назад. Все хорошо и прекрасно работает. Но вот появился вопрос: как настроить дифференциальное управление элеронами ? Подключены в 1й и 6й каналы. Переклацал уже все что только знал, инструкцию почитал. Не получается 😦 😦 😦 . Посоветуйте, пожалуйста, кто знает.

EagleB3

…А что такое “дифференциальное управление элеронами”? Что должно получиться в идеале?

Если это то, про что я думаю, то:
Настройки -> Model -> Channels -> Channel 6 -> Mixer,
Поставить:

  1. Switch 2 = 0 (по дефаулту он = 100. Это мы полностью отключили влияние тумблера S2 на 6-й канал передатчика)
  2. Ailerons = 100 (по дефаулту он = 0. Это мы подключили 100% влияние стика элеронов на 6-й канал передатчика). Или поставить значение “-100”, если нужна инверсия направления поворота качалки сервы.

В разделе 10.3.3 инструкции (версия 1.9. от 11 мая 2010г) это расписано в Примере 1.

gorbln:

Проблема со скачущими каналами решилась после выпаивания всей тренерской части подчистую. Что именно было - затрудняюсь сказать, но вроде как всё заработало как надо

Высокоомные входы в воздухе с длинными дорожками/проводами? Какая именно микросхема стояла? Некачественные помехоподавляющие конденсаторы На входах или цепях переключения?

СашаЖ

Подскажите пожалуйста по такому вопросу, два раза слетал ЕПРОМ. Фусы прошиты по рисунку галочка стоит только СКОРТ , перечитывая форум натыкался что нужно еще прошить BODEN , BODLEVEL. Нужны эти фусы или нет.
Хочу заказать такую banned link ВЧ часть.

gorbln
EagleB3:

Высокоомные входы в воздухе с длинными дорожками/проводами? Какая именно микросхема стояла?

Вроде всё по схеме, топологию я тоже не менял, всё как у всех. Грешу на микросхему, что она при определённых условиях начинала свистеть. Микруха HEF4066BT, производитель NXP.

Вообще, если есть возможность - сделать бы краткий FAQ, где и про фузы сказать, и про то, как заменять, например, файл драйвера экрана.
Ссылку, опять же, на сайт sites.google.com/site/samocoder/variantes, там много чего весьма дельного понаписано касательно сборки кодера. И кинуть этот фак на первую страницу темы. Ибо ваще нереально найти что-то в 2 темах по 50 страниц даже поисковиком, я уж молчу про внутренний поиск.

Про фьюзы - я ставил CKOPT, BODLEVEL, BODEN. Все остальные галочки снимал. Codevision. Вроде всё работает.

По поводу замены драйвера экрана. С согласия автора, пощщу его описание процесса прицепления драйвера для Nokia 1100 (в начале - мои вопросы):

Denn

>>> В проекте обязательно надо подключить 2 файла: 1100.h и 1100_Rus.lib
>>> А со старыми что сделать?

>>> И со шрифтами. Если я планирую использовать только один - толстый от MSV
>>> - мне всё остальное (включая 12х24) - закомментить? Правильно я понял?
_________________________________________________________________________________

Мой ответ:

  1. Выкинуть из проекта LCD3310.c и LCD.h и скопировать 1100.h и 1100_Rus.lib в папку проекта.
  2. В файле coder.c убрать строку #include “LCD_3320.h” и добавить #include <1100.h> или #include “1100.h”
  3. В файле 1100.h нужно сделать следующее:
  • указать адрес порта, к которому подключается дисплей ( sfrb LCD_PORT=0x12; ). Адрес можно найти в DataSheet.
    {
    Если используются ноги разных портов, то нужно править функцию void lcd_write(char cd,unsigned char c)
    в 1100_Rus.lib , где конкретно указать, какие ноги куда дёргать
    ( в CVAVR PORTB.3=1; - например , ( у себя я не пробовал, так как нет нужды )
    }
  • указвть, какие ноги отвечают за какие сигналы - #define sclk 3; //bit number 3 и т.д.
  1. В файле 1100_Rus.lib поставить или удалить комментарии на:
  • //#define Rotate // поворот дисплея на 180 градусов Вам закомментировать, если поворот не нужен
  • //#define Panda // вывод на экран от Panda Вам закомментировать
  • //#define font_8x5 // вывод на экран от Panda print_char … + LCD_boldU Вам закомментировать
  • #define font_8x8 // от MSV LCD_char + LCD_bold Вам оставить без комментария
  • //#define font_8x8F // от Фокуса LCD_char_F Вам закомментировать
  • //#define font_12_24 // вывод на экран от Panda , MSV и Фокуса Вам закомментировать

Это всё. Мне кажется, что для Меги 128 можно закомментировать только //#define Rotate - там места много в флэше, всё уберётся.

По поводу стека: для Меги 128 размер ОЗУ составляет 4 КБ, что с лихвой хватает на всё и размер стека менять не надо.
Для других МК с меньшим ОЗУ, в CVAVR в верхнем меню выбираем Project -> Cofigure -> C Compiler и меняем параметр Data Stack Size на нужную величину.

EagleB3
gorbln:

Вообще, если есть возможность - сделать бы краткий FAQ

Лично я не вижу содержания этого FAQ. Ничего нет такого, что не влезало бы в Readme, вложенного в архивы.
Если Вы возьметесь вести страницу FAQ - можно такую страницу сделать.

… где и про фузы сказать,

Добавил п.3 на страницу “ПО от msv (мейнстрим)”.

… и про то, как заменять, например, файл драйвера экрана

Это, КМК, не следует вписывать в FAQ. Потому, что каждый раз этот процесс будет сильно индивидуален. Наверное стоит описать описать этот процесс детально на странице с описанием своей конструкции. Типа: “конструкция на базе варианта <…> версии <…>, применен дисплей <…>
Драйвер дисплея прицеплял так: …”

Хотите - сделаем страницу с Вашим вариантом конструкции (и страницу FAQ, если возьметесь). Шлите мне в ЛС Ваши контактные данные.

gorbln
EagleB3:

Типа: "конструкция на базе варианта <…> версии <…>, применен дисплей <…>

Как только всё проверю - пошлю все данные.

Mininc

…А что такое “дифференциальное управление элеронами”? Что должно получиться в идеале?

Может и по другому называется… В идеале должно получится чтоб элероны вверх отклонялись на больше градусов чем вниз.

EagleB3
Mininc:

чтоб элероны вверх отклонялись на больше градусов чем вниз

Настройки -> Model -> Controls -> Ailerons и настраиваем расходы (Rates). Отдельно одинарные, отдельно - двойные. Отдельно в плюс, отдельно в минус. Поэтому там 4 числа.
Включаешь одинарный расход элеронов тумблером, отклоняешь джойстик и меняешь соответствующее число в Rates. Сразу видишь на сколько элерон отклонится. Перекидываешь джойстик и настраиваешь расход в другую сторону (соответствующее число). Потом перещелкиваешь расходы элеронов на двойные, и повторяешь процедуру для DRates.
Если закон отклонения должен быть нелинейным, там же настраиваем Curve.

Но есть тонкость: если требуется задавать максимальные точки отклонения (EPA), то сперва задаем EPA в каждую сторону (Настройки -> Model -> Channels -> Соответствующий канал -> EPA+, EPA-) и только потом - расходы.