Создание собственной системы стабилизации

SergDoc
tusik:

Логи полностью пишутся?

Действительно посмотрел - логи не пишутся - странно… Раньше писались:
Пару вопросов - перед полётом подключался к USB - если да то логи могут и не писаться если старт был с USB (по моему так было - логи писались только если запуск был без USB ) и второе - если запуск без USB - что делает бутлоадер? если моргает так же как и с USB значит гдето косяк - надо проверять плату (возможно где-то “сопля” висит), если же без USB сразу стартует APM без проморгивания бутлоадера - это нормально…
если сегодня позволят (мои из деревни приезжают) залью прошивку - проверю пишутся или нет…

Вот так выглядели логи

logs.rar

SergDoc

Пока на работе - немного подправил порты, привёл в соответствие ПО 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
omegapraim

я вам только одно скажу если вы хотите отдельно компас и отдельно гпс это одно, а если хотите отдельно гпс/компас плату и отдельно антенну подключать вот тут вы расставите себе море грабель на вч части тк каждое соединение это потеря, и помимо согласования нужно спецально обжимать разъемы вобщем отдельно гпс отдельно компас вернее.

SergDoc
omegapraim:

отдельно гпс отдельно компас вернее

вот и я об этом - ненадо компас туда вешать и дырок в отражателе не придётся делать 😃

Gapey

отдельную плату компаса в этажерку не жирно ??? может его модулем как сам приемник на обратную сторону лепить ??? …
дырки в отражателе однозначно убирать ВСЕ !!! кроме одной в центре ессно …

tusik
SergDoc:

Пару вопросов -

Старт был без ЮСБ, стартует с ЮСБ и без по разному. Перед полетом ЮСБ не подключал, стартовал в нормальном режиме

SergDoc
tusik:

Старт был без ЮСБ, стартует с ЮСБ и без по разному. Перед полетом ЮСБ не подключал, стартовал в нормальном режиме

постараюсь сегодня посмотреть…

SergDoc

порты прописал получил:

nsh> <fmuservo> not in a PWM mode

надо рыть где конфликт 😦
где-тоещё раз порты определяются…

omegapraim

Господа господа успокойтесь тесты показали что небольшое отверстие в отражателе ничего не изменит.
Почему? Да потому что:
Антенны которые мы используем настроены на полигон 70х70 что уже само по себе как говорится лажа если делать все по канонам. Увы 35Х35 нашел только один тип антенн с настройкой на полигон 50Х50 и увы стоят они не кашерно в районе 200р за штучку у диллера.
Еще одно это то чтобы разделить земляной полигон и сделать реально граматную разводку не только по питанию но и вч части нужна не 2х слойная а 4х слойная плата (по факту 3х слойка). Все остальное это компромис.
Все вышесказанное предполагает что цена модуля увеличится и достаточно значительно а это не хорошо если делать народный модуль. Эххх придется нам мериться с 18-20 спутниками… А ведь могли бы и больше поймать))))))
У нас предполагается все просто кому надо паяем компас, кому не надо не паяем, я тоже не сторонник всего этого но ведь у назы работает и ничего так летают люди)))) Хотя эта железка больше 8ми спутников не ловит (ну может 15 в хороший день). По последним тестам как я уже сказал точность от 0.4 до 0.9м что очень неплохо квадрик даже на мультивие висит очень стабильно, а я использую данные всего лишь GPS без фильтрации и прочей ерунды. Занимайтесь лучше контроллером а приемником займемся мы ибо у нас уже наработки есть и уже 2я версия платы сделана и отправлена на завод где все что рекомендовал Сергей по большей мере учтено.
Лучше не забудьте обратить внимание на баг с улетом квадрика в тихий океан, присущий арду коду, ну и сделать там нормальную поддержку МТК приемников с программированием от контроллера.

oleg70
SergDoc:

вывод - убирать антенну нафиг от модуля

Я тут про свои изыски в области дизайна писал, вывод по поводу GPS сделал один: - главное антенну (особенно пассивную) сажать прямо на модуль, чтоб длина дорожки была минимальна (у меня 1 мм), т.е. антенна с другой стороны модуля на плате… При таком раскладе (проверено) на качество приема GPS не влияют ни процессор ни другие “соседи”, а у меня еще и импульсный преобразователь стоит рядом…

omegapraim

Господа вопрос конечно не по теме но может кто подскажет как правильно развести усилительный каскад, чтобы минимизировать потери. Ну просто может есть какие то общие правила допустим как с в.ч. частью (ширина дорожки и канавки должны быть определенными, волновое сопротивление должно быть особенным). Хочу намутить передатчик видео на 433 мГц схема сушкина, но мне кажется там все таки можно что то улучшить кроме антенного выхода.

Sir_Alex

SergDoc, я тут бьюсь об стену, пытаюсь с линуксовой машины залить прошивку… make px4-v1-upload
У кого нить оно работает? Аплоадер пускает плату в вечный ребут и не может ее прошить. Видимо никак не может установить связь с бутлоадером.

И еще, при подключении контроллера, в консоль бубунты выдается ошибка: usb 2-2: string descriptor 0 malformed (err = 2) defaulting to 0x0409

SergDoc
Sir_Alex:

make px4-v1-upload
У кого нить оно работает?

Работает:

  1. надо себя любимого добавить в группу пользователей “dialout” ибо только они имеют право работать с портами…
sudo usermod -a -G dialout я любимый
  1. удалить из бубунты modem-manager (как раз из-за него в ребут вечный уходит)
sudo apt-get remove modemmanager

если что, тут некоторые хитрости:rcopen.com/blogs/74247/18039
Да, мужики с праздником! 😃

SergDoc

Приплыл туда с чего начинал, буду дальше экспериментировать… И для Алексея картинко - всё работает 😃

SergDoc

Наверно самому надо взлетать - фиг с ним с баро и в стабе полетаю 😃

С логами что-то не то - не пишутся 😦

Geniok
SergDoc:

С логами что-то не то - не пишутся 😦

А сама карта памяти нормально определяется?
А то у вас в схеме нет подтягивающих резисторов на нее, по моему опыту без них работает очень нестабильно, во всяком случаем в режиме SDIO сбоит в 99% случаев, думаю в SPI может быть также.
Может в этом дело ?

SergDoc
Geniok:

А сама карта памяти нормально определяется?

точно также как и на старой плате… это кодятник поменяли, на старой плате оказывается на крайней прошивке тоже без логов летал…
без sd - не запустился бы APM…

C SD всё ок - тестовый файл пишет параллельно запущенному Арду…

oleg70
omegapraim:

видео на 433 мГц схема сушкина

Ссылочку на схему давайте (я тоже хочу).

rual
SergDoc:

мля запустил!!!
оказывается в самом арду была загвоздка:

Поздравляю, Сергей! Сейчас сколько получается файлов из самого АПМ надо править?