2х ядерный коптер

Намучившись с MultiWii+WMP+NK (NK так и не заработал как надо) решил попробовать альтернативные прошивки, а именно BaronPilot, в которой используется стандартная библиотека для работы с i2c и видимо поэтому WMP+NK заработали как надо, но внезапно вылезла проблемка со связью, так как Wire (для i2c) и VirtualWire (для связи через 433mhz rf link kit) конфликтуют между собой в момент работы. Написать свою VirtualWire с нужными играми и плюшками не захотелось, поэтому решил что надо тупо взять 2 контроллера, соеденить их и распаралелить задачи: один контроллер крутит стандартную прошивку (MultiWii или BaronPilot или еще что то), а другой занимается тем что мне нужно, а именно: связь, дальномеры, GPS (на будущее).

Связать 2 контроллера оказалось крайне просто, так как у меня есть Seeeduino Mega и прочто Seeeduino, то первую оставлю под стандартную прошивку (+выводы на периферию дполнительную), а вот вторая платка займется связью и всем остальным. Итак, как соеденить:
Seeeduino MegaSeeeduino 328
RX119TX01
TX118RX00
GND-GND-
+5V-Vin-
Для тестов конечно питание соединять не надо (и само питание подаем на MEGA), а вот в дальнейшем пригодиться... ну и пару скетчей для тестов (смотрим консольку со стороны seeeduino 328):
код для mega:
void setup(){
 Serial.begin(9600);
 Serial1.begin(9600);
 Serial.println("Hello Computer");
 Serial1.println("Hello Serial 1");
 pinMode(13, OUTPUT);
}

void loop() {
 digitalWrite(13, HIGH);
 Serial1.println("Hello Serial 1");
 delay(500);
 Serial1.println("123");
 digitalWrite(13, LOW);
 delay(500);
}
код для другой сидуинки (+ тут надо иметь библиотечку NewSoftSerial, чтобы потом цеплять еще, в частности GPS... ну или поменять платы местами, всё зависит от требований):
#include <NewSoftSerial.h>
NewSoftSerial nss(0, 1);

void setup() {
 nss.begin(9600);
 Serial.begin(9600);
}

void loop() {
 while (nss.available()) {
  int b = nss.read();
  Serial.print (b,BYTE);
 }
}
При заливки скетча на обычную сидуинку лучше связь между контролерами разрывать

20 комментариев:

  1. Интересно, я в своем квадрокоптере использую похожую архитектуру:
    главный контроллер(раскуроченый wi-fi роутер с линухом)
    |
    \/
    мост на Меге
    |
    \/
    переферия(драйвера движков, датчики)

    ОтветитьУдалить
  2. не пробовал эту тему http://aeroquad.com/showthread.php?1658-Tutorial-for-using-the-Wii-sensors-with-AeroQuad

    сам проект AeroQuad вроде как более стабилен

    ОтветитьУдалить
  3. не пробовал, но там вроде нет варианта для трикоптера

    ОтветитьУдалить
  4. Смотрел BaronPilot по диагонали. Это производная какого то из существующих проектов или совершенно отдельный проект?

    > в которой используется стандартная библиотека для работы с i2c и видимо поэтому WMP+NK заработали как надо

    Каким образом тестировали и почему решили что "как надо"? Конфиг тулом от BaronPilot тестили?
    Потом если не использовать VirtualWire то проблемы по идее этой не будет?

    ОтветитьУдалить
  5. > или совершенно отдельный проект?
    совершенно отдельный, но сейчас идет в сторону совместимости с MultiWii
    > почему решили что "как надо"
    потому что в GUI наклоны/повороты отрабатываются верно, а multiwii значения скакали и постоянно наровили вернутся к начальным значениям
    > если не использовать VirtualWire
    если не использовать, то конечно же не будет - но мне надо для 2х сторонней связи с компом, поэтому буду использовать 2 платки (только вот местами поменяю, погорячился с тем чтоб мега под основную... мега будет под связь, gps, логирование и прочие вещи - там реальных tx/rx дырок больше, поэтому нет гемороя с NewSoftSerial)

    ОтветитьУдалить
  6. > идет в сторону совместимости с MultiWii
    а если немного подробнее в чем совместимость будет? по железу и распиновке оно и так совместимо если я правильно понял...

    З.Ы. Зарегился на forum.rcdesign.ru. Скоро буду у вас :) Хотя в данный момент не могу постить сообщения... типа после регистрации нужно сутки обождать + 1ч на форуме пробыть хотя ветку MultiWii я уже прочитал :)
    Вы не могли бы спросить там у гуру-коптеристов про http://aeroquad.com/showthread.php?1658-Tutorial-for-using-the-Wii-sensors-with-AeroQuad видели ли кто пробовал ли? А я скоро подъеду к вам! :)

    ОтветитьУдалить
  7. совместимость в протоколе передачи данных на комп и обратно, как я понял челу разрабатывающему баронпайлот просто не хочется больше делать GUI для своей прошивке - проще взять хорошую готовую кросплатформенную прогу

    там народ на MultiWii в основном, я про барона спрашивал - толку мало

    ОтветитьУдалить
  8. Ясна! спасибо за комменты!
    Будем пробовать! Экспериментировать!

    З.Ы. Для начала хочу собрать стабильный квадрикХ с маневренностью выше среднего, а там как пойдет :)

    ОтветитьУдалить
  9. не повторяйте моих ошибок - сделайте по инструкции =)

    ОтветитьУдалить
  10. по инструкции с офф сайта MultiWii или есть что то более упрощенное?

    ОтветитьУдалить
  11. по любой - рекомендация размеров пропеллеров, скорости моторов, типов esc и т.д.

    ОтветитьУдалить
  12. в любом случае без ошибок думаю вряд ли получиццо, учитывая что лепить будем на вии-клонах :)

    ОтветитьУдалить
  13. wmp походу любой зпускается, и нунчак любой, а вот вместе они не всегда запускаются... но вместо нунчака я заказал BMA020 - 11$ с доставкой, стоит так же, работает лучше и не конфликтует с wmp

    ОтветитьУдалить
  14. есть соблазн помучаться с нучаком, но судя по кол-ву описанного гемора с несовместимостью скорее всего так и сделаю, т.е. закажу BMA020 :)

    Брал у kinderkram тут?
    http://www.rcgroups.com/forums/showthread.php?t=1382503#post17284743

    ОтветитьУдалить
  15. ага, только не совсем понял - написал ему чего хочу, он подтвержил что прмя щас есть датчики, деньги отправил, а он чето не слухом ни духом больше... думаю мож написать ему еще раз, узнать как там оно

    ОтветитьУдалить
  16. ну напишите типа деньги отправил и когда ждать поставки...

    ОтветитьУдалить
  17. а сколько wmp+ и нучак ждали?
    из Гонконга?

    ОтветитьУдалить
  18. с http://www.dealextreme.com/ - как обычно от 15 до 40 дней =)

    ОтветитьУдалить
  19. Доброго времени суток!
    Как обстоят дела с двухбашенным коптером? Или проект закрыт в результате перехода на Пирата?

    ОтветитьУдалить
  20. забил давно, на пирате отлично летает и не надо ничего городить, да и на arm проект скоро уйдет

    ОтветитьУдалить