Автопилот Arduplane - открытое ПО

romkat

code.google.com/p/minimosd-extra/

Супер-пупер прошивка минимосд! Два переключаемых полетных скрина прям с пульта управления, домашняя высота и куча вкусностей, все легко настраиваеммо из конфигурилки.

alexeykozin

2 romkat
спасибо, надо будет попробовать

прикольно предупреждает о потере скорости и кричит пуллап у земли прям как у настоящего самоля

Sel_82

Заранее сорри за ламерские вопросы.
Заказал себе первую мегу и мегу 2,5. Пока платы идут, начал изучать гугл проект. С заливкой стандартной прошивки через мишн планер вроде вопросов нет. Но остается много вопросов по более конкретным настройкам например тех же пидов и т.д. (конечно предполагаю, что на гугле это есть, но пока не нашел и даже нет представления в каком направлении копать (инглиш хромает))
Но интересно более глубоко разобраться с программированием данных плат.
А с какой стороны подходить к коду, через какую программу его править и чем компилить перед заливкой, инфы не нашел.
Если не сложно, поделитесь ссылками на информацию для чайников:

  • факу - с какой стороны вообще подходить к данным девайсам
  • как программируются процессоры (программы для программирования и т.д.)
  • если есть факу по коду меги
  • информация по обработке инфы с датчиков
  • и т.д. что может помочь чайнику освоить данный вопрос 😃
    Желательно информацию на русском, если нет, то на английском. Инглиш только учу 😃

На данный момент делаю самолет с автовзлетом/посадкой. Понятно, что готовый проект есть, но хотелось бы более глубоко разобраться в коде…
Заранее благодарен.

bababababa

Начните с этого.
wiki.amperka.ru
arduino.ru
Править, компилить и заливать с помощью- arduino.ru/Arduino_environment
Все предельно просто-воткнул USB, написали программу, нажали кнопку прошить и всё работает, все счастливы

По сути ArduPilot (AP) - таже ардуина, с припаяными к ней гироскопами акселерометрами и прочей лабудой и готовыми библиотеками, для работы с этим.

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

Английский очень поможет- ориентироваться в коде помогают комментарии и имена переменных, а они на английском. Без него будет трудновато.

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

R2D2_RnD

А существуют ли проекты по “гибридному” OSD?
Т.е. чтобы сначала текстовая информация накладывалась MAX7456, а затем авиагоризонт рисовался поверх как в проекте от мегапирата (перепрошитая HK E-OSD(?)).

egunak95
bababababa:

Править, компилить и заливать с помощью- arduino.ru/Arduino_environment
Все предельно просто-воткнул USB, написали программу, нажали кнопку прошить и всё работает, все счастливы

А кто пробовал сделать тоже самое только с Атмел Студия 4, 5 или 6 ? Скомпилить и прошить Phyton ChipProgом? Скомпилить не умею, но ChipProgом копирую и сохраняю флеш и ЕЕпром, чтоб по новой не калибровать. Уж очень часто прошивки стали менять, а если не понравилось легче откатить взад без повтора калибровки. Однако прошивать ChipProgом очень удобно, наглядно , надёжно и круто (из пушки по воробьям - ChipProgом по Ардуине).

alexeykozin
egunak95:

А кто пробовал сделать тоже самое только с Атмел Студия 4, 5 или 6 ? Скомпилить и прошить Phyton ChipProgом? Скомпилить не умею, но ChipProgом копирую и сохраняю флеш и ЕЕпром, чтоб по новой не калибровать. Уж очень часто прошивки стали менять, а если не понравилось легче откатить взад без повтора калибровки. Однако прошивать ChipProgом очень удобно, наглядно , надёжно и круто (из пушки по воробьям - ChipProgом по Ардуине).

к чему такие извращения?
в полном списке параметров есть возможность сохранения всех параметров в файл их полной и частичной загрузки

egunak95
alexeykozin:

в полном списке параметров есть возможность сохранения всех параметров в файл их полной и частичной загрузки

Что-то планировщику не очень доверяю, что и как он делает - не ясность. Это мне привычнее и недёжнее. Прошивает планировщик плохо и где проверка на то что он затирает и записывает?

GrAl
Sel_82:

На данный момент делаю самолет с автовзлетом/посадкой.

Эта функция уже есть.

egunak95
alexeykozin:

к чему такие извращения?

Попробуйте ЧИППРОГ и он понравится, программа очень наглядно, всё чего грузишь всё видно на экране, люблю профессиональный инструмент и пусть молодёжь приобщается к этим средствам а не к “шнуркам” из тини или ещё какой меги. Однако если дорого увы, но мне досталось бесплатно с ЛПТ портом, благо есть мать со старым интерфейсом. Я про него вспомнил когда занадобилось PIC16F88 прошить, решил дисплей с последовательным портом применить, купил эту хрень www.megachip.ru/item.php?item_id=3205025 а у неё прошивка с глюком, ну мне консультант посоветовал мастер кит NM9215, короче время потерял и деньги на мороженное не сэкономил. Не работает он на ПИКах. Потом на сайте Фитана смотрю адаптер для внутрисхемного на все случаи и для атмела и для пики. Ну с этого и надо было начинать, все проблемы решил. А раньше я на нём РФки шил, а оказалось его производитель до сих пор поддерживает.

romkat:

Супер-пупер прошивка минимосд! Два переключаемых полетных скрина прям с пульта управления, домашняя высота и куча вкусностей, все легко настраиваеммо из конфигурилки.

Хорошая новость, однако опять описания нет что с чем применять - не ясность.

RedSun
egunak95:

Попробуйте ЧИППРОГ и он понравится, программа очень наглядно, всё чего грузишь всё видно на экране, люблю профессиональный инструмент и пусть молодёжь приобщается к этим средствам а не к “шнуркам” из тини или ещё какой меги.

У ардуиновской оболочки можно пару галочек проколоть - и будет видна последовательность и компиляции, и загрузки.
Тут дело в другом. Сама идеология ардуино состоит в том, чтобы людей - непрофессионалов в области железячного программирования приобщить к микроконтроллерам. И проект ардупилота вырос из студенческих упражнений на тему САУ. А популярен он стал именно из-за того, что любой желающий со знанием примитивно-учебного С (а то и без оного) мог участвовать в разработке и допиливать прошивку под свои нужды. Ну а ардупилот-мега - это уже попытка выкатить коммерческий продукт, который бы работал из коробки, не для любителя поковыряться, а для конечного пользователя. И звоночно-свисточный планнер - не инструмент для настоящих самураев, но он так и задумывался 😃)
Как мне кажется, кесарю - кесарево, а слесарю - соответственно. Профессионалам от электроники ардуинообразные проекты для развития неинтересны - такие люди в состоянии и плату развести, и прошивку написать хоть на ассемблере, хоть в кодах. А вот у меня из знаний по железу - только прочитанное в институте, и почти никакой практики. Так я беру ардуину и имею желаемое без использования паяльника, что приятно и удобно 😃)

egunak95
RedSun:

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

Да там есть в настройках эти птицы ставил, однако для начинания это хорошо. Конечно система IDE интересна для начального уровня. Сейчас я пробуюсь на Атмеловской студии и ещё установил МРЛаб от Пика. Последний удивил, что компиляция сопровождается установкой фьюзов, что в Атмеге было неизменно. Насколько техника ушла в перёд, а сколько-то лет назад Спектрум паяли РФ прожигали. Я тут не критикую, сам бегинер в этом деле, просто интерес дальше повёл, а как без этого, есть интерес познать - есть интерес к жизни, есть активная позиция и т.д. Только молодёжи что-то мало, если б мне сейчас откатить до 14 лет я бы не нервюры пилил из фанеры, но Вы меня поняли, Вы же взрослый человек (Цитата от М. Горбачёва)

RedSun
egunak95:

…просто интерес дальше повёл…

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

bababababa

немного не хватает времени, и немного лень) поэтому прошу помочь с решением простого вопроса

на какие номера пинов можно вывести сигнал на серво?
и впринципе, для управления серво, достаточно конструкции как в примере?
#include <Servo>

myservo.write()

и питание на серво прямо с ардуины идет? не надо отдельно питание подводить? на 4 машинки?

RedSun

Зависит от мощности серв. По хорошему, для мощных хорошо бы использовать свое собственное питание, а с ардуины взять только управляющий сигнал. Если интересует результат. Хотя для проверки работоспособности можно одну-другую НЕНАГРУЖЕННУЮ микросерву подключить к ардуине, кормящейся от комп по USB. При этом возможны чудеса вроде самостоятельной перезагрузки, зависона и т.п…

bababababa

хорошо, спасибо)

а с пинами как быть? можете подсказать номера пинов на вывод?

egunak95
egunak95:

Хорошая новость, однако опять описания нет что с чем применять - не ясность.

Ну вот установил версию 2.1, все опции работают, ток показывает, напряжение и проценты ёмкости. Отлично, ВСЁ ЧТО НУЖНО ЕСТЬ В ПОЛНОМ ОБЪЁМЕ!

bababababa

это для UNO/Mega
а какие номера пинов здесь?
…googlecode.com/…/FRAMES_PLANE.jpg

я писал код с подключением библиотеки серво, серво пробовал втыкать соответственно на все 8 изображенных на картинке пинов.
servo1.attach(1)…servo8.attach(8)

не работает. вот ищу причину - или не те пины, или не тот код, или не хватает мощности.
думаю проверить с помощью светодиода, если пойдет с нужного пина ШИМ, значит проблемма в серво.

буду благодарен за подсказки, т.к совсем не хватает времени=(

alexeykozin

2 bababababa
вы хотите дописать прошивку ардупилота или написать полностью свой код?
если ардупилот переписываете то пины с колодки заняты управляющими объектами класса описанного в RC_Channel
как инициализировать эти каналы и устанавливать на них сигнал есть в примерах внутри папок библиотек

если пишете полностью свой код то весьма трудно о чем либо говорить не видя этого кода

для того чтобы понять к какой ноге чипа идет радио канал нужно открыть схему APM2 например выходной канал №6 колодки сервовыходов идет через резистор на порт PE5 это 7 нога чипа и соответствнно digital out 3 ардуино

RedSun
bababababa:

это для UNO/Mega
а какие номера пинов здесь?

А почитать ? Не посмотреть картинки, а почитать ?
The APM2 schematics and board files are here.
Разобраться в схемах, что на какую ногу идет ?
Поковыряться в сырцах : Arduplane 2.65