Создание собственной системы стабилизации
freertos идeт в составe мапловского идe, для ф4 использую coocox и порт с сайта фриртос
OpenPilot уже походу пoртанули на STM32F3DISCOVERY
приехала платка… сделал как по инструкции… в гуях наклоны отрабатывает как надо! 😉
Сделал полную ИНС на Ф3, всё как люблю, т.е.:
залил ваш hex + питон гуи запустил отсюда, предварительно указав в MinIMU-9-test.py номер stm vitrual com port-а … стоят вектора как вкопанные, т.е. не бегут данные наверное…
приехала платка… сделал как по инструкции… в гуях наклоны отрабатывает как надо!
бутлоадер надо менять на опенпилотовский? на сколько вижу - надо,
Choose the bl_disocoveryf4.bin or bl_disocoveryf3.bin from the release archive
в таком случае второе
залил ваш hex + питон гуи запустил отсюда, предварительно указав в MinIMU-9-test.py номер stm vitrual com port-а … стоят вектора как вкопанные, т.е. не бегут данные наверное…
может и не запустится?
вот только, если честно, я так и не разобрался - этот бутлоадер вторичный или всё-таки заменяет родной? у меня остался F103 (выпаяный) с крайней прошивкой CC и платка недоделаная под CC3D (свёрла кончились и немного испохабил) если кому надо отдам…
платка такая -
Я тут предложил производителю плат CRIUS AIOP подумать о перспективах и начать работу над ARM32 версией его платки. Мне кажется это реальный шанс собрать все наши наработки и сделать промышленный контроллер, ну а софт каждый сможет свой пилить под нее. На данный момент можно будет портировать прошивку Таймкопа и в скором времени появится ArduCopter под PX4 которую так же без вопросов можно будет портировать.
Что скажете?
Я предполагаю: STM32 F4, Датчики MPU6000 + MS5611 подключенные по SPI и использующие прерывания (для чтения готовых данных). Флеш память для параметров и логирования (SD карты вроде как могут глючить в полете, значит не имеет смысла их использовать). Использование аппаратных PWM генераторов для выходов на моторы/сервы и использование ICP(в терминах ATMEGA, как называется на F4 я пока не смотрел) для входных линий. Обязательно наличие JTAG разъема (SWD например) для отладки.
Я сейчас добился чего-то более-менее вменяемого, ещё пару вечеров и… в общем нижняя платка с датчиками и процем получается 52Х52 и креплениями 45Х45 - разрулил заразу 😃 осталось марафет навести…
что есть:
STM32F407VET6
MPU6000
HMC5883
MS5611
8 входов
8 + 4 выходы
3 UART ( один выведен на верхнюю плату для GPS MT332)
свободный SPI (скорей всего под MicroCD - будет на верхней плате и отдельно пару свободных лап под выбор других устройств)
6 светодиодов (2 из них индикация питаний цыфра/аналог)
разъём под сонар
USB (совместим с мапл)
4 свободных порта АЦП и 4 GPIO
А как это всё влезло? да очень просто - проц на стороне пайки (снизу) остальное сверху( дырок, то есть переходных отверстий под процем и другими МС нет) - дополнительно не будет геморроя с распайкой разъёмов - все дорожки идут снизу к ним 😃
а да, расположение датчиков как в APM…
- MS5611
там нет лап для прерываний, и чтение довольно редко (ну по сравнению с ДУС) - я оставил его на I2C…
Если кто поможет в покупке STM32F405(407)VGT6 (у меня VET6) буду очень признателен…
Флеш память для параметров и логирования (SD карты вроде как могут глючить в полете, значит не имеет смысла их использовать).
а кто мешает сделать платку которая влазит вместо MicroSD и на ней флешка, я на крайняк так планировал, если вдруг Рево портануть захочется 😃
P.S. для отладки оставил PA13 (SWDAT) и PA14 (SWCLK) под ST-linc
а кто мешает сделать платку которая влазит вместо MicroSD и на ней флешка, я на крайняк так планировал, если вдруг Рево портануть захочется
Проблема как раз в разъеме, а не самое флехе. Но возможно с F4 не будет особых проблем, даже если запись на флешку подвиснет.
залил ваш hex + питон гуи запустил отсюда, предварительно указав в MinIMU-9-test.py номер stm vitrual com port-а … стоят вектора как вкопанные, т.е. не бегут данные наверное…
Наверное, а синий “самолётик” углы показывает? Дело в том, что у меня несколько питоновских демок, там видимо самая старая, поновее здесь, а самую новую выложу вечером ( по моему времени) из дома.
А работу демки можно посмотреть в терминале (гипер под винь) или Putty, буквы латинские маленькие:
c- калибровка ДУС, в течении секунды плата должна быть в покое, считаем дрейф осей ДУСа;
a- углы по акселю, если плату дергать будут дрожжать;
s- данные акселя;
d-данные ДУСа;
g-углы по комплексированным данным;
e-углы + вектора.
В питоне проверяем букву
# Check your COM port and baud rate
ser = serial.Serial(port='COM5',baudrate=115200, timeout=1)
tmode = "e"
Предвидя вопрос - схема будет позже, не потому что жаба, а можно сказать уже суеверие, как только выложу новый вариан, так что-нибудь пойдёт не так, а переделывать уже задолбался, сделаю “примерку” (на бумажке распечатаю и детальки положу - дабы багов не было при изготовлении) тогда уже выкину полный комплект…
Я тут предложил производителю плат CRIUS AIOP подумать о перспективах и начать работу над ARM32 версией его платки.
Полностью поддерживаю. Подождем что получится у SergDoc, т.к. он много вариантов прикидывал и много чего с ним обсуждалось, как будет опытный образец можно либо утвердить, либо перейти к следующей итерации.
Я тут предложил производителю плат CRIUS AIOP подумать о перспективах
OSD на SPI это конечно прикольно, но может тогда сразу туда max7456/lm1881 пихнуть, чтобы разгрузить процессор от, как минимум, выделения начала видеостроки? Сильно не удорожит/усложнит, а перспектив еще побольше…
И опять хочу dcmi выведенный отдельно для optflow целей
PS вот f4 я ковырял немного, вроде все понял, но вот lpc старшие на бумаге поинтереснее выглядят - хотя бы методом залития новой прошивки…
OSD на SPI это конечно прикольно,
Об ОСД речь вроде нешла?
свободный SPI (скорей всего под MicroCD
Сергей писал про память на СД карте.
Вообще в самолётной ветке rcopen.com/forum/f90/topic263662 автор спокойно поженил ОСД и автопилот на одном проце.
С осд на lm1881 придется очень часто в прерывание залетать.
Наверное чуток накладно будет.
С осд на lm1881 придется очень часто в прерывание залетать. Наверное чуток накладно будет.
ДЛя подкачки видеобуфера? интерфейс у неё какой?
ДЛя подкачки видеобуфера? интерфейс у неё какой?
Она выдает только синхроимпульсы. Буфера нету.
ДЛя подкачки видеобуфера? интерфейс у неё какой?
Эта микруха всего лишь детектирует синхро сигнал в видеопотоке (начало каждой линии)
И опять хочу dcmi выведенный отдельно для optflow целей
Для DCMI много лапок надо, да ещё по разным сторонам проца 😦 так что, ну никак, только отдельный модуль на 407 (в 405 DCMI нет) и по SPI с основным зацепить…
OSD на SPI это конечно прикольно, но может тогда сразу туда max7456/lm1881 пихнуть, чтобы разгрузить процессор
Разгрузить… эту работу он и не заметит =))
Кстати по поводу Сдшек есть у кого вменяемые либы для работы по протоколу SDIO?
В мультипилоте последние версии по нему работают…
я так же от него отказался в пользу 8-го таймера…
А какие причины были?
Наверное, а синий “самолётик” углы показывает? Дело в том, что у меня несколько питоновских демок, там видимо самая старая, поновее здесь, а самую новую выложу вечером ( по моему времени) из дома.
перед работой, на скорую руку, с гуем из этого поста, запустилось… вечером (по нашему времени 😃) поиграюсь подробнее… выкладывайте новый гуй! 😉
Предвидя вопрос - схема будет позже, не потому что жаба, а можно сказать уже суеверие, как только выложу новый вариан, так что-нибудь пойдёт не так, а переделывать уже задолбался, сделаю “примерку” (на бумажке распечатаю и детальки положу - дабы багов не было при изготовлении) тогда уже выкину полный комплект…
на хабре както читал про “виртурилку”… там электронщик тож самое писал, как только похвастаем, так сразу баги и откат прогресса 😃
habrahabr.ru/company/virt2real/blog/156491/
virt2real.ru
А какие причины были?
+2 выхода, легче развести плату, ну и вместо неё можно что-нибудь другое повесить…