Создание собственной системы стабилизации
Пока на работе - немного подправил порты, привёл в соответствие ПО PX4 и платы F4BY:
//board_config.h
#define GPIO_GPIO0_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN7)
#define GPIO_GPIO1_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN8)
#define GPIO_GPIO2_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN3)
#define GPIO_GPIO3_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN4)
#define GPIO_GPIO4_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN5)
#define GPIO_GPIO5_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN6)
#define GPIO_GPIO6_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN1)
#define GPIO_GPIO7_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN2)
#define GPIO_GPIO0_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN7)
#define GPIO_GPIO1_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN8)
#define GPIO_GPIO2_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN3)
#define GPIO_GPIO3_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN4)
#define GPIO_GPIO4_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN5)
#define GPIO_GPIO5_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN6)
#define GPIO_GPIO6_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN1)
#define GPIO_GPIO7_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN0)
#define GPIO_GPIO_DIR (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN11)
#if defined(CONFIG_ARCH_BOARD_PX4FMU_V1)
{GPIO_GPIO0_INPUT, GPIO_GPIO0_OUTPUT, 0},
{GPIO_GPIO1_INPUT, GPIO_GPIO1_OUTPUT, 0},
{GPIO_GPIO2_INPUT, GPIO_GPIO2_OUTPUT, GPIO_USART2_CTS_2},
{GPIO_GPIO3_INPUT, GPIO_GPIO3_OUTPUT, GPIO_USART2_RTS_2},
{GPIO_GPIO4_INPUT, GPIO_GPIO4_OUTPUT, GPIO_USART2_TX_2},
{GPIO_GPIO5_INPUT, GPIO_GPIO5_OUTPUT, GPIO_USART2_RX_2},
{GPIO_GPIO6_INPUT, GPIO_GPIO6_OUTPUT, GPIO_CAN1_TX_3},
{GPIO_GPIO7_INPUT, GPIO_GPIO7_OUTPUT, GPIO_CAN1_RX_3},
#endif
я вам только одно скажу если вы хотите отдельно компас и отдельно гпс это одно, а если хотите отдельно гпс/компас плату и отдельно антенну подключать вот тут вы расставите себе море грабель на вч части тк каждое соединение это потеря, и помимо согласования нужно спецально обжимать разъемы вобщем отдельно гпс отдельно компас вернее.
отдельно гпс отдельно компас вернее
вот и я об этом - ненадо компас туда вешать и дырок в отражателе не придётся делать 😃
отдельную плату компаса в этажерку не жирно ??? может его модулем как сам приемник на обратную сторону лепить ??? …
дырки в отражателе однозначно убирать ВСЕ !!! кроме одной в центре ессно …
Пару вопросов -
Старт был без ЮСБ, стартует с ЮСБ и без по разному. Перед полетом ЮСБ не подключал, стартовал в нормальном режиме
Старт был без ЮСБ, стартует с ЮСБ и без по разному. Перед полетом ЮСБ не подключал, стартовал в нормальном режиме
постараюсь сегодня посмотреть…
порты прописал получил:
nsh> <fmuservo> not in a PWM mode
надо рыть где конфликт 😦
где-тоещё раз порты определяются…
Господа господа успокойтесь тесты показали что небольшое отверстие в отражателе ничего не изменит.
Почему? Да потому что:
Антенны которые мы используем настроены на полигон 70х70 что уже само по себе как говорится лажа если делать все по канонам. Увы 35Х35 нашел только один тип антенн с настройкой на полигон 50Х50 и увы стоят они не кашерно в районе 200р за штучку у диллера.
Еще одно это то чтобы разделить земляной полигон и сделать реально граматную разводку не только по питанию но и вч части нужна не 2х слойная а 4х слойная плата (по факту 3х слойка). Все остальное это компромис.
Все вышесказанное предполагает что цена модуля увеличится и достаточно значительно а это не хорошо если делать народный модуль. Эххх придется нам мериться с 18-20 спутниками… А ведь могли бы и больше поймать))))))
У нас предполагается все просто кому надо паяем компас, кому не надо не паяем, я тоже не сторонник всего этого но ведь у назы работает и ничего так летают люди)))) Хотя эта железка больше 8ми спутников не ловит (ну может 15 в хороший день). По последним тестам как я уже сказал точность от 0.4 до 0.9м что очень неплохо квадрик даже на мультивие висит очень стабильно, а я использую данные всего лишь GPS без фильтрации и прочей ерунды. Занимайтесь лучше контроллером а приемником займемся мы ибо у нас уже наработки есть и уже 2я версия платы сделана и отправлена на завод где все что рекомендовал Сергей по большей мере учтено.
Лучше не забудьте обратить внимание на баг с улетом квадрика в тихий океан, присущий арду коду, ну и сделать там нормальную поддержку МТК приемников с программированием от контроллера.
вывод - убирать антенну нафиг от модуля
Я тут про свои изыски в области дизайна писал, вывод по поводу GPS сделал один: - главное антенну (особенно пассивную) сажать прямо на модуль, чтоб длина дорожки была минимальна (у меня 1 мм), т.е. антенна с другой стороны модуля на плате… При таком раскладе (проверено) на качество приема GPS не влияют ни процессор ни другие “соседи”, а у меня еще и импульсный преобразователь стоит рядом…
Господа вопрос конечно не по теме но может кто подскажет как правильно развести усилительный каскад, чтобы минимизировать потери. Ну просто может есть какие то общие правила допустим как с в.ч. частью (ширина дорожки и канавки должны быть определенными, волновое сопротивление должно быть особенным). Хочу намутить передатчик видео на 433 мГц схема сушкина, но мне кажется там все таки можно что то улучшить кроме антенного выхода.
SergDoc, я тут бьюсь об стену, пытаюсь с линуксовой машины залить прошивку… make px4-v1-upload
У кого нить оно работает? Аплоадер пускает плату в вечный ребут и не может ее прошить. Видимо никак не может установить связь с бутлоадером.
И еще, при подключении контроллера, в консоль бубунты выдается ошибка: usb 2-2: string descriptor 0 malformed (err = 2) defaulting to 0x0409
make px4-v1-upload
У кого нить оно работает?
Работает:
- надо себя любимого добавить в группу пользователей “dialout” ибо только они имеют право работать с портами…
sudo usermod -a -G dialout я любимый
- удалить из бубунты modem-manager (как раз из-за него в ребут вечный уходит)
sudo apt-get remove modemmanager
если что, тут некоторые хитрости:rcopen.com/blogs/74247/18039
Да, мужики с праздником! 😃
Видео полета в альтхолде. Снимала дочка:)
мля запустил!!!
оказывается в самом арду была загвоздка:
github.com/…/5ef1c39a90265648cbf0ddd6994b6c4d8f543…
github.com/…/c227383dee6de8f1cca5798fd743107bc4cd3…
так что народ можете тестить пока я ещё чего не упорол 😃
Наверно самому надо взлетать - фиг с ним с баро и в стабе полетаю 😃
С логами что-то не то - не пишутся 😦
С логами что-то не то - не пишутся 😦
А сама карта памяти нормально определяется?
А то у вас в схеме нет подтягивающих резисторов на нее, по моему опыту без них работает очень нестабильно, во всяком случаем в режиме SDIO сбоит в 99% случаев, думаю в SPI может быть также.
Может в этом дело ?
А сама карта памяти нормально определяется?
точно также как и на старой плате… это кодятник поменяли, на старой плате оказывается на крайней прошивке тоже без логов летал…
без sd - не запустился бы APM…
C SD всё ок - тестовый файл пишет параллельно запущенному Арду…
видео на 433 мГц схема сушкина
Ссылочку на схему давайте (я тоже хочу).
мля запустил!!!
оказывается в самом арду была загвоздка:
Поздравляю, Сергей! Сейчас сколько получается файлов из самого АПМ надо править?
Нубук прикольный.