Правильно понял, это две разные платы телеметрия и автопилот
Гибрида все в одном нет?
![]() |
Специальные цены | новые товары | ![]() |
![]() |
![]() |
Тема раздела Полеты по камере, телеметрия в категории Cамолёты - Общий; Правильно понял, это две разные платы телеметрия и автопилот Гибрида все в одном нет?...
Правильно понял, это две разные платы телеметрия и автопилот
Гибрида все в одном нет?
Нет. Но так даже удобнее: кому-то нужна телеметрия для FPV, а кому-то, кто даже может и не летать FPV, просто автопилот, чтоб возвращать самолет к месту старта при потере сигнала от передатчика. Некоторые ведь просто затаскивают камеру или фотик на борту "визуально", покуда глаз хватает и снимают видео и им телеметрия не важна, а вот потерять аппаратуру шанс есть немалый.
Ну а кому и то и другое надо, сцепляют две платы бутербродом и получается комплект "Телеметрия+автопилот"
Если нет 2007-го офиса или бесплатного конвертора, то, например, через Гугле докс:
http://www.google.com/google-d-s/intl/ru/tour1.html
Пока с финансами напряг, подожду резулльтатов первых испытаний. А когда ситуация немного стабилизируется с удовольствием подключусь к испытаниям автопилота.
Ура! Летает! Мои конгратулейшонс т.с.
Tim, по дрожанию "серв", пульсов и т.п. Вааще вся эта импульсная техника плохих "разводок" не любит. Кто- то писал тут уже- я повторяю, садите питание в одном месте-в точке где оно приходит... Хотя- бы землю- тогда фильтруйте. Вот, например: сервы и т.п. запитаны из приемника, сигнал с другой платы-не поключено(красные провода из приемника +5BEC->THRO, рыжевастенькие и белый- сигнальные) Подтягивайте ICP и INTы входы через PORTD внутренним резюком. NoiseCAncer
не влияет на качество в конкретном приложении. Мне таким образом удалось даже сравнивать SPCMvsPPM JR приемники! Резисторы на PPM сигналы- только "защита от кривых пальцев"- нечего по сигнальным цепям токи гонять. Но питание- главнее! Не ГоняЙТе ТоКИ! по системе.
P.S. To Smalltim: Как управляется крыло?!![]()
спасибо за советы![]()
Присоединяюсь! Тем более что к моменту изготовления автопилотов финансы у меня уже будут.
PS Интересный модуль GPS
Последний раз редактировалось Texnik; 11.08.2009 в 13:58.
ЧТо в этом модуле интересного? Медленный и слабенький.
Тимофей, чисто теоретический вопрос, а что будет если улететь за пределы 13км? (это касательно математики ГПС)
>Тимофей, чисто теоретический вопрос, а что будет если улететь за пределы 13км? (это касательно математики ГПС)
Это математика ГПС в телеметрии такая. Я точно не помню, но по-моему, я это переписывал, чтобы было то ли 64, то ли 128км. Посмотрю в коде и отпишу. В автопилоте ограничений на дальность нет.
А при каких условиях автопилот включается? Как я правильно понял, то с канала управления, тумблером и при потере сигнала приемником. А откуда автопилот знает что сигнал потерян?
Тимофей, личка у тебя переполнена, поэтому сюда. Хочется получить от тебя черновую спецификацию по передаче данных от автопилота на землю. Например - формат данных (текстовый,бинарный), скорость данных от а/пилота, размер пакета (фиксир 64,128 или сколько там будет байт или плавающий) частота повторения пакетов и пр. В свою очередь могу предложить черновую структуру пакета в наземной сети - скорость 38400 бит/с, данные текстовые, размер плавающий, структура пакета - старт символ *, потом номер источника данных (01-приемник,02-компук,03-модуль диверсити и пр.), потом тип данных в пакете (навигация, напряжения, состояние и пр.), потом длина пакета в байтах, потом тело пакетаю. потом CRC, и символ # конца пакета. Цель - облегчить добавление новых устройств на шину и ввод новых классов передаваемых данных (например подключеный голосовой информатор предельных режимов можно конфигурировать с компа по той-же шине).
Несколько мыслей:
1. Бинарный формат намного экономичнее
2. 38400 8/N/1 устраивает
3. Содержание пачки - совпадает с содержанием пачки, отправляемой в лог. В бинарном формате сейчас, без ужатия 152 байта.
4. Период следования - от 0.2/0.5/1/2/5 секунд.
5. Формат:
- Смешанный с 4-байтовыми флотами и целыми, разделенными запятыми: *04,XXXX,XXXX,XXXX,XXXX,XX,XXXX,.........,XXXX#X. Такое парсить быстрее и проще, чем текст. Порядковый номер каждого числа, как в NMEA, определяет смысл этого числа. Т.е. 1-е число - широта, 2-е - долгота, и т.д.
- Или такой: *04,XXXXXXXX.........#X. Пачка на 152 байта в бинарном виде с добавленным префиксом и контрольной суммой. Описание пачки не передается, оно подразумевается известным.
- Или такой: *04,Y:XXXX,Y:XXXX,Y:XX.........#X. Здесь перед каждым числом стоит 1-байтовый идентификатор, говорящий о том, что это собственно за число. (1-щирота, 2-долгота, 3 - напряжение .... 48-текущий крен,49-текущий тангаж, и т.д.). Причем 6-й бит идентификатора может определять тип числа - целое или плавающее, а 7й может определять формат вывода числа - текстом или напрямую. Такую пачку будет легко парсить даже тогда, когда я меняю число, тип и порядок данных на выходе автопилота.
Как насчет, задействовать невидные строки на телеметрии? Если кодировать, то ICP на приеме полезен будет. Можно его защелкой от компаратора пинать (---_ -___ = 0b10 типа того- PCM тупо...)![]()
Пятый. В смысле, в очереди.![]()
Заказал платы автопилота и пирометров в серию в Резоните.
На платах подвинут USB разъем, чтоб не мешал проводить трубку от бародатчика скорости на телеметрии, добавлены переходные отверстия у ног USB, чтоб ненароком не оторвали, добавлен сигнал SS на телеметрию или что там будет подключаться через SPI, плюс пара фиксов, упрощающих пайку.
Ждем. -с![]()
Спустя месяц после морковки, и непонятного выхода из строя телеметрии.
Наконец то добрался с паяльником до телеметрии и заменил кварц.
И О чудо все заработало.
Еще раз спасибо за советы.
Тимофей, опять я к тебе в личку не поместился - По передаче данных - от а/пилота пойдут 152 байта бинарных данных на скорости 38400. Длительность пакета - максимум 45 мс Период повторения минимум 200 мс. Я прав? Таким образом, после паузы в данных на входе модема более 10 мс входной буффер обнуляется, последующие 152 байта запишутся в буффер и по заполнению буффера начнется передача пакета. Скорость радиоканала - 9600 бит/сек, объем данных вместе со служебными - 170 байт Время на передачу - 177 мс. На приемной стороне бинарные данные преобразуются в текст, пакет снабжается заголовком (источник,тип,длина) и CRC *04,01,152,ХХ,ХХ,ХХ,---,ХХ#NN и на скорости 38400 отдается получателям. Предполагается, что формат получателям известен. Для начала попробуем радиомодули RFM12BP и RFM12B на 433 мгц (они у меня в наличии), потом можно будет подумать и о 868 мгц. Радиус работы с 20% потеряных пакетов я теоретически оцениваю в 3-4 км (на эшелоне 200 метров)
Коллеги, с автопилотом, стало быть, ситуация такая.
Стабилизатор работает, автопилот работает за исключением удержания высоты -летает с набором высоты (багу поправил, но пока не проверил).
Логгинг работает.
Удержание скорости не проверялось, пишем не работает.
Компас с коррекцией по пирометрам на земле проверялся - работает, но в полете не проверялся. Пишем не работает.
Общение с платой телеметрии не доделано на 80%, просмотровщик логов не земле не доделан на 50%, компуковая программа-интерфейс с автопилотом готов на 90%, но, во-первых, на английском, во-вторых, часть окон я хочу перерисовать, чтоб сделать построже защиту от неправильных действий.
Плюс, хочу добавить настройки резкости руления, а то по логам на моем изике по тангажу видна раскачка с периодом в ~1 сек с амплитудой в 10 градусов.
В таком состоянии это нифига не продажный продукт, но бета-тестеры уже могут вовсю поиздеваться над ним, ибо всё-таки работает и летает.
Добивание всех недоделок перед выводом в серию и отполировка математики, интерфейса и прочего по результатам бетатестирования - главный приоритет для меня на ближайшее время.
По срокам - бетатестерам, имеющим свои модули ГПС, смогу отдать уже на следующей неделе, в серию - еще 2 недели минимум, по готовности софта, а у кого нет ГПС модулей - по приходу ГПС модулей. Оплачены, ждем.
3D просмотровщик логов выложу когда хотя бы чуток причешу, а то камера дергается, скорость проигрывания не регулируется, и т.д.. Но выглядит очень прикольно. Медитативно этак. По показаниям с пирометров по крену и тангажу классно видно повадки изика. ГПС координаты шумноваты, особенно показания текущего курса. Для автопилота хватает, и с земли незаметно, а в проигрывании логов видны подергивания, когда камера за хвостом самолета в 3 метрах летит.
Тимофей, вроде у Вас личка не переполнена, а Вы не отвечаете...
А почему бы не использовать модбас? В АСУ популярнейшая вешь.
Формат: адресат, от кого, длина, команда, данные (диной во 2 байте), 2 байта CRC.
У меня это выглядет так:
А я вот развёл своего пиромонстра... Вместе с новым автопилотом планирую сдать в резонит к сентябрю. Буду облётывать осенью.Код:typedef struct { unsigned char Address; // адрес получателя (ПК = 0, пилот = 1, штурман = 2, пироголовка = 3). unsigned char Sender; // адрес отправителя unsigned char Length; // длина ТОЛЬКО поля данных unsigned char Cmd; // соманда char Data[DATA_LENGTH_MAX]; // поле данных до 120 цифр unsigned char CRC_H; // контрольная сумма unsigned char CRC_L; } Response; /* Table of CRC values for high–order byte */ __flash unsigned char auchCRCHi[256] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 }; /* Table of CRC values for low–order byte */ __flash char auchCRCLo[256] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 0x40 }; unsigned int Get_CRC16(unsigned char *puchMsg, unsigned char usDataLen) { unsigned char uchCRCHi = 0xFF; /* high byte of CRC initialized */ unsigned char uchCRCLo = 0xFF; /* low byte of CRC initialized */ unsigned char uIndex; /* will index into CRC lookup table */ usDataLen += (HEADER_LENGTH_MAX - 2); while ( usDataLen-- ) /* pass through message buffer */ { uIndex = uchCRCHi ^ *puchMsg++; /* calculate the CRC */ uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex]; uchCRCLo = auchCRCLo[uIndex]; } return ((uchCRCHi << 8) | uchCRCLo); }
Вопрос к гурам. Патчевая GPS антенна имеет снизу металлическое напыление (равно как и сверху, но с ним всё понятно). Надо ли обеспечивать контакт этого напыления с подложкой?..
То есть антенна ставится тупо на полигон, покрытый лаком и подключается только центр, или надо ещё умудриться подпаять низ?
А че за таблы то? В gnucc есть crc16 в библиотеке... Посмотри на разводку и найди петлю! хе-хе. Да не одну. Потом давай их фильтровать! хо-хо! Matlab по вкусу пришелся- это правильно! А чем TWI не по-вкусу? Давай придумаем совершенно новое круглое колесо! Или "модбас"- это перевод?!
Обварил Изику нос в кипятке - и правда, выпрямился. Только появилась шагрень из-за того, что элапоровые шарики повздувались, но это уже не так страшно. Заклею нос скотчем, как было, и в бой
![]()
![]()
![]()
![]()
![]()
Вот такое вот 3д окошко просмотровщика логов получается, на траекториях - крайние Митинские полеты.
Самик летит по траектории из лога, с реальными из лога креном и тангажом. Позиция и курс самика чуть сглажены - видно, что он чуть рядом с траекторией из лога летит - потому, что данные ГПС немного шумят, и при таком реплее самик начинает чуть дергаться, если пустить его прямо по логу.
Управление просмотровщиком - как медиаплейером. Вперед, назад, стоп, пауза, плей. Смотрим как ролик, только есть возможность переключать виды камеры (спривязана к точке старта, привязана к самику и летит вместе с ним, вид из самика).
Что еще? Шаг сетки на земле 10м, моделька самика взята специально чтоб ни у кого такой не было, чтоб никому обидно не было. Масштаб модельки не совпадает с реальным - около 3м, для правильных пропорций должно быть 1-1.5м.
Прикручу красивое удобное отображение высоты, скорости и ориентации прямо в 3д окне попозже.
Да. для комфортного просмотра лога надо с хорошей частотой лог снимать. 5 раз в секунду - самое то. Если раз в секунду или того реже, то лог в 3д будет малоинформативным.
Потом наверчу там показ высоты, координат и т.д., на землю надеюсь текстурку и рельеф положить.
Параллельно буду рисовать в соседних окошках крен, тангаж, входы-выходы PPM, батарейки и т.д.
Плоские графики всячечских параметров, как думаете, надо, или ексель спасет тех, кому надо?
Последний раз редактировалось smalltim; 15.08.2009 в 05:52.
Скриншоты смотрелки на этот-же лог сбоку
http://d-ogogo.narod.ru/gm2/
Я думаю что если не в ущерб основному делу то не помешает, но обязательно шоб с текстурами из места реальных полетов.
Самолетик-то на Jet (TwinJet?) вроде смахивает...
>Самолетик-то на Jet (TwinJet?) вроде смахивает...
Не знаю. Моделька, нарисованная, кстати, нашим соотечественником, взята из каталога бесплатных моделек для 3D. Ничего особенного, даже текстурок нет, парень явно просто тренировался, а мне вот понравилась.
>Я думаю что если не в ущерб основному делу то не помешает, но обязательно шоб с текстурами из места реальных полетов.
В этом деле - в борьбе с картами - мне один наш коллега любезно согласился помочь.
Табличный?
Во-1 петель там нет. Где Вы их там выловили? Во-2 платы показаны без заливки (что очевидно по виасам), для упрощения понимания предмета.
А этот поток как переводится?..
Если вопрос в том, почему я не использую аппаратный TWI, то причины две:
1. Мне немного влом настраивать каждому пирометру индивидуальный адрес внешним девайсом или софтом. А на ноль отзываются они все.
2. При софтварном TWI по таймеру я экономлю время на считывание пусть не в 6, но в 3 раза точно. Плюс выборки идут примерно одновременные со всех пирометров, а не с разрывом.
Круто ! отличный базар. 99% форумчан все поняло и во все въехало !
А причем тут 99% форумчан? Тема крайне узко специализированная, кому надо, тот понял, а для 99% форумчан это разжевывать не надо, ибо всеравно они ничего дельного не скажут.
Выложил смотрелку для логов smalltim'а
(точнее предварительный макет смотрелки)
тут http://d-ogogo.narod.ru/gm2/
(Карта только для лога-2)
Что-то у меня не получилось ничего увидеть, скачал, разархивировал. Запускаю, на экране белый круг ( наверное это шар) Приближается, удаляется, катринки нет, может я чего не туда разархивировал?
В каталоге с прогай должны быть папки gnu, osg, img ? или это все нужно свалить в кучу? Хотя по бат файлу похоже что не надо.
Ага, нашел, когда стартует он пишет что не найден плаг для чтения файлов картинок...
Нашел, ддлки из второй библиотеке почему то не попали по назначению. Все заработало, круто! Пожелание, можно точку старта сделать постоянным центром вращения? И запретить камере опускаться под землю?
Последний раз редактировалось Brandvik; 19.08.2009 в 03:53.
Т.е. зафиксировать точку наблюдения?
Тогда нельзя будет смотреть сверху или сбоку.
А сейчас можно разглядеть скачки ЖПСа, висящий хвостик трека,
непонятные прямые участки (похоже провалы в ЖПСе).
Под землю - закрою
(пока заглядываютам из-за ошибок с высотой поверхности появляется часть трека).
Возможно я поспешил с некоторыми предложениямиПросто по началу надо привыкнуть к тому как все это дело вращается.
Но, я имел ввиду закрепить не камеру, а направление, что бы камера всегда смотрела на точку взлета, тогда камера будет облетать только вокруг трека (на данный момент трек может летаь где-то там сам по себе)
Это конечно может быть полезным, возможность рассматривания под абсолютно любым углом, но чутка напрягает такое обилие свобод перемещенияЕсли смотрелка будет развиваться и появятся менюшки, то может быть будет пелезным сделать кнопочки что бы блокировать степени свободы. Пример- базовое состояние- камера может летать вокруг трека только в плоскости параллельной земле, приближение-удаление, вверх-вни и камера смотрит всегда в центр трека(или на точку старта, но лучше центр трека )
И мод про.- камера перемещаестя как сейчас.
Последний раз редактировалось Brandvik; 19.08.2009 в 11:44.
Подскажите, пожалуйста, на какой процессор и видеокарту рассчитана программа? а то у меня такие тормоза, что после 5 попыток пришлось бросить всё, к черту.
Масштабирование не совсем понятно. Изображение появляется, но потом опят превращается в "молоко-облака". Наверное увеличение-уменьшение лучше назначить на кнопки "+" и "-". Сколько надо, столько раз и нажал ,а то с мишкой не совсем понятно, или я туплю.![]()