» » » Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)

 
 
 
4

Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)

Разместил Sergiy_83 20 февраля 2017. Просмотров: 5 724

Всем привет! Давным-давно в голову мне пришла идея сделать стационарный аудиоплеер, как в старые добрые времена: отдельное устройство для прослушивания музыки.

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


В первой части статьи я познакомлю вас с первым блоком аудиоплеера - блоком питания миникомпьютера. На самом деле блок питает не только «Raspberry Pi», но и жёсткий диск, дисплей и другую 5-вольтовую периферию. БП подойдёт не только для «Raspberry Pi», но и для любого другого миникомпьютера с GPIO на борту.

Корректное выключение «Raspberry Pi» кнопкой


Рис 2. Цепь включения и сброса «Raspberry Pi»

Проблема в том, что «Raspberry Pi» нет возможности выключить корректно аппаратным путем. По входу «RUN» «Raspberry Pi» включается при подаче питания благодаря конденсатору С97, или, если он был выключен программно, вход «RUN» включает «Raspberry Pi». Если «Raspberry Pi» включен (работает), то вход действует как «RESET».
Но ведь мне нужна единственная кнопка включения и выключения аудиоплееера: нажал – включился, ещё раз нажал — корректно выключился.
Другого способа, как корректно выключать «Малину», я не нашел. Это повлекло за собой растрату двух его GPIO (general-purpose input/output). Один, чтобы обработать кнопку вЫключения, другой сигнал – «компьютер выключен» (для контроллера питания) о том, что можно снять питание с периферии, да и с самого «Raspberry Pi» тоже.

Рис. 3 Схема блока питания

На схеме можно выделить три основные части: импульсный преобразователь напряжения, дежурный блок питания и контроллер питания, собранный на логических микросхемах. Вся схема собрана из деталей, которые были в наличии. Силовая часть с лёгкостью обеспечила тестовую нагрузку в 2,5 Ампер. Больше нагружать блок питания я не счел необходимым. Потребление «Raspberry Pi» в среднем 600 мА в пиках до 1 А; жесткий диск 400 мА и то не всегда; все остальные узлы вместе 500-600 мА. Когда разбогатею, прикуплю SSD, чтобы не шумел, да и потребление будет ниже.

Алгоритм работы схемы выключения «Raspberry Pi»

При нажатии кнопки «SB1» блок питания включается, питание подается на периферию и на сам «Raspberry Pi». «Raspberry Pi» начинает загружаться. После загрузки специальная минипрограмма устанавливает один из выходов GPIO «RPI_OFF» в «1» и ожидает отрицательного фронта сигнала «BUTTON_PS» от той же кнопки «SB1» (выключение аудиоплеера). При её нажатии миникомпьютер начинает программно выключаться. Если компьютер программно выключен, на всех выходах GPIO неизбежно устанавливаются логические «0», таким образом, формируется отрицательный фронт сигнала «RPI_OFF» по которому контроллер питания выключает питание через несколько секунд. Дело в том, что когда GPIO выключен, «Raspberry Pi» ещё пару секунд общается с SD картой, и узнать момент полного бездействия «Raspberry Pi» просто не представляется возможным. Остается только выждать пару секунд и отключить питание.

Основа схемы «T–триггер», собранный на «D-триггере» 74HC74A. При нажатии кнопки «SB1» триггер D2 по входу «S» устанавливается в «1» и включает импульсный блок питания. Так же сигнал с «SB1» поступает на «Raspberry Pi» через разъем «X3», что бы при очередном нажатии кнопки выключить плеер.

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

Выключение «Raspberry Pi»: нажимаем «SB1» – миникомпьютер выключается, выключился – «RPI_OFF» исчезает. За счёт инвертора «D1.3» на входе триггера имеем положительный фронт и триггер меняет состояние на противоположное, то есть устанавливается в «0», реле К1 отключает импульсный преобразователь напряжения и плеер полностью отключается.

Цепочка R18, R19, С30 обеспечивает небольшую задержку перед обнулением триггера. Элементы «D1.1» и «D1.2» – повторитель-буффер для разгрузки выхода «Raspberry Pi».

Цепочка C31, R15 обеспечивает нулевое состояние триггера при включении блока питания в сеть 220 V.

Задержка выключения нужна потому что после программного выключения, после того как все GPIO погашены, ещё 2-3 секунды идёт обращение к флеш-памяти миникомпьютера (там установлена операционная система). Это ещё одна небольшая проблема, которую необходимо предусмотреть в данном блоке питания.

Программное обеспечение

Код программы, выдающей сигнал «RPi_OFF»

#include "stdlib.h"
#include "bcm2835.h"
#define PIN_12 RPI_V2_GPIO_P1_12
#define PIN_07 RPI_V2_GPIO_P1_07
int 	init_system (void) 	
{ 	
if (!bcm2835_init()) return 0; 	
bcm2835_gpio_fsel(PIN_12, BCM2835_GPIO_FSEL_OUTP); //пин на выход 	
bcm2835_gpio_fsel(PIN_07, BCM2835_GPIO_FSEL_INPT); //как вход 	
}

int 	main (int argc, char *argv[], char *enpv[]) 	
{ 	
if (!init_system()) return 1; 	
bcm2835_gpio_write(PIN_12, HIGH); // (Машина загружена) 	
//ожидания низкого уровня (кнопки выключения) 	
while(bcm2835_gpio_lev(PIN_07)) delay(50); 	

system("poweroff"); 	
return 0; 	
} 

Этот код у меня включен в основном программном обеспечении, здесь он просто как рабочий пример для ознакомления или повторения. Далее надо добавить эту программу в автозагрузку. Для этого в файл /etc/rc.local в конце перед EXIT 0 добавим:
#! /bin/sh
……
/programs/autorun.sh &
EXIT 0


Папку проекта «programs.zip» можно скачать в секции «Файлы» внизу статьи. autorun.sh - это наш исполняемый скрипт, который запустит программу. В нем:
#! /bin/sh
./programs/project_pin_on/bin/pin12on
exit 0


ШИМ-контроллер DP408P (1M0880) в импульсном БП

Здесь стоит уделить внимание замечательной микросхеме ШИМ-контроллеру DP408P (аналог 1M0880). DP408P работает на частоте 25 КГц, 1M0880 – 64 КГц. За время моих испытаний, попыток изготовить идеальных трансформаторов и т.п., сложилось впечатление, что убить чип невозможно. Без снабберных цепей я её включал, перегружал, все ей нипочём. Рекомендую чип для тех, кто впервые решил построить обратноходовой преобразователь. Я так ни одной микросхемы и не сжег. DP408P можно наковырять в старых СRT мониторах от SAMSUNG. Даташит, к сожалению, на нее не найти, но у меня в наличии так же имелась и 1M0880 и, в результате сравнения, выяснилось, что они практически одинаковые.

Микросхема включается, как только напряжение её питания превысит 15 V. Микросхема выключается, когда напряжение питания упадет до 8,5-9 V. То есть, после того, как микросхема включилась, напряжение не обязательно должно быть 15 V и выше, но желательно.

Если напряжение питания превысит 27 V (25V для 1М0880), срабатывает защита и микросхема выключается. Следующая попытка включения пройдёт только после снятия питания, если напряжение питания упадет ниже 8,5-9 V и опять превысит 15 V.

В процессе испытаний, например, свеженамотанного трансформатора, удобно сначала запитать ШИМ от отдельного лабораторного блока питания. Надо помнить про очередность подачи напряжений: сначала высокое 308 V, затем 15 V.

Для первичного запуска используется отдельный выпрямитель D5. За счёт R6 и С18 напряжение питания достигает уровня 15 V немного позже появления 308 V. ШИМ запускается, потребляя около 20 мА. И если не подключить обмотку самопитания, С18 разряжается и микросхема выключается. Затем опять зарядится конденсатор, и процесс запуска повторится снова.

В конце подключаем обмотку самопитания. Намотать обмотку надо так, чтобы напряжение 15-17 V было на минимальной нагрузке — нагрузке холостого хода (в моем случае ок. 0,25 Вт).

В данном блоке питания я не стал применять самодельные трансформаторы, Был применен трансформатор от убитого молнией AC/DC вот такого адаптера:

Рис 4. Доноры импульсных трансформаторов

Питал этот адаптер какой-то роутер или свитч, не помню уже, с заявленными параметрами 5V 2A MAX.

Дело в том, что я не смог намотать трансформатор лучше, чем этот. Как я не изгалялся — выбросы при закрывании силового транзистора микросхемы были больше чем с данным китайским трансформатором. Ну и ладно!

Вооруженным глазом

Посмотрим, что же получилось:

Рис 5. Осциллограмма (pin-1 IC1), нагрузка 2.1А (Сток силового транзистора).


Рис 6. Осциллограмма (pin-1 IC1), нагрузка 2,1 А. (Выброс срезанный снаббером)


Рис 7. Осциллограмма (pin-1 IC1), нагрузка 50 mА. (Сток силового транзистора).


Рис 8. Осциллограмма (pin-1 IC1), нагрузка 2,1 А. (38 nS на 300 V).


По температуре: снабберный резистор при нагрузке 2,1 А = 50°С, DP408 = 37°С, трансформатор = 40°С. Температуру измерял бесконтактным термометром для младенцев.

И ещё фото конструкции


Рис 9. Блок питания – вид слева.


Рис 10. Блок питания – вид снизу.


Рис 11. Плата A2.


На рисунке 11 плата A2. Три светодиода разного цвета и под ними кнопка. В корпусе кнопка имеет стеклышко (см. видео) поэтому крайние светодиоды загнул, чтобы светили к центру. Плата выполнена по аналогии родной платы видеомагнитофона (корпус применил от видеомагнитофона).

Видео

Система не оптимизирована поэтому «Малина» загружается долго, да и флешка с операционной системой медленная. Потом вставлю настоящую, скоростную SD-карту 10-го класса.


Файлы

Программа — programs.zip | Файл 18,2 Kb загружен 24 раз.
Схема и плата в sPlan и Sprint — sxema_plata.zip | Файл 80,52 Kb загружен 39 раз.
Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)

Пока всё. Пока.
Спасибо за внимание!
Сергей (Sergiy_83)
Беларусь. Жодино
Профиль Sergiy_83
Электроникой увлекся в старших классах школы.
Потом закончил Минский профтехнический колледж электроники.
Потом «БГУИР» — Белорусский государственный университет информатики и радиоэлектроники. Инженер-электроник вот уже 11 лет.

Часто тянет что-нибудь изобрести.
Люблю программирование (Си, С++).
 

Понравилось? Палец вверх!

  • всего лайков: 63

Поделись с друзьями!

Связанные материалы:


Схема на Датагоре. Новая статья Обновление прошивки датагорского кита Project 004 «Gatekeeper» v.11.0... Привет, друзья! Подоспела обнова к Новому году: очередное обновление прошивки для нашего...
Схема на Датагоре. Новая статья Автомат управления бойлером Ariston. Экономим электроэнергию и ресурс котла... Задумался я над вопросом, отключать или не отключать бойлер периодически? Одно из множества...
Схема на Датагоре. Новая статья Автоматическое включение/выключение мультимедийных колонок при включении/выключении компьютера... Бывало ли такое, что легли вы спать и тут заметили, что компьютерные колонки остались включёнными?...
Схема на Датагоре. Новая статья Термостат для отопления дачи инфракрасными обогревателями Иколайн. Дежурный режим, часы. DS1307, DS1631, Atmega8, энкодер... Как говорит мой коллега, что бы Гаврилов ни делал — все равно термометр получается… Новая статья...
Схема на Датагоре. Новая статья Термометр + термостат на микроконтроллере PIC16F876 и датчиках DS18B20... История этого термометра началась в далёком 2011 году. Мне понадобилось в подвале частного дома, в...
Схема на Датагоре. Новая статья SHT10 + Atmega8: Микроконтроллерный модуль управления вентилятором санузла, v2... Доброго дня, сограждане! Представляю вторую версию блока управления вентилятором для ванной,...
Схема на Датагоре. Новая статья Модуль управления вентилятором на микроконтроллере... Доброго времени суток сограждане! Хочу вот поделится своей конструкцией. Конструкция это из тех...
Схема на Датагоре. Новая статья Препарируем усилитель Park VX700-4... Очередной пациент, на моем, захламленном барахлом, "операционном" столе. В этот раз на приеме...
Схема на Датагоре. Новая статья Чудо-вилка!... Может, конечно, уже были такие идеи и статьи, но я хочу представить Вашему вниманию одну вещь. ...
Схема на Датагоре. Новая статья Микроконтроллеры. Связь с внешним миром. Часть 1. Клавиатура... Очень давно обещал продолжить цикл статей по работе с микроконтроллерами, но не было физической...
Схема на Датагоре. Новая статья Блок автоматического селектора входов и управления питанием усилителя на PIC12F675... Хочу предложить продолжение проекта Автоматическое включение/выключение сабвуфера на...
Схема на Датагоре. Новая статья Операционные усилители. Ч.3 Компараторы, триггеры, мультивибраторы.... Источник: Радиокот.ру И, наконец, третья, заключительная часть статьи про Operational Amplifiers!...
<
  • Гражданин
20 февраля 2017 11:46

Михаил / aitras

Цитата
  • С нами с 12.08.2009
  • Ушёл в реал Пользователь offline
  • 16 комментариев
  • 0 публикаций
 
  • 0
Занятно. Буду следить за проектом.

У меня на малинке для беспроводного воспроизведения музыки установлена эмуляция AirPlay. А на компьютере для foobar специальный плагин. Ну а смартфон по умолчанию поддерживает. Очень удобно получилось.

<
  • Подписчик
20 февраля 2017 11:56

Игорь / StalKer-NightMan

Цитата
  • С нами с 15.03.2012
  • Ушёл в реал Пользователь offline
  • 92 комментария
  • 1 публикация
 
  • 0
Великолепно, Сергей, что тут еще сказать!!!
Жду продолжения... sunglasses

<
  • Подписчик
20 февраля 2017 22:25

Константин / accel74

Цитата
  • С нами с 11.12.2014
  • Ушёл в реал Пользователь offline
  • 1 комментарий
  • 0 публикаций
 
  • 0
Очень интересно, давайте быстрее продолжение grinning

<
  • Гражданин
23 февраля 2017 08:41

Сергей / Sergiy_83

Цитата
  • С нами с 16.10.2012
  • Ушёл в реал Пользователь offline
  • 36 комментариев
  • 4 публикации
 
  • 0
Всем спасибо за проявленный интерес.

Добавление комментария


Налетай! Паяльники, станции, жала с доставкой
  • smilelolbyewinkyahoocoollaughing
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashguitar-manhandshake
    musicnegativenopardonshoksleepunknown
    wackoyawnblushbullyhashsmokingwhew
Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.