Создание собственной системы стабилизации
Ну, чувствую, что новый GPS-ГЛОНАСС модуль будет ещё не скоро, я всё что было вкинул в новую версию контроллера, вообще больше по той же причине выносил и GPS, дабы потом его без проблем подключить к новой плате, верхней платы уже не будет, всё на одной кроме GPS, всё: разъёмы, MicroSD, переехали на основную плату, GPS может подключатся как один, так и с дополнительным внешним компасом…
Сергей. Не в обиду будет сказано. Но какие цели Ваш проект преследует? Вы идете позади “портируемых” разработок. Не понимая что имелось ввиду (реверс инжиниринг). Разбор чужого кода. Повторяю вопрос - где собственная?
Сергей. Не в обиду будет сказано. Но какие цели Ваш проект преследует?
Ничего что я своё виденье этого скажу? Кто сказал что собственная система это ПО? Разработка “идеального” (на текущий момент) железа не заслуживает звание “собственная”?
Вы идете позади “портируемых” разработок.
Что значит позади? Предполагается что развитие стабов идет строго по одной линии? Мне ж видится что процесс весьма многомереный, так как есть такие измерения как: ПО ( ртос,алгоритмы ИНС), проц, датчики, доп. аппаратура (количество входов\выходов, управление БАНО и прочими фенечками), цена и доступность. Так и где серёгина плата “позади”? Проц на уровне лучших стабов, датчики на уровне, обвязка ЛУЧШАЯ для такого “форм-фактора”, ПО - последний АПМ. О цене и доступности не говорим, ибо в продаже нет, надеюсь ПОКА нет.
Так где позади? Скорей сбоку и чуть впереди )))
не без исключения зачатков искуственного интеллекта (надеюсь).
???
???
Всё движется, всё меняется… Много чего не получается. В ветке вроде есть пояснения.
Андрей, скажи, какие датчики в твоём ирИсе стоят?
Что значит позади?
Руал, при всём уважении, но чего нового в копании в чужом коде, добиваясь чтобы созданный тот код заработал на не тех и не так расположенных датчиках? Где СВОЙ алго? НЕТУ
???
Андрей, в самом начале темы также сказано, что программным будет заниматься другой программер!!! а я “железячник”. Он слился, а мне что оставалось делать, сдаться просто? Так это не по мне, потихоньку изучаю того чего не знаю - ну уж извините, не могу быстрее… да железо переделали, но не клон какой-нибудь платы, а для удобства, пришлось пожертвовать 4 выходами для большего колличества портов (usart, SPI, и т.д.) и она даже не стала удобнее для портирования какого-либо софта чем прежняя версия, учтены недостатки, убрана как уже говорил, верхняя плата…
Где СВОЙ алго? НЕТУ
Ну для начала, я копался и запускал уже 3 различные платформы (ну если не считать родное PX4 - я с ним только на столе баловался, да и ноги у него растут из OpenPilot), вижу их достоинства и недостатки, устаканится железо и если Александр не против, будем потиху делать своё, ибо я один не справлюсь точно - такой ответ устроит?
А вообще, я не должен ни перед кем отчитываться, я это делаю, потому, что мне это нравится, и это лучше чем стоять под магазином или на диване перед зомбоящиком пивцо потягивать - это сугубо моё мнение, может кто-то считает иначе, ну извините…
p.s. обидеть никого не желаю, блин сам просто сегодня уже на коне белом скачу… проблемы житейские…
Публично приношу извинения. Недопонял наверное. Ага?
СВОЙ алго? НЕТУ
Есть, вот сбсна демка под Ф3Дисковери, кому интересно может проверить и сравнить устойчивость горизонта с АПМ и Вием.
Два хекса STD под простую Ф3Дискавери, MPU соответсвенно с MPU6050 в качестве акселя (готовность на PB2, SCL - PB6, SDA - PB7) и полуловская отображалка на питоне. Кому интересно полазить в терминале возьмите putty и переключите на кирилицу CP-1521, управляется стрелками, интерфейс интуитивно понятный )))
Вот видео
у меня вот на gy-86 перестал ms5611 запускаться, вчера через раз стартовал, а сегодня ни как…
выводы FSYNC, INTA, DRDY это пины готовности сенсоров? или какой нить из них нужно повесить на землю или 1-цу?
Могу выложить код по F4BY v0, но кроме SergDoc проверить его некому…
у меня вот на gy-86 перестал ms5611 запускаться, вчера через раз стартовал, а сегодня ни как…
выводы FSYNC, INTA, DRDY это пины готовности сенсоров? или какой нить из них нужно повесить на землю или 1-цу?
не к баро оно не относится, ты llc отключил(выкинул)?
Могу выложить код по F4BY v0, но кроме SergDoc проверить его некому…
я не проверю, пока авторежимы не проверю, чесно, влом, перенастраивать потом арду, он у меня сейчас так красиво настроен, жду может выпадет оказия вылететь срочно 😃
не к баро оно не относится, ты llc отключил(выкинул)?
нет… я думал про это, но решил что если питать от 3в (от дикавери) то уровни будут в норме… не так?
upd: mpu и компас не жалуются Ж вроде
у меня вот на gy-86 перестал ms5611 запускаться, вчера через раз стартовал, а сегодня ни как…
выводы FSYNC, INTA, DRDY это пины готовности сенсоров?
Привет, Александр! Их есть у меня! FSYNC это внешняя синхра МПУ либо выход синхры, INTA это выход запроса обслуживания МПУ, по настройке смотрим сюда www.i2cdevlib.com/devices/mpu6050#registers строчка 0х3а.
DRDY это готовность МС5611, я ей не пользуюсь, так что не подскажу.
НО!!! MS5611 это не обычное и2ц устройство, мне стоило недели жизни. Нужно все операции делать строго по руководству! Стоп в конце ЛЮБОЙ команды обязателен!!!
чесно, влом, перенастраивать потом арду,
Серёг, совершенно не настаиваю! В массе отлёт АПМ куда важнее!
upd2: откатился на периферию V1.0.0 (сегодня пробовал собрать с V1.1.0) и барик запустился, но все равно через 5-10 сек виснет… ща попробую телеметрийный приемник отнести немного, мот он фонит, т.к. на одном шлейфе в пару см на тех же соплях висит 😃
но решил что если питать от 3в (от дикавери) то уровни будут в норме.
питай обязательно от 5В, ибо в дискавери не 3.3В, а 3.0 В, видимо уровни заваливает.
питай обязательно от 5В, ибо в дискавери не 3.3В, а 3.0 В, видимо уровни заваливает.
пробовал… таж фигня… да и потом по даташиту у него Supply voltage 1.8 to 3.6 V
драйвер смотреть надо (то что я не люблю больше всего 😃)… скорее всего там фига…
после запуска работает ровно 5-10 сек и отруб…
после запуска работает ровно 5-10 сек и отруб…
Тут трассировка нужна… Дискавери Ф3 или Ф4?
Давай код драйвера, посмотрим…
Тут трассировка нужна… Дискавери Ф3 или Ф4?
ф4… пока покопаюсь сам, потом если что буду просить 😃
у тебя дока или схемка gy-86 есть?
и как делать трассировку? это тож самое что дебаг? 5-й кейл вроде поддерживает дебаг периферии…
и как делать трассировку? это тож самое что дебаг?
Ну да, отладка! Кейл делает
у тебя дока или схемка gy-86 есть?
Схемы нет, да и не надо. МПУ и МС висят на внешней шине, компас через МПУ, все готовности выедены как есть.
драйвер смотреть надо (то что я не люблю больше всего )… скорее всего там фига…
а i2c драйвер сам писал или у меня взял? там хитрость одна в настройке портов есть, правильно работает только так, а не как в базефлайте:
void i2cUnstick(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
uint8_t i;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_10 | GPIO_Pin_11);
for (i = 0; i < 8; i++) {
// Wait for any clock stretching to finish
while (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10))
delayMicroseconds(10);
// Pull low
GPIO_ResetBits(GPIOB, GPIO_Pin_10); //Set bus low
delayMicroseconds(10);
// Release high again
GPIO_SetBits(GPIOB, GPIO_Pin_10); //Set bus high
delayMicroseconds(10);
}
// Generate a start then stop condition
// SCL PB10
// SDA PB11
GPIO_ResetBits(GPIOB, GPIO_Pin_11); // Set bus data low
delayMicroseconds(10);
GPIO_ResetBits(GPIOB, GPIO_Pin_10); // Set bus scl low
delayMicroseconds(10);
GPIO_SetBits(GPIOB, GPIO_Pin_10); // Set bus scl high
delayMicroseconds(10);
GPIO_SetBits(GPIOB, GPIO_Pin_11); // Set bus sda high
// Init pins
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}