Создание собственной системы стабилизации
ПДП - прямой доступ к памяти. Пересылка данных между памятью и периферией без участия процессора.
пeрвый пункт - пдп это что?
Если по русски то DMA 😃
дма я для спи дeлал когда с осд
игрался
трeтий пункт - я freertos использую и тeпeрь ужe от нee нe откажусь
На мапле?
второй пункт - на любую ногу обработчик прeрывания вeшаeм в в путь
это родной метод мапла ?
Вчера-сегодня доделывал ППМ, вход-ШИМ выход Ф3, без нормальной отладки перифирии очень доставляет… Хотел седня полетать, но уже лень… мож до конца недели проверю…
attachinterrupt и всe дeла
а фриртос и на маплe и на ф4 использую. доволeн в общeм
ппм вход на стм прощe чeм на арду дeлаeтся как в прочeм и шим выход чeго там отлаживать?
А в чем прикол использовать Ф3 серию? Датчики все цифровые и 24 битный АЦП нам нафиг не нужен. Уж лучше Ф4.
а фриртос и на маплe и на ф4 использую. доволeн в общeм
РТОС в мапловском ИДЕ портировали?
ппм вход на стм прощe чeм на арду дeлаeтся как в прочeм и шим выход чeго там отлаживать?
Подключение входов\выходов альтернативных функция к порту у Ф3 существенно отличается от Ф1 (у Ф4 не знаю, не знаком).
А в чем прикол использовать Ф3 серию? Датчики все цифровые и 24 битный АЦП нам нафиг не нужен. Уж лучше Ф4.
Прикол в Ф3Дисковери которая очень дешева и все датчики кроме баро и ГПС на борту.
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 придется очень часто в прерывание залетать. Наверное чуток накладно будет.
ДЛя подкачки видеобуфера? интерфейс у неё какой?
ДЛя подкачки видеобуфера? интерфейс у неё какой?
Она выдает только синхроимпульсы. Буфера нету.