UART

egorov-8009

Участник
Регистрация
12 Окт 2024
Сообщения
15
Реакции
2
Уважаемые , подскажите как на f405v3 организовать такой алгоритм, который разрешал бы армить дрон только при разрыве контактов на одном из uart.
Или есть другой вариант это реализовать.
Всех с Новым Годом!!!
 
С Новым годом!
На сколько знаю, в бетафлайте такой функции нет, с некоторой вероятностью может найтись в айнаве, но чёт я не уверен.
А функция Prearm вам не подходит?
 
Пока не готов однозначно ответить, почитаю про этот режим (функция Prearm). Рассматривается случай, когда дрон в "коробке" типа уже в рабочем режиме ждёт команду АРМ, но данная команда блокируется перемычкой или герконом, или концевиком до тех пор, пока блокировка не будет снята механическим способом (разорвать перемычку, например). Вот такой режим. Т.е. это как двойной тумблер на взлёт по схеме "И", только роль второго тумблера выполняет перемычка, припаянная непосредственно на контакты контроллера f405v3, которая рвётся, тем самым давая разрешение армить уже пульту. Пока читаю про функционал PINIO, за базу взял статью https://dzen.ru/a/Z1XqR8z6vmq47XSq?ysclid=m5cmu4gwkz65095848
Если есть решение по данному вопросу, буду признателен, о своих результатах обязательно отпишу в чат. Но пока на стадии поиска решения.
 
  • Like
Реакции: qzz
вот ещё есть видео на эту тему. Т.к. не до конца ещё разобрался, прошу более опытных Спецов пояснить, если можно.
В общих словах понятно, что надо найти неиспользуемые контакты TX RX (как пример - GPS&Compass T6 R6) отменить их начальное назначение и приписать к входу для разрешения команды "АРМ", назначив User 1-4 или приписать к Aux-номер.
В теории так, но как правильно это записать? В этом пока больше вопросов, чем ответов. Поэтому прошу помощи у Спецов в этой области. Своё видение выложу позже после осмысления информации, если смогу в этом разобраться. :)
 
А вам обязательно чтобы дрон был полностью готовым к работе и запрет на арм был именно программным? С такой постановкой задачи как "доставание из коробки = разрешение на арм" на ум приходит решение разрывать питание от платы регуляторов (или pdb) до полётника. С инженерной точки зрения как по мне это было б выгоднее в условиях "нахождения в коробке", т.к. esc с pdb энергии особо не потребляют сами по себе, стм-ка в полетнике не греется, периферия тоже не запитывается от беков полетника (в частности – видео передающие системы, производящие даже на минимальной мощности внушительное количество тепла). Выдернули чеку, релешка запитала полётник, он за пару секунд загрузился и готов к работе. Опционально gps и/или приемник можно запитать в обход полетника, если требуется быстрый старт.
 
Последнее редактирование:
Да, именно такой алгоритм, без отключения питания от АКБ через реле. Необходим программный код, который загрузить через CLI строку, настроить и подключить перемычку дл разрыва, которая даст разрешение на АРМ. Всё тепловыделение от передатчиков и прочее не имеет роли, т.к. оборудование не в замкнутом пространстве.
 
1735987476492.png

.......
resource SERIAL_TX 4 A00
resource SERIAL_TX 5 C12
resource SERIAL_TX 6 C06 *****
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A03
resource SERIAL_RX 3 C11
resource SERIAL_RX 4 A01
resource SERIAL_RX 5 D02
resource SERIAL_RX 6 C07*****
.........

get pinio_box
pinio_box = 0,255,255,255
set pinio_box = 0,36,255,255 (ID преарма 36)
resource PINIO 2 C06 (R6 площадка - resource serial_rx6 --> C06)
**предупреждение, что ресурс занят на ТХ6
resource serial_tx 6 none
save

resource PINIO 1 B11
resource PINIO 2 C06
ID преарма 36
не знаю, получится или что-то не учёл. если есть Спецы, подкиньте идею. :)
 
Последнее редактирование:
set pinio_box = 0,36,36,255 (ID преарма 36)
resource PINIO 1 B11
resource PINIO 2 C06
resource PINIO 3 C07
resource PINIO 4 NONE

# get pinio_box
###WARNING: NO CUSTOM DEFAULTS FOUND###
pinio_box = 0,36,36,255
Array length: 4
Default value: 255,255,255,255
***** НИЧЕГО НЕ ПОЛУЧАЕТСЯ ПОКА, не могу привязать запрет на ARM
:unsure::unsure::unsure::(:(:( может есть команда прописать?
 
нашёл ещё понятие маски
сразу пропустил этот параметр и задавал только pinio_box

1736094579864.png

почему только 129 в примере???
 
1736503222118.png

стал пробовать с другим входом RX1--> вывод A10
назначил высокий уровень (4.2 В) на входе pinio config и box-у приписал команду PREARM (36)
**************
# get pinio
###WARNING: NO CUSTOM DEFAULTS FOUND###
pinio_config = 129,129,129,129
Array length: 4
Default value: 1,1,1,1

pinio_box = 36,255,255,255
Array length: 4
Default value: 255,255,255,255
****************
таблица ресурса соответственно:
****************
# resource
resource BEEPER 1 C15
resource MOTOR 1 B06
resource MOTOR 2 B07
resource MOTOR 3 B01
resource MOTOR 4 B00
resource PPM 1 A03
resource LED_STRIP 1 A08
resource SERIAL_TX 2 A02
resource SERIAL_TX 3 C10
resource SERIAL_TX 4 A00
resource SERIAL_TX 5 C12
resource SERIAL_RX 2 A03
resource SERIAL_RX 3 C11
resource SERIAL_RX 4 A01
resource SERIAL_RX 5 D02
resource I2C_SCL 1 B08
resource I2C_SDA 1 B09
resource LED 1 C13
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_SCK 3 B03
resource SPI_MISO 1 A06
resource SPI_MISO 2 C02
resource SPI_MISO 3 B04
resource SPI_MOSI 1 A07
resource SPI_MOSI 2 C03
resource SPI_MOSI 3 B05
resource ADC_BATT 1 C00
resource ADC_RSSI 1 C05
resource ADC_CURR 1 C01
resource PINIO 1 A10 <---------- здесь команда 36
resource FLASH_CS 1 C14
resource OSD_CS 1 B12
resource GYRO_EXTI 1 C04
resource GYRO_CS 1 A04
******************************
перепробовал несколько вариантов. результат не дало.
назначал пользователя (40), ему на закладке "РЕЖИМЫ" делал связь с командой "PREARM" - нет результата.
возможно надо ещё включить какие-нибудь поля или применить неизвестную мне команду для разрешения связи....
пока не могу понять. если есть мысли, подкиньте направление "дрейфа" :(.



1736505791316.png
 
Последнее редактирование:
Назад
Сверху