Самодельный передатчик (часть 2)
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-го канала в среднее положение?
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 каналов макс в данном случае).
Я надеюсь, что это помогает. это моя образованных догадываться. Я не программист вообще.😵
все равно спасибо
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 достаточно легко.
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.
Менял переключатель в передатчике, и после этого провод от него оказался близко к антенне. Так передатчик начал периодически пищать, дёргать канал от переключателя и реагировать на прикосновение. Пришлось переуложить провода.
Может быть на новой страничке стоит сделать раздел - “Проблемы и решения” ?
Было такоеже,берешь в руки передатчик начинает пищать,даже полностью вырубался,подпоял блокировочные конденсаторы 0,01 на расходы и тумблера дискретных каналов,проблема исчезла.
а подскажите чем лучше питать: 3s1p(11.1v) или 2s1p(7.4v)?
Может быть на новой страничке стоит сделать раздел - “Проблемы и решения” ?
Давайте сделаем. Шлите вспомненные траблы в личку (чтобы тут не мусорить) - систематизирую, сделаю страничку и выложу.
Менял переключатель в передатчике, и после этого провод от него оказался близко к антенне. Так передатчик начал периодически пищать, дёргать канал от переключателя и реагировать на прикосновение. Пришлось переуложить провода.
Было тожесамое, подпаял конденсаторы на все дискретные каналы… наводки пропали
а подскажите чем лучше питать: 3s1p(11.1v) или 2s1p(7.4v)?
Зависит от передающего модуля, который стоит в доноре-передатчике, который Вы переделываете.
Например, я сейчас переделываю LASER 4 40 МГц, то нужны 3 банки лития, т.к. донор запитывался от 8 банок кадмия.
Всем привет!
Пытаюсь настроить дифф. элероны для планера таким образом: один элерон вешается на собственно ручку элеронов, второй - на один из виртуальных каналов. Для каждого канала настроил нужный угол отклонения вверх и вниз. Все вроде-бы работает, но есть одна засада: триммер элеронов работает только для канала элеронов, но не для виртуального канала, связанного с элеронами. Соответственно, при триммировании двигается только один элерон.
Это так и задумано? (я не знаю основной причины введения виртуальных каналов, и, соответственно, требований к ним)
А может быть есть какой-то другой способ достичь цели?
Прошивка 1.8
Спасибо!
Добрый день, решил переделать свой 6 Channel FlySky 2.4GHz аналог Hobby King 2.4Ghz 6Ch , поставил плату кодера в корпус , версия прошывки 1.7 , и столкнулся с проблемой и то не с одной
1)подаю питание на кодер , прошол калибровку , потом подал питание на вч блок , а он не заработал , запитал вч блок от другого питания заработал.
2)странные помехи в любом из каналов , некоторое время сервомашынка отклоняетса как потенцыометр потом начинает её колбасит через время опять нормально отклоняетса.
Как ето исправить? Зарание спасибо.
Олег, подключая ВЧ блок от FlySky 2.4GHz Вы учли нюансы? Питание ВЧ блока от 5В и ППМ сигнал амплитудой 2,5?
По поводу колбасни машинок - это все от питания. Чем запитываете? не убитым ли трансформаторыным БП от старинного калькулятора?
Запитивал вч блок от батареек и штатного стабилизатора от родной платы на 5 волт, а кодер от лабораторного бп, амплитуда сигнала ппм в кодера 5 вольт, для моево вч блока нужно ппм с амплитудой в 2.5 вольт? если да то как ето зделать?
Если только для ППМ выхода, то можно параллельно С13 поставить резистор сопротивлением 4,7-5,1 кОм.
Если же и тренер/ученик нужен, то чуть сложнее, но в пределах последних 10 страниц ветки это было.
Там может и 5В ППМ прокатит, не знаю. Просто я уже один такой ВЧ модуль спалил благодаря 12В (или менее) ППМ. В HK 2.4 hack idiots guide сказано, что там амплитуда ППМ должна быть 2-2,5В (в реальности в аппаратуре так и есть) и даны рекомендации для достижения этой цели, а вот есть отдельно продающиеся ВЧ модули на 2,4 этих фирм, так вот там я не нашел никаких делителей напряжения.
Спасибо, мне только для ппм выхода нужно
поставил сопротивление всьо заработало но почемуто дисплей одну секунду работает потом тухнет,сам кодер при етом полностю работает нет только изображения,при повторном включении картина таже.
2Lexey Вероятно Вы правы. Для виртуальных каналов следует добавить коррекцию на триммеры, если источник для них основные каналы (1-4).
Тут есть заковыка… Напрашивается самое простое- поменять местами порядок обработки в основных каналах- первым делом коррекция на триммеры, копия полученного значения в виртуальный канал, потом уже кривая, расходы, микшер. Но это не правильно, для кривой желательно получать нормализированные значения непосредственно с ручек, иначе будет смещаться 0-на кривых и прийдется экстраполировать значения за границами кривой.
Поэтому проще дополнительно добавить коррекцию на триммеры в виртуальные каналы, после обработки по ее (виртуальной) кривой и расходов.
Перед выпуском фикса, хочу услышать, что скажут активные пользователи виртуальных каналов?
Такой вот вопрос… На виртуальных каналах AD0 и Ad1 сидят переменные резисторы, есть ли возможность смикшировать их с дискретными каналами для получения дополнительно 2х пропорциональных каналов в эфире. Небходимо для FPV нужд. В меню получается что смикшировать 1-8 канал я могу с виртуальным, а виртуальный с любым другим нет.
msv, спасибо!
На самом деле, я решил проблему - взял последнюю прошивку, и перекомпилял с вариантом где EPA ограничиваются несимметрично относительно нейтрали (вариант 3.2).
Получил именно то что хотел, причем без использования виртуальных каналов.
Немного смущает только то, что EPA выполняют несвойственную им роль - вместо установки физических ограничений, задают непосредственно функцию работы органов управления.
Но это мелочи.
По хорошему - для планера нужно добавлять отдельны тип моделей (в дополнение к heli и plane), со своими полетными режимами, и может быть, дополнительными настройками.
Так что если триммеры в виртуальный канал не вписываются - лучше и не менять ничего.