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

Denn

Здравствуйте!
Подскажите, пожалуйста, кто может: я запутался в программе кодера. Появилось желание ( необходимость ) сделать субтриммеры и ЕРА для каждой моды ( пилотаж, нормал и посадка ) свои. И у меня появилась куча ошибок.
Сделал перенос из одной структуры в другую :
// MODE
typedef struct {
CONTR_A1 contr_ab[3]; // Основные аналоговые каналы без газа
CONTR_A2 contr_tr; // Газ
CONTR_A3 contr_ap; // Доп. аналоговый
CONTR_D contr_d[3]; // Дискретные каналы
CONTR_V contr_v[2]; // Виртуальные каналы
signed char mixer[MAX_CHANS][MAX_CONTRS];
signed char trimmers[4];
signed char subtrimmer[7]; // проба
signed char epa[2]; // проба

}DEF_MODE;
// Channels
typedef struct {
// signed char subtrimmer; // проба
// signed char epa[2]; // проба
signed char reverse;
}CHANNEL;

и стал исправлять
v=channel->subtrimmer; v*=10;
на
v=channel->cur_model.modes[cur_mode_ind].subtrimmer; v*=10;
и др.
и тут полезли ошибки.
Помогите пожалуйста, если можете.
( поподробнее, пожалуйста!!! )

Денис

СашаЖ

Здравствуйте, очень заинтересовала данная тема, есть передатчик 4 канала на 2,4Ггц и приемник 6 канальный, катастрофически не хватает канала одного. Хочу попробовать спаять данный девайс. Паять, травить, прошивать умею, перечитал тему, но так и не понял одной вещи, как с новым кодером приемник будет привязываться к данной аппаратуре. Сейчас что бы сделать привязку приемника к передатчику нужно на передатчике нажать утопленную кнопочку, включить питание и на приемнике перемычку поставить, что то в таком духе.
Извините может быть за глупый вопрос, но очень надо.

dollop
СашаЖ:

как с новым кодером приемник будет привязываться к данной аппаратуре.

Ничего в плане бинда не поменяется - как было, так и останется. И все же попрошу озвучить модель аппы, потому что кое-где встречается использование специфического PCM, и данный кодер в том виде, что представлен здесь может не помочь.

ubd

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

СашаЖ



Аппаратура такая, приемник в самолете сфотать не смог. Сегодня вечером впервые разобрал и с досады даже забыл сфотографировать, ВЧ блок собран в месте с кодером на одной плате и кнопка та что на фото с лева как раз что то перекорачивает в ВЧ модуле при его привязке к приемнику.

dollop

Ясно. На вашем месте я бы начал с проверки и нахождения ППМ, который поступает на ВЧ модуль. Для этого можно применить как осциллограф так и линейный вход компьютера с соответствующим софтом. Как только справитесь - дальше проще.
Там у вас сбоку должен быть разъем типа джек для симулятора, начните поиски оттуда

2ALL
Уважаемые, хочу представить вашему вниманию прошивку с памятью на 40 моделей (лично меня уже достала перестройка своих моделек или запоминание на какой полетной моде у меня какая моделька - не хватает мне 7 штук).
Поэтому решил немного скрестить проделанную Алексеем Гореликовым работу по портированию “Самодельного передатчика” на Turnigy опять с “Самодельным передатчиком”. Выражаю Алексею огромную благодарность за помощь!
Короче, вот такие изменения.
Аппаратные:
Используется I2C EEPROM типа 24C512 (можно и другие - 24C256 и т.д.)

Подключение EEPROM: “Адреса” и “земля” - на земле. SDA - на бит 6 порта С, SCL - на 7 бит того же порта. Эти ноги свободны и не используются. Подпаиваться конечно неудобно, но было бы желание. С SDA и SCL по килоомному резюку на +5, нога R/W - в воздухе, ну и последняя нога - +5вольт.

Можно прилепить на другие ноги меги - в исходниках место указано (файл coder.c). Интересно попробовать аппаратный TWI, может скорость работы EEPROM увеличится.
Программно - функциональные:

  1. Прошивка под аппы ГГц диапазона, поэтому никаких антенн и настройки частоты нет
  2. Добавлен пункт меню Options->Alarms->Throttle, где можно отключить предупреждение о том что газ не в минимуме при включении
  3. Добавлен пункт меню Options->Servotest, в котором можно включить режим тестирования серв, подключенных к приемнику. По всем каналам (кроме третьего) канальный импульс циклически меняется от максимума до минимума. (Еще раз спасибо Алексею Гореликову). При включении этого режима есть индикация главном экране вместо таймера модели.
  4. Триммеры автоматически не сохраняются! Если нужно сохранить триммеры, то заходим в меню Model и выходим из него, кодер попросит сохраниться, выбираем Save. Делать это лучше с моделью на земле. Так сделано потому что время записи во внешнюю ЕЕПРОМ довольно большое, и чтоб не было перебоев с управлением моделью во время сохранения.
  5. Не пойму что там с CRC. Алексей говорил, что вроде бы не проверяется. По коду - кажется есть проверка. Провел несколько дней в попытках понять как оно… Понял, что CRC желательно считать и хранить отдельно для каждой модели, ибо если это делать для все памяти - можно уснуть при расчетах.
    Может гуру программирования подтянутся (по п.5), кому интересно, потому что я по-натуре совсем не программист, тем более, на С.
    На сей момент кодер работает отлично - нареканий нет.

Source_China_3310-without Ant&Freq - dollop - ext-eep.zip

СашаЖ

К этой аппаратуре я спаял ЮСБ переходник и в Фениксе тренируюсь, разъем 3,5мм общий и выход ППМ, и как раз он со стороны ВЧ блока, так что куда подавать я найду куда и осциллографом проверю уровень сигнала , а потом отрезать кусок платы с ВЧ блоком или есть другие варианты.

dollop

Все правильно, только отрезать ВЧ желательно после проверки. Можно для начала дорожку перерезать, и подсунуть туда ППМ от другого кодера (этого который в этой теме обсуждается или от простейшего) Если сервы на приемнике будут слушаться команд, то все ОК, и можно ВЧ отрезать и кнопку бинда не забыть. Думаю, может еще приемников докупите 😃 - биндить придется. Все же не исключен вариант, что в пульте по ВЧ передается CPM. Тест, описанный выше, позволит это выяснить.

СашаЖ
dollop:

Все правильно, только отрезать ВЧ желательно после проверки. Можно для начала дорожку перерезать, и подсунуть туда ППМ от другого кодера (этого который в этой теме обсуждается или от простейшего) Если сервы на приемнике будут слушаться команд, то все ОК, и можно ВЧ отрезать и кнопку бинда не забыть. Думаю, может еще приемников докупите 😃 - биндить придется. Все же не исключен вариант, что в пульте по ВЧ передается CPM. Тест, описанный выше, позволит это выяснить.

Спасибо

ADima

2 СашаЖ если уж расковыряли то не моглибы посмотреть на каких детальках собран ВЧ блок?

Aleksey_Gorelikov
dollop:

Интересно попробовать аппаратный TWI, может скорость работы EEPROM увеличится.

Увеличится. Весьма приятно использовать в связке с большими дисплеями, типа Тик-а, они тоже на и2с. Кстати, по желанию можно и и2с аксели повесить и рулить моделью наклоном передатчика относительно горизонта. %) Но это лирика.
Еще существенно увеличить скорость можно перейдя в страничный режим работы е епромом. Я кажется в свое время где-то накосячил, работало шустро и хорошо, но местами данные портились, причину я тогда не нашел.
В версии, которую я тебе отправлял - црц не проверялся. Финальные версии я похоронил на рабочем ноуте со сменой работы. 😦
У одного из бета-тестеров (Catsw) был факт сбоя с крашем, вызванный кучей нелепых случайностей: Длинные провода шины И2с, 1вт-ный радиомодуль на 2,4 и принебрежение инструкцией, в которой написано, что анетну на модуль привинчивать нельзя, что надо через кабелек ее подсоединять и ставить подальше от “Дна” аппаратуры. Тут как говорится - на бога надейся… Короче, дописывай проверку црц, хуже не будет. Считаться то она считается, надо чтоб сравнивалась.

СашаЖ
ADima:

2 СашаЖ если уж расковыряли то не моглибы посмотреть на каких детальках собран ВЧ блок?

Посмотрю и сфотографирую, чуток по позже.

gorbln
Aleksey_Gorelikov:

и2с аксели повесить и рулить моделью наклоном передатчика относительно горизонта

У меня была мысль - на трёх ADXL345 сделать бесконтакный датчик положения стиков аппаратуры. Типа, 2 акселя на стиках, а один, образцовый, на самой аппе. И рассчитывать положение на основании проекций ускорения свободного падения. В плюсах - простота реализации, отсутствие механических частей. Но есть серьёзные минусы, в первую очередь - на полное отклонение стика будет всего где-то 50 отсчётов. Ну и перекалибровывать аксели тоже надо каждый раз.

Pantryk
dollop:
  1. Не пойму что там с CRC.

Дело в том, что когда вы считаете CRC, нужно чтобы было с чем сравнить. Т.е. сравнивать нужно с тем что в памяти, а в памяти у нас не все, а только часть. Получается, что если есть сбойная ячейка, то при записи модели сбойная ячейка не запишется, а при проверке у нас все читается с еепрома и итоговая сумма будет с учетом того, что сбойная ячейка прочиталась не так, как мы ее записывали, но мы этого не узнаем. Поэтому логичнее считать CRC для каждой модели отдельно и при записи сначала считать CRC по модели в RAM а потом все записывать в еепром, тогда если что-то неправильно запишется, то CRC не совпадет.

СашаЖ

Посоветуйте дисплей какой поставить, чтобы шлейф готовый был, третий телефон разломал 3310, подпаял шлейф а он молчит.

СашаЖ
sasas:

Вот такой Nokia 5110

Спасибо, а прошивку под его нужно или она от 3310 подойдет.

СашаЖ

Обещанные фото внутренностейВЧ блок собран на АЕмеге48 и СС2500 кодер HT4BR47.
Вроде ничего сложного, ППМ вроде понятно питание также , уровень ППМ похоже 5вольт.
Может кто поделиться прошивкой под индикатор Нокиа 5110 заранее благодарен. Gurrr@ukr.net

Aleksey_Gorelikov
СашаЖ:

Посоветуйте дисплей какой поставить

Tic или еще тут аналогичный предлогали. Телефонные всеж мелковаты малек.

Tigra74
СашаЖ:

Посоветуйте дисплей какой поставить, чтобы шлейф готовый был, третий телефон разломал 3310, подпаял шлейф а он молчит.

RDX0154 -можно купить и в Киеве,и в др. маг.

sasas
СашаЖ:

а прошивку под его нужно или она от 3310 подойдет

Я уже честно говоря и не помню. Но что-то мне подсказывает, что подойдет. Но на всякий случай вот моя рабочая прошивка.

MY 5110 Coder.rar