MultiWii

mahowik

Приехал bluetooth (вот этот). Руководствовался инфой отсюда и источниками из списка ниже, но т.к. FTDI шнурка нет, написал мини-скетч и подрубил на RX3/TX3 ардуины чтобы сконфигурить/поменять параметры:

void setup()
{
  delay(2000);
  Serial3.begin(9600); // для первого запуска
//  Serial3.begin(115200); // для последуюших запусков, т.к. "AT+BAUD8" меняет скорость на 115200
  delay(1000);
  Serial3.print("AT");
  delay(1000);
  Serial3.print("AT+VERSION");
  delay(1000);
  Serial3.print("AT+NAMEMultiWii");
  delay(1000);
  Serial3.print("AT+PIN0208");
  delay(1000);
  Serial3.print("AT+BAUD8");
}

void loop()
{
  delay(1000);
}

Имя девайса в списке новых устройств (под Win7) изменилось, стало быть все параметры прописались как надо… Далее добавляю “новое устройство”. Все ок, выделяется новый ком порт под него и т.д. Пробую коннектиться из MultiWiiConf, все ок. Нажимаю старт… ничего не происходит, т.е. данные не бегут.

Скорость порта выставлена верно. Провода после настройки Bluetooth перекинул на RX/TX ардуины кросс соединением. Правда 24-ю не коротил при конфигурировании, т.к. в других инструкциях этого не видел.
Еще может быть причина в том что TOSHIBA Bluetooth Stack не видит мой Bluetooth, потому игрался со стандартными драйверами. Ноут DELL Inspiron 6400.

Те кто подключился, есть идее где еще капать?

fangin.com/…/add-bluetooth-to-your-multiwiicopter/
wiki.openpilot.org/…/Serial+Bluetooth+Telemetry#Se…
www.multiwii.com/forum/viewtopic.php?f=6&t=133&sta…

Covax

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

soliada
alexmos:

А у вас случайно не мега? на нее другие выводы.

alexmos:

А у вас случайно не мега? на нее другие выводы.

У меня Хэнд-мэйд плата с 328Атмегой прошитой как Ардуино нано,т.е по сути тоже самое.
Вообщем заработало,оказалось ошибся с номиналом резистора,вернее продали не тот номинал,а я по наивности не удосужился проверить.Вместо 51К оказался 510К.

mahowik
Covax:

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

мега1280

С параметрами всо ОК. Просетались имя (виден в списке устройств), пин (без корректного/новопрошитого воообще не добавишь в список устройств) и скорость (последующую смену параметров на новой скорости уже прописывал). Просто поставь паузу в начале (чеб БТ успел проинициализироваться) и между командами в 1сек для верности и пиши не через RX/TX который висит на FTDI, а через 1,2 или 3-й порт я через RX3/TX3 писал…

Проблема оказалась (и осталась) в БТ драйверах в общем. Шерстил буржуйский форум и нашел вот это. Кроче пидалят дриверы и чеб законнектиться надо несколько раз дергать питание БТ. А точнее:

  1. врубили плату
  2. запсутили ГУИ
  3. выбрали/кликнули нужный порт (с текущими дриверами пока грузится ГУИ и чекает возможные порты к моменту стартf порт уже подвисший или не правильно просетапленный).
  4. передергиваем питание БТ и только потом жмем старт.
    вуаля! законнектилсо на 115200!

З.Ы. т.к. Toshiba Bluetooth Stack мой BT (DELL Truemobile 355 Bluetooth + EDR) не видит и альтернативных других дриверов пока не знаю, придется видимо пробовать под линухом настроить… т.к. такой старт с передергиваниями питалова только усложняет а не упрощает работу…

drozd79

Приветствую всех! Задавал как-то тут вопрос про подключение и использование потенциометров и кнопок от нунчака. Делюсь информацией, может кому будет интересно. Вообщем, пошарил немного интернет, нашел вот этот ресурс и разобрался, в принципе ничего сложного. С нунчака по шине I2C идет идет 6 байтная посылка, в первом байте идет значение оси Х потенциометра, во втором байте Y - потнециометра на наунчаке, 3-4-5 байты значение старших битов Х, Y, Z акселерометра соответственно. С шестым байтом интереснее, там в первых двух битах закодированы кнопки нунчака, то есть 0 -кнопка Z нажата, 1 - нет, второй бит аналогично с кнопкой C. А дальше, идут по два младших бита 10-ти битового значения акселерометров осей X,Y,Z. То есть, свой контроллер в нунчаке, оцифровывает датчик акселерометра 10-ю битами, следовательно начиная с 3-го по 10-й бит информация идет в 3-4-5 байтах, а значение 1-2 битов АЦП идет в 6-м байте. Я не знаю как реализован код в MultiWii, не разобрался еще до конца, используются ли там эти два бита в 6-м байте посылки с нунчака, по идее это может влиять на точность.
То есть, если коротко, в посылке с нунчака уже идет информация о джойстике и состоянии кнопок, ее надо только задействовать в коде, если нужно. Как и для чего она может использоваться на квадрике можно подумать.
Пробовал поуправлять своим нунчаком сервой, все работает, но что сразу хочу сказать, родные потенциометры в нунчаке за 5 баксов никудышные. Серва хорошо отрабатывает крайние точки, при попытке плавно подвигать сервой, она дергается куда попало, причина не качественное сопротивление. Сорри, если баян и не в тему конечно, может кому пригодится информация. Разбираюсь дальше с кодом, MultiWii! Всем удачи!

mahowik
mahowik:

мега1280 С параметрами всо ОК. Просетались имя (виден в списке устройств), пин (без корректного/новопрошитого воообще не добавишь в список устройств) и скорость (последующую смену параметров на новой скорости уже прописывал). Просто поставь паузу в начале (чеб БТ успел проинициализироваться) и между командами в 1сек для верности и пиши не через RX/TX который висит на FTDI, а через 1,2 или 3-й порт я через RX3/TX3 писал… Проблема оказалась (и осталась) в БТ драйверах в общем. Шерстил буржуйский форум и нашел вот это. Кроче пидалят дриверы и чеб законнектиться надо несколько раз дергать питание БТ. А точнее: 1. врубили плату 2. запсутили ГУИ 3. выбрали/кликнули нужный порт (с текущими дриверами пока грузится ГУИ и чекает возможные порты к моменту стартf порт уже подвисший или не правильно просетапленный). 4. передергиваем питание БТ и только потом жмем старт. вуаля! законнектилсо на 115200! З.Ы. т.к. Toshiba Bluetooth Stack мой BT (DELL Truemobile 355 Bluetooth + EDR) не видит и альтернативных других дриверов пока не знаю, придется видимо пробовать под линухом настроить… т.к. такой старт с передергиваниями питалова только усложняет а не упрощает работу…

проблема разрешилась… суппер!! даже никаких Toshiba Bluetooth Stack не нужно!!!
качаем …ried.cl/…/rxtxSerial-2.2_fixed_2009-03-17.rar распаковываем и перезаписываем rxtxSerial.dll в MultiWiiConf.
Также если есть проблема со скростью инициализации/поиска портов под виндой в Arduino IDE кладем ее и туда…

Подробности тут:
www.multiwii.com/forum/viewtopic.php?f=8&t=817
www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=123717990…
www.rudiswiki.de/wiki9/QuadrocopterBluetooth#Probl…

wmasta

Подскажите пожалуйста, коптер все время тянет на одну сторону, тоесть если его запустить - он тупо сделает кувырок потому что одна сторона все время понимется первой (после пары сальт запускал только привязаным или в руке), при чем сторана, на которую его тянет все время меняется, т.е. запускаешь один раз, его назад постоянно тянет, другой влево, другой в сторону заднего левого мотора и т.д.
В коптере только гироскоп. Регуляторы откалиброваны и перекалиброванный, с ПИДами плясал в разные стороны, реакции меняются, но все равно всегда тянет на одну из сторон. Куда плясать?)
А еще если в руке его очень резко наклонить то раздается визг будто что то обо что то трется, но ничего не трется, винты не прокручиваются, это что то типа срыва с потока?)

p.s. аппа вроде тоже тримированна нормально, если ее отрубить находу то в фейлсейве коптер тоже летит в ту сторону, на которую он решил крениться при запуске, гироскоп тоже калибровал много раз…

wmasta
mahowik:

проверьте ОСИ… возможно напутали… www.multiwii.com/faq#How_should_be_the_sensor_axis…

Оси правильно… Первый кувырок был из - за того что почему то была инвертированна ролл (она там Х, вроде, не помню), инвертировал в коде, теперь все верно. Сейчас из - за отсутствия запасных винтов взлетать не рискую, но если поставить его на пол и чуть чуть поддать газа он начинает переварачиваться, приходится вырубать, когда в руке пускаю он просто тянет во одну сторону, стремясь перевернуться…

Моторы тоже правильно, на управление он в нужные стороны реагирует…

Одни тореточия выходят)…

alexmos

wmasta: Попхоже на неправильное расположение сенсора по осям. Проверить просто - возьми его в руку покрепче, заведи на половину газа и попробуй резко наклонять. В норме он должен очень сильно сопротивляться и удерживать первоначальное положение. Если наоборот, вырывается, значит точно что-то с осями. Кури мануалы по своим датчикам, либо просто пробуй переставлять по разному.

И вообще самостоятельный полет - только после того как почуствуешь что он в руке себя сабильно ведет и его можно отпустить, а он на месте висит.

Covax
wmasta:

Оси правильно…

Фотку давай, чего гадать, решим вопрос.

wmasta

Я, похоже, отгадал) У меня аппа все время сползает по каналам от середины пунктов на 5, тоесть не 1498, а, например, 1493 и его уже несет… Вот если прям по гуи смотреть и перед тем как газа давать подтримировать до середины - получилось пару раз подлететь. Можно как - нибудь затупить реакцию на аппу, кроме как через “P”?

Covax

В прошивке 1.8_2 есть так называемый deab bend 10, раскомментируй его, это как раз затупит дребежание аппы.

wmasta
Covax:

В прошивке 1.8_2 есть так называемый deab bend 10, раскомментируй его, это как раз затупит дребежание аппы.

Спасибо, помогло! Теперь пляшу с ПИДами…
Только есть такая шляпа, иногда какой(ие) либо из моторов (или винтов, я ничерта не понял) издает визг и эфект такой, как будто винт прокручивается на валу, тоесть тот мотор замедляется и тяга резко падает, так случается обычно если запускать в руке и очень резко наклонить. Но винт точно не прокручивается, он намертво прикручен.
От чего это? Вот видео сего фейла:

www.youtube.com/watch?v=qyZgv51h0rk

За качество извините, не на что было снять…

Covax

Что за регули, что за моторы, какая ардуина?
А вообще не обращай внимание, это не фатально.

wmasta
Covax:

Что за регули, что за моторы, какая ардуина?
А вообще не обращай внимание, это не фатально.

Dt750, HK 20, винты 10Х6, ардуино нано в3 из диалэкстрима (не берите оттуда, полное г, одна ни с чего спалила регулятор, хотя питаю от контроллера мотора, вторая ужасно греется если питается от юсб, если акк и юсб то норм)
Вообше так редко происходит, при взлете только один раз пока, тоесть я могу нормально взлететь, но если он так на высоте сделает мне кажется может быть достаточно фатально)

Musgravehill

Вии 1.8 вчера сошел с ума. Все летало до этого. Подключаю аккум - винты сразу крутятся на холостых. Аппу отключил, сработал фейл-сейв, газ добавился. В итоге, почикал палец. Остальные винты затормозил ногой, подлезть к проводу, когда винты 11" вплотную крутятся на 70% газа нереально.

Covax

Бывает 😦 Восстание роботов, то ли еще будет.

ZamuykAtel

Народ помогите решить такой трабл-на Аурдине-нано все было хорошо,решил пересадить на Cosmo Black Star это аналог Duemilanove AT Mega 328.В итоге при подключении платы с выводами приемыша и рег-ров ноль эмоций,только рег-ры пищат при подаче питания.
До этого летал на 1.5-168,перепробовал все варианты,датчики запустились на ALLINONE,на компе все в поряде,в реале молчание.
Как вариант-видимо не те порты подцепил.

mahowik

1.9 вышла code.google.com/p/multiwii/downloads/list

1.8 -> 1.9

  • some factorizations between PPM sum receiver code & standard receiver code
  • EXPERIMENTAL: integration of direct SBUS receiver thanks to the contribution of Captain IxI & Zaggo
    For this, you must use:
  • a MEGA board
  • the RX1 of the Serial 1 port
  • have a way to invert the input signal.
    more info here: www.multiwii.com/forum/viewtopic.php?f=7&t=289
  • EXPERIMENTAL: integration of SPEKTRUM satellite receiver thanks to the contribution of Danal Estes
    For this, you must use:
  • a MEGA board
  • the RX1 of the Serial 1 port
    It could be used also on ProMini board with some restrictions (exclusive GUI or Spektrum use)
    more info here: www.rcgroups.com/forums/showthread.php?t=1504116
  • EXPERIMENTAL: integration of direct Serial RX, to command the multi from a Bluetooth+phone Signal for instance.
    thanks to Luis
  • many optimizations to reduce loop cycle
  • GPS main function integration
    The code to connect and recognize a GPS with NMEA sentences is here.
    currently calculated:
  • number of sat
  • distance to home
  • direction to home
    The is currently to control code except a nice working GUI
    => there is no code behind GPS HOME and GPS HOLD, in progress
  • PIN A0 and A1 instead of PIN D5 & D6 for 6 motors config and promini config
    This mod allow the use of a standard receiver on a pro mini
    (no need to use a PPM sum receiver)
    #define A0_A1_PIN_HEX
  • possibility to use PIN8 or PIN12 as the AUX2 RC input
    it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8)
    #define RCAUXPIN8 or #define RCAUXPIN12
  • thanks to Danal, integration of the Eagle Tree Power Panel LCD for configuration
    it’s an I2C LCD that should be very convenient for the ProMini because it doesn’t require the unique Serial Port
  • all in one FC:
    QUADRINO_ZOOM board integration
    MINIWII : Jussi’s MiniWii Flight Controller
  • sensor boards:
    SIRIUS600 // Sirius Navigator IMU using the WMP for the gyro
    CITRUSv1_0 // CITRUSv1 from qcrc.ca
    DROTEK_IMU10DOF
  • ATAVRSBIN1 mag direction correction (www.multiwii.com/forum/viewtopic.php?f=8&t=506&sta…)
  • no need to define anymore PROMINI or MEGA in the sketch:
    this information is grabed form the board selection in Arduino IDE
  • LEVEL drift problem:
    the root of this problem was identify (at least partly).
    Several options to try to solve it:
  • adding a #define TRUSTED_ACCZ for those who have huge ACC Z variations when some throttle is applied
    (it’s a test you should do before tructing ACCZ)
    //#define TRUSTED_ACCZ -> ACCZ is not taken into account in calculation for small angles
    #define TRUSTED_ACCZ -> ACCZ is taken into account in calculation for small angles
  • BMA180 init changes to another mode: should help to filter noisy setups
  • adding a #define STAB_OLD_17 for those who still encounter problem with the stable code,
    as the old 1.7 LEVEL code (less elaborated) doesn’t seem to cause drift.
  • some flying wing code upgrade (thanks to the suggestion of Hamburger)
  • ACC added: LSM303DLx_ACC

www.multiwii.com/forum/viewtopic.php?f=8&t=872

mahowik

толковый пост чел. написал! из всех предположений почему просядает ось Z при вкл. движках, с момента выхода 1.8, этот пожалуй самый многообещающий "правильно"разрешить проблему дрифта в стаб. моде (т.е. без псевдо подстановок для оси Z)

The decrease of AccZ while powering up the motors seems to be due to saturation of the BMA020 input. When motors are running, the maximum amplitude of high frequency motor vibrations may exceed the +/- 2G range of the BMA020 A to D converter because the 20 Hz low pass filter is after the A to D converter. When using an analog accelerometer, a low pass filter is located before the A to D converter to filter the unwanted high frequency accelerations and avoid saturation of the A to D converter input. On my tricopter i have been obliged to set the BMA020 input range to +/- 8G to get on the GUI, no variations of AccZ (255) with motors OFF then ON . Because the amplitude of vibrations depends of motor/propeller balancing, stiffness and damping of motor arms and is different on each multicopter, it may be convenient to select the accelerometer input range in the configurable parameters section of the Multiwii software.

www.multiwii.com/forum/viewtopic.php?f=8&t=849&sta…