Компас HMC5883L с Arduino для квадрокоптера

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем vlad123419, 26 сен 2016.

  1. vlad123419

    vlad123419 Нерд

    Начнём с того, что я собрался сделать полётный контроллер для квадрокоптера, используя Arduino Uno, гироскоп и акселерометр MPU6050, и барометр BMP180, а также GPS модуль GY-NEO6MV2, но для Arduino Uno это много, поэтому буду использовать Arduino Pro Mini, скорее всего две штуки, одна на GPS, а вторую на компас и барометр.

    Скетч и схему брал с серии видео в ютубе YMFC, можно легко найти.
    Плату на Ардуино Уно уже спаял, будет бутерброд, а вот хотел бы теперь разобраться с компасом...

    Компас брал на отдельной плате HMC5883L, понял что он имеет три оси, и так как квадрокоптер будет все время наклоняться в разные стороны, мне нужно сделать так, чтобы направление всегда оставалось неизменным, то есть не зависимо от углов наклона квадрокоптера, т.е. мне с компаса нужен только так называемый азимут, что бы в связке с GPS, квадрокоптер знал направление своего движения...

    Суть вопроса в том, как мне сделать показания азимута не зависимыми от наклона квадрокоптера?

    Заранее спасибо за ответы!
     
  2. vvr

    vvr Инженерище

    самый простой вариант снимать и передавать показания когда коптер в горизонте
    он же не всегда наклонённый))))
     
  3. vlad123419

    vlad123419 Нерд

    Но вот смотри, вот коптер летит вперёд, он наклонён, а ему надо знать куда он летит, поэтому такой вариант не подходит
     
  4. vvr

    vvr Инженерище

    ну и пускай летит
    как только в горизонте - снял и передал
    квадрик не будет всегда наклонённым
     
  5. vlad123419

    vlad123419 Нерд

    Даже если так, вот связь пропала, квадрокоптер начал возвращаться на точку взлета, он летит вперёд и в горизонте он останавливается не будет, так что я не рассматриваю такой вариант, но все же спасибо за ответы!
     
  6. Onkel

    Onkel Гуру

    у mpu6050 есть бортовой компьютер, он вычисляет (достаточно прилично) углы тангажа и крена, выдает это по прерыванию в микроконтроллер, по этим углам надо сделать синусно- косинусное преобразование данных с компаса и по ним уже референс на угол рыскания.
     
  7. vlad123419

    vlad123419 Нерд

    Если честно, мало что понял, но все равно спасибо! Код скину позже!