Самодельный передатчик (часть 2)
Высокоомные входы в воздухе с длинными дорожками/проводами? Какая именно микросхема стояла?
Вроде всё по схеме, топологию я тоже не менял, всё как у всех. Грешу на микросхему, что она при определённых условиях начинала свистеть. Микруха HEF4066BT, производитель NXP.
Вообще, если есть возможность - сделать бы краткий FAQ, где и про фузы сказать, и про то, как заменять, например, файл драйвера экрана.
Ссылку, опять же, на сайт sites.google.com/site/samocoder/variantes, там много чего весьма дельного понаписано касательно сборки кодера. И кинуть этот фак на первую страницу темы. Ибо ваще нереально найти что-то в 2 темах по 50 страниц даже поисковиком, я уж молчу про внутренний поиск.
Про фьюзы - я ставил CKOPT, BODLEVEL, BODEN. Все остальные галочки снимал. Codevision. Вроде всё работает.
По поводу замены драйвера экрана. С согласия автора, пощщу его описание процесса прицепления драйвера для Nokia 1100 (в начале - мои вопросы):
>>> В проекте обязательно надо подключить 2 файла: 1100.h и 1100_Rus.lib
>>> А со старыми что сделать?>>> И со шрифтами. Если я планирую использовать только один - толстый от MSV
>>> - мне всё остальное (включая 12х24) - закомментить? Правильно я понял?
_________________________________________________________________________________Мой ответ:
- Выкинуть из проекта LCD3310.c и LCD.h и скопировать 1100.h и 1100_Rus.lib в папку проекта.
- В файле coder.c убрать строку #include “LCD_3320.h” и добавить #include <1100.h> или #include “1100.h”
- В файле 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 и т.д.
- В файле 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 на нужную величину.
Вообще, если есть возможность - сделать бы краткий FAQ
Лично я не вижу содержания этого FAQ. Ничего нет такого, что не влезало бы в Readme, вложенного в архивы.
Если Вы возьметесь вести страницу FAQ - можно такую страницу сделать.
… где и про фузы сказать,
Добавил п.3 на страницу “ПО от msv (мейнстрим)”.
… и про то, как заменять, например, файл драйвера экрана
Это, КМК, не следует вписывать в FAQ. Потому, что каждый раз этот процесс будет сильно индивидуален. Наверное стоит описать описать этот процесс детально на странице с описанием своей конструкции. Типа: “конструкция на базе варианта <…> версии <…>, применен дисплей <…>
Драйвер дисплея прицеплял так: …”
Хотите - сделаем страницу с Вашим вариантом конструкции (и страницу FAQ, если возьметесь). Шлите мне в ЛС Ваши контактные данные.
Типа: "конструкция на базе варианта <…> версии <…>, применен дисплей <…>
Как только всё проверю - пошлю все данные.
…А что такое “дифференциальное управление элеронами”? Что должно получиться в идеале?
Может и по другому называется… В идеале должно получится чтоб элероны вверх отклонялись на больше градусов чем вниз.
чтоб элероны вверх отклонялись на больше градусов чем вниз
Настройки -> Model -> Controls -> Ailerons и настраиваем расходы (Rates). Отдельно одинарные, отдельно - двойные. Отдельно в плюс, отдельно в минус. Поэтому там 4 числа.
Включаешь одинарный расход элеронов тумблером, отклоняешь джойстик и меняешь соответствующее число в Rates. Сразу видишь на сколько элерон отклонится. Перекидываешь джойстик и настраиваешь расход в другую сторону (соответствующее число). Потом перещелкиваешь расходы элеронов на двойные, и повторяешь процедуру для DRates.
Если закон отклонения должен быть нелинейным, там же настраиваем Curve.
Но есть тонкость: если требуется задавать максимальные точки отклонения (EPA), то сперва задаем EPA в каждую сторону (Настройки -> Model -> Channels -> Соответствующий канал -> EPA+, EPA-) и только потом - расходы.
Как настроить это для одного канала я понимаю, но у меня 1 и 6 каналы замикшированные на 100%. Получается что когда 1й сильно вверх то второй сильно вниз. Кроме как применить сервореверсер или просто механически поставить качалку с другой стороны пока ни чего не придумал.
Вариантов миллион. Можно использовать ЕПА, как уже посоветовали, только убедиться какой режим из трех режимов ЕПА выбран при компиляции, можно использовать виртуальные каналы и для каждого элерона задать свою кривую.
Можно еще и телеметрию для кодера дописать. Только приемник другой нужен будет.
Можно еще и телеметрию для кодера дописать.
Вот это было бы здорово! А то для Turnigy уже давно сделали, а для этого проекта до сих пор нету… Обидно!
Только приемник другой нужен будет
Наверное и передатчик тоже
Вот это было бы здорово! А то для Turnigy уже давно сделали, а для этого проекта до сих пор нету… Обидно!
Наверное и передатчик тоже
+99,9%
Всем хорош данный кодер,но своего хорошего передатчика и приёмника до сих пор нет.Хочется видеть его,в диапазоне 430-470мгц.В качестве радио тракта можно использовать схемотехнику УКВ трансиверов.Хорошо если приёмник будет супергетеродин с двойным преобразованием частоты.В приёмнике частота первого ПЧ, 10,7 мгц или 21,4мгц.Синтезатор частоты на LMX 2306 или LMX 2316,гетеродин с верху.То есть,частота гетеродина,минус частота ПЧ,равно частоте приёма.А индикатор настройки оставить от Нокии 3310 и частоту показаний в мгц ,до сотен герц.Плюс энергонезависимая память и настройки прошлой установки частоты.Добавить S-метр.А если к этому,добавить прошивку сканера и тогда можно сканировать,весь диапазон,прямо на модели,перед взлётом.
А если помечтать дальше,то так же возможно организовать канал телеметрии,хотя бы в трансиверном или в полном дуплексном режиме(на двух LMX 2306). Например: заряд батареи или пропадание сигнала.Потеря модели после падения тоже весьма насущная проблема,значит нужен режим “Лиса”. Возможно подумать о “Рите”-автоматический голосовой информатор и так далее.
В передатчике и приёмнике возможно использовать имеющиеся в широкой продаже радиокомпоненты, такие ,как:BF998,BFR93A,BFG540,BFG541,микросхемы MC3361,MC3371,CD4017 в декодере и т.д.
Вот это крутой будет комплекс радиоуправления.Начать обновление,конечно нужно с простого.
Есть готовые модули RFM22B 433, и ничего городить не нужно. Да же телеметрию можно сделать, т.к. это готовый трансивер. Нужно только привязать их к кодеру. Правда, дальность где то метров 400. Но этого вполне для среднестатистической модели.
А то что вы предлагаете, это не под силу 99% участникам форума. Сделать с нуля ВЧ модуль на 433, и приёмник 433 это нужно очень шарить в области постоения радиостанций, ВЧ схем, и уметь их настраивать. Я сам радиолюбитель, и знаю что такое УКВ диапазон. Чем выше частота, тем требовани к уровню квалификации электронщика ВЫШЕ. Я пробовал делать радиостанцию на 144 мгц, и у меня не получилось т.к. нет приборов соответвующих, и ещё опыта в этой области. Те кто хорошо умеет сделать и настраивать ВЧ техзнику, занимаются именно этим всю жизнь.
Речь шла об интеграции в кодер телеметрийного радиоканала FrSky с выводом информации на дисплей кодера. А делать радиоканал с нуля - на сегодняшний день действительно нецелесообразно.
но своего хорошего передатчика и приёмника до сих пор нет. Хорошо если приёмник будет…
Как сказано в одном анекдоте: “Пацаны не против”.
Делайте. Публикуйте конструкцию. Желающие повторить найдутся наверняка.
Без соответствующей подготовки в написании программ и всё что с этим связано не возможно создать нормальный продукт.
К этому нужно подходить комплексно,сообща,и железо и программы.Одних моих мозгов и времени на это не хватит.
Телеметрия-вывод дополнительной информации на экран дисплея-а если от N3310,то места там маловато.Как вариант-еще один экран для вывода информации и на модели доп. передающий модуль,а на пульте приемник+атмега8+экран N3310.
но своего хорошего передатчика и приёмника до сих пор нет.Хочется видеть его,в диапазоне 430-470мгц
Есть, но он сырой пока, я так понимаю. Сцыль
Вот,как вариант можно посмотреть здесь,тоже на Атмеге8. www.cqham.ru/FM2006.htm
можно посмотреть здесь
Посмотреть, и закрыть. Надо скиллы изготовления радиоаппаратуры иметь 85 левела =). И времени свободного неограниченно.
Есть готовые модули RFM22B 433, и ничего городить не нужно. Да же телеметрию можно сделать, т.к. это готовый трансивер. Нужно только привязать их к кодеру. Правда, дальность где то метров 400. Но этого вполне для среднестатистической модели.
Посмотреть, и закрыть. Надо скиллы изготовления радиоаппаратуры иметь 85 левела =). И времени свободного неограниченно.
Использовать готовые модули,конечно не возбраняется.А море свободно времени пропадает по совсем другим причинам.
Конечно же нужен опыт в монтаже и настройке радиоприёмных и передающих средств,плюс наличие соответствующего оборудования.
А кто говорил,что будет легко и всё получится,с первого раза?Конечно же проще посмотреть и закрыть,ни чего не делая,покупать у дядюшки Ляо,который тоже когда то,не имел ни опыта ни знаний.
Был здесь товарищ,сейчас живёт в Липецке,переехал на ПМЖ.Так вот он на коленке этот трансивер собрал и при наличии ВЧ приборов настроил его и работал на УКВ,в тестах.Так что,не так страшен чёрт,как его малюют.
Как только всё проверю - пошлю все данные
Наконец-то дошли руки проверить подключение экранчика от Nokia 1110.
(картинка не моя, из интернетов)
Последовательность действий:
- Удалён из проекта LCD_3320.c
- Закомментирован везде (coder.c, displ.c, menu.c) инклюд на LCD_3320.h
- Добавлен везде (coder.c, displ.c, menu.c) инклюд на 1100.h
- В 1100.h закомментировано
//sfrb LCD_PORT=0x12; // PORT D - В 1100.h раскомментировано
sfrb LCD_PORT=0x15; // PORT C - Проставлены пины порта:
#define sclk 7; //bit number 0 … 7
#define sda 6; //bit number
#define cs 5; //bit number - не используется, замкнут на LCD на землю
#define rst 4; //bit number
Таким образом, новый дисплей подключается к пинам 4, 6 и 7 порта С. Пин 4 - нога 5 экранчика, пин 6 - нога 2, пин 7 - нога 1. Ноги 3 и 4 - замкнуты между собой, и идут на GND.
Ноги 9 и 10 у меня также между собой замкнуты, хотя напряжение на них нарисовано различное. У меня в эту точку подключено питание с платы (около 2.8 вольта).
Есть проблема: крайне низкая контрастность экрана (практически ничего не видно). Пока разбираюсь с этим вопросом, сдаётся мне, разница в напряжении 2.5 и 2.8 вольта была-таки не зря…
Экран 1110 хороший, только вот картинка занимает его далеко не полностью. Полагаю - надо как-то изменить интерфейс, “растянув” его на родные для этих дисплеев 96х68. Прощу помощи, сам не знаю как и что.
Найдены баги:
- не сохраняются настройки алармов батарейки. После выключения - алармы по умолчанию
- Крайне неправильное переключение режимов вертолёта. должно быть “THold - Normal - IdleUp”, а сейчас “Normal - IU - TH”. Получается, чтобы врубить холд, когда газ у меня убран в режиме нормал, мне надо проскочить режим Idle Up, в котором при таком положении газа - ротор раскручивается с бешеной скоростью. Это неправильно и вообще травмоопасно!
- Переключатель Throttle cut в режиме вертолёта мёртвый. То есть, он видится, индикация режима TCut на экране есть - но газ не убирается.
С режимами попробую разобраться (мне это очень не нравится) - о результатах расскажу.