Mese: Luglio 2020

Mie librerie per Arduino

Per agevolare il compito di chi volesse cimentarsi nella realizzazione dei miei progetti basati su Arduino ho preparato un file contenete le librerie per Arduino presenti sul mio computer che ho utilizzato per lo sviluppo degli sketches presentati.

Ovviamente ce ne sono più di quelle richieste, quindi consiglio di scompattare il file “zippato” in una cartella temporanea e copiare nella propria cartella “libraries” sotto Arduino quelle richieste dal progetto che si sta realizzando.

Mixer altoparlanti v2

Questa è la versione evoluta del “Mixer per altoparlanti v1” che ho già pubblicato in questa sezione del sito.

L’idea di base ed il principio di funzionamento non cambiano rispetto alla versione precedente, ho rivisitato radicalmente la realizzazione e le funzionalità.

Ascoltando R3 monte Beigua (con segnale S5)

Seguendo l’impostazione “salva spazio”dello “Switch microfonico v2” ora il mixer si compone di 2 unità: quella che ho chiamato “Main” che contiene il grosso dell’elettronica e quella che ho chiamato “Console” dove risiedono i comandi operativi ed un’ampio display sul quale vengono mostrate le informazioni di funzionamento. Al solito la parte Main è pensata per essere dislocata in uno poco utilizzato mentre in zona operativa verrà installata solo la Console che è caratterizzata da dimensioni contenute ed un solo cavo in arrivo.

Nella Console è stato inserito un ampio display grafico sul quale appaiono le informazioni di stato. Per ciascuna delle 5 radio collegabili viene mostrato il nome della radio sotto il quale appare il messaggio “OFF” se la radio è stata messa in “Mute” e ancora sotto si trova una barra orizzontale che ho chiamato “Busy” avente lo scopo di informarci se c’è traffico anche se la radio è in “Mute”. Alla destra del display è presente la visualizzazione del livello di volume sotto forma di barra grafica verticale.

Sotto al display ed in linea verticale con le indicazioni mostrate si trovano 5 pulsanti che permettono di mettere o togliere dal “Mute” ciascuna radio in maniera indipendente. Sulla destra troviamo la manopola dell’encoder che permette di regolare il volume che se premuta mette in “Mute” tutte le radio, un messaggio lampeggiande “ALL MUTED” verrà mostrato sul display. Per uscire da questa condizione basta premere nuovamente la manopola dell’encoder.

Il sistema utilizza 2 Arduino (Nano ma qualunque altro modello va bene) uno alloggiato nell’unità Main ed uno nella Console. I 2 Arduino si scambiano reciprocamente informazioni attraverso la comunicazione I2C ed anche qui ho impiegato gli integrati P82B715PN che hanno la funzione di I2C extender per consentire di avere il cavo di collegamento lungo qualche metro fra Main e Console. Al solito il cavo è lo schermato da allarmi con rosso e nero più grossi ed altri fili sottili.

Nell’unità Main sono contenuti i circuiti di alimentazione, la logica di commutazione, la parte che riceve l’audio dalle radio in maniera galvanicamente separata, il sistema che rileva lo squelch aperto delle radio, il potenziometro SPI e l’amplificatore audio di potenza (nel mio caso un glorioso TDA2002) che piloterà l’altoparlante di stazione.

Prestare attenzione nella realizzazione all’isolamento fra le masse dei jack (nel mio caso) che ricevono l’audio dalle radio.

Questo è lo schema dell’unità Main (2 fogli)

i trimmer RV1-RV5 permettono di ritoccare la barra Busy per ciascuna radio

Questo è lo schema della Console

Ed infine lo schema dell’ ampificatore di potenza

Il funzionamento a grandi linee è il seguente:

L’unità Main riceve le uscite audio di ciascuna radio attraverso i trasformatori di isolamento. Dall’uscita di ciascun trasformatore il segnale viene

  • prelevato e mandato alla sezione dell’ LM358 il quale lo amplifica opportunamente e da qui viene inoltrato al pin di ingresso digitale dedicato dell’Arduino. Il programma trasformerà questo segnale in un numero che attraverso la connessione I2c verrà inviato alla Console per generare la relativa barra orizzontale Busy (quella che mostra se lo squelch si è aperto ovvero se c’è attività)
  • inviato al contatto del relè che lo metterà a massa su una resistenza da 560 ohm se la radio è in Mute oppure lo appoggerà sul bus attraverso la resistenza da 47K in serie all’elettrolitico da 10 uF. Ho fatto questa scelta per evitare di mantenere eccitati i relè quando le radio non sono in Mute (condizione più frequente) ed alimentare i relè solo quando si preme il Mute

Il segnale audio mixato presente sul bus AF Mix viene amplificato da Q6 e passato al trimmer RV1 (foglio 2 dello schema Main) per mezzo del quale è posssibile settare la soglia di massimo volume. Dal cursore di RV1 il segnale viene trasferito al potenziometro digitale SPI da 10K il quale lo regolerà al livello impostato tramite l’encoder presente sulla console sulla base dell’informazione ricevuta attraverso la comunicazione fra i 2 Arduino. A questo punto il segnale raggiunge l’amplificatore di potenza (nel quale ho previsto anche una minima regolazione di toni qualora si volesse compensare qualche carenza di risposta dell’altoparlante di stazione. Io non ne ho avuto bisogno).

Il comando dei relè è gestito dall’Arduino che agisce secondo i comandi che riceve dalla Console sempre attraverso la comunicazione I2C. Ho inserito dei led sulle uscite per le bobine dei relè perchè localmente mi faceva comodo visualizzare lo stato dei relè in sede di messa a punto.

La Console attraverso il suo Arduino pilota il display grafico (usando anche i dati in arrivo dalla Main ad esempio l’entità della barra di Busy), ascolta i pulsanti e l’encoder e ne trasmette lo stato alla Main. Anche la barra grafica verticale che rappresenta il volume, lo stato On/Off di radio in Mute e i nomi delle radio sono costruiti dall’Arduino della Console.

Infine la parte relativa ad Arduino

I nomi delle radio visualizzati sul display grafico della console sono editabili nello sketch chiamato “Mixer_audio_Console_v2_Prod_10” intervenendo su queste righe di programma

Una volta “unzippato” il file ci si trova in questa struttura:

dove nella cartella “Mixer_audio_Console_v2_Prod_10” si trova lo sketch che dovrà essere installato sull’Arduino della console mentre nella cartella “Mixer_audio_Main_v2._Prod_10” c’è lo sketch da installare sull’Arduino montato nella main board.

Il display che ho impiegato è reperibile anche qui: http://ebmstore.it/index.php?route=product/product&product_id=2952&search=PICTIVA

NOTAcome è noto gli sketches per Arduino per essere utilizzati necessitano della presenza sul proprio PC delle librerie incluse nello sketch e spesso anche di ritocchi per adeguarlo all’hardware che ciascuno decide di usare per la propria realizzazione (ad esempio i display ma non solo loro). Quindi c’è da aspettarsi un minimo di adattamento per il quale è necessaria una conoscenza di base del mondo di Arduino