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

robin123

Hello everybody,

I just want to know if output of the ppm signal may be serialized on TxD1 of Atmega128(pin28 - which is available). I know that the libraries uart.c and uart.h should be used, but what instruction should be added in the coder.c?

I am using the msv 1.7 firmware version but I can upgrade to version 1.9 if necessary.
I have translated with google but am not sure it is correct.
Thank you in advance!

Привет всем,

Я просто хочу знать, если выход ppm сигнал может быть сериализованы на TxD1 из ATMega128 (pin28 - что есть). Я знаю, что библиотеки uart.c uart.h и должны быть использованы, но то, что обучение должно быть добавлено в coder.c?

Я использую MSV 1,7 версию прошивки, но я могу обновление до версии 1,9 в случае необходимости.
Я перевел с Google, но я не уверен, что это правильно.
Заранее спасибо!

msv

2robin123
В моем представлении вопрос не корректен. PPM- аналоговый сигнал, а Вы,вероятно, хотите вывести через uart значения каналов в некотором цифровом протоколе. Обратитесь к Aleksey Gorelikov, он вроде-бы решал подобную задачу для какого-то TX-модуля, способного принимать значения каналов по uart.
2chestar
По описанию “Upgrade your FM/PPM radio to the new 2.4Ghz DSSS technology with a Corona DIY system.” он для этого кодера и выпускается… 😃

EagleB3

2 robin123
Google translate result:

PPM is derived from pin OC1A, since its formation is used for the Timer1 in mode PWM (look ATMega128 datasheet, “16-bit Timer/Counter (Timer/Counter 1 and Timer/Counter3)”->“Modes of Operation”, page 124).

===========оригинал:======================
PPM выводится с ноги OC1A, так как для его формирования используется работа Таймера 1 в режиме PWM, (смотри ATMega128 datasheet, “16-bit Timer/Counter (Timer/Counter 1 and Timer/Counter3)”->“Modes of Operation”, page 124).

robin123

Thank you EagleB3 and msv. Now all it is clear. Should be easier to treat ppm as a regular audio signal than writing codes for converting to digital then transmit through uart protocol.

Спасибо EagleB3 и msv. Теперь все ясно. Должно быть легче лечить ppm в качестве постоянного звукового сигнала, чем писать код для преобразования в цифровой затем передать через UART протокола.

Best regards,
Robert

EagleB3
robin123:

Should be easier to treat ppm as a regular audio signal than writing codes for converting to digital then transmit through uart protocol

And what is your purpose? Which device you want to make?
==============================================
А какова Ваша цель? Какое устройство Вы хотите изготовить?

robin123
EagleB3:

And what is your purpose? Which device you want to make?
==============================================
А какова Ваша цель? Какое устройство Вы хотите изготовить?

OK Dmitri ,

Please take a look here:

www.rcgroups.com/forums/showpost.php?p=15292279&po…

I already have build the msv 1.7 coder and installed it on a LP5DSM.

If you look carefully at the thread link, I have build also a configurable 2.4 GHz system. One of its options is accepting various signals (I2C, ppm, 1wire, serial, raw, etc.). It is capable to display the telemetry. Another future option is to have speaking telemetry on an Ipod or Mobile phone, but as per the author this could possible by uart communication with the Ipod.

Any better idea?

*******************************************************
OK Дмитрий,

Посмотрите здесь:

www.rcgroups.com/forums/showpost.php?p=15292279&po…

У меня уже есть построить MSV 1,7 кодера и установил его на LP5DSM.

Если вы посмотрите внимательно на нить ссылку, я также построить настраиваемые 2,4 ГГц System. Один из ее вариантов принятия различных сигналов (I2C, ppm, 1wire, UART, сырье и т.д.). Он способен отображения телеметрической. Другой будущем вариантом является выступая телеметрии на Ipod или мобильный телефон, а на это может автор возможным благодаря UART связи с Ipod.

Любая лучшая идея?

С совершенным почтением / Regards / Cu stima

robin123

I should specify that the 2.4 GHz Tx module can not use ppm and 1 uart port at the same time, but 2 uart ports may be used in the same time (at least at this moment).

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

Я должен указать, что 2,4 ГГц Tx модуля нельзя ppm и 1 порт UART в то же время, но два UART порты могут быть использованы в то же время (по крайней мере на данный момент).

EagleB3

2 robin123:
The output value in the UART to organize more easily than the output to PPM.
Of course, the need to modify the source code - but it is not a problem.
My English skills are not enough to quickly find a description of the exchange protocol among the 550 messages. If you give a URL to the description of the module or protocol of exchange, it will be possible to give more specific advice.
=================================================================
Вывод значения в UART организовать гораздо проще, чем вывод в PPM.
Конечно, потребуется доработать исходный код - но это не проблема.
Моих знаний английского языка недостаточно, чтобы быстро найти описание протокола обмена среди 550 сообщений. Если Вы дадите ссылку на описание модуля или протокола обмена, то можно будет давать более конкретные советы.

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:

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

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