ArduCopter Mega: порт на обычную Arduino (тестим)
Понял! БОДы полставил 115200 и вот результат:
I2C devices detector
=================================
Detected device addr: 0x3C HMC5883/43 (compass)
Detected device addr: 0x80 BMA180 (accel) FFIMU or BB
Detected device addr: 0xD0 ITG3200 (gyro)
Detected device addr: 0xEE BMP085 (baro)
=================================
Cycle is over
чето не одного совпадения адресов… или я не там их смотрел =( киньте прошивку, которая работает, посмотрю что там указано
киньте прошивку, которая работает
Качал от сюда:
code.google.com/p/ardupirates/…/MegaPirateB8.zip
попробуйте так:
лезем в libraries/AP_InertialSensor/AP_InertialSensor_Pirates.cpp (в новой прошивке)
и менять там для акселя код с
if (_board_Type == PIRATES_ALLINONE || _board_Type == PIRATES_BLACKVORTEX) {
accel_addr = 0x41;
на
if (_board_Type == PIRATES_ALLINONE || _board_Type == PIRATES_BLACKVORTEX) {
accel_addr = 0x80;
и для гиры (там же в самом верху)
#define ITG3200_ADDRESS 0x68 // 0xD0
на
#define ITG3200_ADDRESS 0xD0 // 0xD0
Если не получится, то ждемс что Sir Alex напишет =)
Это что то очень старое. Качайте отсюда: code.google.com/p/megapirateng/downloads/detail?na…
датчики выбирайте PIRATES_ALLINONE
Заменил адреса в файлах:
ITG3200_ADDRESS 0x68 -> 0xD0 in libraries\AP_InertialSensor\AP_InertialSensor_Pirates.cpp
accel_addr 0x41 -> 0x80 in libraries\AP_InertialSensor\AP_InertialSensor_Pirates.cpp
BMP085_ADDRESS 0x77 -> 0xEE in libraries\AP_Baro\AP_Baro_BMP085_Pirates.cpp
COMPASS_ADDRESS 0x1E -> 0x3C in libraries\AP_Baro\AP_Baro_BMP085_Pirates.cpp
НО MissionPlanner все равно не соединяется, пишет “No Heatbeat Packets Received”. Проверить работу датчиков не могу
Надо было только гиру и аксель поменять попробовать, остальное в старом коде имело те же адреса.
Это что то очень старое. Качайте отсюда: code.google.com/p/megapiraten...3.zip&can=2&q=
Именно от туда и качал прошивку (новую). К сожалению не работает.
Надо было только гиру и аксель поменять попробовать, остальное в старом коде имело те же адреса.
Получается, что не то же:
BMP085_ADDRESS 0x77 -> 0xEE
COMPASS_ADDRESS 0x1E -> 0x3C
Тут оракулов нету.
Сделайте хотя бы скриншоты того, что выдает плата при подключении терминалом (до изменений адресов и после). Терминал используйте Putty или на на худой конец Arduino IDE (там есть).
Сделайте хотя бы скриншоты того, что выдает плата при подключении терминалом (до изменений адресов и после). Терминал используйте Putty или на на худой конец Arduino IDE (там есть).
Я же говорил, что я новичек. Сказали бы сразу, что вывод терминалов нужен. Жду когда откопилируется новая прошивка с измнениями,а потом буду копилировать без изменеий.
Получается, что не то же:
посмотрите код внимательнее, если мне не верите
в новом #define BMP085_ADDRESS 0x77 //(0xEE >> 1)
в старом #define BMP085_ADDRESS 0x77 //(0xEE >> 1)
в новом #define COMPASS_ADDRESS 0x1E
в старом #define COMPASS_ADDRESS 0x1E
отличий не вижу, да и попробовать не долго
Извините! Просто у меня уже 2-45 ночи и голова совсем не варит, а в другом диапозоне времени с Вами не удастся пообщаться, т.к я далеко
Широка страна моя родная… Я вчера тоже почти 3 ночи писал, сегодня почитал… жесть какая то, но вроде прокатило =)
посмотрите код внимательнее, если мне не верите в новом #define BMP085_ADDRESS 0x77 //(0xEE >> 1) в старом #define BMP085_ADDRESS 0x77 //(0xEE >> 1) в новом #define COMPASS_ADDRESS 0x1E в старом #define COMPASS_ADDRESS 0x1E отличий не вижу, да и попробовать не долго
Я Вам писал вывод шпиона на своих датчиках:
Detected device addr: 0x3C HMC5883/43 (compass)
Detected device addr: 0x80 BMA180 (accel) FFIMU or BB
Detected device addr: 0xD0 ITG3200 (gyro)
Detected device addr: 0xEE BMP085 (baro)
Эти адреса отличались от новой MegaPirateNG_2.8_R3 (на старой B8 не смотрел)
там дальше в коде какие то махинации с адресами идут… я бы всетаки попробовал, поменять и перезалить не долго, малоли получится =)
там дальше в коде какие то махинации с адресами идут… я бы всетаки попробовал, поменять и перезалить не долго, малоли получится =)
Сделю во всех махинациях, но завтра, сейчас уже не в силах
Заранее извиняюсь, где-то видел похожий вопрос, но не видел ответ…
Есть MegaPirateNG_2.8 R3 на плате AIOP v2, и помимо комплектного ублокса есть такой модуль - Small PA6C MT3339 GPS, прошитый на 115200 10Hz.
Я подозреваю, что второй получше будет, и подключил, соответственно его, указав только:
#define GPS_PROTOCOL GPS_PROTOCOL_NMEA
#define SERIAL2_BAUD 115200
Гпс определяется, спутники находит, фикс есть, но как узнать, работает он на 10Hz или нет?
Провел первые испытания на прошивке B8, но коптер сразу кувыркается назад - минус один винт. С чем это может быть связано?
про старые прошивки мало кто чего скажет, вариантов много
- не откалированы регуляторы скорости или не настроены (для не прошитых регулей)
- не верно установлены винты или направление вращения моторов
- слишком задраны P I D параметры
про старые прошивки мало кто чего скажет, вариантов много 1) не откалированы регуляторы скорости или не настроены (для не прошитых регулей) 2) не верно установлены винты или направление вращения моторов 3) слишком задраны P I D параметры
1 - откалибровал, настроил программной платой
2- верно
3 - по умолчанию (еще не добрался до PID’ов)