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

Artie

Разумеется.
“Как только - так сразу…”

ЗЫ: У меня-то как раз 328.

Панкратов_Сергей

[QUOTE=Artie;1320073ЗЫ: Только я это буду делать для обработки NMEA, как самого универсального протокола, ну и чтобы тот же поток в любую телеметрию скармливать можно было.
).[/QUOTE]

Вопрос от дилетанта-
Пытаюсь освоить программирование.
Есть ли смысл в Ардуино - или лучше сразу Си и не терять времени, про ассемблер не спрашиваю?
Насколько Ардуино ограничит возможности?

Artie
Панкратов_Сергей:

Есть ли смысл в Ардуино - или лучше сразу Си и не терять времени, про ассемблер не спрашиваю?

Дык, оно на сях и сделано (вернее, даже на плюсах, что для данного конкретного применения - скорее минус, чем плюс (“Калабур-с, господа !” 😃)

На самом деле, насколько я успел понять, ардуино - это “комплект” из следующих трех вещей:

  1. Готовая платка с однокристаллкой, в которую зашит загрузчик. - Позволяет ничего не паять (точнее, паять только то, что ты вешаешь снаружи), и не заботиться о программаторе.
  2. Оболочки для avr-gcc (написанной на жабе, поэтому тупой и тормозной). - Позволяет в один клик скомпилить программу и залить ее в однокристаллку.
  3. Библиотек, “абстрагирующих” пишущего от всего железа и дающих некий набор более высокоуровневых функций, вроде обмена по I2C, работы с индикаторами, шаговыми двигателями, сервомашинками, и даже с ethernet’ом.

Непосредственно программы пишутся на сях/плюсах, да и ассемблерные вставки тоже не заказаны, благо все это - не “фича” самого адруино, а возможности совершенно штатного gcc.

Насколько Ардуино ограничит возможности?

Как составная часть некоего законченного продукта (например, то же автопилота) - с моей точки зрения, оно никуда не годится (сразу по многим причинам), но вот именно для обучения эмбеддерству (не профессиональному, а так, “для дома, для семьи”) - я считаю, что это платформа практически идеальная.
… Поскольку для начала, эффективность кода - вещь, в общем, не самая важная, а вот возможность практически с первого же дня начать крутить какой-нибудь сервой или ШД, измерить какое-нибудь напряжение и выбросить его значение в красивом текстовом виде в терминалку (встроенную в оболочку), не вдаваясь в изучение периферии однокристаллки, ее ассемблера, процедуры ее программирования, и так далее, - для начинающего штука достаточно ценная…

Самое же правильное в ардуино именно то, что при всей простоте освоения, оно позволяет учиться писать сразу на нормальном языке, а не на разнообразных ублюдках, вроде пикбэйсика, а в дальнейшем - по мере обучения - ничто не мешает отказаться от оболочки и от “плохих” функций работы с железом, благо в основе у него - полноценный кросскомпайлер и открытые сорсы тех же библиотек.
(Например, мне не понравилось то, что в сериальной библиотеке нельзя проконтролировать переполнение приемного буфера или проверить ошибки приема. - Можно было, разумеется, и написать все эти функции с нуля, и портировать их из какого-нибудь старого проекта, но это заняло бы, как минимум, полдня. А так - три минуты на поиск сорсов, еще три на правку, - и у класса HardwareSerial появился новый метод - status…)

Панкратов_Сергей

Спасибо,понятно.
Меня смущало наличие

некий набор более высокоуровневых функций

Больше плюсов в этом или минусов?
Что более быстро можно обучиться - это ясно.
А вот не послужит ли это тормозом в дальнейшем в написании более эффективных кодов, без использовании этих высокоуровневых функций?
Теперь сомнения сняты.😃

Artie
Панкратов_Сергей:

Что более быстро можно обучиться - это ясно.
А вот не послужит ли это тормозом в дальнейшем в написании более эффективных кодов, без использовании этих высокоуровневых функций?

Нет, конечно.
Библиотеки - это такие штуки, которыми можно не пользоваться, если не хочешь. 😁
А когда они еще и открытые, то переход (в любую сторону) становится вообще настолько плавным, насколько пожелаешь.

smalltim

Не понимаю, для чего столько траха с памятью, попытками вычистить чужой корявый код и прочим на ардуино, когда можно взять набор
ATUSBKEY с AT90USB1287 на борту - 128к памяти, 8к оперативки, 2к EEPROM, 16 МБ внешней памяти, нативный USB интерфейс, USB бутлоадер, и ничего паять не надо. Все Атмеговские прелести в виде 8 каналов АЦП, SPI, USART и прочая и прочая - в наличии. AVR GCC и стопицот сторонних библиотек, если надо - в наличии.

Artie
smalltim:

Не понимаю, для чего столько траха с памятью, попытками вычистить чужой корявый код и прочим на ардуино, когда можно взять набор ATUSBKEY с AT90USB1287 на борту - 128к памяти, 8к оперативки, 2к EEPROM, 16 МБ внешней памяти, нативный USB интерфейс, USB бутлоадер, и ничего паять не надо. Все Атмеговские прелести в виде 8 каналов АЦП, SPI, USART и прочая и прочая - в наличии. AVR GCC и стопицот сторонних библиотек, если надо - в наличии.

Если разговор о собственно железяке, то вот лично мне USB нафиг не нужен, а ничем более принципиальным оно не отличается. И “гигазы” памяти мне тоже не нужны.
С точки же зрения софта, это - готовый open-source проект (пусть и кривой, но все-таки работающий), с которого многим значительно проще начинать делать что-то свое.

Лично я купил эту платку только потому, что это значительно дешевле и быстрее, нежели заказывать изготовление такой же своей собственной, и чуть аккуратнее, чем на макетке МГТФом. А про то, что такое ардуино, я узнал уже после того, как приехала плата 😛 (бо мне это было достаточно пофигу).
Кому нужно - могут почистить что хотят, кому не нужно - могут пользоваться тем, что есть. А “трах с памятью” возникает только у тех, кто хочет в старую плату с “мелкой” однокристаллкой залить новую версию кода…

PS: У благородного дона переполнена личка.

smalltim

Личку ща почищу.

Ну я как бы совсем не против ардуино, просто всяк кулик свое болото хвалит, и я, как взял по совету Dikoy ATUSBKEY, так и остаюсь ему сильно благодарен, а приобретением жутко доволен. Всё это, разумеется только с точки зрения железа. По софту ничего сказать не могу.

Artie

Ну, они просто под разные задачи. Ардуино (именно в виде этих самых “трех источников, трех составных частей”) - это хорошая учебная платформа, удобная для тех, что начинает с нуля. И его “комплектные” библиотеки - просто для ускорения старта.
… А персонально я брал ардупайлот главным образом как “плату с двумя микрухами за $24”, - для экономии времени (и мысли 😃).

USBKEY же - это уже нормальный девкит, “для тех, кто понимает”. И начинать на нем учиться писать стоит только в том случае, если нужен именно USB.

Панкратов_Сергей
Artie:

… А персонально я брал ардупайлот главным образом как “плату с двумя микрухами за $24”, - для экономии времени (и мысли 😃).
.

Там же есть платы,на основе которых быстро и задешево можно собрать ту-же
телеметрию от благородного дона 😁
Только бутербродиком на нее посадить платку с датчиками и и селектором синхроимпульсов.
www.sparkfun.com/commerce/product_info.php?product…

Artie

А вот в этом смысла уже никакого, поскольку для телеметрии - всей остальной развеснухи в разы больше, чем ног у однокристаллки. Так что, с ней паять “бутербродик”, или без нее - разницы почти нет…

Панкратов_Сергей

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

Artie
Панкратов_Сергей:

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

И в чем, собственно, отличие датчиков от однокристаллки ?
Кроме того, помимо датчиков и процессоров, - не помню уж чего там добавил или убрал Тим, но у меня стоит еще с полсотни разной “развесной” мелочевки… - Почему-то считается, что их паять (или - пуще того - разводить) легче, чем одну “сороконожку”. 😆
А на закуску - прикиньте, сколько “соплей” придется тащить с платы на плату - и вопрос, imho, отпадет сам собой…

Была б готовая плата от smalltim-а , то вопроса и не возникало.

Дык, чего уж проще: купите…
Врядли голая плата с мегой у Тимофея будет стоить сильно дороже, чем то же самое у спаркфана, плюс пересылка из-за бугра. И эта плата будет значительно более подходящей под задачу, и ее существенно меньше придется “дорабатывать напильником”.

Панкратов_Сергей

Купить не получилось.
С полгода назад написал пару писем.
Две недели не было ответа, а затем получил письмо, видимо, от его торгового агента из Казани, типа - а напишите мне - что Вам нужно?
В это время с Штатов посылка уже была между Москвой и Бузулуком:)

Да, собственно вопрос отпал сам собой.
Вижу необходимость для себя в телеметрии с голосовыми сообщениями.
И для экспериментов та плата, на которую дал ссылку - вполне пригодна.

13 days later
gensek

Неделю как получил девайс, какие можно ставить датчики, на www.fmadirect.com/Detail.htm?item=1778§ion=20 Co Pilot Sensor Module появится 15 августа и то не факт, может в наших магазинах подходящие датчики можно прикупить?

Expert

на fmadirect рус кредит кард не берут, ваер из россии туды просто так не уйдет, не пройдет фин контроль без должного оформления

1 month later
alex-ber

[QUOTE=Панкратов Сергей;1295115]Почти наигрался:).
Стали понятны направления куда двигаться.
Понятно стало что должна представлять из себя модель для беспилотника и какие изменения в программе нужны.
Плата автопилота и программа не требует никаких изменений для применения на планере . Функция автовозврата с несколькими режимами, функция передачи телеметрической информации на базовую станцию ( в случае установки радиомодема).

Очень хотелось бы получить более подробную информацию про настройку и отладку данного автопилота - сегодня получил платку с 328 и FDTI програматор, плата согласования на подходе. но пока не паялся хотел бы узнать побольше инфы.
если не сложно - поделитесь ВСЕ кто пользовал или использует данный автопилот!!!
СПАСИБО!

Панкратов_Сергей

Используйте переводчик - и во всем разберетесь сами.
А писать подробную инструкцию - это получится нетонкая брошюрка.
Потому пробуйте сами - а на возникшие вопросы постараюсь ответить…