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

RTemka

Я бы сказал он и если на жестких стойках стоит летает отлично.
Бороться надо с источниками вибрации, а с ней самой 😃
Когда демфера многовато он бывает не в адеквате.

EvgenycH

Парни, как контроллеру сказать что я использую 3S батарейку, чтобы он корректно показывал процент разряда аккумулятора? или может нужно как то откалибровать датчик тока, чтобы он понимал что 100% заряда батареи соответствует столько то вольт, а 0% столько то вольт.
а то получается при полностью заряженной батарее он показывает 90% и резко начинает снижаться - и гдето при 12В уже начинает орать что батарея разряжена!

EvgenycH

Все сделал именно так и несколько раз перепроверил.
Я похоже не верно понял как система считает оставшийся процент заряда аккумулятора. Исходил из того как это определяют зарядники. Тут же иначе: в параметрах указываем ёмкость батареи, далее контроллер по показаниям тока считает израсходованные mAh и вычитает их из заданной емкости - оставшуюся ёмкость выводит в процентном соотношение.
Дык вот смотрю я на экран МР, в то время как коптер стоит неподвижно на столе, израсходованные махи увеличиваются на глазах , в итоге напряжение батареи соответствует 95% заряда, а оставшаяся ёмкость показывается 0%!
Можно это как-то изменить?

RTemka

Стоп, стоп.
Если тебя интересуют проценты то смотри сколько мА/ч у тебя выставлено в емкости батареи.
И как она замеряется.

Battery capacity (BATT_CAPACITY)
Capacity of the battery in mAh when full

Increment: 50
Units: mAh
Battery monitoring (BATT_2_MONITOR)
Controls enabling monitoring of the battery’s voltage and current

VALUE MEANING
0 Disabled
3 Analog Voltage Only
4 Analog Voltage and Current
5 SMBus

2do

Всем добрый вечер… Мне отдали вот такое летающее чудо


контроллер такой как я понимаю hobbyking.com/…/__31138__Multiwii_and_Megapirate_A…
есть еще такой hobbyking.com/…/__21977__HobbyKing_Multi_Rotor_Con…
проблема в том,что не летают ни тот ни тот… Возможно я что то неверно прошивал. Вобщем прошу помочь мне,скиньте рабочую прошивку для аналогичных пепелацев под первый контролер… Регули перепрошиты… PS тот кто отдал помочь не может,говорит у него наза и про эти контролеры ничего не знает.

zmnz
2do:

скиньте рабочую прошивку для аналогичных пепелацев под первый контролер…

Так вы попробуйте хотя бы страниц 5-10 назад отлистать, там все есть. Контроллер то рабочий? к компу подключается/определяется?

EvgenycH
RTemka:

Стоп, стоп.
Если тебя интересуют проценты то смотри сколько мА/ч у тебя выставлено в емкости батареи.
И как она замеряется.

не нашел что это за параметр и где меняется - Increment: 50
что означает значение 50 ?

2do

Да спасибо почитал и нашел описание как настроить пилот на русском…до этого делал с английского описания в ютюбе…понял что все было не верно. Будут вопросы,надеюсь поможете 😉

RTemka

Battery capacity (BATT_CAPACITY) отвечает какая типа емкость у батареи

Battery monitoring (BATT_2_MONITOR) Выбираешь как измерять потраченное (напруга или напряжение и ток)
Искать в параметрах в планнере.

18 days later
Lordick

Здравствуйте, я из глубинки где коптеристов нет и помочь некому. Я давно летаю на самолётах и решил заняться коптерством. Купил 4 мотора 4 регулятора, сам сделал раму, Аппаратура Tyrnigy 9x, и плата как на фото. Мне нужна помощь , есть какие нибудь инструкции что лить в аппуу, в плату( я хочу ставить пирата), и как всё соеденить регуляторы приёмники и моторы. Заранее очень благодарен. Помогите пожалуйста. Можете писать так-же сюда vk.com/veselkov222.

Re-Loader

Парни, подскажите - из какого бранча на гитхабе (или где еще) брать исходники с телеметрией frsky? Читал что Sir Alex добавил в пирата возможность отправлять телеметрию в формате frsky на порту S1, но проша из флештула молчит на данных выводах(смотрел лоджик аналайзером). Бранч mpng-3.1-beta вроде со слов сэра Алекса и есть 3.1.5-r2 Final, но там либы AP_FrSky не нашел…(как и данных в порту) На гитхабе еще есть несколько веток типа master, s.port и тп - там указанная либа присутствует, но фик его знает чем они от основной ветки еще отличаются… Ставить эксперименты по надежности не хочется… А самому выдрать код в основную ветку боюсь ума не хватит, да и опять же это вопрос надежности и падучести (в прямом и переносном смысле).
Кто-нить реально пользовался этим? Или у всех или осд и радиомодемы? Хочется использовать потенциал Тараниса без доп. оборудования на борту и апе.

kostya-tin

первую ошибку, которую вы сделали - прошили AIOP через мишен планер. возможно что из-за этого в меге загрузщик испортили. по идее нужно попробовать залить загрузщик через ISP программатор

Сергей_new
kostya-tin:

нужно попробовать залить загрузщик через ISP программатор

ISP программатора У меня нет. Отсюда вопрос, есть желающие в Москве (СЗАО) и ближнем Подмосковье мне помочь. Куда надо подъеду (если это не очень далеко будет)

Re-Loader

У меня тоже в терминале на аиоп кракозябры, если контроллер загрузить, подключить сначала МП, а потом отключить его и подключить терминал. Я тоже когда-то вначале пробовал прошить из планера - платка перестала реагировать до прошивки флештулом, после спокойно поднялась и работает - так что загрузчик должен быть жив. Тем более если модем подключился - то явно чтото там живет и функционирует 😉

Сергей_new
Re-Loader:

У меня тоже в терминале на аиоп кракозябры, если контроллер загрузить, подключить сначала МП, а потом отключить его и подключить терминал. Я тоже когда-то вначале пробовал прошить из планера - платка перестала реагировать до прошивки флештулом, после спокойно поднялась и работает - так что загрузчик должен быть жив. Тем более если модем подключился - то явно чтото там живет и функционирует 😉

Да вы правы платка жива. Мне чудесным образом прошил наш однофорумчанин. Почему чудесным? Да потому, потому что я вроде все тоже самое делал. Единственное телеметрию при прошивке не отключал. Вот, что значит рука мастера. Раз и готово. Спасибо ему и всем дает ответы на этом форуме.

RTemka

Телеметрия поди на 0м порту висела 😃

11 days later
vender

Народ, подскажите не могу скомпилить
flip.pde:9:9: error: redefinition of ‘uint8_t flip_timer’
flip.ino:9:9: error: ‘uint8_t flip_timer’ previously declared here
flip.pde:10:9: error: redefinition of ‘uint8_t flip_state’
flip.ino:10:9: error: ‘uint8_t flip_state’ previously declared here
flip.pde:16:15: error: redefinition of ‘int8_t flip_dir’
flip.ino:16:15: error: ‘int8_t flip_dir’ previously declared here
flip.pde: In function ‘void init_flip()’:
flip.pde:18:6: error: redefinition of ‘void init_flip()’
flip.ino:18:6: error: ‘void init_flip()’ previously defined here
flip.pde: In function ‘void roll_flip()’:
flip.pde:28:6: error: redefinition of ‘void roll_flip()’
flip.ino:28:6: error: ‘void roll_flip()’ previously defined here
inertia.pde: In function ‘void read_inertia()’:
inertia.pde:4:13: error: redefinition of ‘void read_inertia()’
inertia.ino:4:13: error: ‘void read_inertia()’ previously defined here
inertia.pde: In function ‘void read_inertial_altitude()’:
inertia.pde:21:13: error: redefinition of ‘void read_inertial_altitude()’
inertia.ino:21:13: error: ‘void read_inertial_altitude()’ previously defined here
leds.pde: In function ‘void update_notify()’:
leds.pde:5:13: error: redefinition of ‘void update_notify()’
leds.ino:5:13: error: ‘void update_notify()’ previously defined here
leds.pde: In function ‘void copter_leds_init()’:
leds.pde:38:13: error: redefinition of ‘void copter_leds_init()’
leds.ino:38:13: error: ‘void copter_leds_init()’ previously defined here
leds.pde: In function ‘void update_copter_leds()’:
leds.pde:54:13: error: redefinition of ‘void update_copter_leds()’
leds.ino:54:13: error: ‘void update_copter_leds()’ previously defined here
leds.pde: In function ‘void copter_leds_reset()’:
leds.pde:129:13: error: redefinition of ‘void copter_leds_reset()’
leds.ino:129:13: error: ‘void copter_leds_reset()’ previously defined here
leds.pde: In function ‘void copter_leds_on()’:
leds.pde:140:13: error: redefinition of ‘void copter_leds_on()’
leds.ino:140:13: error: ‘void copter_leds_on()’ previously defined here
leds.pde: In function ‘void copter_leds_off()’:
leds.pde:161:13: error: redefinition of ‘void copter_leds_off()’
leds.ino:161:13: error: ‘void copter_leds_off()’ previously defined here
leds.pde: In function ‘void copter_leds_slow_blink()’:
leds.pde:182:13: error: redefinition of ‘void copter_leds_slow_blink()’
leds.ino:182:13: error: ‘void copter_leds_slow_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_fast_blink()’:
leds.pde:199:13: error: redefinition of ‘void copter_leds_fast_blink()’
leds.ino:199:13: error: ‘void copter_leds_fast_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_oscillate()’:
leds.pde:210:13: error: redefinition of ‘void copter_leds_oscillate()’
leds.ino:210:13: error: ‘void copter_leds_oscillate()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_on()’:
leds.pde:255:13: error: redefinition of ‘void copter_leds_GPS_on()’
leds.ino:255:13: error: ‘void copter_leds_GPS_on()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_off()’:
leds.pde:259:13: error: redefinition of ‘void copter_leds_GPS_off()’
leds.ino:259:13: error: ‘void copter_leds_GPS_off()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_slow_blink()’:
leds.pde:263:13: error: redefinition of ‘void copter_leds_GPS_slow_blink()’
leds.ino:263:13: error: ‘void copter_leds_GPS_slow_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_fast_blink()’:
leds.pde:276:13: error: redefinition of ‘void copter_leds_GPS_fast_blink()’
leds.ino:276:13: error: ‘void copter_leds_GPS_fast_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_aux_off()’:
leds.pde:286:13: error: redefinition of ‘void copter_leds_aux_off()’
leds.ino:286:13: error: ‘void copter_leds_aux_off()’ previously defined here
leds.pde: In function ‘void copter_leds_aux_on()’:
leds.pde:290:13: error: redefinition of ‘void copter_leds_aux_on()’
leds.ino:290:13: error: ‘void copter_leds_aux_on()’ previously defined here
leds.pde: In function ‘void piezo_on()’:
leds.pde:294:6: error: redefinition of ‘void piezo_on()’
leds.ino:294:6: error: ‘void piezo_on()’ previously defined here
leds.pde: In function ‘void piezo_off()’:
leds.pde:300:6: error: redefinition of ‘void piezo_off()’
leds.ino:300:6: error: ‘void piezo_off()’ previously defined here
leds.pde: In function ‘void piezo_beep()’:
leds.pde:306:6: error: redefinition of ‘void piezo_beep()’
leds.ino:306:6: error: ‘void piezo_beep()’ previously defined here
leds.pde: In function ‘void piezo_beep_twice()’:
leds.pde:314:6: error: redefinition of ‘void piezo_beep_twice()’
leds.ino:314:6: error: ‘void piezo_beep_twice()’ previously defined here
motors.pde: In function ‘void arm_motors_check()’:
motors.pde:10:13: error: redefinition of ‘void arm_motors_check()’
motors.ino:10:13: error: ‘void arm_motors_check()’ previously defined here
motors.pde: In function ‘void auto_disarm_check()’:
motors.pde:93:13: error: redefinition of ‘void auto_disarm_check()’
motors.ino:93:13: error: ‘void auto_disarm_check()’ previously defined here
motors.pde: In function ‘void init_arm_motors()’:
motors.pde:117:13: error: redefinition of ‘void init_arm_motors()’
motors.ino:117:13: error: ‘void init_arm_motors()’ previously defined here
motors.pde: In function ‘void pre_arm_checks(bool)’:
motors.pde:222:13: error: redefinition of ‘void pre_arm_checks(bool)’
motors.ino:222:13: error: ‘void pre_arm_checks(bool)’ previously defined here
motors.pde: In function ‘void pre_arm_rc_checks()’:
motors.pde:383:13: error: redefinition of ‘void pre_arm_rc_checks()’
motors.ino:383:13: error: ‘void pre_arm_rc_checks()’ previously defined here
motors.pde: In function ‘bool pre_arm_gps_checks(bool)’:
motors.pde:416:13: error: redefinition of ‘bool pre_arm_gps_checks(bool)’
motors.ino:416:13: error: ‘bool pre_arm_gps_checks(bool)’ previously defined here
motors.pde: In function ‘bool arm_checks(bool)’:
motors.pde:434:13: error: redefinition of ‘bool arm_checks(bool)’
motors.ino:434:13: error: ‘bool arm_checks(bool)’ previously defined here
motors.pde: In function ‘void init_disarm_motors()’:
motors.pde:472:13: error: redefinition of ‘void init_disarm_motors()’
motors.ino:472:13: error: ‘void init_disarm_motors()’ previously defined here
motors.pde: In function ‘void set_servos_4()’:
motors.pde:518:1: error: redefinition of ‘void set_servos_4()’
motors.ino:518:1: error: ‘void set_servos_4()’ previously defined here
navigation.pde: In function ‘void run_nav_updates()’:
navigation.pde:6:13: error: redefinition of ‘void run_nav_updates()’
navigation.ino:6:13: error: ‘void run_nav_updates()’ previously defined here
navigation.pde: In function ‘void calc_position()’:
navigation.pde:19:13: error: redefinition of ‘void calc_position()’
navigation.ino:19:13: error: ‘void calc_position()’ previously defined here
navigation.pde: In function ‘void calc_distance_and_bearing()’:
navigation.pde:28:13: error: redefinition of ‘void calc_distance_and_bearing()’
navigation.ino:28:13: error: ‘void calc_distance_and_bearing()’ previously defined here
navigation.pde: In function ‘void run_autopilot()’:
navigation.pde:55:13: error: redefinition of ‘void run_autopilot()’
navigation.ino:55:13: error: ‘void run_autopilot()’ previously defined here
navigation.pde: In function ‘bool set_nav_mode(uint8_t)’:
navigation.pde:75:13: error: redefinition of ‘bool set_nav_mode(uint8_t)’
navigation.ino:75:13: error: ‘bool set_nav_mode(uint8_t)’ previously defined here
navigation.pde: In function ‘void update_nav_mode()’:
navigation.pde:122:13: error: redefinition of ‘void update_nav_mode()’
navigation.ino:122:13: error: ‘void update_nav_mode()’ previously defined here
navigation.pde: In function ‘void reset_nav_params()’:
navigation.pde:167:13: error: redefinition of ‘void reset_nav_params()’
navigation.ino:167:13: error: ‘void reset_nav_params()’ previously defined here
navigation.pde: In function ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’:
navigation.pde:184:16: error: redefinition of ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’
navigation.ino:184:16: error: ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’ previously defined here
navigation.pde: In function ‘void circle_set_center(Vector3f, float)’:
navigation.pde:196:1: error: redefinition of ‘void circle_set_center(Vector3f, float)’
navigation.ino:196:1: error: ‘void circle_set_center(Vector3f, float)’ previously defined here
navigation.pde: In function ‘void update_circle()’:
navigation.pde:238:1: error: redefinition of ‘void update_circle()’
navigation.ino:238:1: error: ‘void update_circle()’ previously defined here
perf_info.pde: At global scope: