В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

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

📆20 февраля 2017   ✒️Sergiy_83   🔎26.221   💬5  
Всем привет! Давным-давно в голову мне пришла идея сделать стационарный аудиоплеер, как в старые добрые времена: отдельное устройство для прослушивания музыки.

Для этой цели прикупил я в Китае миникомпьютер «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 ⇣ 125
🎁 Схема и плата в sPlan и Sprint — sxema_plata.zip  80.52 Kb ⇣ 155
Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)

Пока всё. Пока.
Спасибо за внимание!

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 87 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

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

 

 

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

 

Схема на Датагоре. Новая статья Даташит CS4350 pdf datasheet 192-kHz Stereo DAC with Integrated PLL... Давненько наш справочник не пополнялся полезняшками. Предлагаю возобновить традицию: нашли...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 2. ЦАП на CS4350 и БП... Всем привет! В этой части я расскажу вам о цифро-аналоговом преобразователе на основе чипа CS4350...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 5, заключительная... Всем привет. Эта не последняя статья о моем аудиоплеере. Время разработки составило четыре года, и...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 3. Регулятор громкости на PGA2310... Всем читателям datagor.ru привет! Продолжаем строить аудиоплеер. Сегодня подключим к «Raspberry...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 4. Усилитель мощности на LM3886... Всем привет камрадам! История продолжается. Сегодня у нас: усилитель мощности, мягкий старт, блок...
Схема на Датагоре. Новая статья SHT10 + Atmega8: Микроконтроллерный модуль управления вентилятором санузла, v2... Доброго дня, сограждане! Представляю вторую версию блока управления вентилятором для ванной,...
Схема на Датагоре. Новая статья Термометр + термостат на микроконтроллере PIC16F876 и датчиках DS18B20... История этого термометра началась в далёком 2011 году. Мне понадобилось в подвале частного дома, в...
Схема на Датагоре. Новая статья Автомат управления бойлером Ariston. Экономим электроэнергию и ресурс котла... Задумался я над вопросом, отключать или не отключать бойлер периодически? Одно из множества...
Схема на Датагоре. Новая статья Обновление прошивки датагорского кита Project 004 «Gatekeeper» v.11.0... Привет, друзья! Подоспела обнова к Новому году: очередное обновление прошивки для нашего сервисного...
Схема на Датагоре. Новая статья Автоматическое включение/выключение мультимедийных колонок при включении/выключении компьютера... Бывало ли такое, что легли вы спать и тут заметили, что компьютерные колонки остались включёнными?...
Схема на Датагоре. Новая статья Блок автоматического селектора входов и управления питанием усилителя на PIC12F675... Хочу предложить продолжение проекта Автоматическое включение/выключение сабвуфера на...
Схема на Датагоре. Новая статья Модуль управления вентилятором на микроконтроллере... Доброго времени суток сограждане! Хочу вот поделится своей конструкцией. Конструкция это из тех про...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

aitras

<
Читатель Датагора

StalKer-NightMan

<
Читатель Датагора

accel74

<
Читатель Датагора

Sergiy_83

<
Читатель Датагора

litdn

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой