roboforum.ru

Технический форум по робототехнике.

Какие бывают платы ардуино?

Какие бывают платы ардуино?

DasTPID » 25 ноя 2014, 11:32

Привет!
Я в ардуинах беспросветный новичок, узнал о их существовании с месяц назад, а так вообще я по работе на 1С пишу :oops:

И значит чтобы не размениваться на мелочи - я решил сразу начать с проекта попроще. :D

Видится мне такой прибор - полетный компьютер дельтапланериста-парапланериста. Что он должен уметь? Ну, во-первых, у него есть датчик барометрического давления, например BMP180, то есть прибор в любой момент времени знает свою высоту. Во-вторых, у него есть достаточно громкая пищалка, и если прибор видит что высота растёт - то прибор пищит, причём чем быстрее высота растёт тем сильнее он пищит (это нужно для того, чтобы пилот знал скороподьёмность не глядя на экран, не отвлекаясь. Примерно вот так звучит: http://www.youtube.com/watch?v=QEDEZbJYuZo).
В-третьих, раз уж сказал про экран - у него есть экран :) пилот на него смотрит не особо часто, но когда смотрит - нужно чтобы он точно увидел что там нарисовано, по этой причине цветной с подсветкой не подходит, его солнце забивает, нужен обязательно черно-белый жидкокристаллический. Так вот, не экране сводно показывается необходимая информация - высота, скороподъемность мгновенная, усреднённая, температура окружающего воздуха, курс, скорость относительно земли (с GPS). Ага, появился ещё ЖПС. Я думаю NEO6M, по крайней мере заказан у меня именно он. Итак, с ЖПСа приходят данные о текущих координатах, на их основании высчитывается курс, скорость горизонтальная, скорость вертикальная (которая сравнивается и корректируется полученной от датчика давления). Кроме этого не реже чем раз в секунду текущие координаты записываются в файл на флешку, формат файла довольно простой, но всё же пересчитывать кое-что придётся. Значит, нужна ещё и флешка, данные о средней длины полёте занимают килобайт 300. При подключении прибора к компу через USB он должен определиться как съемный диск с такими файлами - треками полётов. Причём было бы неплохо, чтобы он через это же гнездо заряжался - розетки в полёте по понятным причинам нет. Значит, нам ещё нужны аккумуляторы, ЖПС прожорлив - значит аккумуляторы мощные, я так думаю что две 18650 последовательно. Т.к. напряжение на литии гуляет, то наверное для питания схемы нужен ещё DC-DC преобразователь. Плюс к этому модуль зарядки литиевых аккумов. И как финальный штрих - хотелось бы, чтобы прибор более-менее помнил сегодняшнюю дату и время (даже несмотря на то, что он их получит с ЖПС через три минуты после включения), значит нужен модуль часов с батарейкой. Всё это надо запихнуть в корпус, размеры корпуса критичны, т.к. прибор обычно крепится пилоту на ногу.

Так вот я о чём, я вчера начал с датчика давления, прилепил его к ардуино нано, всё хорошо, данные идут, но! Размер скомпилированного скетча у меня получился почти 10 килобайт. Даже если я идеально вылижу код, то всё равно вся вышеприведённая схема в 32К флеш-памяти, доступной на ардуино нано, не влезет. Значит, мне нужна другая плата, но я пока не знаю какая. На первый взгляд мега 2560 подошла бы. Ардуино нано на ebay можно купить в нескольких форм-факторах, меня бы в принципе устроила как схема с торчащими ножками, так и схема с отверстиями куда ножки нужно самому впаивать. А вот мега 2560 выпускается с контактами, куда нужно проводки засовывать, то есть для постоянного изменения и отладки схем это удобно, а как сделать из этого готовое изделие мне не совсем понятно; да и размер у нано мне нравится больше, чем у мега2560. Уважаемые знатоки, подскажите пожалуйста, есть ли платы ардуино, удовлетворяющие моим целям?

Re: Какие бывают платы ардуино?

holomrn » 25 ноя 2014, 12:37

Информация из первых рук на сайте arduino.cc Внезапно, да. :D
А вообще, предлагаю поступить следующим образом: отладить все на макетке с ардуиной2560. Когда станет понятен размер кода, количество рам, периферия - выбирать наиболее подходящий вариант платы. Или вообще голый контроллер взять.

Re: Какие бывают платы ардуино?

Myp » 25 ноя 2014, 13:02

ну это ты какую-то фигню напрограммировал)))

а вот с подключением экрана к ардуине могут быть проблемы, графические библиотеки забивают обычную ардуину почти полностью.

Re: Какие бывают платы ардуино?

elmot » 25 ноя 2014, 13:16

Мур, +1

Мой фирменный вопрос, почему обязательно ардуино?

Есть замечательные не-ардуино, на любой вкус и размер.
Более того, в данной задаче понадобится изрядно памяти для графики и будет полезна 32-битность, ибо будет тригонометрия. Бери АРМ. Есть замечательные мощные платы. Я вот повадился городить все на демоплатах stm32f103, а шить их можно с самой простой stm32f0-dicovery. В сумме очень дешево и весьма сердито, к тому же компактно.
http://www.aliexpress.com/item/ARM-Cort ... 21911.html

Re: Какие бывают платы ардуино?

DasTPID » 25 ноя 2014, 15:52

Ну вот как здорово что я спросил!
Я вот до сегодняшнего дня и не знал что есть такие вот АРМ М3.
В целом - наверное так и буду делать, на ардуино мега тренироваться, а дальше видно будет, наверное арм.
Но почему китайцы не делают мощные платы ардуино для распайки - я на самом деле не понимаю. Или предполагается для реального использования эти гребенки отпаивать?

Re: Какие бывают платы ардуино?

Angel71 » 25 ноя 2014, 15:55

"m" это микроконтроллеры, назвать их мощными очень сложно. по крайней мере в армах это самые слабенькие линейки. китайцы много чего делают. полно и голых плат всяких ардуинок, и для младших армов. некоторые платы есть и с нераспаяными разъемами. не найдёте нужную нераспаяную, так выпаивайте, в чём проблема? или не понимаете, что те, кто умеет паять, сможет выпаять разъём. а те, кто не умеет паять, впаять не сможет.

Re: Какие бывают платы ардуино?

stigmaster » 25 ноя 2014, 16:51

elmot писал(а):Мой фирменный вопрос, почему обязательно ардуино?
Есть замечательные не-ардуино, на любой вкус и размер.


ИМХО, потому что с Ардуинами очень просто работать, и под них очень легко кодить - IDE устанавливается тупым кликаньем на Next и настройки не требует, язык объектный, простой как палка, программатор не нужен. Для сферического wannabe-самоделкина ничего лучше и не придумать, особенно учитывая то, что китаёзы продают копии Ардуин за настолько смешные деньги, что сейчас проще купить такую и оставить её в своей поделке навсегда, чем разводить-травить-паять плату под AVR-ку после проверки работы девайса на Ардуине.

Re: Какие бывают платы ардуино?

elmot » 25 ноя 2014, 17:34

DasTPID писал(а):на ардуино мега тренироваться, а дальше видно будет, наверное арм.

А вот это уже неразумно. Сначала будут собраны все грабли дуины, а потом тоже самое в нормальном проце. Хочется потренироваться - возьми
http://www.st.com/web/catalog/tools/FM1 ... 2/PF259090
Потом бэкпортнуть на проц послабее проще, чем меговский код на арм тащить, и с этой же платы можно перешить любой stm32. И потом - мой совет - аппаратный отладчик - вещщщ. В ардуине его нету.

Добавлено спустя 3 минуты 19 секунд:
Angel71 писал(а):"m" это микроконтроллеры, назвать их мощными очень сложно.

Смотря как считать. Замый тупенький арм-м0 порвет младшие и средние AVR в тряпки. Старший M4 вполне катит по мощности на настольный комп 90х годов. А на фоне ARM A - да, игрулька детская.

Re: Какие бывают платы ардуино?

Angel71 » 25 ноя 2014, 17:38

elmot, как бы да, яж уточнял мысль "по крайней мере в армах это самые слабенькие линейки".
интересно, на что именно у tc ушло 10 кбайт?

Re: Какие бывают платы ардуино?

DasTPID » 25 ноя 2014, 22:17

Angel71 писал(а):интересно, на что именно у tc ушло 10 кбайт?

Для связи по I2C требуется Wire.h
А в ней целый комплект объявлен:
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "twi.h"

Я понимаю, что скорее всего если расковырять и посмотреть что нужно, а что нет - половину можно убрать. Но сейчас вот так.

Re: Какие бывают платы ардуино?

Angel71 » 26 ноя 2014, 08:27

если просто обьявить, то 10кбайт ну никак не будет. ладно, не важно. ради интереса собрал скетч. ds1307, экран через i2c, dht11. :) 7.8кбайт. если ещё в уарт данные отсылать, как раз похоже 10кбайт будет. добавляю опрос neo6m gps и вывод в уарт. 20.5кбайт. а, точно, забыл bmp180. добавляем его опрос. исходник 12кб, скомпилированным получается 25кбайт. выкидываем работу с dht11 и добавляем запись на sd карту с фат16. даже не причёсывая как раз влезает. хз, зачем мега2560.
если прям опасаетесь, что не влезет, берёте плату на stm32 и не мучаетесь. у стм есть серии плат discovery и nucleo. если захочется помельче, полно всяких от сторонних производителей. с программатором всё просто - по уарту, юсб или через swd (можно отдельно купить программатор или взять с дискавери/нуклео).


cron
Rambler\'s Top100 Mail.ru counter