Проект Мегапират на самик!
Первая дрыгалка на 2 положения понадобилась Леониду. Вторая “продвинутая” Саше.
😁
Первая дрыгалка на 2 положения понадобилась Леониду. Вторая “продвинутая” Саше.
Номер канала (число, а не СН_х) - Мх
Олег, а почему тогда по “СН_х” данные в планер идут верно? Может там две переменных, одна для вывода данных, другая для вывода на серву? Или это все же “кривость” портирования?
метод принимает в качестве второго параметра не градусы( или градус*10, как в случае с
Спасиб, но я все равно переделал сей код под конкретные циферы в обоих положениях, мне так удобней 😃
Так и не вкурил, кому и зачем понадобилась дрыгалка?
Дрыгалка понадобилась мне, будет управлять затвором фотика 😃
Леониду. Вторая “продвинутая” Саше.
Чую вторая продвинутая при скорости ская в 60км в час будет крайне бесполезна 😃 Эт если только на забор соседской дачи прилепить 😉))
Если для обзора камеры то лучше попытаться разобраться с камера маунтом (смотреть на заданную координату фишка зачетная должна быть) Там до кучи и стабилизация камеры есть 😃
а почему тогда по “СН_х” данные в планер идут верно?
Ща растолкую.
Есть набор объектов класса RC_CHANNEL: ch_throttle, ch_roll, ch_pitch, ch_5 и т.д. - это не просто переменные. С ними можно выполнять действия, определенные классом и читать их некоторые параметры. К примеру, ch_1.ServoOut возвращает значение от -512 до 512, а ch_1.pwm_out - то же, но приведенное к ППМ-каналу: от 900 до 2000.
ch_1.rc_in возвращает то, что на него поступило с приемника. Также в объекте производится субтриммирование, ограничение диапазонов и проч вызовом функции ch_1.CalcPWM();
После всего вызывается другой объект apm_rc.outputch(CH_1.ch_1.pwm_out), что собственно и переписывает положение канала в генератор сервоимпульсов.
Независимо от этого вызывается процедура протокола mavlink, которая передает ch_1.servo_out по телеметрии.
На пальцах: данные в планер и то, что мы “вручную” пишем на сервовыходы платы, никак не связаны между собой.
К тому же, именно серво-выходы (не путать с каналами приемника) с 5-го по 8-й в планер вообще не поступают.
Заметь, CH_x (большими буквами) - это просто символьный дефайн числа (х-1) для удобства, чтобы каналы не с нуля считались, а ch_x (маленькими буквами) - это уже объект.
Чую вторая продвинутая при скорости ская в 60км в час будет крайне бесполезна Эт если только на забор соседской дачи прилепить ))
про вторую дрыгалку я просил пока не знал о маунте! конечно если разобраться с ним то эта дрыгалка будет уже не нужна… но всеравно спасибо - значит в принципе на свободный канал можно любую программу отработки сервы написать (если умеешь…).
Ладно - пока на работе можно теорию разводить… вечером приду домой и займусь железом - вот тогда более предметно поговорим!
Просто перевод маунт в енейбл результата не дал…
Просто перевод маунт в енейбл результата не дал…
Лёнь, проверь, есть ли питание на пан и тилте, у мну вроде как не было, как и на Мх
Так-с. Маленький аддон от меня. Первое – при включённом маунте BlackV таки управляет тилтом и паном. Проверил это тем, что сервы включенные в эти два канала стали в 0 при включённом маунте, а когда был дизейблд – оставались у меня в тех положениях, в которых и подключал. Как в АРМ Планнере настроить управление камерой так и не нашёл пока, это унылое говно меня всё больше огорчает.
Теперь о плохом. У меня действительно перезагружается BlackV, когда подключён к компу. Прошивка 26я. Подключён он через ЮСБи-шнурок, скорость 115200. Перезагружается по своему собственному усмотрению, причём, чем быстрее я кручу плату Вортекса, тем чаще оно перезагружается. Факт перезагрузки определяю тем, что в АРМ Планнере режим переключается с Мануального\Авто на Initial-ing, а все сервы становятся в 0. Поменял Fast Serial на зафикшенную версию от АрдуПлейн 2.28, стало перезагружаться значительно реже, но 3 раза за полчаса перезагрузилось таки 😦. Собственно, это печально… Если Леонид летает с таким – ему надо 100 гр за храбрость налить. Мне пепелаца жалко было бы.
Какие будут рекомендации? Поставить меньше скорость соединения у COMа?
Какие будут рекомендации?
размер буфферов покрутить в serial%.begin
А есть мысли что может вызвать дрожание М5 и М6?
Лёнь, у меня дрожания нету, по крайней мере игрался с
APM_RC.OutputCh(CH_7, xxx_pos); // send to Servos
APM_RC.OutputCh(CH_8, xxx_pos); // send to Servos
xxx_pos=xxx_pos+xxx_addon;
if(xxx_pos>2000){
xxx_pos = 2000;
xxx_addon=-xxx_addon;
}
if(xxx_pos<1000){
xxx_pos = 1000;
xxx_addon=-xxx_addon;
}
Это при изначальном xxx_pos = 1500;
и xxx_addon=100;
Вставлен код в тот же односекундный луп.
Так, у меня по ходу полный П на аппаратном уровне приключился. В какой-то момент, когда работал с АРМ Планнером при подключённом по ЮСБи Блек Вортексе 7я винда выдала радостное сообщение, что подключённое устройство не опознано. Соответственно компорт не подключён. И с тех пор, переподключаю БлекВортекс – винде пофиг, не хочет она видеть это устройство. Что за бред мог приключиться на голом месте?
Блин, такое впечатление, что БлекВортекс уходит на перезагрузку постоянно, потому-что в винде Устройство USB не опознано всплывает с калейдоскопической частотой
Да, краткий миниаддон – на прошивке той, что зашита поставил 256 байт на буффера serial.begin
Так-с, что-то не могу найти, как бутлоудеру вортекса сказать, чтоб он не грузил основную прошивку… 8( Неужели прийдёться через ISP перешивать бутлоадер, в надежде, что при перепрошивке затрётся МегаПират???
Блин, Вортекс жжёт
vortex.name=Black Vortex (ATmega2560)
vortex.upload.protocol=stk500
vortex.upload.maximum_size=258048
vortex.upload.speed=57600
vortex.bootloader.low_fuses=0xFF
vortex.bootloader.high_fuses=0xDA
vortex.bootloader.extended_fuses=0xF5
vortex.bootloader.path=atmega
vortex.bootloader.file=ATmegaBOOT_168_atmega1280.hex
vortex.bootloader.unlock_bits=0x3F
vortex.bootloader.lock_bits=0x0F
vortex.build.mcu=atmega2560
vortex.build.f_cpu=16000000L
vortex.build.core=arduino
Вместе с этим, в том же топике приаттаченный BOOT_mega2560.zip, внутри которого… BOOT_mega2560.hex И какой же мне бутлоадер всё ж использовать??? 😈
Но это ещё не всё. Из boards.txt:
vortex.bootloader.high_fuses=0xDA
vortex.bootloader.extended_fuses=0xF5
Вместе с тем, isojed.nl/blog/…/Black-Vortex-Board-v0.06.pdf
Имеет совсем другие фузы:
vortex.bootloader.high_fuses=0xD8
vortex.bootloader.extended_fuses=0xFD
И чё теперь творить? Какие фузы использовать?
Дьявол, не могу перепрошить бутлоадер через ISP, девайс успевает перегрузиться, либо во время верификации чипа, либо позже… 😈
Мы меня теряем…
подключённое устройство не опознано
Константин, попробуйте снести дрова меговские в винде, и переустановить. Причём, именно через снос дров, а не просто переустановить. У меня 2 раза такой фокус уже был, винда7, 64бит. Помогало именно так, снёс, подключил, установил. Извините, если посоветовал очевидную вещь😊
Константин, попробуйте снести дрова меговские в винде, и переустановить. Причём, именно через снос дров, а не просто переустановить. У меня 2 раза такой фокус уже был, винда7, 64бит. Помогало именно так, снёс, подключил, установил. Извините, если посоветовал очевидную вещь
У меня тоже винда 7 64битная. А что за меговские дрова? Я снёс FTDIйные дрова, но до одного места. Прикол в том, что девайс просто берёт и перезагружается, судя по всему…
Ну да, это они и есть:). Это я их так обозвал, потому что после опознавания пишет “Ардуино мега” в устройствах:)
У меня действительно перезагружается BlackV
Нда… Унылое гумно какое то… Слушай давай чтоб полностью уровнять наши прошивки, пропиши в АПМ_конфиг 115200 (скорость порта телеметрии)
#define SERIAL3_BAUD 115200
У меня не виснет с такой скоростью даже если модуль сам отключен.
Только с полетов вернулся, сегодня ветерок ощутимый где то 25-30 км в час, в одну сторону летим под 85-90, обратно лезем на скорости 30-35 😃
Преодолели порог в 5 км автономного полета 😃 Ток на круизе где то в районе 10А, сожрало на сие дело 1500мАч 😃 Тобишь запас хода на 5АЧ где то под 15км… Не густо, но и не плохо в то же время 😃
при включённом маунте BlackV таки управляет тилтом и паном.
При качении платы сервы должны шевелиться (стабилизировать камеру) у меня этого нет… Где то надо еще крутить…
К стати что за новый оптический датчик у дронсов появился? Что меряет???
Лёнь, у меня сейчас тут полное веселье, кажишь мой БлекВортекс пал смертью храбрых…
Ищу вот хороший похоронный марш, чтоб хоронить его…
У меня не виснет с такой скоростью даже если модуль сам отключен.
И у меня не виснит, у меня перезагружается.
И у меня не виснит, у меня перезагружается.
Это и имел ввиду 😃
Чем ты его бедолагу так замучал что он у тебя издох 😃? Может свеженькую прошивку залить чистую не изнасилованную 😃?
Да я б с удовольствием Вортекс залил. Но он при старте перезагружается. Посему в винде он не успевает подмаутится к COM-порту.Вот и веселуха. Даже бутлоадер прошить не могу с очисткой флеши заново, чтоб его в порядок привести.
Самое обидное, что всё, что менял в последнем коде-- Serial.begin(SERIAL0_BAUD, 2560, 2560); влепил, хотя хотел написать Serial.begin(SERIAL0_BAUD, 256, 256); Откуда там 0 взялся – палец, блин дрогнул или отвлёк кто-то. И самое фиговое, что работало всё “чётко”, АРМ Планнер подконнектился, всё было классно. А потом перезагруз за перезагрузом. 😦 Финита.
Блин, такое впечатление, что я уже убил ISPшным программированием Вортекс в конец. Уже не совпадает ЧипСингатура. 😦
Мы меня теряем…
если через ISP тоже не прошиться, значит, питание платы пропадает.
Ну что господа, то о чем так долго говорили большевики свершилось! 😃 Вортекс сцуко завис…
Вводные: Ветер 40-50км в час у земли, но все же решились затестить в эксримальных условиях 😃 Запуск по вчерашнему маршруту, на первом заходе уже израсходовано 3000мАч, решаю вернуть, в ручную ввожу номер точки для захода на посадку (до этого без проблем все отрабатывало) сразу же связь с вортексом рвется у еОСД, и походу врубается режим CIRCLE, начинает кружить с выключенным движком… Еще раз не пожалел что стоит альтернативная ГПС, иначе бы искали чую доооолго 😃
Вечером если кому интересно скину видео аварийной посадки 😃