ArduCopter Mega: порт на обычную Arduino (тестим)

Romb89

Запаял эти два контакта. Проверил, разницы никакой не увидел, так же зависает если подключен gps.
А кто-нибудь знает, в связи с чем было сделано так, что данные gps читаются через tx-rx, а не по i2c? Может можно как-то изменить прошивку, чтобы перекинуть gps на i2c?

SavosRU
Sir_Alex:

Профиль 10x20x2. До этого была рама на базе трубки d16, так она была пушинкой по сравнению с новой

Я не гонюсь за супер-облегчением рамы (в том числе и по той причине, что пока камеру не вешаю на коптер, а в дальнейшем планирую повесить и вот тогда уже можно будет смотреть на необходимость облегчения или же на отсутствие такой необходимости). Но все-же подобный профиль мне показался чересчур тяжелым. Я купил в ОБИ такой и там же купил 15х15х2. Так вот квадратный заметно легче, а по прочностным характеристикам, насколько я понимаю, квадрат выигрывает у прямоугольника. Так что смысла в таком прямоугольном профиле для себя не увидел и делал раму из квадрата.

Но Вы сказали про вес, а вот про результаты облета не сказали. Как летает-то?

Covax

В леруа есть отличный профиль 14x14x1 150гр/метр метровые палки, 1 палка = 1 квадрокоптер

Sir_Alex
SavosRU:

Я купил в ОБИ

Covax:

В леруа есть

Все бы ничего, если бы в Минске были Леруа и Оби. В наших строительных магазинах нету вообще профилей, разве что профиль для гипсокартона 😃 В магазинчике Сделай сам, я нашел только 25x25x2 и трубку d16x1 (ее я использовал для первой рамы), а на днях был на строительном рынке, там нашел 10x20 на радостях купил его и тока потом обратил внимание что он толстостенный 😃 Ну ничо, тяжелее будет его сломать, хо хо.

SavosRU:

Но Вы сказали про вес, а вот про результаты облета не сказали. Как летает-то?

Дык на предыдущей странице в самом конце даже видео есть. Летает кирпичиком и “Куда хочу - туда торчу” 😃

tusik
Covax:

В леруа есть отличный профиль

В Минске нет Леруа 😃 В сделай сам на Богдановича есть профиль 20х20х1 и 10х20х1, а неделей раньше я взял там трубку 10х1

Sir_Alex

Только что выжужал два пака (2650мА), доволен как слон. Немного оттриммировал стики на аппе и коптер с большего стал висеть в одном месте. PIDы не трогал практически, только поигрался, что бы посмотреть, как параметры влияют. В общем, 2.0.38 рулит 😃
Вот бы еще немного загрубить Roll и Pitch стики, а то малейшее движение и коптер уже поворачивается. Мне как начинающему, пока еще сложно адекватно управлять.
P.S. Я еще SVN посмотрел ArduCopter’a, так они там уже много чего наисправляли в 2.0.38… я думаю скоро уже 39 версия будет.

Alex_from_Israel

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

Если аппаратура позволяет, попробуйте экспоненты изменить на каналах Ролл и Питч. Это как раз то, что Вам нужно.

Romb89

А хоть у кого-нибудь работает нормально AllInOne с GPS и код MegaPirate?

SovGVD

код моторов для вот такой рамы
rcopen.com/files/4e4228769970730077a3b762_sm

	roll_out 	 	= g.rc_1.pwm_out*0.868;
		pitch_out 	 	= g.rc_2.pwm_out*0.5;
		roll_outr 	 	= g.rc_1.pwm_out*0.5;
		pitch_outr 	 	= g.rc_2.pwm_out*0.868;

		// left
		motor_out[CH_3]	 	= g.rc_3.radio_out + roll_out + pitch_out;	// FRONT
		motor_out[CH_2]	 	= g.rc_3.radio_out* 0.98 + roll_outr - pitch_outr;	// BACK

		// right
		motor_out[CH_1]		= g.rc_3.radio_out - roll_out + pitch_out;  // FRONT
		motor_out[CH_4] 	= g.rc_3.radio_out* 0.98 - roll_outr - pitch_outr;	// BACK
commy_s
Romb89:

А хоть у кого-нибудь работает нормально AllInOne с GPS и код MegaPirate?

После замены неисправной платы allinone (с ума сходила гира по оси X) вот так начал летать коптер на стоковых пидах. прошивка 2_0_38.

www.youtube.com/watch?v=I54mDkPMifk

Но есть проблема : так и не смог запустить гпс. Волшебная лампочка “все хорошо” на плате моргает, как бы говорит мне что фикс есть, но по RAWGPS по прежнему тишина. Подключено RX-TX2 TX-RX2, какие могут быть варианты? Может неисправный пин на ардуине?

Sir_Alex
commy_s:

Подключено RX-TX2 TX-RX2, какие могут быть варианты? Может неисправный пин на ардуине?

Может у вас не та скорость выбрана для 2го порта (RX2,TX2)?

commy_s
Sir_Alex:

Может у вас не та скорость выбрана для 2го порта (RX2,TX2)?

Возможно, буду очень признателен если подскажете как это сделать и какая скорость нужна для корректной работы гпс?

Sir_Alex

У меня нету точной инфы по GPS, но в зависимости от того, как разработчик подключил GPS, скорости могут быть: 4800, 9600, 38400, 57600. Попробуйте все варианты. Я так понимаю, прошивка у вас 2.0.38, значит открываем файл system.pde и в районе строки 72, меняем скорость

Serial2.begin(38400, 128, 16);

Кроме того, в папке libraries/GPS_UBLOX/examples есть пример работы с GPS. Замените в файле GPS_UBLOX.cpp - Serial1 на Serial2 (По умолчанию там скорость 38400, попробуйте то же разные скорости… думаю надо 57600), скомпилируйте и залейте в Ардуину, после запуска, можно терминалом (на скорости 57600) подключится и посмотреть, что выдает GPS.

P.S. Скорость по умолчанию для UBLOX NEO-6Q - 9600

tusik

Сегодня оттесчу свой квадр на 38-й прошивке и если все нормольно, вечером зацеплю сонар

Romb89

Хочу попробовать переписать библиотеку гпс для работы через i2c шину. Кто в этом разбирается, может там есть какие затыки, и не стоит тратить время на это? Наверное же не просто так тут это реализовано через ttl serial интерфейс.

Sir_Alex

Romb89, В теории, можем временно поменятся платами, вы мне с GPS а я вам без. Тем временем поиграюсь с GPS, может что то получится накопать. Ну или переделаю под i2c.

Romb89

Мне и самому интересно поиграться с ним и переделать под i2c 😁

Мучил вчера свою платку и заметил такую вещь:

  1. Отключаем gps модуль
  2. Запускаем test - adc, бегут данные
  3. Втыкаем gps в любой serial (даже в Serial1, который вроде в коде вообще не используется)
  4. Показания виснут, они продолжаю бежать, но выдаются одни и те же цифры. Можно вообще отключить allinone, цифры всё равно бегут.
  5. Если после этого запустить test-altitude или test-compass, вообще всё зависает. Скорее всего они не могут инициализироваться.
    Соответственно у меня возникает вопрос, как подключение gps на не используемый порт может влиять на работоспособность шины i2c? Может в самой ардуине косяк какой?
Sir_Alex

Ну как вариант, все же попробовать отрезать GPS от i2c.

commy_s
Sir_Alex:

У меня нету точной инфы по GPS, но в зависимости от того, как разработчик подключил GPS, скорости могут быть: 4800, 9600, 38400, 57600. Попробуйте все варианты. Я так понимаю, прошивка у вас 2.0.38, значит открываем файл system.pde и в районе строки 72, меняем скорость

Serial2.begin(38400, 128, 16);

Кроме того, в папке libraries/GPS_UBLOX/examples есть пример работы с GPS. Замените в файле GPS_UBLOX.cpp - Serial1 на Serial2 (По умолчанию там скорость 38400, попробуйте то же разные скорости… думаю надо 57600), скомпилируйте и залейте в Ардуину, после запуска, можно терминалом (на скорости 57600) подключится и посмотреть, что выдает GPS.

P.S. Скорость по умолчанию для UBLOX NEO-6Q - 9600

Спасибо, заменил на 9600 и кое что начало проясняться.
Сразу после прошивки rawgps принимает данные, но если написать в терминале test-gps получаю вот такой результат:

test] gps

Hit Enter to exit.

G*?G*?G*!G!.G!G!G!G!.G!G!G!G!.G!G!G!G!.G!G!G!G!.G!G!G!G

При том что диод сигнализирует о наличии спутников.

После этого rawgps молчит до следующей перепрошивки.

Sir_Alex
commy_s:

При том что диод сигнализирует о наличии спутников.

Если диод моргает, то это означает что от GPS поступают данные (но не значит, что он привязался), а вот если горит постоянно, значит все гуд и есть FIX. Единственно, я не знаю, должен ли test gps выдавать что нибудь, если нет привязки.

commy_s
Sir_Alex:

Если диод моргает, то это означает что от GPS поступают данные (но не значит, что он привязался), а вот если горит постоянно, значит все гуд и есть FIX. Единственно, я не знаю, должен ли test gps выдавать что нибудь, если нет привязки.

Может мы говорим о разных диодах. Если я заношу коптер в комнату, диод гаснет - на окно - моргает.