Создание собственной системы стабилизации
Вот что нужно сделать мне в идеале для конкретной рамы:
но со смещённой назад батареей аппарат ведёт себя адекватно во всех режимах…
вот интересно на видео регуляторы на лучах - как-то не по феншую, у меня всё в раме спрятано - красота 😃 и батарейка тоже внутри рамы - ни проводов торчащих ничего… мои из деревни приедут сделаю фото…
Собрался отстроить коэфициенты IMU в Python а он (Python) перестал работать, зараза, картинку показывает а 3Dобъект не двигается, три дня качаю/подбираю/устанавливаю разные версии компонентов Питона - результат НОЛЬ…(а ведь работало раньше)
Уже руки опускаются, может есть у кого заведомо проверенный набор (комплект) pyserial,pywin,Vpython, помогите…
В чем может быть дело то ? (порт работает данные в python/shell тоже идут но что то зависает…)
Уже руки опускаются, может есть у кого заведомо проверенный набор (комплект) pyserial,pywin,Vpython, помогите… В чем может быть дело то ? (порт работает данные в python/shell тоже идут но что то зависает…)
Vpyton нужно переставить, возможно графическая связка с виндой (опенГЛ и ДХ) буксует.
Блин, скорей бы уже мои приехали, а то пока старшего в школу не соберём, финансы тратить нельзя, а надо минимум это верхнюю плату, да и вообще без моих “тараканчиков” дома ну ничего не могу делать… нет никакого настроя…
Vpyton нужно переставить
Все перепробовал… не ра бо та ет. (точно похоже что видео виснет).
Вообще говоря странное дело, тема всяких ИМУ уже столько лет существует, а такого рода софта под винду (адекватного) практически нет (или я не нашел), все из каких то клочков и палок, аж под 3DMax плагин встречал, видать очень сложно знающему программеру сделать такой код…
Хм… как вполне реальный вариант - поиграйся с разными версиями драйверов для видеокарты + опенгл обновить. У меня сходная проблема была с прогой калибровки фрииму на моем раб.компе
а такого рода софта под винду
пингвиндовс рулит - так не для стёба…
Вывод видео Питона настроил, но он хочет большего… теперь поток данных с порта зависает,
ser.readline() тупить начала (похоже не находит конец строки) а по тайм-ауту работает только при частоте данных с платы ~ 1Гц… Фигня просто какая то (в Питоне я вообще не разбираюсь) главное дело месяца два назад все работало на том же железе, а тут черт дернул “снести” питон и поставить заново…
Есть спецы по Python ???
Что ser.readline() считает за “END of LINE” ???
Новая рама ждет мозгов:)
коллеги, а не поделитесь ссылочкой на FreeIMU для STM32F103 или F4?
У меня под рукой есть пара сенсорных платок с L3G4200D, HMC5883L, BMP085 и ADXL345. Насчет датчиков поновее думаю пока, стоит ли искать и платить за платку с MPU6000 или достаточно взять GY-86 с популярным MPU6050. C одной стороны I2C ругают, с другой - особых проблем с ней у меня не было.
у меня в коде остались драйвера и автодетект, можно смело брать прошивку и в дискавери ф4 заливать и подключать датчики (правда BMP085 и MPU6050 работать не будут) для 6050 всё в коде с MPU6000 заменить на 6050, а для BMP - подправить драйвер MS5611 (автодетект)… а для 103-го baseflight - там всё работает…
у меня в коде остались драйвера и автодетект, можно смело брать прошивку и в дискавери ф4 заливать и подключать датчики (правда BMP085 и MPU6050 работать не будут) для 6050 всё в коде с MPU6000 заменить на 6050, а для BMP - подправить драйвер MS5611 (автодетект)… а для 103-го baseflight - там всё работает…
Отлично, спасибо, Сергей. Попробую разобраться. А что насчет MPU6050 скажете - сойдет или стоит брать MPU6000? реальная разница на практике есть или только гипотетически разница в том, что SPI быстрее и меньше вероятность подвисания шины или коллизий?
а не поделитесь ссылочкой
Я брал здесь:x-io.co.uk/open-source-imu-and-ahrs-algorithms/
, (чисто алгоритм ориентации), на выходе четыре кватерниона (q0-q1), добавите в коде
ROLL_plane = atan2(2 * q1 * q2 - 2 * q0 * q3, 2 * q0*q0 + 2 * q1 * q1 - 1)*TooGRD;
TANG_plane = atan(kx / sqrt(ky*ky + kz*kz))*TooGRD;
KREN_plane = atan(ky / sqrt(kx*kx + kz*kz))*TooGRD;
и получите углы в градусах, работать будет на любом железе (ну почти:))
Я брал здесь:x-io.co.uk/open-source-imu-and-ahrs-algorithms/
, (чисто алгоритм ориентации), на выходе четыре кватерниона (q0-q1), добавите в коде
ROLL_plane = atan2(2 * q1 * q2 - 2 * q0 * q3, 2 * q0*q0 + 2 * q1 * q1 - 1)*TooGRD;
TANG_plane = atan(kx / sqrt(ky*ky + kz*kz))*TooGRD;
KREN_plane = atan(ky / sqrt(kx*kx + kz*kz))*TooGRD;
и получите углы в градусах, работать будет на любом железе (ну почти:))
ссылочка не работает.
А что насчет MPU6050 скажете - сойдет или стоит брать MPU6000?
ну я хотел SPI по этому у меня и 6000, а по самим датчикам одинаковые…
если режим лени ближайшее время отключится, нарисую мелкоплату (чёт хочется маленькое что-нибуь) на 6050 - будет (потому что кто-то, не буду пальцем показывать:), мне их аж две штуки подарил и два проца rgt6 - надо же с ними что-то делать)
ссылочка не работает.
странно, у меня работает…
x-io.co.uk/open-source-imu-and-ahrs-algorithms/
странно, у меня работает…
x-io.co.uk/open-source-imu-and-ahrs-algorithms/
Уже работает, видимо траблы были у сайта
Разобрался таки с Python, (и не зря потратил время) смотрю данные по осям LSM303 на графике в реальном времени, кручу медленно плату и вижу что при определенных углах наклона кривая графика начинает сильно скакать (типа самовозбуда), такое явление наблюдается как у акселя так и у магнитометра(!), “играл” с усилением и прочими настройками - эффект все равно присутствует…
Это “нормально” для LSM ???
а с питанием что?
а с питанием что?
Питание проверено, выброс явно присутствует в небольшом диапазоне углов в начале и конце полной шкалы…(данные “сырые” без какой либо обработки).
Если это мягко говоря “особенность” LSM, то придется как то программно избавляться от нее…
На положении 3D объекта в питоне аксель как то сглаживается (видимо FreeImu) а вот магнетометр крутит платформу на 90 градусов при определенных углах…
Вот, плавно поворачиваю от 0 до 90 градусов, на графике видны два “выброса” помимо нормального шума…
Это без математики? Может там чего?
Нет, сомнения берут, либо всё-таки питание, либо какие-то ёмкости у ЛСМ-ки, ну и на хуой конец - траблы по чтению?
без математики?
Только преобразование двух 8-ми битных регистров с датчика в один 16-битный (код проверенный, вряд ли на него можно грешить…)
Емкости, как вариант буду отрабатывать…, а по чтению пробовал и 100 и 400 Кгц (I2C) - одинаково…