MultiWii

YAN=
nemo61:

Где можно взять 3,3В?

Там его нет. Нуно собрать простой преобразователь на LM.

Alex_from_Israel
penkerton:

Алекс, что то у меня не получается :\
и так тоже
“руддер до упора вправо при нулевом газе?”
и 13 лед тоже не загорается…

в программе там стиками графики газ на 0 не встает (как и другое) - это может быть причиной или это нормально?

И еще вопрос, “MODE” подключать обязательно? и вообще что это (какой канал на ресивере это)?

p.s. и большое спасибо за тот первый оперативный и по делу ответ!

Главное, что бы в аппе вставали. Поставьте расходы ±125, если аппа позволяет, и триммер троттла в минус до упора.
Насчет Мода, это не ко мне. Я еще и не взлетал на трикоптере толком. Весь опыт по аппе от вертолетов. Насколько я понимаю, МОД переключает режимы Акро и Стабильный. То есть аксель учитывается только в стабильном режиме.
На ресивере можно на 5 каналподключить. Это переключатель гироскопа в вертолетном режиме. Если аппа больше 6 каналов, то на любой AUX. 7 и 8 каналы на моем Турнеджи.

Siorinex:

Каждый проводничок индивидуально пролужённый??? И в СЕРЕДИНЕ?! Ибо я и на срез смотрел специально - БЕЛЫЙ ОН!!!

Сейчас вспоминаю, куда дел старый добрый здоровый паяльник: после покупки паяльной станции он мне был как-то не особливо актуален…

Коннекторы - напаяю. Один фиг у едущих акков другие разъёмы… Которые я тоже предусмотрительно заказал: спасибо Коваксу за его отчёт о летающем…
О! Як раз акки и разъёмы “переданы таможне” - “прилетели” 2-го, 3-го переданы, только сейчас озаботились добавить…
При том, что как 1-го числа датчик AllInOne+GPS попал в импорт, так и без изменений! Поооочта…

Там проводки очень тонкие, их просто много. Если интересно, посмотрите срез через микроскоп. По цвету чистая медь. На акк обязательно ставить разъем. А вот на регули лучше подпаяться. С обоих сторон. Так и сделаю, когда установлю все моторы и регули и добьюсь правильного вращения. Меньше гемора с наводками будет.

Хорошо у нас таможня дает добро автоматом, если стоимость посылки маленькая. До 200 баксов. Теперь только такие заказы делаю. Года 3 назад заказал кучу всего и вышло на 400 баксов. Целый день потерял, пока в Тель-Авив ездил на таможенный склад. Там такие пробки!

Есть старенький МИО Покет ПиСи. Там и GPS и блютуз есть. Если его распотрошить и присобачить соответствующие блоки к Ардуине!?

Siorinex

Самый ржач, что в АрдуиноМини по программе с 7-го контакта (тот самый mode) - берёт кучу всего:

#define AUX1PIN
#define AUX2PIN 7 //unused just for compatibility with MEGA
#define CAM1PIN 7 //unused just for compatibility with MEGA
#define CAM2PIN 7 //unused just for compatibility with MEGA

В итоге при подаче на 7 пин с mode-канала - колбасит полоски вышеуказанных переменных…

В Мерлене купил прямоугольный профиль 10 на 20… Меньше у них нету… Печаль…
С другой стороны - народ летает на 15 на 15, а тут - почти та-же фигня, но просто в ширь на 5 больше и на 5 меньше в толщину… Потом, если что, воткну 10 на 10 для облегчения… Или вообще трубку 10 - благо они у меня есть, но сверлить муторно…

Купил здоровенный паяльник: если и этой дурой не присобачатся эти провода, то я даже и не знаю!

По-приколу - сделать по принципу трансформеров раму, с приводами, которые складывают-раскладывают консоли…
Но это так - шутка по большей части: тупо загоню часть крепежа на 4мм с барашками, что-бы при снятии четырёх винтов рама складывалась…

Ммм… Читаю код: ЖУТЬ!

rcOptions = (rcData[AUX1]<1300) + (1300<rcData[AUX1] && rcData[AUX1]<1700)*2 + (rcData[AUX1]>1700)*4 +(rcData[AUX2]<1300)*8 + (1300<rcData[AUX2] && rcData[AUX2]<1700)*16 + (rcData[AUX2]>1700)*32;

Спокойно меняется на

rcOptions = (rcData[AUX1]<1300) + (1300<rcData[AUX1] && rcData[AUX1]<1700)<<1 + (rcData[AUX1]>1700)<<2 + (rcData[AUX2]<1300)<<3 + (1300<rcData[AUX2] && rcData[AUX2]<1700)<<4 + (rcData[AUX2]>1700)<<5;

Бинарный сдвиг работает в разы быстрее, чем умножение на компьютере!!!
И 100% там ещё куча аналогичных мест!!!

penkerton
Alex_from_Israel:

Главное, что бы в аппе вставали. Поставьте расходы ±125, если аппа позволяет, и триммер троттла в минус до упора.

Алекс, спасибо! +125 помогло и триммерить не пришлось.
Теперь другая засада - почему то 11й движок (вернее пин на ардуино) не заводиться…
Меняя местами провода снова 11 не работает, то есть другой движок крутит, а 11 все же нет.

p.s. буду писать кипятком от счастья, если сегодня оно хотя бы заведется целиком! ))))

Andrey73
Siorinex:

Ммм… Читаю код: ЖУТЬ!

Спокойно меняется на

Бинарный сдвиг работает в разы быстрее, чем умножение на компьютере!!!
И 100% там ещё куча аналогичных мест!!!

Сразу видно новичка в программировании. Хороший компилятор, в данном случае WinAvr, автоматом делает то, что Вы как бы исправили. А наглядность кода горадо выше с умножением.

Siorinex

Насчёт того, что хорошие компиляторы это делают - уверенности нет, т.к. компилятору это не очевидно! В некоторых случаях битовый сдвиг наоборот даже вреден!
Ладно, к чему спорить?
*ушёл писать тестовую прогу*

Собственно:

  1. Считаем 30 тысяч раз генерим рандомное b, и считаем a как сумму восьми сдвигов от b
  2. Считаем 30 тысяч раз ту-же фигню, но вместо сдвига - умножение.
  3. Сравниваем затраченные милисекунды на 1 и на 2, после чего - если для произведения времени ушло меньше либо равно - включаем светодиод.

int ledPin = 13; // LED connected to digital pin 13
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}

void TestMov()
{
for (int i=0; i<30000; i++)
{
int a = 0;
int b = random(1);
a = b + (b << 1) + (b << 2) + (b << 3) + (b << 4) + (b << 5) + (b << 6) + (b << 7);
}
}

void TestDiv()
{
for (int i=0; i<30000; i++)
{
int a = 0;
int b = random(1);
a = b + b*2 + b*4 + b*8 + b*16 + b*32 + b*64 + b*128;
}
}

void loop()
{
unsigned long currentMillis = millis();
TestMov();
unsigned long MovTime = millis()-currentMillis;

unsigned long currentMillis2 = millis();
TestDiv();
unsigned long DivTime = millis()-currentMillis2;

if (DivTime<=MovTime)
digitalWrite(ledPin, HIGH); // set the LED on
else
digitalWrite(ledPin, LOW); // set the LED off
}

Очепятался…
Диод горит… Мдя… До чего дошёл прогресс…
Ээээ А теперь - не горит… А теперь - горит…
Ыыыыы… Через раз… %)

Andrey73
Siorinex:

Насчёт того, что хорошие компиляторы это делают - уверенности нет, т.к. компилятору это не очевидно!

Что мешает скомпилированный листинг взглянуть?

Alex_from_Israel
penkerton:

Алекс, спасибо! +125 помогло и триммерить не пришлось.
Теперь другая засада - почему то 11й движок (вернее пин на ардуино) не заводиться…
Меняя местами провода снова 11 не работает, то есть другой движок крутит, а 11 все же нет.

p.s. буду писать кипятком от счастья, если сегодня оно хотя бы заведется целиком! ))))

У Вас какая Ардуино? Про Мини или Мега? Проверьте в конфигурации, какой борд выбран. Может из за этого.

Siorinex

А насчёт новичка… Хех… А 20 лет непрерывного стажа не хотите??? Трюки с битовыми сдвигами себя оправдывали долгие годы - если нынешние компиляторы дошли и до этого - я за них рад. Но предпочту таки использовать именно ЧИСТЫЙ битовый сдвиг!
ИМХО, но он проще для понимания: “сдвигаем на 6-ю позицию” или “а куда переместится, если умножим на 32?”
Скорее всего - кусок кто-то дописывал “левый”, т.к. в остальном коде - именно сдвиг используется!

Alex_from_Israel
Siorinex:

А насчёт новичка… Хех… А 20 лет непрерывного стажа не хотите??? Трюки с битовыми сдвигами себя оправдывали долгие годы - если нынешние компиляторы дошли и до этого - я за них рад. Но предпочту таки использовать именно ЧИСТЫЙ битовый сдвиг!
ИМХО, но он проще для понимания: “сдвигаем на 6-ю позицию” или “а куда переместится, если умножим на 32?”
Скорее всего - кусок кто-то дописывал “левый”, т.к. в остальном коде - именно сдвиг используется!

Ни фига себе!!! С 13 лет программистом трудитесь?

Siorinex

Пишу - с 13-и. БК0010-01, если эта шифровка что-то говорит… 😉

Alex_from_Israel
Siorinex:

Пишу - с 13-и. БК0010-01, если эта шифровка что-то говорит… 😉

Букашка, что ли? Говорит… Еще бы…

Ладно, спать пошел. Третий час ночи уже. Что то сегодня долго провозился. У меня все на макетках. Проводами. Проверял с тестером.

penkerton
Alex_from_Israel:

У Вас какая Ардуино? Про Мини или Мега? Проверьте в конфигурации, какой борд выбран. Может из за этого.

у меня UNO, как знаю это обновленный deumilanove (то есть как у Вас, да?)
Смотрел по скетчу, хоть и не все понятно, кажется, что все ок. Выбрал как MINI, да и пины совпадающим подключил…

На MEGA имеет смысл переключатся, если в планах использовать больше примочек и ПИНов, а пока мне минимум набора хватает и, соответственно MINI вариант. Тут я прав?

Запустите мне мотор, пожалуйста!?

В PID причины не может быть? или где то еще цифры покрутить…
Хотя странно, что только пин 11 “не звучит”…

Alex_from_Israel
penkerton:

у меня UNO, как знаю это обновленный deumilanove (то есть как у Вас, да?)
Смотрел по скетчу, хоть и не все понятно, кажется, что все ок. Выбрал как MINI, да и пины совпадающим подключил…

На MEGA имеет смысл переключатся, если в планах использовать больше примочек и ПИНов, а пока мне минимум набора хватает и, соответственно MINI вариант. Тут я прав?

Запустите мне мотор, пожалуйста!?

В PID причины не может быть? или где то еще цифры покрутить…
Хотя странно, что только пин 11 “не звучит”…

Если борд в скетче совпадает, значит причина не в этом. Хотя если не совпадает, то и не откомпилится. У меня есть Дуемиланове и две Меги 1280 и 2560. Я использую камеру и систему бортовых огней. Поэтому Мега нужна. Какой у Вас Коптер? Три, Квадро? У меня такой проблемы не было. Можно для проверки посадить на другую ногу, если прошить с типом коптера, имеющего больше лучей, чем у Вас. Летать так нельзя, конечно. Но если заработает мотор на другом пине, то проблема в Вашем УНО

tarik
penkerton:

Запустите мне мотор, пожалуйста!? В PID причины не может быть? или где то еще цифры покрутить… Хотя странно, что только пин 11 “не звучит”…

Pid не при чём.

Во-первых : посадите на этот пин другой комплект регуль+двигатель(который запускался на других пинах) Запустите коптер.
Если не запустилось опять на этом пине - проверить всё в скетче: тот ли тип коптера выбран, установлен ли minitrottle.

penkerton
tarik:

Pid не при чём.

Во-первых : посадите на этот пин другой комплект регуль+двигатель(который запускался на других пинах) Запустите коптер.
Если не запустилось опять на этом пине - проверить всё в скетче: тот ли тип коптера выбран, установлен ли minitrottle.

Пробовал по всякому, и решил что все таки 11й пин не рабочий.
Можно ли с 11 на другой поменять? (хотя сам пробовал, удачи не испытал)
Я так понимаю что пин должен быть PWM, но свободных таких не осталось (((

p.s. если с 11 на 3 поменять (и в скетче) - все моторы крутят, но уже без сервы :\

Covax

А прозвонить от ножки меги до пина пробывал? может там банальный непропай. У меня такое было как раз на 11 на Carduino.

penkerton
Covax:

А прозвонить от ножки меги до пина пробывал? может там банальный непропай. У меня такое было как раз на 11 на Carduino.

Вариант! Прозвонил - все ок. От ноги до пина контакт идет.

Но… видать что то с контроллером - элементарный тест с LED провален (другие пины горят, 11 нет) ((( Чтож, буду искать другой ардуино. Спасибо за помощь и наводку на истинный путь!
Эх, а цель была близка ) Займусь пока качеством рамы…

p.s. если интересно, то трикоптер делаю по схемене rcexplorer.com ибо конечная цель не акробатика, а видео.
p.p.s. если я сильно напрягаю вопросами новичка, дайте знать - буду листать 60-900 страничные форумы снова и снова ) но благодаря вам дело идет все же быстрее, за что вам огромное спасибо!!!

p.p.p.s. проверил вольтметром, на тесте на LED 11 ножка выдает не 5 (как все), а всего 2…

SovGVD
penkerton:

буду искать другой ардуино

а на другой пин перевесить?

#define MOTOR_ORDER 9,10,11,3,6,5
поменять на
#define MOTOR_ORDER 9,10,6,3,11,5
и вуаля, вместо 11 пина юзаем 6
должно же работать =)

penkerton

Глеб,

6 занят YAW (у меня трикоптер, а на других 6й занят уже и моторомами)
radio-commande.com/wp-content/uploads/…/tri.jpg

Потому и проблема - не могу найти свободные PWM пины.
Не PWM не подхватывает, хотя я не силен в определении этих PWM пинов…