Raspberry pi 3 питание

  • Проблемы с питанием Raspberry Pi 3
  • Питание Raspberry Pi 3 от аккумулятора
  • Подключение «Малины» к USB-порту

Raspberry Pi 3 не очень требовательный к электроэнергии компьютер. Он работает всего от 5 Вольт и 2,5 Ампер. Но пользователю «Малины» нужно обязательно следить за тем, чтобы устройство получало достаточно энергии. Иначе оно будет работать медленно или вовсе выйдет из строя.

Проблемы с питанием Raspberry Pi 3

При недостатке питания Raspberry Pi 3 начинает работать медленно. И это довольно распространенная проблема.

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

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

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

Вторая причина – через чур большая длинна провода. Нередко рассматриваемая проблема возникает при использовании метрового кабеля. Для «Малины» оптимальным вариантом является шнур в 30 и менее сантиметров.

И последняя – недостаточная мощность блока питания Raspberry Pi 3. Третья модель требует для нормальной работы силы тока в 2,5 Ампера. При использовании более слабого адаптера Raspberry Pi 3 может тормозить либо просто не раскрывать весь свой потенциал. Поэтому лучше всего использовать оригинальные блоки питания. А если нет такой возможности, то другие адаптеры, способные выдавать 2,5 Ампера.

Управление электроприборами через Raspberry Pi

Питание Raspberry Pi 3 от аккумулятора

Если планируется, что Raspberry Pi 3 будет получать питание от аккумулятора, при покупке батарей необходимо обратить внимание на их характеристики. Главное – они должны выдавать ток под напряжением 5 Вольт. С этим проблем не должно возникнуть, так как большинство элементов питания дают именно столько. Второе – нужно, чтобы они могли генерировать ток достаточной силы.

Если RPi будет использоваться в портативном режиме, ей не обязательно демонстрировать максимальную мощность, на которую она способна. Поэтому вполне подойдет аккумулятор, дающий ток, например, в 1,8 Ампера.

Подключение «Малины» к USB-порту

Нередко «Малину» используют в качестве медиацентра. И в этом случае пользователи часто не хотят занимать лишнюю розетку, а желают подать на Raspberry Pi 3 питание от USB телевизора. Эта идея кажется хорошей только на первый взгляд.

Количество Вольт, которое способен выдавать USB-порт, действительно равняется 5. Этого достаточно для работы «Малины». Но вот сила тока меньше требующейся. Телевизор по USB-порту дает 0,4-0,5 Ампер. В то же время для нормальной работы Raspberry Pi необходимо около 2 Ампер. Следовательно, если запитать RPi от телевизора, она либо вообще не запустится, либо будет работать очень медленно. И если «Малину» планируется использовать в качестве медиацентра, то ей будет не хватать мощности. Более того, недостаточная сила тока может привести к тому, что электроника компьютера сгорит.

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

Правильное питание для Raspberry Pi 3 очень важно, чтобы устройство работало как надо и долго. Поэтому следует позаботиться о том, чтобы «Малина» получала электричество в соответствии с установленными требованиями.

Многие наверняка знают, что подать питание на Arduino от Raspberry Pi не трудно, для этого просто нужен USB шнур. Обратная задача выглядит сложнее, так как у большинства контроллеров Arduino нет USB выхода (Due — исключение). Тем не менее, это возможно сделать с помощью пинов GPIO, и я хочу рассказать о конкретном примере для Arduino Nano V3.0 и Raspberry Pi B rev.2. Помимо самой подачи питания, также расскажу как можно контроллировать это питание используя кнопку и MOSFET транзистор.

Теоретическая возможность

Большинство Arduino-совместимых контроллеров изпользуют 5V пины. Исключение составляет разве что Arduino Due и 3.3V выход из Arduino, но сейчас не об этом. Также известно, что один из способов подать питание на Raspberry Pi — это использование 5V и GND пинов на 26-ти контактном разъеме P1:

Казалось бы, что решение очевидно — надо подсоединить Raspberry Pi к любому из пинов Arduino, и все заработает. Моя попытка сделать это привела к тому, что Raspberry Pi засветил светодиодом PWR, но светодиод ACT так и не зажегся. Причина — очень маленькая сила тока от пинов Arduino (порядка 40-50 мА). Но у Arduino есть отдельный пин 5V, который (согласно ) может выдавать около 400-500 мА. Теперь необходимо проверить, хватит ли такого тока для питания Raspberry.
Для нормального питания Raspberry Pi с двумя подключенными USB устройствами необходимо порядка 700 мА. Каждое USB устройство может потреблять до 140 мА (источник). Малина может потреблять еще больше тока, если она разогнана (моя — нет). Таким образом, если использовать неразогнанную RPi без USB устройств, то силы тока от Arduino 5V пина должно вполне хватить.
Для того чтобы контроллировать подачу питания, необходимо еще несколько ингредиентов: кнопка питания и что-то, способное управлять большими токами. Я для этих целей использовал MOSFET транзистор. Перейдем непосредственно к использованным частям.

Необходимое аппаратное и программное обеспечение

Я использовал следующие «железные» части:

  • Raspberry Pi B rev. 2;
  • Arduino Nano V3.0;
  • кнопка для контроля питания (я использовал кнопку с фиксацией и сигнальным проводом);
  • MOSFET транзистор (у меня оказался IRF530N);
  • Breadboard и несколько проводов.

Для прошивки Arduino понадобится IDE, я использовал версию 1.5.8 BETA, но стабильная 1.0.6 тоже подойдет. Также понадобится моя маленькая библиотека для PowerButton (ссылка в конце статьи в разделе про утилиты).

Схемы

Схема подключения выглядит так:

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

Пояснения к схемам:

  1. D2 подсоединен к пину SIG у кнопки.
  2. D4 подсоединен к пину VCC у кнопки.
  3. D5 подсоединен к затвору MOSFET.

Cоединение c D2 пином не случайно: библиотека для кнопки использует прерывания, а у Arduino Nano только пины D2/D3 предназначены для этих целей (проверить какие пины на вашей Arduino поддерживают прерывания можно ).

Исходный код программы для Arduino

#include <PowerButton.h>
#define POWER_PIN_SIG 2
#define POWER_PIN_VCC 4
#define POWER_FET_GATE 5
#define POWER_PIN_INT 0

PowerButtonSwitch pbs;
void onPowerOn(){
Serial.println(«Power On»);
digitalWrite(POWER_FET_GATE, 1); // Открываем затвор (gate)
}
void onPowerOff(){
Serial.println(«Power Off»);
digitalWrite(POWER_FET_GATE, 0); // Закрываем затвор (gate)
}
void setup() {
Serial.begin(9600);
// Вывод сигнала от Arduino к затвору MOSFET (gate)
pinMode(POWER_FET_GATE, OUTPUT);
digitalWrite(POWER_FET_GATE, 0);
// Начальная настройка кнопки питания
pbs.setupPowerButton(POWER_PIN_SIG, POWER_PIN_VCC, POWER_PIN_INT);
// Считываем текущее значение
// Если есть сигнал от кнопки,
// включаем Raspberry Pi
int st = pbs.getSwitchStatus();
if (st == POWER_ON) {
onPowerOn();
}
// Добавляем обработчики событий
pbs.onPowerOn(onPowerOn);
pbs.onPowerOff(onPowerOff);
}
void loop() {
// Пустой цикл
delay(1000);
Serial.println(«No actions»);
}
Большинство действий на себя берет библиотека, так что код очень прост.

Тестирование решения

Короткое видео с тестированием:

Как видно, визуально все работает. Но все-таки надо проверить напряжение между пинами TP1/TP2 (методика ). У меня получилось значение ~4.6V, рекомендуемое значение больше 4.75V.

Заключение

Несмотря на то, что все работает, все-таки есть подозрение что при подключении периферии тока от 5V пина Arduino будет недостаточно. MOSFET и кнопка работают отлично в паре, такая связка может пригодится для дальнейших проектов.
Утилиты и библиотеки, использованные для написания:

  • Fritzing: использовалась для рисования схем, доступна .
  • собственно библиотека для PowerButton: можно взять с GitHub .