Муфты электромонтажные от производителя Fucon

Плата расширения для Raspberry Pi, совместимая с Arduino. Часть 1

RaspberryPi

Журнал РАДИОЛОЦМАН, октябрь 2015

Boris Landoni

Open Electronics

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Как известно, одноплатный компьютер Raspberry Pi (а также обновленная версия Raspberry Pi 2) может использоваться не только в качестве мультимедиа устройства. Он находит применение в приложениях Интернета вещей, системах автоматизации и управления, а также в системах безопасности и разграничения доступа. Основные проблемы, с которыми сталкиваются многие разработчики при использовании Raspberry Pi во встраиваемых системах, связаны с отсутствием аналоговых входов/выходов и строго регламентированным уровнем 3.3 В для портов ввода/вывода. Именно из-за этих, казалось бы, несущественных ограничений радиолюбители не могут подключать аналоговые датчики и платы расширения Arduino к Raspberry Pi. А ведь таковых периферийных модулей и плат расширения на сегодняшний день создано огромное количество, и именно они смогут расширить область применения Raspberry Pi.

Плата расширения для Raspberry Pi, совместимая с Arduino
Рисунок 1. Плата расширения GPIO Shield для
Raspberry Pi, совместимая с Arduino.

В статье мы рассмотрим плату расширения GPIO Shield, которая добавит возможность подключения аналоговых датчиков и плат расширения Arduino к Raspberry Pi (Рисунок 1). Напряжение питания на плату GPIO Shield может поступать от Raspberry Pi (5 В) или от внешнего источника (12 В), но более подробно мы рассмотрим этот вопрос ниже. Плата подключается к Raspberry Pi посредством GPIO-совместимого разъема, а для подключения типовых контроллеров Arduino и плат расширения имеются соответствующие штыревые контакты. Другими словами, предлагаемое аппаратное решение является своего рода мостом между Raspberry Pi и Arduino.

Принципиальная схема

При разработке платы расширения преследовались следующие цели:

  • Повышение функциональности портов GPIO за счет добавления непосредственно на плату расширения 4-канального АЦП с дифференциальными или несимметричными входами, а с дополнительным модулем – 16 цифровых линий ввода/вывода и ЦАП;
  • Использование напряжения питания 5 В платы Raspberry Pi или внешнего источника 12 В для совместимости с платами расширения Arduino;
  • Преобразование логических уровней 3.3 В – 5 В цифровых линий ввода/вывода и интерфейсов передачи данных I2C/SPI;
  • Возможность использования аналоговых входов АЦП в дифференциальном и линейном режиме;
  • Обеспечение совместимости с Raspberry Pi посредством установки 26-контактного разъема GPIO;
  • Установка разъемов для прямого подключения Arduino и будущих плат, которые планируются к выпуску;
  • Возможность установки дополнительных разъемов для подключения внешних адаптеров USB-I2C, USB-SPI.

На Рисунке 2 изображена принципиальная схема GPIO Shield, реализующая перечисленные цели на практике.

Плата расширения для Raspberry Pi, совместимая с Arduino
Рисунок 2. Принципиальная схема платы GPIO Shield.

Регулятор напряжения выполнен по классической схеме с использованием микросхемы стабилизатора LM7805. Перемычка EXT/INT предназначена для выбора способа питания платы расширения: внешний источник 12 В через регулятор 7805 или внутренний источник 5 В с контакта 2 разъема GPIO Raspberry Pi. Следует помнить, что используемая для питания внешней периферии схема регулятора напряжения на плате Raspberry Pi способна обеспечить выходной ток 500 мА для версии A и 300 мА для версии B. Поэтому для внешних модулей и датчиков с бóльшими токами потребления или для плат расширения с напряжением питания 12 В следует использовать внешний источник питания, и соответствующим образом установить перемычку EXT/INT.

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

Преобразование логических уровней цифровых линий ввода/вывода выполняется с помощью 8-разрядной двунаправленной микросхемы сдвига уровней TBX0108 компании Texas Instruments, имеющей две раздельные шины питания и автоматически определяющей направление передачи данных.

Порты A микросхемы подключаются к интерфейсу Raspberry Pi (разъем GPIO которого обозначен на схеме как RPY), порты B подключаются к разъемам IOL и IOH портов ввода/вывода Arduino. На выводы VCCA и VCCB подаются опорные напряжения для преобразования уровней, подключенные к шинам 3.3 В и 5.0 В, соответственно. Высокий логический уровень на выводе OE разрешает работу микросхемы, поэтому он подтянут через резистор к напряжению VCCA. Низкий уровень на этом выводе переводит все выходы микросхемы в высокоимпедансное состояние. Соответствие выводов разъемов Arduino и Raspberry Pi представлено в Таблице 

Что касается линий интерфейсов I2C, SPI и последовательного порта UART, для преобразования логических уровней мы выбрали решение на полевых N-канальных MOSFET BSS138, работающих в режиме обогащения с пороговым напряжением 1.3 В.

Схемы преобразования уровней идентичны для каждой сигнальной линии. В качестве примера рассмотрим линию SDA шины I2C. Затвор транзистора T7 подключен к шине питания 3.3 В, исток подключен к линии низкоуровневого сигнала (3.3 В), сток – к линии высокоуровневого сигнала (5.0 В).

Таблица 1. Соответствие выводов разъема
GPIO Raspberry Pi и разъема Arduino
Порты
Arduino
Разъем GPIO
Raspberry Pi rev.1
Разъем GPIO
Raspberry Pi rev.2
D2
GPIO18
GPIO18
D3
GPIO23
GPIO23
D4
GPIO24
GPIO24
D5
GPIO25
GPIO25
D6
GPIO4
GPIO4
D7
GPIO17
GPIO17
D8
GPIO21
GPIO27
D9
GPIO22
GPIO22

Теперь рассмотрим узел аналого-цифрового преобразования, для которого мы выбрали микросхему компании Microchip MCP3428.

При разработке этого узла платы мы пошли на некоторый компромисс при распределении сигналов по выводам разъемов Arduino. Дело в том, что Arduino имеет 6 аналоговых входов, но два из них (A4, A5) используются совместно с интерфейсом I2C. При разработке проекта в среде Arduino IDE мы можем программно переопределять назначение выводов в соответствии с требованиями приложения. Для Raspberry Pi такой возможности нет, как нет и встроенного АЦП. В нашем случае мы выбрали внешнюю микросхему АЦП, которая подключается к микроконтроллеру по шине I2C через указанные выводы порта, оставляя свободными только 4 аналоговых входа. Но, в то же время, микросхема MCP3428 предоставляет 16-разрядную точность измерений линейных или дифференциальных сигналов.

Выводы микросхемы CH1+ … CH4+ подключаются к контактам A0 … A3, соответственно, разъема АЦП Arduino. Выводы CH1– … CH4– подключены к отдельному разъему, и с помощью перемычек J0 … J3 могут индивидуально замыкаться на «землю». Таким образом каждый вывод можно сконфигурировать на прием как линейных, так и дифференциальных сигналов. Сигналы SDA и SCL выведены на соответствующие контакты разъема Arduino, а также на разъем GPIO Raspberry Pi (выводы 5 и 3) через преобразователи уровней на транзисторах Q7 и Q8. Для установки адреса микросхемы на шине I2C используются входы ADR0 и ADR1. Указанному на схеме состоянию этих входов соответствует адрес 0x68 (см. техническое описание MCP3428).

Линии последовательного порта с выводов 8 и 10 разъема GPIO через преобразователи уровней подключаются к контактам TXD и RXD разъема Arduino.

Плата расширения для Raspberry Pi, совместимая с Arduino
Рисунок 3. Общий вид платы GPIO Shield со
стороны разъемов Aruino.

Общий вид платы со стороны разъемов Arduino показан на Рисунке 3, а в Таблице 2 приведен перечень используемых компонентов.

Таблица 2. Список использованных компонентов
Обозначение
в схеме
Номинал
Корпус
R1 – R17
10 кОм
SMD 0805
R18
470 Ом
SMD 0805
С1, С3
100 нФ
SMD 0805
C2, C4
100 мкФ 25 В
 
U1
TXB0108PWR
 
U2
MCP3428-E/SL
 
U3
MC7805ABD2T
D2PAK
LED
Светодиод
SMD 0805
T1 – T8
BSS138W-7-F
 
D1
GF1M-E3/67A
 
RST
Кнопка без фиксации
 

Материалы по теме

  1. Datasheet Texas Instruments TBX0108
  2. Datasheet Microchip MCP3428

Окончание

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Expansion Shield for RaspberryPi compatible with Arduino. Part 1 - Schematic

26 предложений от 13 поставщиков
RAK7244 WisGate Developer D4 Шлюз-концентратор LoRa EU868 на платформе RaspberryPi4 4GB/Raspbian OS. Поддержка спутниковой навигании. В базовой комплектации с антеннами LoRa...
RASPBERRY-PI / PROG-4GB-SDCARD
Samsung
205 ₽
Триема
Россия
Корпус для RaspberryPi 2 прозрачный
233 ₽
RASPBERRY-PI
Samsung
от 618 ₽
Acme Chip
Весь мир
RASPBERRYPI-SENSEHAT
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя