Taula de continguts:

PAB: una caixa d'àudio personal: 5 passos
PAB: una caixa d'àudio personal: 5 passos

Vídeo: PAB: una caixa d'àudio personal: 5 passos

Vídeo: PAB: una caixa d'àudio personal: 5 passos
Vídeo: COMO FAZER 1 MILHÃO DE REAIS NOS PRÓXIMOS 6 MESES| PABLO MARCAL 2024, Desembre
Anonim
PAB: una caixa d'àudio personal
PAB: una caixa d'àudio personal

La idea d’aquest projecte va néixer de la necessitat de raspar els tres grans components del sistema HiFi, que ara havien arribat al final de la seva vida. A més, necessitava més espai al prestatge per a altres objectes, així que vaig aprofitar per començar a estudiar en una caixa d’àudio personal per substituir totes les funcions dels tres "gegants" vintage.

Un Raspberry Pi3B + semblava ser la millor opció per aquests motius:

  • Factor de forma reduït i baix consum d'energia;
  • Una sortida PCM d'àudio amb una qualitat acceptable;
  • Disponibilitat de mopidy, un servidor de música extensible que implementa el protocol mpd;
  • Alta integració de fonts: música local, CD-ROM, transmissions de ràdio, Spotify, Tunein, etc.

Integrant-lo amb pocs altres components, vaig poder crear un sistema complet i sense cap, capaç de reproduir música des de CD, fitxers locals, ràdio en línia, llistes de reproducció de Spotify, podcasts. I mitjançant l’ús d’un frontend, ara puc gestionar tot el seu funcionament des de qualsevol dispositiu connectat a la LAN (telèfon intel·ligent, ordinador, tauleta).

Subministraments

  • Raspberry PI3B +
  • Una funda antiga de DVD
  • Lector de CDROM
  • Alimentació 5v-5A
  • Supercondensadors
  • Diversos components (transistors, LED, relé, Op-Amp): vegeu els detalls del projecte

Pas 1: Cas i disseny de components

Cas i disseny de components
Cas i disseny de components
Cas i disseny de components
Cas i disseny de components
Cas i disseny de components
Cas i disseny de components
Cas i disseny de components
Cas i disseny de components

El primer problema que vaig trobar va ser seleccionar i trobar un cas adequat. No trobant res a casa, vaig trobar aquest reproductor de DVD barat a Amazon per uns quants dòlars, però qualsevol cosa semblant serà prou bona. La caixa té aquestes dimensions: 27cm x 20cm x 3.5cm.

He eliminat completament tot el contingut, mantenint només la petita placa per gestionar el LED frontal, el botó d’engegada i l’entrada USB. Després vaig planejar el disseny intern per als nous components (veure imatge).

Pas 2: el commutador de detecció estèreo d'àudio

El commutador de detecció estèreo d'àudio
El commutador de detecció estèreo d'àudio
El commutador de detecció estèreo d'àudio
El commutador de detecció estèreo d'àudio
El commutador de detecció estèreo d'àudio
El commutador de detecció estèreo d'àudio

Per què un commutador d'àudio automàtic? La necessitat sorgeix del fet que sovint escolto TV a través de l’amplificador HiFi, però no volia seleccionar l’interruptor de la font de l’amplificador cada vegada. Amb aquest circuit, l’entrada de l’amplificador sempre és la mateixa i l’interruptor de detecció d’àudio estèreo selecciona automàticament la font.

L’esquema és directe. Quan el PAB no es reprodueix, la font d'àudio de l'HiFi prové del televisor. Si es reprodueix el PAB, el relé selecciona l'àudio de Raspberry.

Pas 3: la caixa de supercondensadors

La caixa dels supercondensadors
La caixa dels supercondensadors
La caixa dels supercondensadors
La caixa dels supercondensadors

Com se sap, una interrupció sobtada de la font d’alimentació del gerd provoca l’apagada immediata sense l’execució del procediment d’aturada, i corre el risc de comprometre el sistema operatiu i, per tant, la seva funcionalitat total. Un supercondensador es diferencia d'un condensador tradicional per dues característiques essencials: les seves plaques tenen una àrea més gran i la distància entre elles és molt menor, ja que l'aïllant interposat funciona de manera diferent que un dielèctric convencional. Amb aquestes tècniques, es poden fabricar condensadors de gran capacitat (de l'ordre de diverses desenes de Farads) mantenint petites dimensions. Per tant, la idea és crear un "buffer" de 5v mitjançant supercondensadors i activar l'apagada quan es detecti l'absència de tensió d'alimentació. D’aquesta manera, ja no serà necessari intervenir manualment per iniciar l’aturada, sinó que només cal treure l’endoll (o activar un interruptor) per garantir un tancament segur.

En referència a l’esquema, la font d’alimentació s’aplica al terminal esquerre i el díode Schottky evita qualsevol retorn de corrent a la font d’alimentació. Les dues resistències de potència d’1,2 Ω 5W en paral·lel limiten el corrent de càrrega dels supercondensadors per protegir l’alimentació. Sense aquestes resistències, el corrent màxim requerit pels dos supercondensadors descarregats gairebé segurament seria capaç de danyar la font d'alimentació. El díode de potència ha de ser necessàriament del tipus Schottky per tal d’inserir una caiguda de tensió mínima en sèrie amb la barra de 5V.

Els dos supercondensadors es connecten en sèrie per assegurar un voltatge màxim de 5,4 volts als seus extrems (cada supercondensador és de 10F, 2,7V) i les dues resistències paral·leles a les capacitats equilibren els corrents de càrrega i garanteixen una descàrrega lenta quan es gira el gerd. apagat. Les dues resistències de 1KΩ paral·leles a l’entrada divideixen els 5V de la font d’alimentació per la meitat per prendre el senyal necessari per detectar fallades d’alimentació (connectades a Raspberry GPIO 7). A diferència de les cèl·lules de liti modernes, els supercondensadors garanteixen un nombre gairebé infinit de cicles de càrrega i descàrrega, sense perdre cap característica.

Per tant, el circuit podrà mantenir el Raspberry alimentat i funcionant durant el temps necessari per realitzar un apagat regular. L’inici del procés d’aturada serà detectat per un programa que s’executa al Raspberry que controlarà l’estat del GPIO 7 al qual està connectat el nivell de potència. Quan es desconnecta l’alimentació, el pin 7 GPIO passa a un nivell baix i provoca l’aturada. Aquest és el codi:

Python #! / usr / bin / env

importar RPi. GPIO com a GPIO importar subprocés GPIO.setmode (GPIO. BCM) # utilitzar numeració GPIO GPIO.setwarnings (fals) INT = 7 # pin 26 monitors font d'alimentació # utilitzar un pull_up feble per crear un GPIO.setup alt (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): mentre que True: # estableix una interrupció en un límit descendent i espera que passi GPIO.wait_for_edge (INT, GPIO. FALLING) # torna a comprovar el nivell del pin si GPIO.input (INT) == 0: # encara baix, apagat Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': main ()

El programa s'ha de desar a / usr / local / bin /.py i configurar-lo perquè s'executi quan s'iniciï el gerd. A partir de les proves realitzades, les capacitats dels dos supercondensadors han demostrat ser suficients per garantir el temps d’aturada del gerd. Si cal més temps, n’hi haurà prou amb introduir altres dos supercondensadors en paral·lel als existents, o substituir-los per dos de més capacitat.

Pas 4: Muntatge i ús de ports USB

Muntatge i ús de ports USB
Muntatge i ús de ports USB

El Block Schematic mostra com connectar els diversos dispositius per a PAB al bus principal 3 (+ 5v, USB i àudio estèreo).

Tingueu en compte que la font d'alimentació del lector de CD s'ha connectat directament a la font d'alimentació principal mitjançant un cable "Y", mentre que l'entrada d'àudio va al Raspberry. Els quatre ports USB Raspberry s’han utilitzat per:

  • Lector de CD;
  • un pendrive de 250 GB per emmagatzemar fitxers de música locals (mp3, m4a, wma, flac, etc.);
  • una targeta micro SD de 16 GB (amb adaptador USB) per emmagatzemar la còpia de seguretat completa de la Raspi SD principal (vegeu més avall);
  • una connexió al port USB extern de la funda.

El port USB extern es pot utilitzar per reproduir música externa o per alimentar dispositius externs. En el meu cas, estic alimentant un transmissor Bluetooth extern, ja que he descartat l’interior del Raspi a causa del seu abast i inestabilitat baixos. Amb el bluetooth extern condueixo 2 altaveus estèreo diferents a casa.

La targeta micro SD de 16 GB (amb adaptador USB) té una còpia de seguretat completa del gerd. Estic fent servir rpi-clone, que ha revelat que és un projecte molt bo que permet tenir una còpia de seguretat completa del Raspberry sense necessitat d’eliminar la SD interna. He canviat moltes vegades aquesta SD amb la interna, sense cap problema. Per tant, he configurat un cronjob per a l'usuari root:

#Còpia de seguretat a SDA: cada dimecres a la nit

15 2 * * 3 / usr / sbin / rpi-clone sda -u | mail -s "Còpia de seguretat PAB a SD - fet"

Després he tornat a utilitzar el botó d’engegada original de la funda per apagar i reiniciar el gerd, seguint aquesta guia:

Pas 5: programari i sistema operatiu

Programari i sistema operatiu
Programari i sistema operatiu
Programari i sistema operatiu
Programari i sistema operatiu
Programari i sistema operatiu
Programari i sistema operatiu

El sistema operatiu principal de PAB és un Raspbian simple (Debian Buster) amb diverses addicions específiques:

  • rpi-clon per a la còpia de seguretat principal;
  • ssmtp, un MTA simple per treure correu del sistema;
  • udevil, per permetre el muntatge automàtic d'unitats USB;
  • abcde, per agafar la meva col·lecció de CD i comprimir-la a qualsevol format d'àudio;
  • mopidy, un dimoni de reproductor de música complet amb un munt de connectors.

Llavors he escrit una aplicació de servidor PAB Scheduler completa amb python3 i tornado, el codi de la qual està fora de l’abast d’aquest article, però puc proporcionar instruccions a petició. Amb Scheduler podeu configurar llistes de reproducció per a qualsevol moment del dia, diferenciant els dies feiners dels caps de setmana.

El principal programari que executa PAB és mopidy. Per a la instal·lació i configuració de mopidy (força extensa), consulteu la seva documentació aquí:

Aquests són els connectors instal·lats:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Local-Images
  • Mopidy-TuneIn

Per tal de tenir el control total de PAB, he escollit l’extensió d’interfície Iris (veure imatges). Aquesta és una aplicació web molt potent amb les funcions següents:

  • Controls complets de la interfície basats en web per a Mopidy
  • Millora del suport a les biblioteques locals (impulsat per Mopidy-Local-Sqlite)
  • Navegueu i gestioneu llistes de reproducció i pistes
  • Descobriu música nova, popular i relacionada (impulsada per Spotify)
  • Allotjament lliure
  • Integració amb:

    • Spotify
    • LastFM
    • Geni
    • Snapcast
    • Icecast

D'aquesta manera, sóc lliure de controlar la meva música des de gairebé qualsevol lloc (ordinador, tauleta, telèfon intel·ligent).

Recomanat: