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

soliada

Олег,а возможно ли посмотреть на принципиальную схему BlackVortex?

Толян1

Добрый день !!
Дайте плиз ссылочку где можно купить Black Vortex ???

soliada
Syberian:

Нет

Жаль,просто есть несколько неопознанных деталек на плате,плюс не известно к каким выводам подключены Status leds.
Если не тайна,можете подсказать по Status leds?

Syberian
soliada:

можете подсказать по Status leds?

Ардуиновские d13,d31,d30

soliada
Syberian:

Ардуиновские d13,d31,d30

Спасибо.
Хотел спросить еще про распиновку.
1 перемычка flight mode- CLI mode?
2 Gimbal servo’s
3 ANALOG IN (1-5)
4 SONAR

Syberian

блин, да нету у меня схемы физически! смотри код прошивки и release_notes от В8
Все совместимо с ардуиной.

soliada

Camera Gimbal pins d32,d33
LED sequencer default pins A1,2,3,4+battery monitor A0 - это ANALOG IN (1-5)?

d9 - Sonar Tx
d10 - Sonar Echo
d13,d30,d31 - status LEDs

A8 Throttle
A9 Roll
A10 Pitch
motor 2,3,5,6,7,8,11,12
A11 Yaw
A12 Mode
A13 Aux2
A14 Cam1
A15 Cam2

rc switch d37 pin: linked to rx channel 7 Если я правильно понимаю,это про перемычку flight mode- CLI mode?
Распиновка из
MegaPirate B8+ for Black Vortex
release notes for build r739
plug-n-play (just select your frame type)
Или это уже не актуальная информация?

Syberian
soliada:

про перемычку flight mode

CLI это д40

Musgravehill

Если в APM_config. h прописать:

#define INSTANT_PWM 0

то на ESC пойдет 400Гц PWM?

Прошил ESC, хочется испытать…

Musgravehill

Странно, подключил прошитые ESC Mystery к Мегапирату. Они не работают. Совсем. Измерил PWM на пинах 2,3,5,6 - 240Hz.
В то же время, на Мегапирате работают непрошитые SS18A, туповаты, но мотор крутят.
Отключил Instant_PWM, на выходе 400Гц, но регули не запускаются…

Подцепил эти же ESC к МультиВии - все отлично запустилось! 490Hz PWM на управляющих пинах. Летает отлично.

Прошитые ESC Mystery также без проблем заводятся напрямую с приемника PWM 50Hz.

Musgravehill

Решено!
Проблема была в том, что регуль не мог инициализироваться от Пирата.

Для квадрика в Пирате правим motor_quad.pde. При дизарме мотор не крутится, арминг_мотор - мотор крутится на минимальных оборотах. В полете все отлично.

До первого дизарминга моторы тоже крутятся на минимуме!! Т.е включил плату- моторы крутятся. Сделал АРМ - крутятся, Дизарм - не крутятся. Буду разбираться… зато хотя бы прошитые регуляторы запускаются =)

static void output_motors_disarmed()
{
	if(g.rc_3.control_in > 0){
		// we have pushed up the throttle
		// remove safety
		motor_auto_armed = true;
	}

	// fill the motor_out[] array for HIL use
	for (unsigned char i = 0; i < 8; i++) {
		motor_out[i] = 1000; //ТЫСЯЧУ СЮДА
	}

	// Send commands to motors
	APM_RC.OutputCh(CH_1, 1000);//ТЫСЯЧУ СЮДА
	APM_RC.OutputCh(CH_2, 1000);//ТЫСЯЧУ СЮДА
	APM_RC.OutputCh(CH_3, 1000);//ТЫСЯЧУ СЮДА
	APM_RC.OutputCh(CH_4, 1000);//ТЫСЯЧУ СЮДА
Covax

как в мультивие теперь? ну наконецто 😃 спасибо 😃

SovGVD

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

вообще то правильнее в output_motors_armed() это сделать, там где


int out_min = g.rc_3.radio_min;
int out_max = g.rc_3.radio_max;

переписать на


int out_min = 1000; // смотря как регуль настроен, или например g.rc_3.radio_min+150
int out_max = g.rc_3.radio_max;

или в настройках планера эти же значения поменять (но опасно, так как с аппой косяк скорее всего будет)

тогда при арме будут пропы вращаться

upd: еще это надо делать в коде для своей рамы, а то кто-то сделает к quad, а летает на гексе и будут вопросы “почему не работает”

Musgravehill
SovGVD:

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

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

SovGVD
Musgravehill:

У меня регули прошитые не запускались, пришлось помудрить с кодом, лишь бы они инициализировались. В них наглухо вшита калибровка.

для специфичного железа имхо стоит писать сразу большими жирными буквами, что это только для %название_железки% - потому что щас кто-нибудь проверить на регулях откалиброванных например 900-1900 и получит пропеллером в глаз, пока питание подрубает

RA4ASN

Пора собирать регуль на ардуино 😃

Sir_Alex

Ура товарищи пираты!
Рад сообщить о выходе Альфа версии MegaPirateNG 2.1.1 R8. Версия основана на ArduCopter 2.1.1 R8 Alpha. Она предназначена только для тестирования!!!
В данной версии кардинально переделана система драйверов. Так что, если вы не найдете привычных файлов - не пугайтесь, что то осталось на старом месте, что то переехало в другое. Например Сонар теперь работает через свой собственный драйвер (файл AP_AnalogSource_PIRATES.cpp).
Самое важное дополнение - это поддержка новейшей платы датчиков FreeIMU 0.4.1 (Спасибо Varesano за предоставленный образец). На этой плате стоит сенсор MPU6000 (Гира и аксель), барометр MS5611 и магнитометр 5883L. Все датчики работают с этой прошивкой! См. видео.
Так же, начиная с этой версии тип сенсоров выбирается в APM_Config.h, параметр PIRATES_SENSOR_BOARD.
Кроме всего этого, множество изменений произошло в основном коде ArduCopter’a, список изменений можно почитать тут

Тем не менее, есть пара минусов у этой прошивки: Т.к. все драйвера переехали на новую либу I2C, то драйвер UBLOX GPS I2C пришлось временно убрать. Так же пришлось убрать поддержку акселя BMA020, т.к. были вопросы по коду и проверить правильность я не мог.

Теперь, самое важное, что вам надо знать, чтобы скомпилировать прошивку и сконфигурировать ее:
1. Прочитайте release_notes.txt и если у вас плата BlackVortex, то release_notes_BlackVortex.txt
2. Если у вас Arduino Mega 2560, то вам надо использовать специальную версию Arduino IDE 0022 с включенной опцией relaxpath. Скачать ее можно тут code.google.com/p/ardupilot-mega/…/detail?name=ard…
3. Тип датчиков теперь выбирается в APM_Config.h а не в файле AP_ADC_ADS7844.cpp
4. Маппинг каналов RC переехал в файл APM_RC_PIRATES.cpp

ах да, ссылка на прошивку