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

robin123

Dmitri, I have attached the source files, maybe they can help. I will use simpler english. Jennic modules use 2 uart ports UART0 and UART1. UART0 is already used to communicate with the PC, so UART1 is available. Uart protocol is using only Rx and Tx lines.

For example for communication Jennic - PC, in file pcComs.c there is the instruction:

/* Enable UART 0: 38400-8-N-1 */
vAHI_UartEnable(E_AHI_UART_0);

This is the protocol you asked?

If you want a link to start: code.google.com/p/rc24/wiki/GettingStarted
I have attached the datasheet and the Integrated Peripherals specification.
Compilation is in C, using “Eclipse” from Jennic site.

************************************

Дмитрий, я приложил исходные файлы, может быть, они могут помочь. Я буду использовать простой английский. Jennic модули используют 2 UART UART0 портов и UART1. UART0 уже используется для связи с PC, так UART1 доступна. UART протокол используется только Rx и Tx линий.

Например, для связи Jennic - PC, в файл pcComs.c есть инструкция:

[B] / * 0 Включить UART: 38400-8-N-1 * /
vAHI_UartEnable (E_AHI_UART_0), [/ B]

Это протокол, спросил?

Если вы хотите, чтобы начать ссылка: code.google.com/p/rc24/wiki/GettingStarted
Я приложил данные и спецификации Встроенные периферийные устройства.
Компиляция в C, используя “Eclipse” от Jennic сайта.

rc24 rev53.rarJN-DS-JN5148MO-1v1.rarJN-RM-2001-Integrated-Peripherals-API-3v1.rar

EagleB3

Robin,
This information is sufficient, and even more than enough. In such a large amount of information is very difficult to quickly understand such a weak programmer like me. 😃

I was hoping to see a little more specific description of the format for data exchange between the encoder and a module Jennic for sevo. For example, to request the mobile phone connected to the controller for UART, the charge of the battery, it should send via UART string “AT+CBC\r\n\0x00”.
In a procedure applied source is formed is sent to Jennis team to manage the drives?
What must be driven in the Jennic’s UART, to put servo 1-th channel in the middle position?
==================================================================
Этой информации достаточно, и даже более чем достаточно. В таком большом количестве информации очень тяжело быстро разобраться такому слабому программисту, как я. 😃

Я надеялся увидеть немного более конкретное описание формата обмена данными между кодером и модулем Jennic для управления сервоприводами. Например, чтобы запросить у мобильного телефона, соединенного с контроллером по UART, величину заряда аккумулятора, в него надо через UART заслать строку “AT+CBC\r\n\0x00”.
В какой процедуре приложенных исходных текстов формируется посылаемая в Jennis команда для управления сервоприводами?
Что надо загнать в UART Jennic, чтобы поставить сервопровод 1-го канала в среднее положение?

robin123

Dmitri,

In rc24\tx24\source\txmain.c you can find:

“case SERIALINPUT:
pcComsPrintf(“serial input\r\n”);”

In rc24\tx24\source\ppm.c should be the answer for the middle of any of the channels (8 channels max in this case).
I hope this helps. This is my educated guess. I am not a programmer at all.😵

Thanks anyway,
Robert

**********************************************

В RC24 \ tx24 \ source \ txmain.c вы можете найти:

"Дело SERIALINPUT:
pcComsPrintf (“serial input/r/n”); "

В RC24 \ tx24 \ source \ ppm.c надо, ответ на середину любой из каналов (8 каналов макс в данном случае).
Я надеюсь, что это помогает. это моя образованных догадываться. Я не программист вообще.😵

все равно спасибо

EagleB3
robin123:

In rc24\tx24\source\txmain.c you can find:

“case SERIALINPUT:
pcComsPrintf(“serial input\r\n”);”

No, it is likely to prompt conclusion “serial input” on the display. “\r\n” = “Carriage return” +“Line feed”
------------------------------------------------------------------------------------------------
Нет, это, скорее всего, вывод строки “serial input” на дисплей. “\r\n” = “Возврат каретки”+“Перевод строки”.

In rc24\tx24\source\ppm.c should be the answer for the middle of any of the channels

No, ppm.c contains functions for reading PPM signal and convert it into a number. But then this number should be sent in UART in some format. That’s exactly the format and interesting.
But dig this format easily and quickly from the sources and documentation to my knowledge does not work, and to understand the details - do not have the opportunity.

But I remain convinced that the controller ATMEGA128 more than enough resources to complete the version 1.7 … 1.9.1 functions for the broadcast module Jennis, and the program can be adapted to work with Jennis fairly easily.
------------------------------------------------------------------------------------
Нет, ppm.c содержит функции чтения сигнала PPM и преобразования его в число. А вот потом это число должно быть оправлено в UART в каком-то формате. Вот именно этот формат и интересен.
Но выкопать этот формат легко и быстро из исходников и документации с моими знаниями не получается, а разбираться в подробностях - не имею возможности.

Но я по-прежнему убежден, что в контроллере ATMEGA128 более чем достаточно ресурсов для того, чтобы дополнить в версию 1.7…1.9.1 функции для работы с передающим модулем Jennis, и программу можно адаптировать для работы с Jennis достаточно легко.

robin123

The instruction

“case SERIALINPUT:
pcComsPrintf(“serial input\r\n”);”

is used to communicate with the PC, not for the display.

in pcComs.c you can find:

void pcComsPrintf(const char *fmt, …)
{
char buf[256];
int ret;
va_list ap;
va_start(ap, fmt);
ret=vsnprintf(buf,240,fmt, ap);
va_end(ap);

pcComsSendPacket((uint8*)buf,0,ret-1,0x90);

}

Maybe this helps.

Translation into russian is very bad, sorry.

Denn

Менял переключатель в передатчике, и после этого провод от него оказался близко к антенне. Так передатчик начал периодически пищать, дёргать канал от переключателя и реагировать на прикосновение. Пришлось переуложить провода.

Denn

Может быть на новой страничке стоит сделать раздел - “Проблемы и решения” ?

Shahtinec

Было такоеже,берешь в руки передатчик начинает пищать,даже полностью вырубался,подпоял блокировочные конденсаторы 0,01 на расходы и тумблера дискретных каналов,проблема исчезла.

anonymice

а подскажите чем лучше питать: 3s1p(11.1v) или 2s1p(7.4v)?

EagleB3
Denn:

Может быть на новой страничке стоит сделать раздел - “Проблемы и решения” ?

Давайте сделаем. Шлите вспомненные траблы в личку (чтобы тут не мусорить) - систематизирую, сделаю страничку и выложу.

Victor76
Denn:

Менял переключатель в передатчике, и после этого провод от него оказался близко к антенне. Так передатчик начал периодически пищать, дёргать канал от переключателя и реагировать на прикосновение. Пришлось переуложить провода.

Было тожесамое, подпаял конденсаторы на все дискретные каналы… наводки пропали

Aviator73
anonymice:

а подскажите чем лучше питать: 3s1p(11.1v) или 2s1p(7.4v)?

Зависит от передающего модуля, который стоит в доноре-передатчике, который Вы переделываете.
Например, я сейчас переделываю LASER 4 40 МГц, то нужны 3 банки лития, т.к. донор запитывался от 8 банок кадмия.

Lexey

Всем привет!

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

Это так и задумано? (я не знаю основной причины введения виртуальных каналов, и, соответственно, требований к ним)

А может быть есть какой-то другой способ достичь цели?

Прошивка 1.8

Спасибо!

olleg

Добрый день, решил переделать свой 6 Channel FlySky 2.4GHz аналог Hobby King 2.4Ghz 6Ch , поставил плату кодера в корпус , версия прошывки 1.7 , и столкнулся с проблемой и то не с одной
1)подаю питание на кодер , прошол калибровку , потом подал питание на вч блок , а он не заработал , запитал вч блок от другого питания заработал.
2)странные помехи в любом из каналов , некоторое время сервомашынка отклоняетса как потенцыометр потом начинает её колбасит через время опять нормально отклоняетса.
Как ето исправить? Зарание спасибо.

dollop

Олег, подключая ВЧ блок от FlySky 2.4GHz Вы учли нюансы? Питание ВЧ блока от 5В и ППМ сигнал амплитудой 2,5?
По поводу колбасни машинок - это все от питания. Чем запитываете? не убитым ли трансформаторыным БП от старинного калькулятора?

olleg

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

dollop

Если только для ППМ выхода, то можно параллельно С13 поставить резистор сопротивлением 4,7-5,1 кОм.
Если же и тренер/ученик нужен, то чуть сложнее, но в пределах последних 10 страниц ветки это было.

Там может и 5В ППМ прокатит, не знаю. Просто я уже один такой ВЧ модуль спалил благодаря 12В (или менее) ППМ. В HK 2.4 hack idiots guide сказано, что там амплитуда ППМ должна быть 2-2,5В (в реальности в аппаратуре так и есть) и даны рекомендации для достижения этой цели, а вот есть отдельно продающиеся ВЧ модули на 2,4 этих фирм, так вот там я не нашел никаких делителей напряжения.

olleg

Спасибо, мне только для ппм выхода нужно

olleg

поставил сопротивление всьо заработало но почемуто дисплей одну секунду работает потом тухнет,сам кодер при етом полностю работает нет только изображения,при повторном включении картина таже.

msv

2Lexey Вероятно Вы правы. Для виртуальных каналов следует добавить коррекцию на триммеры, если источник для них основные каналы (1-4).
Тут есть заковыка… Напрашивается самое простое- поменять местами порядок обработки в основных каналах- первым делом коррекция на триммеры, копия полученного значения в виртуальный канал, потом уже кривая, расходы, микшер. Но это не правильно, для кривой желательно получать нормализированные значения непосредственно с ручек, иначе будет смещаться 0-на кривых и прийдется экстраполировать значения за границами кривой.
Поэтому проще дополнительно добавить коррекцию на триммеры в виртуальные каналы, после обработки по ее (виртуальной) кривой и расходов.
Перед выпуском фикса, хочу услышать, что скажут активные пользователи виртуальных каналов?

Edward_tlt

Такой вот вопрос… На виртуальных каналах AD0 и Ad1 сидят переменные резисторы, есть ли возможность смикшировать их с дискретными каналами для получения дополнительно 2х пропорциональных каналов в эфире. Небходимо для FPV нужд. В меню получается что смикшировать 1-8 канал я могу с виртуальным, а виртуальный с любым другим нет.