Progetto di un estensore wireless di posto interno citofonico

progetti di elettronica

In questo articolo, viene presentato il progetto di un estensore wireless di posto interno citofonico, ossia un duplicato funzionale del citofono che si trova all’interno di un’abitazione o di un ufficio, facente parte di un impianto citofonico multiutente. Lo scopo di questo progetto è di ottenere la possibilità di utilizzare il citofono quando non si è all’interno dell’edificio e in modo che possa operare anche ad una distanza fino a 1 Km ed oltre nello spazio aperto. L’estensore wireless citofonico di questo progetto s’intende applicabile agli impianti tradizionali analogici 4+N fili con chiamata elettronica della URMET, una tipologia di impianto citofonico residenziale ancora molto diffuso in Italia.

Introduzione

Un citofono è un sistema di comunicazione vocale che viene utilizzato in uno o più edifici. Gli impianti citofonici sono progettati per realizzare servizi come la conversazione tra utenti interni ed esterni dell’impianto, effettuare una chiamata per richiedere l’attivazione della conversazione e l’apertura della porta di accesso ad un edificio o abitazione. Le apparecchiature necessarie per la realizzazione di un impianto citofonico di base sono essenzialmente le seguenti: pulsantiera dotata di posto citofonico esterno audio, noto come “parla-ascolta”, postazioni citofoniche interne, alimentatore citofonico e relè di servizio, ove necessario. Il sistema presentato in questo articolo è un citofono basato sulla tecnica di trasmissione e ricezione wireless LoRa di informazioni vocali a cui possono accedere più utenti contemporaneamente sia in full-duplex che in PTT (Push To Talk) alla frequenza desiderata selezionabile dagli utenti. In sostanza, si tratta di un duplicato funzionale wireless del citofono di posto interno collegato in parallelo alle linee di colonna di un impianto citofonico tradizionale analogico 4+N preesistente. Successivamente, dedicheremo una parte dell’articolo per descrivere questo tipo di impianto ancora molto diffuso nel nostro paese. Questo sistema di comunicazione citofonica wireless può essere utilizzato in qualsiasi area applicativa, sia domestica che lavorativa, grazie alla semplicità e flessibilità di utilizzo. Mediante un software dedicato, l'utente può impostare la diversa banda di frequenze per la comunicazione che deve essere la stessa per tutti gli altri utenti dello stesso gruppo. Il trasmettitore LoRa viene utilizzato per generare segnali portanti RF modulati che vengono ricevuti e demodulati dal ricevitore LoRa.

Un citofono wireless è un dispositivo di telecomunicazione che consente la comunicazione vocale senza la necessità di cavi tra le postazioni citofoniche interne (PI) all’edificio (abitazione/ufficio) e tra le postazioni citofoniche interne e le postazioni citofoniche esterne (PE) all’edificio. Un impianto citofonico cablato, come lo schema dell’impianto analogico 4+N, può anche includere elementi citofonici wireless. Ci sono molti tipi di sistemi citofonici wireless sul mercato, ma non si trovano estensori citofonici wireless come quello proposto in questo progetto che possa integrarsi in un impianto preesistente, almeno secondo le nostre ricerche. Esistono anche sistemi che sono pubblicizzati come wireless, ma comunicano tramite il cablaggio elettrico in corrente alternata dell’alimentazione esistente dell'edificio, nota come “powerline”.

In generale, nei sistemi citofonici si possono anche integrare connessioni con sistemi di altoparlanti, walkie talkie, telefoni e vari sistemi citofonici in derivazione. I sistemi citofonici possono gestire dispositivi di sicurezza come luci di segnalazione e serrature delle porte. Ci sono citofoni domestici semplici e citofoni sviluppati per diversi tipi di abitazioni collettive. Alcuni sono dotati di monitor video e relativo cablaggio (videocitofoni) e possono essere collegati a postazioni esterne dotate anch’esse di monitor e di pulsantiere con cavi in rame da 4 a 6 coppie. Le ultime generazioni di citofoni funzionano mediante collegamento TCP/IP (noto con impianto a 2 fili) ovvero ogni citofono è individuato attraverso il suo univoco indirizzo IP.

L’impianto citofonico 4+N

Il tipo di impianto cui è applicabile l’estensore wireless citofonico del nostro progetto è il sistema citofonico 4+N della Urmet. Questo tipo di impianto permette di realizzare il servizio di portiere elettrico impiegando 4 fili comuni a tutti i citofoni interni (2 di andata e 2 di ritorno fonia, ossia, massa di alimentazione citofono, comando della serratura elettrica di apertura della porta, segnale audio microfonico e segnale audio verso l’altoparlante) più N fili di chiamata (N simboleggia le n linee di chiamata verso gli n citofoni dell’impianto).

L’impianto citofonico 4+N può essere realizzato con chiamata tradizionale con buzzer oppure con tono di chiamata elettronica. Il sistema 4+N con chiamata elettronica consente di scegliere tra apparecchi citofonici con design e colori diversi. Tra i vari apparecchi per postazioni interne è inoltre possibile l’impiego di citofoni con funzioni particolari (segretezza della conversazione e led di indicazione dello stato della porta di accesso, tasto di inserzione del circuito fonico, possibilità di aggiunta di altri tasti direttamente nel citofono) e svariati accessori. Estratto da un documento della Urmet, la Figura 1 riporta lo schema di principio di un impianto citofonico 4+N.

progetti

Figura 1: Schema di principio di un impianto citofonico 4+N

In un impianto citofonico 4+N è possibile connettere i vari citofoni interni, oltre che al posto esterno, anche tra di loro, realizzando così impianti intercomunicanti. I sistemi con chiamata tradizionale (non elettronica) sono adatti per la realizzazione di nuovi impianti con segnale di chiamata su un buzzer dedicato interno al citofono.

Descrizione del progetto

Nello schema elettrico di Figura 2 è riportata una parte dello schema di un impianto citofonico della Urmet denominato “IMPIANTO CITOFONICO - SISTEMA CON CHIAMATA ELETTRONICA”, che è proprio lo schema di impianto che utilizzeremo per dimostrare il collegamento dell’estensore wireless citofonico.

progetti

Figura 2: Impianto citofonico 4+N con le schede RX LoRa e TX LoRa

Nello schema di Figura 2, sono stati inseriti due blocchi che rappresentano le due schede che costituiscono il progetto: l’interfaccia delle linee di colonna dell’impianto citofonico che abbiamo chiamato RX LoRa, e l’estensore wireless di posto interno citofonico chiamato TX LoRa. Si osservi che l’impianto può essere costituito da un certo numero di posti interni citofonici, nello schema simboleggiati dall’immagine di un microtelefono, ognuno dei quali può essere collegato ad un estensore wireless citofonico mediante l’impiego delle due schede RX LoRa e TX LoRa. In pratica, vengono derivate verso l’interfaccia RX LoRa le cinque linee CA, 1, 2, 6 e 9, provenienti dai cavi di dorsale dell’impianto, le stesse linee che sono collegate ai rispettivi morsetti dei posti interni citofonici. I morsetti del citofono indicati a fianco dell’immagine del microtelefono (o cornetta) sono specificati di seguito:

• CA: Segnale di chiamata in ingresso dell’altoparlante proveniente dall’alimentatore dell’impianto e inviato al citofono chiamato dalla pulsantiera del posto esterno
• 1: Segnale vocale in ingresso dell’altoparlante proveniente dal parla-ascolta della pulsantiera del posto esterno
• 2: Segnale vocale del microfono diretto verso il parla-ascolta della pulsantiera del posto esterno
• 6-10: Massa di alimentazione dell’impianto
• 9: Tasto di comando apriporta

L’interfaccia RX LoRa è progettata in modo da non interferire con il normale funzionamento dell’impianto citofonico, come vedremo più avanti quando descriveremo la scheda. Le due schede costituiscono un sistema Master-Slave dove la scheda TX LoRa svolge la funzione di Master, mentre la scheda RX LoRa quella di Slave. In effetti, la scheda Master estensore wireless citofonico è costantemente in attesa di ricevere una chiamata dall’esterno, per esempio mediante la pressione di un pulsante della pulsantiera del posto esterno. Alla ricezione sonora della chiamata, l’utente dell’estensore wireless invia un comando all’interfaccia RX LoRa di attivazione della commutazione per il collegamento con le linee di colonna dell’impianto. Dopo la ricezione e l’esecuzione da parte della scheda RX LoRa del comando inviato dalla scheda Master TX LoRa, la modalità di conversazione fra posto interno e posto esterno è attiva.

Scheda d’interfaccia delle linee di colonna RX LoRa

La Figura 3 mostra lo schema elettrico della scheda d’interfaccia linee di colonna RX LoRa.

progetti

Figura 3: Scheda RX LoRa d’interfaccia linee di colonna

La scheda è costituita da quattro circuiti integrati, tre relè e alcuni componenti passivi. Il circuito integrato U1 è la scheda di sviluppo TTGO ESP32-Paxcounter LoRa32 OLED T3_ V2.1 1.6 che, operando come ricevitore LoRa, gestisce l’attivazione/disattivazione della conversazione su comando inviato dalla scheda di controllo trasmittente TX LoRa. La scheda RX LoRa, proprio grazie alla tecnologia LoRa, è in grado di ricevere il segnale a radio frequenza da lunghe distanze rispetto alla posizione del trasmettitore TX LoRa. La Figura 4a mostra la scheda di sviluppo TTGO LoRa32.

progetti

Figura 4a: Scheda di sviluppo TTGO LoRa32

La Figura 4b illustra la numerazione e funzioni dei pin della scheda di sviluppo TTGO LoRa32.

progetti

Figura 4b: Pin della scheda di sviluppo TTGO LoRa32

Il circuito integrato U2 SA628F22 è un interessante dispositivo integrato prodotto dalla NiceRF Wireless Technology. Il modulo SA628F22 è un completo sistema di trasmissione e ricezione vocale wireless in grado di funzionare in Full-duplex audio, in Full-duplex SMS e in PTT. Nel modulo è integrato un microfono per cui basta collegare un altoparlante, l'antenna e l’alimentazione per funzionare subito senza necessità di configurarlo in quanto già configurato dalla fabbrica di default in modalità PTT. Utilizzando un altro modulo SA628F22, può avvenire una conversazione tra due utenti in Full-duplex o in PTT come un semplice comune Walkie-Talkie. Un’altra importante caratteristica del modulo SA628F22 è la possibilità di effettuare una conversazione a grande distanza fra gli utenti fino a 3 Km nello spazio libero, grazie alla tecnologia LoRa con cui è stato progettato il modulo SA628F22. Inoltre, con il software di configurazione dei parametri fornito dall’azienda produttrice, il modulo SA628F22 può essere configurato in varie modalità operative. In Figura 5 viene riportato il modulo SA628F22.

progetti

Figura 5: Modulo audio wireless SA628F22

Il circuito integrato U3 HI-LINK HLK-5M05 è un modulo compatto convertitore AC-DC step down operante con tensione d’ingresso AC nominale da 100 VCA a 240 VCA e uscita a 5 VDC con una potenza nominale fino a 5W.
In questo progetto, il modulo HI-LINK HLK-5M05 viene utilizzato per ottenere una tensione continua stabilizzata di 5V dalla tensione alternata di rete a 230 VAC per alimentare i componenti della scheda RX LoRa senza la necessità di trasformatore d’isolamento ed altri componenti. Mediante l’invio di comandi dalle linee GPIO della scheda di sviluppo TTGO LoRa32, i relè RL1 e RL2 commutano l’attivazione/disattivazione della fonia citofonica della scheda RX LoRa, mentre RL3 pilota la serratura elettrica di apertura della porta. Nella Figura 6 viene riportato il modulo AC-DC HI-LINK HLK-5M05.

progetti

Figura 6: Modulo AC-DC HI-LINK HLK-5M05

Il circuito integrato LM324 è un dispositivo costituito da quattro amplificatori operazionali in grado di funzionare con tensioni d’ingresso alte fino a 36 V. Sono caratterizzati da alta stabilità e basso offset pur essendo un integrato a basso costo. In questo progetto LM324 viene utilizzato come buffer d’interfaccia ad alta impedenza verso la linea di colonna CA/PS dell’impianto citofonico tramite l’operazionale U4:D e come comparatore del segnale di uscita dal buffer mediante l’altro operazionale U4:C. La morsettiera M1 costituisce l’interfaccia di collegamento dei conduttori delle linee di colonna dell’impianto citofonico con la scheda RX LoRa. Oltre ai cinque morsetti di collegamento alle linee di colonna, due morsetti di M1 sono disponibili per collegare i conduttori della tensione di rete 230 VCA che alimenta la scheda. Descritti i componenti della scheda RX LoRa, andiamo a spiegare il suo funzionamento.

La scheda RX LoRa è totalmente inattiva finchè non arriva il tono di chiamata al morsetto CA della morsettiera M1, o se non arriva un comando dalla scheda trasmittente TX LoRa. Quando è presente una chiamata CA, il relativo segnale bitonale, il cui valore nominale è di 8 Vpp, si trova applicato all’ingresso del buffer-comparatore costituito dagli operazionali U4:D e U4:C dell’integrato LM324. Se il livello del segnale CA supera il riferimento di tensione del comparatore impostato a 1,5 V per almeno 100 ms, l’uscita del comparatore di circa 2,6V viene letta dalla porta ADC GPIO34 del microcontrollore LoRa32. Conseguentemente, viene inviato dalla stessa scheda RX LoRa un messaggio alla scheda TX LoRa che invia un messaggio di comando alla scheda RX LoRa di attivazione simultanea dei relè RL1 e RL2 e, contemporaneamente, del modulo audio wireless SA628F22.

L’attivazione di RL1 commuta il relè da NO-COM a NC-COM e di conseguenza il segnale vocale proveniente dal microfono del posto esterno citofonico al morsetto 1-ALT della morsettiera M1 si trova applicato all’ingresso “LINEIN” del modulo SA628F22 della scheda RX LoRa. All’ingresso LINEIN sono collegati due diodi in controfase per limitare a 0,7 V il segnale applicato, in quanto il massimo valore di picco è di 1 V. Ciò significa che quando un utente parla dal posto esterno, il segnale microfonico dal posto esterno viene applicato e trasmesso dalla LINEIN del modulo SA628F22 della scheda RX LoRa, all’uscita “SPK+ e SPK-” del modulo SA628F22 della scheda TX LoRa a cui è collegato un altoparlante.

L’attivazione di RL2 commuta il relè da NO-COM a NC-COM e di conseguenza il segnale vocale proveniente dalla linea di uscita “LINEOUT” del modulo SA628F22 della scheda RX LoRa, corrispondente al segnale microfonico trasmesso dal modulo SA628F22 della scheda TX LoRa, viene a trovarsi sul morsetto 2-MIC della morsettiera M1 e diretto verso l’altoparlante del posto esterno. A questo punto, i due moduli audio SA628F22 sono in collegamento wireless in full-duplex audio e la conversazione citofonica è attiva.

La scheda TX LoRa estensore wireless di posto interno citofonico

Nella Figura 7 viene mostrato lo schema elettrico della scheda TX LoRa.

progetti

Figura 7: Schema elettrico della scheda TX LoRa

La scheda TX LoRa è composta da tre circuiti integrati (o moduli), un transistor, un diodo led, un buzzer e qualche componente passivo. Anche questa scheda, coma la RX LoRa, impiega la scheda di sviluppo TTGO ESP32-Paxcounter LoRa32 OLED T3_ V2.1 1.6 (U1), il modulo SA628F22 (U2) e il modulo HI-LINK HLK-5M05 (U3). Di questi moduli trovate una sintetica descrizione nella trattazione della scheda RX LoRa e approfondimenti nei rispettivi datasheet dei produttori, quindi passiamo direttamente alla descrizione funzionale della scheda. Il microcontrollore LoRa32 della scheda di sviluppo TTGO ESP32-Paxcounter attende di ricevere dalla scheda RX LoRa il pacchetto di dati contenente il messaggio “call in progress” di chiamata in arrivo. All’arrivo del messaggio di chiamata, LoRa32 attiva una segnalazione sonora e luminosa intermittente temporizzata che cessa dopo qualche secondo. L’utente dell’estensore wireless citofonico interno può decidere di rispondere alla chiamata premendo il tasto P2 denominato “Button A” attivando così l’invio al ricevitore di un pacchetto di dati contenente il messaggio “intercom connected” di attivazione del citofono. Contemporaneamente, il microcontrollore LoRa32 attiva il modulo audio wireless SA628F22 che consente l’instaurarsi della fonia per la conversazione full-duplex con il posto esterno citofonico. L’utente, anche se non è presente una segnalazione di chiamata in corso, premendo il tasto P2 “Button A”, può lo stesso attivare l’invio al ricevitore di un pacchetto di dati contenente il messaggio “intercom connected” di attivazione del citofono, oppure, se il citofono è già attivo, il messaggio “intercom disconnected” di disattivazione del citofono. Inoltre, in qualsiasi momento può anche effettuare l’apertura della porta di accesso premendo il tasto P1 “Button B” che invierà il messaggio “door opening” al ricevitore RX LoRa.

Programmazione delle schede di sviluppo TTGO LoRa32

Per programmare le schede LoRa32 che fanno parte della scheda RX LoRa e TX LoRa utilizzeremo l’IDE di Arduino in cui installeremo alcune librerie. Occorre innanzitutto installare il driver che consente la comunicazione seriale USB della scheda con il computer. Per questo, LoRa32 utilizza il chip convertitore seriale UART-USB CP2104 integrato nella scheda. Collegate la scheda LoRa32 al computer tramite un cavo USB-micro USB. Se il sistema operativo del computer non riconosce automaticamente il chip CP2104, occorre scaricare il driver dal sito web http://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers e decomprimerlo in una cartella. Su Windows si installa eseguendo "CP210xVCPInstaller_x86.exe" o "CP210xVCPInstaller_x64.exe", a seconda del sistema operativo a 32 o 64 bit; per Mac, si installa il file DMG nell'archivio caricato. Per i sistemi operativi Windows XP e Vista occorre installare il driver dal sito https://www.silabs.com/community/interface/knowledge-base.entry.html/2017/01/10/legacy_os_softwarea-bgvU.

Dopo aver scollegato e ricollegato la scheda, nell’elenco delle periferiche di comunicazione in Windows dovrebbe apparire una porta COM identificabile come "Silicon Labs CP210x da USB a UART Bridge". Il prossimo step è l’installazione del software IDE di Arduino dal sito ufficiale www.arduino.cc (in questo articolo si fa riferimento alla versione software Arduino 1.8.15). All’avvio del programma, dall’IDE di Arduino occorre installare la scheda ESP32 quindi, da File > Impostazioni, alla voce “URL aggiuntive per il Gestore schede” inserite il link: https://dl.espressif.com/dl/package_esp32_index.json.
Poi, con Strumenti > Scheda > Gestore Schede, digitate “esp32” nella barra di ricerca. Selezionate “ESP 32 by Espressif Systems“ e cliccate su “Installa" per caricare il firmware di gestione della scheda ESP32 nell’IDE di Arduino. Completata l’installazione della scheda ESP32, da Strumenti > Scheda, selezionate la scheda " TTGO LoRa32-OLED V1”, poi selezionate la porta COM (su Windows) o ttyUSB (su Mac) corrispondente al driver “Silicon Labs CP210x USB to UART Bridge VCP”.

Installata la scheda ESP32 nell’IDE di Arduino, dobbiamo installare anche la libreria “LoRa Arduino” e le due librerie Adafruit per la gestione del display oled integrato nella scheda di sviluppo TTGO LoRa32. Le librerie si possono scaricare nel formato .ZIP dai seguenti rispettivi link:

LoRa Arduino: https://github.com/sandeepmistry/arduino-LoRa.
OLED: https://github.com/adafruit/Adafruit_SSD1306, https://github.com/adafruit/Adafruit-GFX-Library.

Il codice della scheda RX LoRa

Aprite l’IDE di Arduino e in un nuovo sketch copiate integralmente il seguente codice e salvatelo con il nome RX_LoRa_intercom, o come volete:

Codice RX_LoRa_intercom

//Libraries for LoRa
#include <SPI.h>
#include <LoRa.h>

//Libraries for OLED Display
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

//define the pins used by the LoRa transceiver module
#define SCK 5
#define MISO 19
#define MOSI 27
#define SS 18
#define RST 14
#define DIO0 26

//433E6 for Asia
//866E6 for Europe
//915E6 for North America
#define BAND 868E6

// RSSI stands for Recieved Signal Strength Indication.
//It indicates the strength of the signal between the LoRa boards.
String rssi = "RSSI --"; 

//OLED pins
#define OLED_SDA 21
#define OLED_SCL 22 
#define OLED_RST 16
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RST);

//When Button A is pressed on the transmitter,
//these texts will be included in the packet received.
String intercomON = "intercom connected";
String intercomOFF = "intercom disconnected";

//When Button B is pressed on the transmitter,
//this text will be included in the packet received. // This text will be included in the packet. 
String openDoor = "door opening"; 

const int relePin = 14; // Pin 2 controls the intercom enabling signal sent to the RELE'1 and RELE'2.
const int AP_relePin = 25; // Pin 4 controls the door openingsignal sent to the RELE'3.
const int CS_SA628F22 = 13; // Enable SA628F22, 0: sleep, 1: working.
const int audioinPin = 34; // receives analog audio signal CA/PS from outdoor intercom.

//ADC variables.
unsigned int VinRef = 1861; // Voltage reference VinRef corresponds to 1,5 Volt
unsigned int voltMeasured = 0; // audio in measured from Pin 34 ADC.

String packSize = "--";
String packet ;

void cbk(int packetSize) { // This routine will parse the packet and respond based on its contents

packet =""; // Start with a blank string for the packet
packSize = String(packetSize,DEC); // read packet
for (int i = 0; i < packetSize; i++) {
packet += (char) LoRa.read(); } // parse packet.

LoRaData(); // display the packet information on the OLED

if(packet.equals(intercomOFF)){ // check if the packet contains Button A text "intercomOFF",
digitalWrite(relePin, HIGH); // turn off RELE'1 and RELE'2.
digitalWrite(CS_SA628F22, LOW); // SA628F22 in sleep mode
}
if(packet.equals(intercomON)){ // check if the packet contains Button A text "intercomON",
digitalWrite(relePin, LOW); // turn on RELE'1 and RELE'2.
digitalWrite(CS_SA628F22, HIGH); // SA628F22 in working mode
}
if(packet.equals(openDoor)){ // check if the packet contains Button A text "door opening"
digitalWrite(AP_relePin, HIGH); // door opened, turn on RELE'3 using a 1000 ms positive pulse
delay(1000);
digitalWrite(AP_relePin, LOW);
}
}

void LoRaData(){
//print RSSI of packet
int rssi = LoRa.packetRssi();
Serial.print(" with RSSI "); 
Serial.println(rssi);

// Dsiplay information
display.clearDisplay();
display.setCursor(0,0);
display.print("RX LORA ");
display.setCursor(0,20);
display.print("Received packet:");
display.setCursor(0,30);
display.print(packet);
display.setCursor(0,40);
display.print("RSSI:");
display.setCursor(30,40);
display.print(rssi);
display.display(); 
}

void setup() {

//initialize Serial Monitor
Serial.begin(115200);

pinMode(relePin, OUTPUT); // initialize pin 2 as the pin output
digitalWrite(relePin, HIGH); // initialize RELE'1 and RELE'2 in off state

pinMode(CS_SA628F22, OUTPUT); // initialize pin 13 as the pin output
digitalWrite(CS_SA628F22, LOW); // initialize SA628F22 in sleep mode

pinMode(AP_relePin, OUTPUT); // initialize pin 13 as the pin output
digitalWrite(AP_relePin, LOW); // RELE'3 off. [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 5771 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.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend