RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Апрель 2024
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930     

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


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

Перейти вниз

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. Empty Плата расширения для Raspberry Pi, совместимая с Arduino.

Сообщение  Viktor2312 Ср Июн 22 2016, 11:37

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

Boris Landoni

Open Electronics

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

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. 0_147a03_1cb034e9_orig
Рисунок 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, реализующая перечисленные цели на практике.

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. 0_147a04_7db68625_orig
Рисунок 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 В).

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. 0_147a05_4f5d0480_orig

____Теперь рассмотрим узел аналого-цифрового преобразования, для которого мы выбрали микросхему компании 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.

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

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

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. 0_147a07_67f2bddc_orig


источник

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. Empty Re: Плата расширения для Raspberry Pi, совместимая с Arduino.

Сообщение  Viktor2312 Ср Июн 22 2016, 13:19

2
Плата расширения для RaspberryPi, совместимая с Arduino.


Работа с платой расширения GPIO.

____Работать с платой расширения GPIO Shield мы будем под управлением ОС Raspbian, используя удаленный доступ в терминальном режиме, поэтому предварительно на Raspberry Pi необходимо включить поддержку SSH (Secure Shell) и SCP (Secure Copy) с правами Root-пользователя. В качестве примера рассмотрим обращение к АЦП по интерфейсу I2C.
____Подключите плату расширения к разъему GPIO Raspberry Pi и включите питание (Рисунок 4).

arduino - Плата расширения для Raspberry Pi, совместимая с Arduino. 0_147a14_f746b3fa_orig
Рисунок 4. Внешний вид сборки для тестирования платы расширения GPIO Shield.

____Теперь необходимо активировать модули управления I2C и SPI (в мире Windows называемые драйверами) или какой-либо один из них, в зависимости от ваших потребностей. Сами модули управления скомпилированы в ядре ОС Raspbian как внешние. Для использования этих модулей их нужно удалить из «черного списка» скрытых модулей и добавить в набор модулей, известных ядру. Для этого в текстовом редакторе Nano откройте конфигурационный файл, содержащий скрытые модули, с помощью команды:

nano/etc/modprobe.d/raspi-blacklist.conf

____Удалите название модулей I2C и SPI из списка или закомментируйте соответствующие строки с помощью знака «#». Затем нажмите Ctrl+X (выход) и Y (подтверждение сохранения изменений).
____Теперь нам нужно выполнить загрузку указанных модулей, интегрировать их в ядро ОС и убедиться в том, что они работают. Сделать это можно двумя способами. Первый – это ручная загрузка модулей управления в командной строке, но при этом они остаются активными лишь до выключения питания. При следующей загрузке Raspberry Pi модули нужно снова загружать соответствующей командой. Второй способ – автозагрузка требуемых модулей при запуске ОС. В этом случае они будут доступны приложению сразу после загрузки ОС. Второй способ необходим, если вы планируете автономную работу системы.
____Для первого способа используется команда modprobe. Просто введите (для загрузки модуля управления I2C):

modprobe i2c-dev

____Проверить загрузку и активацию модуля можно с помощью команды, отображающей все подключенные модули Ismod. Ввиду того, что в Linux все (или почти все) представлено в виде файлов, в директории /dev можно увидеть подключенные файлы для устройств i2c-0 и i2c-1. Для выгрузки управляющего модуля используйте команду:

modprobe -r i2c-dev

____Для автозагрузки модулей управления необходимо изменить конфигурационный файл /etc/modules, который содержит список драйверов для автозагрузки. Открываем файл в текстовом редакторе:

nano /etc/modules

и добавляем строку:

i2c-dev

____Нажимаем Ctrl+X и Y для сохранения изменений.

____Для работы с устройствами I2C необходимо установить пакет i2c-tools, предоставляющий функции проверки работы устройств I2C, для чего вводим команду

apt-get install i2c-tools

и добавляем пользователя pi (Root-пользователь по умолчанию в Raspbian) в группу i2c командой:

adduser pi i2c

Для активации новых параметров перезагружаем (именно перезагружаем, не выключая питания) Raspberry Pi командой reboot.

____После перезагрузки ОС и удаленного подключения по SSH проверяем доступность микросхемы АЦП по шине I2C с помощью команды:

  • для Raspberry Pi rev.1:
    i2cdetect -y 0

  • для Raspberry Pi rev.2:
    i2cdetect -y 1

В качестве ответа на эту команду вы получите в терминале таблицу шестнадцатеричных адресов, в которой адрес 0x68 и будет идентифицировать АЦП.

____Для чтения данных (шестнадцатеричные значения двух байтов) аналого-цифрового преобразования в канале 1 используем команду:

  • для Raspberry Pi rev.1:
    i2cget –y 0 0x68 0x88 w

  • для Raspberry Pi rev.2:
    i2cget –y 1 0x68 0x88 ww

В этой команде второй параметр указывает, какую шину I2C необходимо опрашивать, третий – адрес устройства на шине для чтения (0x68), четвертый обозначает номер аналогового входа, с которого мы хотим получить данные измерений, последний параметр (w) сообщает, что нам нужны все байты преобразованного значения.

.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения