Пользователь
0,0
рейтинг
2 июля 2011 в 02:34

Разработка → Мини-обзор Arduino-совместимых плат различных архитектур из песочницы

В тематическом блоге «Программинг микроконтроллеров» уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там — это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник — не разумно, у них и так есть вещи, которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует стереотип — Arduino это платка на AVR для ленивых. Так ли это? Эта статья — попытка наглядно показать, что Arduino — это не про AVR и не про лень, Arduino — это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.




AVR живее всех живых


Дойдя до второй части обзора, читатель увидит, что Arduino-совместимые платы на современных мощных 32-битных контроллерах стоят не много больше, а иногда даже меньше, чем на оригинальной AVR архитектуре. И все же сначала AVR. Почему? Потому что мэтры говорят, что рано или поздно захочется собрать свое устройство. И я им верю. Верю, что однажды я возьму 8-ногий ATtiny в DIP корпусе, засуну его в картонку и включу паяльник. И я буду знать, что делать дальше — ведь я уже все отпрототипировал на Arduino AVR.

Arduino Duemilanove

Это предпоследняя версия официальной Arduino, и большинство совместимых плат, которые сейчас присутствуют на рынке, основано именно на схемотехнике Duemilanove. Она включает микроконтроллер ATmega 328 (в прошлом десятилетии (читай: до 2010г) ставили и ATmega 168) и USB-Serial преобразователь FTDI FT232RL. $25
image

Arduino Uno

Текущая версия официальной Arduino. Пока на рынке мало альтернативных реализаций, но они начинают появляться, одна включена в этот обзор. Основное отличие от Duemilanove — замена популярного, а значит, не по начинке дорого, чипа FT232RL на… ATmega8U2. Да-да, в Uno фактически два микроконтроллера AVR, причем один — с аппаратным USB. Почему два, почему не поставить один? Вопрос совместимости, дружественности для новичков и для собственных разработок. Микроконтроллеры с аппаратным USB судя по всему есть только в SMD корпусах, поэтому использовать такой в своих разработках или заменить вышедший из строя на плате будет нелегко. Поэтому лучше использовать старый-добрый ATmega328 в DIP-панельке, а ATmega8U2 оставить на будущее. Судя по тому, как уверенно Uno завоевывает позиции — на ближайшее будущее. $30
image

Iteaduino

Существует множество клонов Arduino Duemilanove, которые копируют ее фактически один в один. Но мы ждем от конкуренции прогресса и улучшения, а не простого «передирания», дозволенного открытой лицензией. Iteaduino — хороший пример, когда разработчики «сделали свое домашнее задание». Многие электронные компоненты требуют питания 3.3в, что требует дополнительного сопряжения уровней при работе с классическим Arduino. Iteaduino же позволяет запитать плату 3.3в или 5в на выбор (переключателем на плате). «Соль» применения Arduino конечно же в подключении внешних устройств ввода-вывода, и для простых устройств сложился де-факто стандарт интерфейса GVS (Ground-Voltage-Signal). Для приятного (без паутины проводов) подключения таких устройств к классическому Arduino придется докупать шилд, а в Iteaduino соответствующие разъемы есть прямо на плате. Кроме того, улучшена эргономика — в оригинальном Arduino при надетом шилде нельзя добраться до кнопки Reset (поэтому многие шилды дублируют ее) и плохо виден светодиод, а в Iteaduino они размещены на краю платы с возможностью доступа. $25
image

Seeeduino Stalker v2

Благодаря стандарту Arduino можно создавать не только платы общего назначения, но и специализированные платы, которые все также будут легко расширяться существующими компонентами. Одна из идеальных применений для Arduino — разработка автономных беспроводных узлов-агентов распределенной системы контроля и управления. Платы Seeeduino Stalker разработаны именно для такого применения. В версии 2 на плате установлен контроллер зарядки литиевого аккумулятора с возможностью подключения солнечной панели, часы реального времени (RTC) с питанием от супер-конденсатора, microSD-слот, сокет *Bee (в оригинале XBee для протокола ZigBee, но уже есть BTBee в том же формфакторе) и разъемы I2C. $39
image

Ruggeduino

Вы начинающий, любите переплюсовывать питание и хвататься за оголенные GPIO наэлектризованными руками? Или подключаете датчики проводами по 20 метров, а иногда вокруг бьют молнии? Или используете Arduino в производственных целях, где требования по защите и надежности повыше? Ruggeduino поможет вам, одного взгляда на него будет достаточно, чтобы проникнуться уважением и понять, что это настоящий индустриальный Arduino. $40
image

RoMeo All-in-one

Плата для роботостроения, содержит на плате множество интерфейсных разъемов, драйвер двигателя, кнопки. $36


CraftDuino

Российский вариант Arduino с улучшенной эргономикой (доступ к светодиодам и Reset) и возможностями: на плате присутствует разъем для всех выводов чипа FT232, что позволяет использовать его для bitbang-приложений (программатор различных МК, JTAG и т.п.), и возможность допаять дополнительные выводы для установки CraftDuino на беспаечную макетную плату (breadboard). $30


Быстрее, выше, сильнее


Итак, мы выросли из AVR, но все наши шилды, сенсоры, сервы с нами. И мы не заставим их пропадать, ведь они для Arduino, а не для AVR. Мы также и дальше не будем поддаваться стереотипам, что есть только какой-то ARM, и какой-то Cortex. Все много интереснее!

ChipKIT Uno32

Каждый студент знает, что AVR — это хорошо, а PIC — это плохо. Однако, не стоит это распространять на все семейства МК. PIC32 — вполне нормальный процессор с архитектурой MIPS. А MIPS — одна из лидирующих RISC-архитектур. По сравнению с ARM у нее есть одно достоинство — она не столь медиа-популяризирована, поэтому лицензионные отчисления за MIPS меньше, а процессоры в среднем — дешевле, и лидируют в отельных рыночных сегментах, таких как раутеры. Например, Arduino-несовместимая плата в корпусе, с Ethernet, WiFi и USB-хостом стоит менее $50 даже в этой стране, ARM'у такое и не снилось. Но сейчас мы рассматриваем Arduino совместимые, и ChipKIT не заставит скучать при частоте 80МГц. 20EUR


Netduino

Cortex снова подождет. На сцене — классика ARM, ядро ARM7, в лице чипа от любимого вендора AT91SAM7X512-AU. На своих 48МГц он даже щелкает .NET Micro Framework! $35


FEZ Panda II

Конечно же, в managed коде писать легче, так что парад .NET MF продолжается. Эта плата идет под маркетинговым чипом «USBizi», который на поверку оказывается NXP LPC2387 с соответствующим firmware. На 72МГц он наверное мог бы играть MP3. Только не в .NET коде, конечно. $40


Olimexino-STM32

Ну вот добрались и до героя нашего времени — фирмы STMicroelectronics, которая люто-бешено демпингует свои Cortex-M чипы. Новая 16-битная система команд Thumb2 вместо классической 32-битной — это ли тот ARM, каким мы его знаем? Впрочем, не важно, главное, чтобы GCC компилил в него оптимально. А ассемблерный код бывалые допилят ручками. 20EUR


IFLAT-32 v2.0


Arduino-совместимость может быть и ограничением — ведь 32-битные многолапые процессоры имеют куда больше, чем классические 14 GPIO и 6 ADC от Arduino. Собственно, на фотографиях выше видно, что почти все 32-битные платы имеют дополнительные разъемы, но часто они будут недоступны при использовании Arduino шилдов. И снова китайская фирма Iteadstudio впечатляет не только ценами, но и функциональностью. IFLAT-32 имеет площадь больше, чем Arduino, и оставляет легко доступными разъемы XBee и LCD. $27


Chumby Hacker Board

Надоело баловаться в хардварной песочнице с микроконтроллерами с микропамятью и микрогигагерцами? Хочется ощутить настоящий процессор, способный работать с настоящей операционной системой, хочется теплых и мягких ха-тэ-эм-элов и джаваскриптов? Chumby Hacker Board все так же примет ваши шилды, если не на грудь, то на обратную сторону платы. $89


Ссылки:
Павел @pfalcon
карма
17,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (40)

  • +2
    Вот мне почему-то кажется, что ардуино — это огромное наебалово заблуждает.

    Потому что оригинальная идея — паять не надо, программить просто. А в результате получается — паять надо, но меньше (оно ж должно куда-то втыкаться и чем-то управлять?), программить надо, но если хочешь чего-то быстрого и хорошего (ага-ага, ICP/HW PWM/multi ADC/PLL), то все равно надо внутрь лезть? хотя ботинки, конечно, все еще наружу торчат.

    Огромная польза ардуиноподобных поделий — это не то, что не надо паять, а то, что не надо паять излишне тонко. Примерно так же, как не нужно лепить пельмени, можно просто купить. Варить по-прежнему надо, но вот фарш крутить — нет. Да, не так вкусно, но это уж кому чего важнее.

    Evaluation board lite for dummies, блин.

    В свое время использовать модули от propox (cortex-m3 на lpc17xx) просто потому, что удобно их использовать, и недорогие они, и все что там на плате имеется — было нужно. Но когда встал вопрос о партии 1000 штук — они пошли лесом в пользу саморазведенной платы.

    В общем, ардуины — это макдональдс, определенно!
    Если хочется вкусно/крутою/клево, то надо делать еду самому.
    Если просто пожрать — то купил макдональдс, кушаешь, быстро, просто, и главное, стандартизованно.

    Как конструктор лего. Роботов из него делают, и всякое прочее, что угодно, но вот его место — рядом с ардуинами.

    А за обзор спасибо.
    • 0
      Извините, перечеркивание с подчеркиванием в визуальном редакторе перепутал. :)
    • –4
      Хе, всё равно без отладочной платы фигова. Паяешь протатип, оказывается что чего-то не учёл, выкидываешь, паяешь заново. А так отладился и девайс уже собираешь чисто.
      Тока ардуину в качестве отладочной платы юзать ненадо.
      1) сраная попса
      2) сраный си++
      • +2
        не нравится С++, сносите загрузчик и пишите на чистом С или асме. Ведь ардуина — это не только среда разработки, которую легко можно выкинуть, но и стандартизированные разъёмы.
        Никто никого не заставляет и не принуждает.
        Есть Windows, есть Linux, есть BSD и куча других операционок. Так и тут.
        Но ардуино — это просто, очень удобно и быстро.
        Если у вас много свободного времени — без проблем, можно налутить себе свою отладочную плату.
        А если нет? Если просто хочется попробовать и не хочется отвлекаться на ЛУТ, а хочется реализовать идею.
        • 0
          Зачем же ЛУТ?
          image
          • 0
            Отлаживать на такой доске что то сложней мигалки светодиодной это ад. То проводок выпадет, то неконтакт. Куда быстрей прототип залутить, зато точно знаешь, что все что надо контачит, а все что ненадо не контачит.
        • +1
          Вот тут проблема как раз в том, что большинство так и не слезает с этого встроенного школьного алгоритмического, тупо потому, что уже привыкли и на сях писать страаашно, прерывания — ужаааасно, а «черепашка вниз, черепашка влево» — привычно.

          Везде разумный подход нужен, если мне надо будет попробовать новую платформу, и я найду ардуину с уже запаянным обвесом под проц BGA :) за приемлемую цену, конечно я на опыты ее куплю, а не сам паять буду.
    • +3
      Да, вот мы все примерно об одном говорим, только с разных колоколен смотрим ;-). Ну не крутится мир вокруг паяльников!.. И большинство начинающих никогда не дойдут до партий в 1000 штук (имеется ввиду, начинающие, которые хотят узнать о МК, а не связать с ними свою жизнь).

      Так вот, Arduino обеспечивает легкий старт в область микроконтроллеров, этого его цель и его прелесть. Причем, как в статье показывается, не только старт, но и продолжение. Т.е. Arduino — не вещь в себе, от нее можно перейти к более мощным или более пригодным для спецприменения вещам, все также не озадачиваясь через чур пайкой. А можно уйти ЛУТанье и пайку, если душа лежит.

      Метафоры с пельменями и макдональдсом хороши, но их можно продолжать дальше. Например, когда нужно прошить AVR, суровые хардварные мужики врубают типовой комп, в котором они не только не спаяли сами материнскую плату на свой лад, но зачастую даже пользуются услугами попсовой макдонольдсовскоймелкомягкой операционной системы, несмотря на то, что лепные финские пельмени куда слаще и питательней ;-).
      • 0
        Мне вот эти последние ардуины напоминают скорее комп с Core i7, 8 гигов памяти, винт в рейде на 2Т и со вшитым в биос msdos/gwbasic.
    • +1
      Абсолютно с Вами согласен!
      НО… Могу рассказать по личному опыту у меня образование в области 1.автоматизации и управление технических систем и 2. информатика и вычислительная техника. И нигде не рассказывалось, как работать с микроконтроллерами. А на них я начал присматриваться в 2001-2002 году. Вся информация по ним сводится к покупке\спайке программатора на com или lpt порту, создание устройств, вот готовая прошивка заливай и радуйся. При этом нужно осознавать, что такое фьюзы\ прерывание \порты и тд. А ардуино сделала маленькую революцию в данной отрасли. Когда не нужно хранить уйму информации в голове. Так вот первым контроллером в который я залил прогу был именно ардуино в 2009 году. И теперь я понимаю сложность данной области и она не кажется мне космической. Знакомый так же начинал с ардуин, теперь зарабатывает тем, что программирует на Siemens`ах. В своем роде ардуино это паскаль (для некоторых это первый язык программирования). А те, кто сейчас делают роботов возможно и начинали именно с лего. Что не маловажно можно вытащить из ардуины контроллер и собрать реальное устройство.
    • +1
      arduino это дешево и просто. Давно хотел изучить что такое микроконтроллеры, но всё руки не доходили. Купил на ebay клон всего за $18.49 (включая доставку) и у меня есть всё для первых опытов. Не нужно программаторов, блоков питания, плясок с бубном. Оно просто сразу работает. А дальше можно свои платы травить, если не наигрался :)
  • +1
    наша CraftDuino :)
    • +1
      Да, спасибо вам за нее! Я очень хотел добавить плату и от отечественных производителей, но первоначальная цель была показать разнообразие архитектур и фич плат, и мне казалось, что Craftduino вполне себе клон Duemilanove. Но перечитав еще раз описание, увидел, что это не так, а добавлены полезные усовершенствования. Добавил в обзор.
      • 0
        Спасибо :)
        • 0
          Кстати, возможно для будущей версии вы переймете опыт и добавите хотя бы пару GVS разъемов на саму плату ;-).

          И еще хотел спросить — видел такой сайт: robicon.org/ который тоже двигает, как и вы, формат коннекторов для роботостроения. Видел и ардуинку с такими коннекторами. Вы как-то с ними контактируете?
  • +1
    Ну почему, почему нету ни одной готовой платы с годным АЦП? Хотя бы 20бит сигма-дельта :(((
    Все 10тибитные медленные, с 2-3 бита уровень шума. Тьфу блин. Так и буду сидеть на ADuCах
    • 0
      20 бит???? вы не слишком ли замахнулись, говоря о малюсеньком контроллере?)

      думаю с такими хзарактеристиками вам надо вешать отдельный АЦП
      • +1
        Сигма-дельта ацп даёт очень хорошее разрешение со вполне приемилимыми шумами.
        Применяем ADuC 847 очень успешно.
        • 0
          ну да, только аналог девайсес и шли в голову при вашем комментарии, не даром они и называют это не МК а микроконвертерами :)
  • –4
    Хе, ардуинщики ответьте на простой вопрос.
    Вот вы собрали свой мега-будильник на микроконтроллере или мега-робота с двумя моторчиками и лампочкой.
    И когда решите собирать очередной мега девайс, вы будете покупать новую ардуину?
    Не проще ли быстренько залутить, запаять (деталек рублей на 100-250), и радоваться?
    • +4
      собрали прототип на «дурке», убеждаешься, что все работает как надо, потом лутишь. а не сначала лутишь, паяешь, видишь, что ничерта не работает, лутишь снова и т.д…
      • –5
        Ну тада норм. Я думал надо каждый раз покупать новую)
    • +4
      Да все зависит от цели и полезности. Предполагается, что мега-будильник можно собирать только ради процесса и опыта (альтернативу можно купить за бакс-полтора). Так что да, насмотрелись — разобрали, порадовались сэкономленному времени на пайку и ЛУТы.

      А вот другой пример — захотелось сделать учет электроэнергии в доме (aka energy monitor). Но готовые девайсы стоят от двухсот баксов, делают то, что захотел производитель, а не нужно нам, да и врут нещадно (кто знает, как они на самом деле считают?). Сделали, прибили на дощечку на чердаке, ардуину купили новую, ходим-радуемся: 1) тому, что сделали, что хотим, а не то, что в макдональдсе предлагают; 2) сэкономили кучу бабок; 3) вообще сделали, без ардуины бы руки не дошли (потому что в реальной жизни мы, к примеру, шофера и своих дел и без паяния хватает).

      image

      (фотка не моя, из блога draythomp.blogspot.com/p/test-html-code.html)
    • –1
      А что мешает взять туже atmega168 и обвязать парой кондерами и парой резисторов? Для готового девайса само оно.
  • +2
    Последняя плата удивила — с предустановленным Linux на SD-карте — интересно было бы поковырять её)
  • 0
    Спасибо за обзор, очень приятно видеть, что этот блог развивается!
  • 0
    А вообще, ребят, пора переходить на ARM.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    А что же в обзоре не упомянут ни один российский аналог, хоть ардуино, хоть шилдов под него?
    • +3
      Ардуино-подобных плат очень много, идея была показать платы с разными архитектурами и фишками, так что пришлось фильтровать (и так писал статью долго ;-) ). Но вы правы, хотелось бы видеть в таких списках и отечественные варианты, к частью, CraftDuino не подкачал с фишками для описания и был добавлен.
  • +1
    А каким образом этот Chumby Hacker Board совместим с ардуино? На него вместо линукса можно поставить свою прошивку?
    • 0
      Совместим по разъему для подключения плат расширения («шилдов»). Если у вас есть шилд, вы сможете его подключить, написать (или найти, или переделать существующий) драйвер (эквивалент «прошивки» для AVR) и использовать его.
  • 0
    А что посоветуете для новичка? USB-хост обязателен.
    • –1
      Хотя скорее желателен, чем обязателен.
    • +1
      Ну, USB-хост штука специфическая, если для новичка, то только «на вырост», программить его «с нуля» не так-то легко. Хотя вот в Chumby он конечно есть, и работает автомагически, поскольку Linux.

      Из более простых плат выше — даже не знаю, есть ли где, miniUSB разъемы видно, но какие из них OTG (т.е. которые могут работать в режиме Host) сказать традно. Ссылки есть, читайте, может дополните обзор в этой плоскости ;-).

      Ну а так вообще, благодаря появлению Google OpenAccessory проекта для Android, который основан на Arduino + включает USB хост, это дело начнет развиваться скоро. Собственно, макетки уже продаются много где, и готовую плату тоже где-то видел, но пока дорого, баксов 80…
    • +1
      На ловца и зверь бежит: Android + Arduino = ♥

      И вот еще: FTDI анонсировала платформу на основе Vinculum-II

      Так что было бы желание, варианты есть ;-)
  • 0
    Хочу только что Ruggeduino — это никакой не инастриал-grade :-) Даже банальной оптоизоляции не видно (по крайней мере на этом фото)
  • 0
    Славная статья! Сам получил позавчера свой первый МК — Arduino Uno, решил начать, так сказать, с азов.
    Сейчас одним глазом изучаю шилды, а другим глазом посматриваю что дальше. Я уже понял что AVR будет для меня только первым шагом.

    От себя добавлю такую замечательную штуку — LCD дисплей в виде Ардуина шилда
    Разрешение 320x200, 260 тысяч цветов, тачскрин, красота!

    image

    image

    Первая реакция когда увиедл такую штуку — срочно писать эмулятор ZX спектруум!

    Вторая реакция — нужен микроконтроллер с 64 Кб памяти и мипсов бы побольше.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.