OSD на ATmega1281
В настройках такой скорости в выпадающем списке обычно нет, но test_imu ее по идее сам должен устанавливать при открытии порта.
Данные должны приходить такого вида:
AB > AF 50 0B 05 03 00 FF FF 02 00 00 30 00 02 00 3D
AC > AF 50 0B 05 03 00 FF FF 02 00 00 30 00 00 00 3F
AD > AF 50 0B 05 03 00 FF FF 02 00 00 2F 00 00 00 20
AE > AF 50 0B 05 03 00 FF FF 02 00 00 2E 00 00 00 21
AF > AF 50 0B 05 03 00 FF FF 02 00 00 2D 00 01 00 23
Каждое сообщение начинается с последовательности AF 50, это синхронизация, 0B длина телеграммы, 05- тип, заканчивается 1 байтом crc.
Если этого не видно, какая-то проблема с uart… Может я действительно уже запутался с версиями, кварцами, скоростями…
На всякий, вот мой test_imu под 56000.
данные именно такие , просто оно не кажет настроечных данных почему то:( может не там клацаю:))
разобрался - я не там клацал!!! после включения режима чтения, нужно включить дебаг, тогда “кирпич оживает” ща буду допинывать:)
Кстати, сергей, сенсор в прошиве я “повернул” всё нормально и адекватно в ОСД кажет, СПАСИБО
Сергей, а ещё просьба - можете показать компановку Вашего вжика?
разобрался - я не там клацал!!! после включения режима чтения, нужно включить дебаг, тогда “кирпич оживает” ща буду допинывать
У меня без всяких дебагов он оживал.
после включения режима чтения, нужно включить дебаг
Не-не… При включения дебаг, IMU начинает передавать в комп сырые данные с датчиков, которые обрабатываются в самом компе… “Кирпич” должен крутится и без этой галки (с иму передаются уже просчитанные данные)… Посмотрите в main():
if(gHostDbg & 1)
send_UART(UART_SENSOR_DATA, (u_char *)&gSensorData, sizeof(SENSOR_DATA), 0);
else
send_UART(UART_IMU_DATA, (u_char *)&gIMU_Data, sizeof(IMU_DATA),0);
Вот версия по которой я последний раз IMU делал под кварц 16 мгц, и скорость для обмена с компом 38400. Это всё работало.
Видимо версия конфигуратора для иму у меня оч старая… Скачал то что выложил ubd настроил иму на 38400 и кирпич “заработал” данные калибровочные считываются:)
На всякий, вот мой test_imu под 56000.
выдаёт not found 😦 при попытке скачать…
Наверное пытаетесь скачать .exe (Сервис гугл-диск показывает содержание архива)… Надо через верхнее меню Файл-Скачать грузить .rar.
Наверное пытаетесь скачать .exe (Сервис гугл-диск показывает содержание архива)… Надо через верхнее меню Файл-Скачать грузить .rar.
Всё завелось!!! круть!!! Сергей, а если в Вашей ЛРСке на передающем модуле вместо 22й поставить RFM23BP по идее усилок ненужен тогда будет?
можете показать компановку Вашего вжика?
Вжик маленько модифицирован- добавлен жесткий центроплан шириной 80мм из линеек. В нем расположена вся почти начинка. ТВ передатчик в одной консоле, приемник РУ и GPS в другой. Сделана крутка крыла, что позволило уменьшить ширину элевонов вдвое без потери устойчивости по тангажу. Взлетный вес с 3S 2200mah 750г. Этого акка хватало для покрытия расстояние больше 20км (всего, не в одну сторону, конечно…).
Последний месяц летаю на самодельном планерке, с размахом 1800мм. Взлетный вес ~1200г, очень низкая нагрузка на крыло. После вжика, честно говоря, скучновато… 😃 Но создавался он как носитель какой-нибудь более-менее приличной “мыльницы”, и в этом качестве еще не испытан.
А раздербаненый вжик сиротливо пылится на антресолях…
RFM23BP
Надо бы уточнить,что там тот же чип, что и в RFM22 (скорее всего так и есть). Конечно 1Ватт вполне достойная мощность для LRS (больше я и не включал, обычно летаю на 100мВт, максимум 500мВт). Конечно надо маленько изменить код.
Кстати, изначально я хотел применить именно этот модуль в передатчике, но их не было в наличии и где-то проскочила инфа, что они вообще сняты с производства…
буду 23ВР заказывать - посмотрим что это за зверь:))
Взываю к помощи коллективный разум.
Собрал эту систему. ОСД, ГПС, ИМУ работает. Нет PWM на выходе Меги. На вход подавался РРМ сигнал с двух разных приемников.
Первый от ФрСкай четырех канальный под Футабу ФАССТ. На выходе 8-ми канальный РРМ со следующими параметрами: период импульсной телеграммы 22мс, длительность канальных импульсов 0.8-1.6мс, длительность межканальных пауз 0.4мс, импульсы отрицательные, уровень 1.6В.
Второй приемник Тини от Эксперта, на выходе 10-ти канальный РРМ со следующими параметрами: период импульсной телеграммы 19мс (при чем этот период начинает меняться в зависимости от длительности канальных импульсов - простыми словами, если двигать ручками, то положение первого импульса в следующей посылке начинает меняться, сдвигается первый импульс), длительность канальных импульсов 0.9-1.7мс, длительность межканальных пауз 0.24мс, импульсы положительные, уровень 1.9В.
Вопрос, какой сигнал РРМ понимает автопилот? Что является для него стандартом?
Просьба к создателю АП: можно ли как то поменять прошивку, чтобы АП жевал и эти типы РРМ?
Спасибо.
P.S. Планировал использовать этот АП с приемником Tiny от Эксперта.
Вот у вас и не запускается потому что сервоимпульс не доходит до 1мс это -100% и не доходит до 2 мс это в +100%. Расширьте расходами, что бы было от 1 до 2 мс.
У меня была та же проблема, я просто расходами добавил и всё.
И дело тут не в эксперте. Он передаёт ровно то что вы ему на вход подсунули, т.е. то что выдаёт ваш передатчик.
Межканальные паузы у вас нормальные. Инверсия РРМ, может быть любая.
период импульсной телеграммы 19мс (при чем этот период начинает меняться в зависимости от длительности канальных импульсов - простыми словами, если двигать ручками, то положение первого импульса в следующей посылке начинает меняться, сдвигается первый импульс)
Это то же не влияет.
Вот если бы КП сделать такой параметр. Например указывать, хотя бы только для канала управления, длительность канального импульса. Что бы канал управления начал хавать тот импульс который приходит на канал управления. Или фициру коррекции сделать.
А лучше сделать вообще, установка длительности канального импульса. т.е. замеряешь осциллом какая длительность приходит любого из каналов, и вбиваешь ему что -100 это соответвует скажем 0,9мс, а +100 1,9 мс. И всё АП начинает хавать этот РРМ, и на выходе выдавать то же самое на сервы.
Немножко дополню.
По осциллографу выставил длительность канальных импульсов каналов 3 и 5 (в конфигураторе 3 канал - газ, 5 канал - управление АП). Использую пока 8-ми канальный РРМ (проще всю аппаратуру включать). При неподключенном РРМ ОСД выдает невращающуюся палочку в белом кружкЕ и цифру 128. При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0. Палка продолжает вращаться в белом кружкЕ, на выходе PWM отсутствует. Режим АП остается FS.
Куда копать дальше?
Спасибо.
Прямо квест какой-то у меня получился… 😃
При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0.
Отлично, пакеты PPM АП устраивают. Вы успешно дошли до кода:
if(!gCTRL_starting)
{
if(err==0 &&
gCTRL_InBuff[gCTRL.Ch_AP_control] < -((CTRL100*80)/100) &&
gCTRL_InBuff[] < -((CTRL100*95)/100))
{ gCTRL_starting=1; gCTRL_ready=1; }
}
gCTRL_starting - флаг старта приема PPM
err - количество дропов ( у вас уже ноль)
gCTRL_InBuff - буфер с нормализированными значениями каналов.
CTRL100 - определение, соответствует 100% (0.5мс) отклонению от условного 0 (1.5мс).
ЗЫ А, еще отключите пока в конфигураторе определение FS по газу ниже нормы и восьмому каналу больше половины.
ЗЫЫ
А лучше сделать вообще, установка длительности канального импульса. т.е. замеряешь осциллом какая длительность приходит любого из каналов, и вбиваешь ему что -100 это соответвует скажем 0,9мс, а +100 1,9 мс. И всё АП начинает хавать этот РРМ, и на выходе выдавать то же самое на сервы.
Довольно долго у меня вообще была полноценная калибровка всех каналов (по макс, мин, середине) прямо на OSD. Но там есть свои сложности ( например, как-то надо учитывать триммера) и выкинул, посчитав ненужным наворотом…
Прямо квест какой-то у меня получился…
😁 Это я еще не смотрел, что ОСД покажет с приемником от Эксперта!
Сергей, а реверс на газ включил?
У Футабы не как у людей.😃
Минимуму газа соответствует максимум длительности.
Да я по осцилографу смотрел - ручка газа получается в верхнем положении. В Футабе (по крайней мере в 12ФГ) и каналы не на своих местах по умолчанию - приходиться переставлять на првычные вручную.
Ща пойду еще поколдую.
Подключил приемник от Эксперта (предварительно выставив 10-ти канальный РРМ) - даже палка не крутится…
А, еще отключите пока в конфигураторе определение FS по газу ниже нормы и восьмому каналу больше половины.
Откючено (ноль стоИт)
Как бы приемник ФрСкай меня мало волнует - летаь то буду на Эксперте.
Сергей (MSV) можно Вас попросить исправить код под РРМ Эксперта (достоверны параметры могу у него попросить и Вам передам). Или скажите какой РРМ нужен АП, я попробую Дмитрия (Эксперт) уговорить подправить его код.
Спасибо.
По осциллографу выставил длительность канальных импульсов каналов 3 и 5 (в конфигураторе 3 канал - газ, 5 канал - управление АП). Использую пока 8-ми канальный РРМ (проще всю аппаратуру включать). При неподключенном РРМ ОСД выдает невращающуюся палочку в белом кружкЕ и цифру 128. При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0. Палка продолжает вращаться в белом кружкЕ, на выходе PWM отсутствует. Режим АП остается FS.
А вы осцилом смотрели на выходе приёмника?
В контрольной панели указан 5 канал для управления?
Канальный импульс считается вместе с суммой межканальной паузы. т.е. если межканальная пауза 0,4 мс (лог 1), то импульс (лог 0) канала должен быть 0,6 мс, Вместе они дадут 1 мс. У вас так?
Я меня было то же самое. RSSI 100%, 0 потерянных пакетов, но палка крутиться в белом кружке. Оказалось канал газа был не 1 мс, и канал управления не и 1 мс. Когда всё поправил, всё пошло.
А вы осцилом смотрели на выходе приёмника?
В контрольной панели указан 5 канал для управления?
Да.
Канальный импульс считается вместе с суммой межканальной паузы.
Пилять… Ща переделаю.
Как бы это стандарт. Читайте что такое РРМ сигнал.