Как настроить смартфоны и ПК. Информационный портал

Raspberry Pi для домашней автоматизации. Релейный модуль

Raspberry Pi для домашней автоматизации. Релейный модуль

Raspberry Pi для домашней автоматизации. Релейный модуль

ВНИМАНИЕ!!! Сайт переносится на новый ресурс - https://whp.home.blog

Пока продолжается процесс адаптации контроллеров системы домашней автоматизации для работы со стандартным Modbus RTU, немного поговорим о подключении к Raspberry Pi различных готовых модулей. Начнем с самого простого - подключение к портам GPIO релейного модуля.

В продаже можно найти различные модификации релейных модулей на 1, 2, 4, 8 и более каналов. Все они, как правило, выполнены по одинаковой схеме и имеют «на борту» гальваническую развязку на оптронах,транзисторные ключии электромагнитные реле либо на , либо на 12В .

Оказавшиеся в моем распоряжении два 4-х канальных модуля были выполнены на реле с напряжением 12В (рис.1)

Рис.1

В описании полученных релейных модулей было указано, что для управления реле в качестве активног о используется низкий уровень. Т.е. при низком уровне на входе канала модуля соответствующее реле включено , а при высоком - отключено . Для более детального рассмотрения этого вопроса обратимся к принципиальной схеме, которая была составлена по печатной плате модуля (рис. 2). На схеме показан только один канал, остальные каналы идентичные.

Рис.2

При высоком уровне на входе модуля светодиод во входной цепи и светодиод оптрона выключены, на базе транзистора Q1 присутствует низкий уровень, транзистор закрыт и реле отпущено. При подаче на вход низкого уровня светодиоды включаются, транзистор открывается и реле подтягивается. Диод, шунтирующий обмотку реле, служит для подавления самоиндукции, возникающей при коммутационных процессах.

Обратите внимание, что при установленной перемычке JD питание оптрона составляет 12В . Это неприемлемо при работе с ТТЛ уровнями или уровнями 3,3В . Поэтому, для работы рассматриваемого здесь модуля необходимо перемычку снять и подключение к портам GPIO Raspberry Pi выполнить в соответствии с рис.3:

Рис.3

Так как реле включается при низком управляющем уровне на входе, следовательно, на портах GPIO, которые управляют реле, при загрузке Raspberry Pi должны устанавливаться высокие уровни. Для этого достаточно внести изменения в конфигурационный файл - вместо x = OUT 0 указать x = OUT 1 , где х - номер порта (рис.4)

Рис.4

Так же хотелось бы остановиться на схемной организации управления нагрузками, потребляющими большой ток, например, мощными электронагревателями или вентиляторами. Обычно для таких нагрузок мощности контактов электромагнитного реле модуля недостаточно и их применяют в качестве промежуточных реле , управляющих пускателями (контакторами), которые в свою очередь уже непосредственно коммутируют нагрузку. Для повышения надежности в таких системах имеет смысл использовать 2-х релейные схемы управления, где одно реле (К1) отвечает за включение нагрузки, а второе (К2) - за отключение . Принципиальная схема 2-х релейной схемы управления приведена на рис.5:

Рис.5

Принцип работы 2-х релейной схемы предельно прост. В исходном состоянии реле К1 , К2 и пускатель ПМЛ отпущены, нагрузка отключена. При кратковременном срабатывании реле К1 его нормально-разомкнутые контакты К1.1 подают напряжение на катушку пускателя, пускатель подтягивается, подает питание на нагрузку через контакты ПМЛ-1 и своими блок-контактами ПМЛ-БК становится на «самоподхват». Для отключения нагрузки необходимо кратковременно включить реле К2 , его нормально-замкнутые контакты К2.1 разорвут цепь питания катушки пускателя, нагрузка отключится и схема вернется в исходное состояние.

Преимущество управления с помощью 2-х релейной схемы в том, что электромагнитные реле К1 и К2 включаются только на 1-2 секунды во время включения или отключения нагрузки, остальное время они находятся в отпущенном состоянии. Это предотвращает бесполезную нагрузку на блок питания релейного модуля и повышает надежность управления в целом.

Как недостаток следует отменить необходимость использования для управления нагрузкой двух каналов релейного модуля (т.е получается, что 4-х канальный релейный модуль обеспечит управление только двумя нагрузками). Но тут уже в каждом конкретном случае нужно оценивать что важнее - количество каналов или надежность управления.

Так же в системах управления «высокой ответственности» крайне желательно сделать сигнализацию включенного/отключенного состояния нагрузки. Реализовать такую функцию можно с помощью трансформатора тока, включенного в цепь нагрузки, или, что более просто, с помощью ещё одного реле, подключенного параллельно нагрузке. Контакт реле включается на вход Raspberry Pi и позволяет реально идентифицировать включенное или отключенное состояние нагрузки.

Этот одноплатный компьютер, первая версия которого была представлена в 2011 г., набирает обороты и его популярность превзошла все ожидания. Сегодня попробуем разобраться, что такое Raspberry Pi и одноплатные компьютеры вообще, зачем они нужны, в чем их преимущества по сравнению с традиционными компьютерами, что нужно, чтобы начать работать с Raspberry Pi и где купить Raspberry Pi . А дальше вас ждет серия уроков по Raspberry Pi для начинающих и интересные идеи по использованию устройства в роботах и робототехнике.

Raspberry Pi – одноплатный компьютер, то есть различные части компьютера, которые обычно располагаются на отдельных платах, здесь представлены на одной.

Первый проект будущей Raspberry Pi был представлен в 2011 г., промышленное производство началось в 2012 г. В названии продукта объединены Raspberry — малина и Pi — число Пи. Изображение малины стало логотипом проекта.

Изначально проект создавался как образовательный, Raspberry Pi отлично подходит для изучения основ электроники — все видно, доступно и цена не велика. На сайте проекта присутствует весомый с подробными инструкциями и методиками. Raspberry Pi Foundation постоянно акцентирует внимание на обучающих возможностях компьютера, в их официальном твиттере вы найдете огромное множество юных счастливых обладателей устройства и их достижения.

Для чего нужны одноплатные компьютеры?

Одноплатные компьютеры обычно небольшого размера, энергоэффективны и имеют относительно небольшую стоимость. Все это относится и к Raspberry Pi. Многие пользователи используют Raspberry Pi как сервер, ведь она потребляет мало энергии и совершенно бесшумна. Благодаря небольшому размеру ее можно встроить в различные корпусы и использовать, например, как мозг для робота. Поэтому проект «Занимательная робототехника» и обратился к рассмотрению этого устройства. В целом с Raspberry Pi можно сделать основную массу всего того, что вы делаете на обычном настольном компьютере, но с некоторой спецификой, в основном связанной с несовместимостью со многими операционными системами.

Выглядит Raspberry Pi так, размер платы схож с кредитной картой:

Плата Raspberry Pi

Сегодня Raspberry Pi популярен не только в обучении, но и среди взрослых и вполне серьезных дяденек, которые создают иногда такие вот безумные проекты — всего каких-то 64 Raspberry Pi, немного -деталей и супер-компьютер готов!

Немного технических деталей Raspberry Pi

Размеры Raspberry Pi: 85,6x56x21 мм, вес 45 г.

RaspberryPi выпускается в двух версиях — A и B. Версия В на сегодняшний день более популярна.

Сравнение версий и основные характеристики Raspberry Pi:

  • Процессор ARM11,Broadcom BCM2835,700 МГц;
  • Оперативная память — 256 Мб у А, 512 Мб у В;
  • USB входы/выходы — 1 у А, 2 у В;
  • SD вход;
  • RCA выход (“тюльпан”);
  • HDMI выход;
  • Ethernet вход/выход — есть только у В;
  • Audio выход;
  • GPIO контакты.

Как видно, Raspberry Pi имеет только оперативную память. В качестве постоянной памяти предполагается использование SD-карт.

Стоимость и где купить Raspberry Pi?

Официальный дилер и некоторые другие интернет-магазины в России продают модель B в районе 2300-2500 рублей + доставка.

Самый экономичный способ купить Raspberry Pi в России — это по-прежнему крупные китайские интернет-магазины (я сам делаю именно так).

По состоянию на момент написания статьи модель B на сайте AliExpress стоит $44 , на DealExtreme — $49. И там, и там бесплатная доставка. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины и DESSY .

Цены этих магазинов постоянно меняются, появляются какие-то скидки и спецпредложения. Сам я заказывал на DealExtreme недавно за $54 и тогда это было лучшее предложение. Поэтому, если вы раздумываете о покупке, то текущий вариант на AliExpress очень выгодный.

Что касается работы почты и таможни, то от заказа до получения в этот раз у меня прошло чуть меньше месяца. Предыдущие посылки из Китая приходили недели за три. Т.е. сроки вполне адекватные.

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

Что еще нужно для начала работы с Raspberry Pi?

Чтобы начать работу с Raspberry Pi помимо самой платы вам понадобиться:

  • SD-карта, с которой вы загрузите операционную систему; производитель рекомендует использовать карту от 8 до 32 Gb, реально работают и на меньших картах;
  • монитор или телевизор с разъемами HDMI, DVI или RCA («тюльпан») (VGA не подходит), и, соответственно, кабель HDMI-HDMI, HDMI-DVI или RCA-RCA;
  • USB-клавиатура;
  • USB-мышь.

Я подключил Raspberry Pi к 24-дюймовому телевизору, выглядит это так (сама Raspberry Pi выделена овалом):

Raspberry Pi, подключенная к телевизору

Raspberry Pi поставляется без ОС, ее нужно скачать с сайта производителя и загрузить на SD, что мы опишем подробнее в следующей статье. Так же продаются SD-карты с уже закачанной туда ОС. Я особого смысла в этом не вижу.

Когда не хватает мощности Arduino, на помощь мейкеру приходит тяжелая артиллерия в виде микрокомпьютеров Raspberry Pi . Чаще всего “малиновые пироги” или “малинки”, как их еще называют, используются в задачах обработки видео, аудио информации и сложных коммуникаций. В этой статье мы познакомимся с Raspberry, узнаем, что такое микрокомпьютер, какие модели сегодня актуальны и как можно использовать это устройство в своих проектах.

С помощью Raspberry Pi можно сделать умного робота, распознающего своего хозяина или домашний сервер умного дома, передающего по WiFi или Ethernet. Вы можете подключить к микрокомпьютеру датчики, двигатели, реле и многое другое. Таким образом, сферы применения Raspberry и Arduino в DIY проектах сильно пересекаются.

Что такое одноплатные микрокомпьютеры?

Микрокомпьютер – это устройство, имеющего архитектуру полноценного компьютера, но отличающееся своими размерами. Сегодня на рынке представлены сотни(!) различных моделей (включая клоны Raspberry) от десятков производителей и этим рынок одноплатников существенно отличается от рынка обычных компьютеров, на котором между лидерами давно уже распределены все доли рынка.

Микрокомпьютеры чаще всего создаются под конкретные задачи, они не могут конкурировать с обычными компьютерами, уступая им в мощности и удобстве. Но зато они более дешевы, просты, имеют компактный размер и потребляют меньше энергии. Это делает микрокомпьютер важным элементом мобильных автоматизированных систем.

Raspberry Pi является сегодня наиболее известным представителем семейства одноплатных микрокомпьютеров. Это достаточно дешевая и доступная плата начального уровня, которую можно купить во множестве интернет-магазинов. Азиатские производители создали большое количество клонов (Orange Pi, Banana Pi и другие), которые можно использовать в своих проектах. И другим очень важным преимуществом “малинки” является огромное сообщество разработчиков, занимающихся развитием архитектуры и программного обеспечения. Выпущено множество книг, учебных пособий, операционных систем и удобных инструментов, существенно облегчающих начинающим начало работы с системой. Поэтому именно с этим микроконтроллером рекомендуется начинать работу тем, кому уже стал “мелковат” ардуино.

Что такое Raspberry Pi?

Raspberry Pi представляет собой недорогой компьютер размером с кредитную карту, который присоединяется к монитору ПК или телевизору и использует стандартную клавиатуру и мышь. Внешне компьютер представляет собой небольшую четырехслойную печатную плату с USB, HDMI и другими разъемами, слотом для Micro SD, а также гребенкой контактов GPIO. Корпус, карту памяти, клавиатуру, мышь, монитор, блок питания нужно приобретать дополнительно.

При помощи “малинки” можно научиться программировать на языках Scratch и Python. Изначально микрокомпьютер разрабатывался с целью применения для обучения в школах и университетах, поэтому для него существует множество программных пакетов и даже специальная операционная система для детей.

Ключевой особенностью Raspberry является возможность присоединения к нему внешних устройств и управления ими с помощью различных программных пакетов (наиболее популярным является Python). Всевозможные датчики, светодиоды, двигатели, реле и другие электронные компоненты могут подключаться через GPIO контакты так же, как к Arduino. Поэтому мы можем существенно расширять функционал микрокомпьютера, создавая из него рабочую станции для каждого конкретного проекта.

История появления Raspberry

Разработчиком прибора является британская фирма Raspberry Pi Foundation. Первый образец был представлен Дэвидом Брэбеном в мае 2011 года. Начало производства первой партии модели В датируется январем 2012 годом. С тех пор ежегодно компьютер модернизировался, и в продажу поступали более совершенные компьютеры.

История выпуска моделей:

  • 29 февраля 2012 года – старт продаж Model В.
  • 14 декабря 2012 года – начало производства модели Raspberry Pi «A».
  • 14 июля 2014 года – выпуск третей версии Raspberry Pi «B+».
  • 2 февраля 2015 года – выпуск Raspberry Pi «2B».
  • 26 ноября 2015 года – выпуск нового микрокомпьютера Raspberry Pi Zero, оснащенного несмонтированным разъемом GPIO.
  • 29 февраля 2016 года – выпуск модели Raspberry Pi 3, отличающейся 64-битным процессором, наличием WI-FI и Bluetooth.
  • 28 февраля 2017 года – модернизированная версия Raspberry Pi Zero W с WI-FI и Bluetooth.

Распиновка платы Raspberry Pi model A+

Model A+ является бюджетной версией платы Raspberry Pi. Устройство выпущено в 2014 году на замену оригинальной Model A. Плата представлена на рисунке ниже.

В отличие от предыдущей модели А+ обладает следующими характеристиками:

  • Большим количеством выходов GPIO – теперь их стало 40.
  • Micro SD-разъемом.
  • Пониженное потребление энергии – линейные регуляторы напряжения были заменены на переключающиеся регуляторы, и это позволило сэкономить энергию.
  • Усовершенствованная аудиосистема – в плате присутствует отдельный источник питания с пониженным шумовым уровнем.
  • Уменьшенный форм-фактор – композитный аудиовыход встроен 3,5-мм аудиовыход, наличие крепежных отверстий, USB-разъем расположен на краю платы.

Распиновка представлена на рисунке

1, 17 контакты – питание 3,3 В.

2, 4 контакты – напряжение питания 5 В. Подключено напрямую к входному напряжению платы.

3 – выход SDA (один из I2C-пинов на плате).

5 – SCl (также одни из I2C-выходов на плате).

6, 9, 14, 20, 25,30, 34, 39 – Земля. Все заземляющие контакты соединены, можно использовать любой выход, который ближе к оставшимся элементам.

8 – TXD, один из 2 UART-выходов, отвечающий за передачу данных. UART-контакты обычно используют для взаимосвязи Ардуино и Raspberry Pi. Важно правильно соединять платы, так как Pi питается от напряжения 3,3 В, а ардуино – от 5 В.

10 – RXD, выход для UART, отвечающий за прием данных.

11, 13, 15, 16, 18, 22, 29, 3, 32, 33, 36, 37 – зарезервированные контакты.

12 – PCM_C вывод, который используется совместно со специальным ШИМ-методом. Обеспечивает прямой доступ к памяти.

19, 38 – MOSI-контакты.

21, 35 – MISO-контакты.

23, 40 – SCLK-контакты.

24, 26 – CS0 и CS1 выходы.

27,28 – ID_SD, зарезервированы для I2C коммуникации с энергонезависимой памятью.

Плата Raspberry Pi Model A+ используется в проектах, в которых важно поддерживать низкое энергопотребление и где не требуется наличие интерфейса Ethernet.

Плата Raspberry Pi 3 model B

Raspberry Pi model B является наиболее распространенной платой. По сравнению со своим предшественником Pi 2 Model B обладает 64-битным процессором ARM Cortex-A53 и встроенным Wi-Fi и Bluetooth. Плата имеет 1 ГБ оперативной памяти, которая делится с графической системой. Способов применения платы множество – с их помощью можно создавать игровые приставки, охранные системы, планшеты и прочие электронные устройства.

Для подключения наушников и колонок имеется 3,5-миллимитровый разъем. Также имеется 4 USB-выхода, к которым можно присоединять периферию. Подключение различных модулей осуществляется через 15-пиновые слоты:

  • DSI – предназначен для присоединения дисплея;
  • CSI-2 – присоеднинение камеры через интерфейс MIPI.

Для низкоуровневых интерфейсов используются выходы:

  • Общего назначения – 40 портов ввода/вывода;
  • UART;
  • Входы питания и земля.

Для коммуникации используются интерфейсы Ethernet, Wi-Fi 802.11n и Bluetooth 4.1. В качестве жесткого диска плата использует microSD-карту с установленной на ней операционной системой. Карту памяти лучше использовать объемом в 8 ГБ. Raspberry Pi model B использует операционную систему Linux.

Питание устройства осуществляется адаптером на 5 В через USB разъем или выходы питания. Специальный выключатель питания отсутствует на Raspberry Pi, чтобы включить устройство, достаточно просто подключить кабель питания.

Плата Raspberry Pi model Zero

Серия плат model Zero отличается от своих предшественников меньшими размерами. Существует 2 вида плат этого вида – model Zero и новая версия Zero W. Вторая отличается только наличием Wi-fi и Bluetooth на борту.

Технические характеристики Raspberry Zero:

  • 512 МБ оперативной памяти;
  • Одноядерный процессор ARMv6Z ARM1176JZF-S с тактовой частотой 1 ГГц;
  • Мини HDMI порт;
  • 2 микро USB порта, один для подключения к компьютеру;
  • Wi-Fi 802.11n;
  • Bluetooth 4.1

Расположение выходов и распиновка представлены на рисунке. Плата оснащена 40 портами входа-выхода общего назначения, UART, I2C, SPI, выходами питания 3,3 В и 5 В и землей. Важно отметить, что разъем не припаян и требуется самостоятельный монтаж.

Новая модель Zero W использует microSD, в отличие от старшей модели, которая использует miniSD для работы. Флеш-карта используется в качестве носителя, ее объем должен быть не менее 2 ГБ. Питание платы осуществляется при помощи 5-вольтового адапрета через пины питания или микро-USB вход.

Из недостатков можно отметить малую скорость выполнения по сравнению с Raspberry Pi 3 model B. Но по сравнению с B Zero обладает меньшими размерами, что позволяет использовать его в миниатюрных разработках. Используется Raspberry Pi model Zero в тех же сферах, что и остальные компьютеры этого семейства. Плата может быть оснащена периферийными устройствами, блоком питания, экраном. С помощью этих микрокомпьютеров создаются системы видеонаблюдения, игровые системы, бытовые приборы. Наличие Wi-Fi и Bluetooth позволяет расширить диапазон применения. Одновременно с выпуском Raspberry Pi model Zero W компания представила линейку корпусов для компьютера. Корпусы оснащены отверстием для разъема GPIO и установки камеры.

Сравнение моделей Raspberry Pi

Оперативная память

Платы Model A и Model A+ обладают наименьшим объемом памяти – всего 256 МБ. Model B до октября 2012 года также обладала объемом в 256 МБ, после объем был увеличен до 512 МБ, как и у Model B+. В плате Raspberry Pi 3 – наибольший размер памяти, 1 ГБ.

USB порты

Платы Model A и Model A+ оснащены одним портом USB 2.0, в версии Model B количество портов увеличено до двух, а в Model B+ и Pi 3 до четырех. Наиболее заметные изменения у Raspberry Pi Zero – в ней появился один разъем 1 Micro USB OTG.

Аудиовыходы

По этому параметру также отличается модель Raspberry Pi Zero – в этой плате 3,5-миллиметровый джэк, HDMI заменен на многоканальный HD звук через HDMI.

Формат карты памяти

Для моделей A и B использовались карты памяти SD / MMC / SDIO. Все последующие модели используют MicroSD карту.

Количество портов

Модели A и B оснащены 26-выводным GPIO разъёмом, в следующих моделях это число увеличено до 40.

Потребление энергии

Самым энергосберегающим устройством является Raspberry Pi Zero – она использует всего 160 мА. Наибольшее потребление энергии – у платы Raspberry Pi 3 (800 мА-2.5 мА,4 Вт). Первая модель А потребляет 300 мА (1,5 Вт), модели B, A+, B+ требуют порядка 600-700 мА.

Размеры

Самое миниатюрное устройство – Raspberry Pi Zero, его габариты 65.0 x 30.0 мм x 5мм. Немного больше модель А+, у которой размеры равны 65.0 x 56.0 мм x 12мм. Остальные платы обладают примерно одинаковым размером 85.0 x 56.0 мм x 17мм.

Где купить Raspberry Pi

Благодаря огромной популярности микрокомпьютеров Raspberry Pi их можно приобрести в любой точке мира в любом магазине. Но официальными продавцами считаются только 2 европейские фирмы – это «RS Components» и «Element 14». Обе фирмы поставляют мини-компьютеры в упаковках с различным дизайном, но товары от обоих поставщиков сделаны в Англии.

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

Процессор в оригинальной английской версии работает немного быстрее китайского аналога, то же самое касается и оперативной памяти. Отличия в работе минимальны, из чего можно сделать вывод, что китайская версия Raspberry Pi не хуже по своим рабочим параметрам.

Примеры проектов с Raspberry Pi

Управление портативной метеостанцией. При помощи Raspberry Pi можно реализовать устройство, которое будет записывать все метеоданные – скорость ветра, температуру, осадки. Можно запрограммировать устройство на автообновление сайта с погодными условиями.

Цифровая фоторамка. При помощи Raspberry P можно самостоятельно изготовить рамку для фотографий, сэкономив при этом примерно половину стоимости. Фоторамка – это медиа-панель, которая управляется Raspberry P. Рамку можно модернизировать – она будет показывать не только фотоснимки, но и дату и время, воспроизводить аудиозаписи, показывать прогноз погоды.

Система автоматизации в доме. Если совместить Raspberry Pi с Ардуино и программой Node.js, можно создать эффективный способ управления всеми электронными устройствами в доме. Вариантов работы много – автоматическое включение и выключение света при помощи датчика освещения, включение/выключение телевизора, регулирование температурного режима в доме.

При помощи платы Raspberry Pi можно реализовывать самые разные проекты – от музыкальных инструментов до фотоаппаратов и планшетов. Причем использование этой платы может существенно снизить стоимость самодельного прибора.

  • Электроника для начинающих
  • У нас в хакспейсе есть много разных Raspberry Pi, с помощью которых мы учим детей программировать на python, делать роботов и разные полезные гаджеты. Разумеется, все то же самое делаем и на Arduino. За три года жизни душа в душу с этими крайне отличающимися платформами, у нас появилось несколько идей о том, как правильнее сделать учебного робота, учитывая плюсы и минусы каждой железки. Все эти мысли материализовались в новом устройство, о котором речь и пойдет далее.

    По сути, мы спроектировали Arduino-совместимый модуль расширения для RPi, который содержит драйвер двигателя и стабилизатор питания. Понятно, что этот модуль является самодостаточным контроллером для учебного робота, но именно сэндвич RPi+Arduino демонстрирует идеологически правильный подход к созданию роботов. Как эта штука выглядит, какими характеристиками обладает, и где её можно применить читаем далее.


    Немного истории

    Уже прошло 4 года с момента выпуска в серию Raspberry Pi Model B. В свое время, именно шумиха вокруг RPi отчасти сподвигла нас на создание нашего хакспейса. Ведь первое, что мы начали делать - учить детей робототехнике на RPi. Уже после первых уроков со старшеклассниками на базе Уральской компьютерной школы имени Н.Н.Красовского, мы задумались о своей мастерской-лаборатории, открытой для всех страждущих.

    Наши уроки сложились в базовый курс, который в последствии был адаптирован к Arduino. Продолжением этого курса должны были стать конкретные проекты, в которых ребята смогли бы применить полученные знания о работе микроконтроллеров и разных полезных компонентов. Целый класс таких учебных проектов мы посвятили созданию мобильных роботов, как на базе Raspberry Pi, так и на Arduino.

    Первый наш робот на базе RPi был создан именно как пособие для работы со школьниками. Это был двухколесный робот, на котором ребята отрабатывали работу с двигателями и разного рода датчиками, попутно готовясь к соревнованиям. В качестве шасси использовался мотор-редуктор фирмы tamiya. Драйвером двигателей служил drv8833 от TI. В варианте для робота LineFollower стояло два самодельных датчика отражения. На верхней палубе робота была установлена беспаечная макетная плата на 400 точек.

    Робот показал себя отлично, так что с течением времени платформа примеряла разный обвес. Кроме LineFollower-а, который мы кстати называем следопытом на наш лад, робот носил оптические датчики отражения, ультразвуковые дальномеры, рисовал фломастером на ватмане, наконец, управлялся через wifi, передавая изображение с веб-камеры.

    Со временем пришло понимание того, что мотор-редуктор был выбран не самый популярный, да еще и очень шумный. Корпус робота не вмещал всех хотелок, и не был совместим с распространенными конструкторами. А самое главное, появилась идея сделать модуль расширения для RPi, который бы избавил робота от лишних «рутинных» коммуникаций и устройств. Так начался проект колесного робота под кодовым названием MR-K-1, а вслед за ним и MR-K-2. С самого начала мы стали предусматривать посадочные отверстия под обе платформы, и ниже представлена модель робота с Arduino на борту.

    Это модификация для битвы, на которой школьники управляя роботом по bluetooth стремятся лопнуть воздушные шарики, закрепленные на вражеской машине. Раму увеличили, мотор-редуктор заменили на распространенный китайский двигатель желтого цвета (а иногда белого). Корпус адаптировали под конструктор multiplo, так что теперь он покрылся квадратными отверстиями. Всё это заняло несколько недель. А вот работа над модулем расширения немного затянулась. И проблема была не столько в сложности реализации, сколько в нехватки времени, усугубленной перфекционизмом:)

    Модуль расширения RPiDuino

    Главным разработчиком модуля стал Александр Васильев, ведущий крайне полезный блог alex-exe.ru . Ко времени старта проекта у него уже был огромный опыт в разработке драйверов двигателей, стабилизаторов питания, и многих других интересных для роботостроения устройств. Плату было решено назвать RPiDuino, ибо она должна была обеспечить симбиоз Raspberry Pi и Arduino.

    Итак, что мы решили разместить на плате.

    Модуль должен был взять на себя прямое управление драйвером двигателя, сервоприводами и датчиками. Все это предполагает наличие микроконтроллера. А поскольку мы делаем учебного робота и контроллер этот должен легко прошиваться нашими школьниками, то выбор пал на всем известную atmega328 с arduino-загрузчиком на борту. Наличие atmega делает модуль самодостаточным контроллером для управления небольшими учебными роботами.

    Раз на плате появилась атмега, понадобился и USB-UART мост, в качестве которого мы поставили CP2102. Еще одним признаком Arduino-совместимости стали привычные разъемы по бокам платы, позволяющие насаживать сверху модули расширения.

    Модуль должен управлять двигателям, поэтому появился соответствующий драйвер. Современные драйверы стали совершенно микроскопических размеров, так что их можно легко уместить на плате без особого ущерба соседним компонентам. Выбрали DRV8833 от Pololu, так как с ними уже был какой-никакой опыт. Драйвер двухканальный, с рабочим током канала - 1А.

    Наконец, на плате был просто необходим стабилизатор напряжения. Изначально предполагалось сделать раздельное питание для вычислительной части и для сервоприводов, но мы испытали небольшие проблемы с компоновкой. Так что остался только один стабилизатор LM2596, который питает RPi, микроконтроллер, логическую часть драйвера двигателей и датчики.

    Также свое место на плате нашла кнопка коммутации питания и зуммер, с помощью последнего робот жалуется на свои проблемы.

    RPiDuino вставляется а GPIO разъем Raspberry Pi, как и все подобные ему модули. Связь atmega328 и RPi осуществляется через UART.

    Остальные ноги GPIO выведены насквозь, так что их можно использовать на свое усмотрение.

    Таблица ключевых характеристик RPiDuino

    Питание
    Напряжение питания 7.5-24В (без драйвера двигателей)
    7.5-10.5В (с драйвером двигателей)
    Входной ток От 0,5 до 4А, зависти от нагрузки, напряжения питания, драйвера двигателей
    Стабилизатор напряжения
    Выходной напряжение
    Выходной ток: рабочий/максимальный/пиковый 1.5А/2А/3А
    Пульсации выходного напряжения 1%
    Разъём питания 5.5х2.1мм и клеммник
    Драйвер двигателя
    Напряжение питания 2,7-10,5В
    Ток на канал рабочий/пиковый 1А/2А
    Частота ШИМ 50кГц
    Габариты
    Размеры 85х56х22мм
    85х56х33мм (с разъёмом для RaspberryPi)
    Вес 49г

    Телеуправляемый робот на основе RPi+RPiDuino

    Хорошей демонстрацией возможностей RPi служит телеуправляемый робот. На нем можно показать согласованную работу RPi и Arduino, где старшая платформа занимается обработкой видеосигнала и интерфейсом пользователя, а вторая выполняет свои рутинные робозадачи.

    Сейчас на роботе стоит веб-камера с аппаратной поддержкой mjpg сжатия, соединенная с Raspberry по USB. Робот цепляется к WiFi посредством USB-роутера TL-WN722N. Двигатели стоят усиленные, с отношением 1:120. Колеса большие с мягкой резиной, чтобы цепляться за линолеум у нас в хакспейсе. Энкодеры на двигателях помогают нивелировать разброс в тяге двигателей. Питается все это от двух LiIon аккумулятором типоразмера 18650.

    Как все это работает

    На RPiDuino крутится программа, которая слушает из UART-а команды на движение и отправляет обратно кое-какую телеметрию. В своих проектах я использую библиотеку SerialFlow , написанную еще для моего первого квадрокоптера. Код программы для RPiDuino также можно найти на github.

    На стороне Raspberry Pi все устроено несколько сложнее. Во-первых, управление роботом осуществляется через web-интерфейс, так что пришлось поднять небольшой web-сервер на python. Экран управления имеет стрелки для задания направления движения, регулятор скорости, телеметрию, и окно для отображения потока с веб-камеры. Для трансляции видео я традиционно использую mjpg-streamer.

    Если захочется повторить нечто подобное на своем роботе, алгоритм установки будет следующим.
    1) Устанавливаем mjpg-streamer, и настраиваем передачу видеопотока в http.
    2) Устанавливаем пакет pyserial.
    3) Качаем и распаковываем архив с серверной частью управляющей программы.
    4) Заливаем на RPIDuino скетч управления.
    5) Настраиваем wifi на RPi.
    6) Настраиваем автозапуск управляющей программы на RPi.

    RPiDuino и ROS

    Еще одна причина, по которой нам стал нужен этот модуль расширения - это возможность показать нашим ученикам правильную концепцию роботов. Сейчас это звучит примерно так: «Смотрите, ребята, у робота есть главный компьютер, который управляет сложными вычислениями. Он может распознавать изображения, строить карту с помощью лидара и SLAM. Все это отнимает у него много ресурсов, так что он больше не может чутко управлять колесами наземного робота, и не дай бог, стабилизацией квадрокоптера в полете. Для этих операций на уровне спинного мозга имеется другой компьютер, специализирующийся на конкретных простых задачах и не отвлекающийся ни на что другое. Эти два вычислителя связаны шиной данных, по которой они общаются друг с другом и прочими модулями.»

    Тут-то и выплывает понятие ROS. В данном случае ядро системы крутится на RPi, а RPiDuino - есть узел ROS. Мы, кстати, уже сделали небольшой пакет для управления RPIDuino через ROS. Скоро опубликуем отдельную статью на эту тему.

    Бета версия модуля показала себя достойно. Сейчас небольшое количество плат можно добыть в нашем

    Raspberry Pi – сама по себе интересная и многофункциональная вещь, на базе которой можно реализовать множество проектов.

    Но существуют платы расширения, которые делают Raspberry Pi еще более функциональной и расширяют области ее применения.

    Краткий обзор-подборку представляющих интерес плат расширения для Raspberry Pi я публикую сегодня на блоге.

    Sense HAT – официальная плата расширения от Raspberry Pi Foundation.

    Она создана для обучения работе с GPIO и несет на себе:

    • матричный 8×8 дисплей из RGB-светодиодов
    • пятипозиционный джойстик
    • датчик относительной влажности
    • датчик температуры
    • барометр
    • магнитометр
    • акселерометр
    • гироскоп

    Sense HAT подойдет для людей с любым уровнем подготовки. Разработчиками выпущена специальная библиотека Python , в которой описаны функции для работы со всеми сенсорами этой платы расширения, а в сети существует множество руководств по практическому использованию этой платы в DIY-проектах.

    Самым очевидным DIY-проектом, задействующим Sense HAT, является создание метеостанции. Получаем данные с барометра, датчиков влажности и температуры, используем матричный дисплей для вывода информации исходя из полученных данных.

    Освоить работу с GPIO можно и другими способами. Например, купив нужные сенсоры по отдельности, найдя в сети руководства для новичков по программированию на Python и проведя собственные эксперименты. Но использование Sense HAT является наиболее дружелюбным к новичкам методом получения таких знаний и потому отлично подходит для школьников или просто далеких от техники (но интересующихся и желающих познать что-то новое) людей.

    Практическое применение: обучение работе с GPIO и Python, создание собственной метеостанции, другие DIY-проекты.

    SupTronics X800

    SupTronics X800 – модуль для подключения 2,5″ жестких дисков к Raspberry Pi.

    Все просто – на плате распаян SATA-интерфейс и отверстия для надежного крепления винтами жесткого диска. Поверх платы закрепляется “малинка”, а сопряжение с самой платой происходит посредством установки компактного переходника с USB-порта модуля на USB-порт “малинки”.

    Жесткие диски можно подключать любой емкости. В описании самого модуля сказано, что поддерживаются диски до 1Тб включительно, но используемый в модуле контроллер GL830 не содержит ограничений по емкости используемого накопителя, а уже купившие SupTronics X800 люди подтверждают, что он работает с дисками и на 2-4Тб.

    В качестве приятного бонуса – этот же модуль позволяет побороть один из главных недостатков Raspberry Pi – торчащие на две стороны интерфейсы. Согласитесь, неудобно, когда на одном торце “малины” выведены порты USB и Ethernet, а на боку находятся порты HDMI и microUSB для питания. В результате образуется такой неопрятный ежик из проводов. SupTronics X800 дублирует порты HDMI и microUSB таким образом, что они оказываются выведены на тот же торец, где размещены Ethernet и USB-порты.

    Отличная штука для перфекционистов, стремящихся к простоте и завершенности.

    Практическое применение : создание домашнего сервера или медиаприставки (tv-box) на базе Raspberry Pi.

    SupTronics X400

    Не секрет, что у Raspberry Pi довольно плохо обстоят дела с выводом звука.

    При выводе звука на аналоговый 3,5мм разъем зачастую появляются помехи и дребезг, особенно на высокой громкости. Если звук идет по HDMI, то помех нет. Но в любом случае установленная в “малине” звуковая карта относится к начальному сегменту и не способна удовлетворить ценителей качественного звучания.

    Для потребностей большинства пользователей за глаза хватает и такой звуковой карты. Но если хочется задействовать Raspberry Pi в создании продвинутого медиацентра или автомобильной акустической системы, то не обойтись без модуля SupTronics X400.

    SupTronics X400 – это высококачественная звуковая карта, подключающаяся к GPIO-интерфейсу “малины”.

    На ней установлены:

    • ЦАП Burr-Brown 32 бит/384 кГц (TI PCM5122)
    • Усилитель D-класса (TI TPA3118D2)
    • Усилитель для наушников, отдельный (TI TPA6133A)
    • ИК-приемник
    • Ручка регуляции громкости
    • 2 RCA-выхода для акустики и 3,5мм разъем для наушников
    • Гнездо питания с собственной цепью стабилизации

    Выходная мощность составляет 2×20Вт, соотношение сигнал/шум 112дБ, уровень искажений 0,0019%. Вполне аудиофильское решение за не очень большие деньги.

    Практическое применение: создание Hi-Fi медиацентра или автомобильного компьютера со встроенной акустической системой на базе Raspberry Pi.

    SupTronics X6000

    SupTronics X6000 – еще одна звуковая карта от компании SupTronics, специализирующейся на создании качественных модулей для Raspberry Pi.

    В отличие от своего младшего собрата (я про X400), SupTronics X6000 может похвастаться уже 4 аналоговыми 3,5мм аудиовыходами для подключения 7.1-канальной акустики, цифровым выходом S/PDIF и поддержкой вывода звука через HDMI-интерфейс.

    Пропал ИК-приемник и ручка регуляции звука. Собственный вход для питания с цепью стабилизации остался.

    Зато здесь установлено аж 4 ЦАПа ESS Tech Sabre ES9023.

    На мой взгляд, X6000 стоит покупать уже более продвинутым ценителям правильного звука, которые понимают что они будут делать с этим модулем. Для нужд обычного домашнего пользователя с запросами чуть выше среднего будет достаточно и модели X400.

    Практическое применение: создание Hi-Fi медиацентра, системы “мультирум” или автомобильной акустической системы на базе Raspberry Pi.

    Модуль аккумулятора + USB-хаб

    Еще один простой и полезный модуль.

    На плате установлен аккумулятор на 3800мАч, зарядное устройство для него и USB-хаб на дополнительные 5 портов (четыре обычных USB 2.0 и еще один microUSB OTG).

    Питание подается в порт для зарядки аккумулятора, а сама “малинка” запитывается от этого аккумулятора. Учитывая низкое энергопотребление Raspberry Pi, емкости аккумулятора при отключении сетевого источника питания ей хватит надолго.

    Практическое применение : создание портативного компьютера на базе Raspberry Pi, другие DIY-проекты, использование в качестве ИБП.

    Модуль GPS

    GPS-модуль, совместимый со всей линейкой микрокомпьютеров Raspberry Pi, включая в том числе и .

    Обладает низким энергопотреблением и стандартным гнездом под внешнюю антенну. При необходимости идущая в комплекте антенна легко заменяется на любую другую, подходящей мощности и длины.

    Практическое применение: создание автомобильного компьютера на базе Raspberry Pi, другие DIY-проекты.

    Модуль для подключения VGA-монитора

    И еще один функциональный модуль, который просто добавляет VGA-порт на Raspberry Pi.

    VGA – устаревший стандарт. Купить с рук монитор с VGA-выходом сегодня можно за символические 500 рублей, а то и вовсе забрать за самовывоз. Но будучи подключенным к Raspberry Pi такой монитор еще может долго и с пользой поработать.

    Проблема лишь в том, что на “малине” отсутствует VGA-разъем. И эта проблема решается покупкой дополнительного модуля.

    Практическое применение: подключение VGA-монитора к Raspberry Pi

    E-Ink дисплей для Raspberry Pi

    Все знают, что к Raspberry Pi можно подключать дисплеи. Я даже публиковал вскоре после приобретения “малинки”.

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

    E-Ink дисплей обладает ультранизким энергопотреблением. Он обладает высокой контрастностью, не слепнет на солнце и не нуждается в светодиодной подсветке. Подключается по GPIO и совместим с любой “малиной”.

    Возможности E-Ink дисплея ограничиваются только фантазией его владельца. Например, я читал статью о том, как в одном магазине владельцы полностью заменили бумажные ценники на электронные, изготовленные на базе такого дисплея и .

    Практическое применение: различные DIY-проекты.

    Вот такая получилась подборка.

    Напоминаю, что вводную статью о том, что есть Raspberry Pi и Arduino можно прочитать , а опубликован обзор Raspberry Pi и описание первых шагов по запуску и настройке для начинающих.

    Лучшие статьи по теме