In questo articolo viene presentato un amplificatore stereo HiFi senza i classici controlli sul pannello frontale perché gestito completamente mediante uno smartphone. Un'App dedicata, sviluppata con Android Studio, diventa la UI e permette la regolazione del volume, la scelta della sorgente e molto altro. Viene utilizzata una connessione Bluetooth ma è possibile utilizzare il WiFi mediante un modulo dedicato. Il progetto tratta diversi aspetti: dai segnali analogici, ai bus SPI/UART alla programmazione in Java e può diventare il punto di partenza per altri progetti.
INTRODUZIONE
L'amplificatore stereo HPA100 è realizzato nella configurazione dual-mono ovvero due canali identici ma completamente indipendenti. Li accomuna ovviamente l'alimentazione di rete, il case e il modulo Bluetooth. Su un'unica board è presente sia l'amplificazione del segnale, lo stadio di potenza a Mosfet, l'alimentatore per la sezione analogica e digitale e il microcontrollore necessario per gestire le funzioni richieste. La scheda, le cui dimensioni sono di 190 x 70 mm, è fissata insieme ai Mosfet sul dissipatore di calore presente nel case. L'alimentazione di potenza di entrambi i canali è stata realizzata su un'altra board. La Figura 5 mostra il 3D della board di un canale.
Il firmware del microcontrollore, che risulta identico per i due canali, si comporta da master dove è installato il modulo Bluetooth gestendo sia la comunicazione con lo smartphone che con l'altra board che diventa slave. La comunicazione tra le board avviene mediante una connessione seriale RS232 isolata a 57600 bps. Dal punto di vista audio l'HPA100 sviluppa 50+50 Wrms di potenza nominale che diventano 65 watt al clipping con due sorgenti d'ingresso e senza feedback globale.
AMPLIFICATORE HPA100
La Figura 1 mostra la catena di amplificazione dell'HPA100. Il segnale applicato agli ingressi, che viene selezionato mediante un relè per segnali, viene applicato allo stadio sfasatore necessario per pilotare il finale push-pull. Da questo stadio in avanti i due segnali verranno trattati in modo separato. Segue, quindi, la regolazione del volume, lo stadio driver che amplifica i segnali per garantire la corretta sensibilità d'ingresso e il finale in push-pull di Mosfet che amplifica in corrente.
Amplificazione
La Figura 2 riporta lo schema completo dello stadio di amplificazione. Il relè RL1 seleziona le sorgenti RCA/XLR e applica il segnale al trasformatore Sowter SW3575. Si tratta di un componente specifico per queste applicazioni e svolge diverse funzioni:
- isola la massa del segnale d'ingresso da quella dell'amplificatore;
- limita la frequenza del segnale applicato a 100 kHz;
- crea i due segnali in contro-fase necessari alla catena di amplificazione.
L'integrato MAS6116 della Micro Analog System, abbinato all'operazionale OP275, effettua la regolazione del volume fornendo anche 15 dB di guadagno. Il MAS6116 è in versione stereo e contiene i potenziometri digitali utilizzati per impostare il guadagno dell'operazionale in configurazione invertente. Il range di regolazione è -111.5/+15.5 dB con step di 0.5 dB ed è controllato dall'uP mediante il bus SPI. L'uscita di linea è connessa a questo stadio e permette di utilizzare l'HPA100 solo come amplificatore di linea.
Il driver LME49860 fornisce ulteriori 14 dB di guadagno sommando al segnale la tensione di bias per polarizzare i Mosfet. Lo stadio d'uscita è un push-pull di Mosfet in configurazione a ponte. Questa soluzione utilizza due alimentazioni di potenza flottanti con il carico (lo speaker) percorso dalla corrente di drain di entrambi i Mosfet. In assenza di segnale le Id si annullano e la tensione sul carico sarà zero mentre applicando un segnale la differenza delle Id produrrà il segnale amplificato. I Mosfet utilizzati sono gli ECX10N20R della Exicon specifici per applicazioni audio in package TO-247. Questa soluzione permette di utilizzare due dispositivi di potenza identici invece della classica coppia complementare.
Microcontrollore
Per questo progetto ho utilizzato il microcontrollore Microchip PIC24FV16KM202 che offre tutte le periferiche richieste semplificando notevolmente il design. Le principali caratteristiche sono:
- architettura a 16 bit con 16 kbyte di flash codice e 512 byte di EE;
- un clock interno a 8 MHz;
- un timer a 16 bit;
- ADC a 12 bit con Vref interna;
- DAC a 8 bit con Vref interna;
- bus SPI/I2C;
- 2 porte seriali;
- 2 operazionali configurabili;
- un'unità CTMU per la misura della temperatura.
Mentre le risorse hardware del PIC24F utilizzate sono:
Risorsa | Funzione |
SPI2 | comunicazione con MAS6116 |
UART1 | comunicazione tra le board |
UART2 | comunicazione modulo Bluetooth |
DAC1 | tensione di bias dei Mosfet M1 |
DAC2 | tensione di bias dei Mosfet M2 |
ADC0,1,10,16 | temperatura, segnale in uscita, Vref |
ADC11,20 | corrente dei Mosfet |
CCP1 | timer di sistema |
CTMU | corrente costante per la misura della temp. |
TIMER1 | clock per il campionamento automatico |
La Figura 3 riporta la sezione digitale dell'HPA100. I sensori di corrente ACS712 della Allegro Microsystems misurano la corrente assorbita dai Mosfet in modo da stabilire il punto di riposo. I componenti sono in SOIC8, la resistenza interna è di 1.2 mOhm e utilizzano l'effetto HALL per misurare la corrente. Forniscono un offset pari a Vcc/2 in assenza di corrente con una sensibilità di 188 mV/A.
Gli optoisolatori veloci HCPL0721 isolano la seriale 1 mentre la seconda seriale comunica con il modulo Bluetooth ESD200 della SENA. La linea BT_CON è connessa ad una porta dell'uP e rileva la connessione Bluetooth del modulo con il led DL1 pilotato dal pin DCD. In assenza di connessione DL1 lampeggia pilotato dall'uP.
L'operazionale INA129 svolge due funzioni. Nella fase di setup del bias esso misura la tensione sul carico dovuta allo sbilanciamento delle correnti di drain, mediante un controllo dell'App è possibile ridurre questa tensione a pochi mV. Durante il funzionamento normale misura l'ampiezza del segnale in uscita che verrà poi indicata dal vu-meter presente nell'App.
L'unità CTMU del PIC24F viene utilizzata per misurare la temperatura del dissipatore dove sono fissati i due Mosfet. Sfruttando la caratteristica della giunzione P-N di generare una tensione di -2.88 mV/°C, una corrente costante di 0.55/5.5 uA polarizza due transistor BC546 in serie connessi come diodo mentre il canale analogico AN0 misura la tensione della giunzione.
L'alimentatore integrato utilizza un trasformatore toroidale con 3 secondari per generare le 7 tensioni richieste. Le tensioni della sezione analogica utilizzano due secondari da 20 VAC per ottenere le tensioni +/-22 VA/5 VA mediante i regolatori TL431 connessi come shunt, mentre la parte digitale utilizza un secondario da 12 VAC per generare le tensioni 5 V/3.3 V con dei classici regolatori serie 78xx. [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2055 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Dove è possibile scaricare l’app HPA?
Buona sera Massimo Scariot, mi può indicare dove è possibile scaricare i contenuti mancnati del progetto? fw del Pic, APP Android e GERBER del PCB?
Grazie Alessandro