Realizzare interruttori wireless senza batteria abilitati Bluetooth per prodotti intelligenti

Di Stephen Evanczuk

Contributo di Editori nordamericani di DigiKey

La rapida diffusione di prodotti connessi intelligenti ha alimentato la richiesta di interruttori wireless per facilitare la connettività. Essendo wireless, non servono altri fili e anche il loro posizionamento risulta agevolato. Gli interruttori wireless di ultima generazione sono però alimentati a batteria, il che aumenta i costi e la complessità di progettazione e costringe gli utenti a preoccuparsi della sostituzione della batteria. La soluzione potrebbe essere l'energy harvesting induttivo.

Esistono molte fonti di energia ambientale tra cui i fotoni, l'energia RF, le vibrazioni, i differenziali di temperatura e la pressione. Questo articolo si limiterà a descrivere un progetto di riferimento di energy harvesting induttivo, combinando parti di ON Semiconductor e ZF Electronics in un nuovo approccio basato su Bluetooth e sul protocollo open-source per beacon Eddystone.

Insieme, il progetto e il relativo kit di sviluppo porteranno a un modulo Bluetooth 5.0 a bassissimo consumo con tutta la potenza necessaria per scambiare segnali in modalità wireless con un hub o un prodotto intelligente con funzionalità Bluetooth.

Progetto a bassissimo consumo

Il kit di sviluppo BLE-SWITCH001-GEVB di ON Semiconductor combina un modulo Bluetooth 5.0 drop-in con un pulsante meccanico di energy harvesting, fornendo agli sviluppatori una soluzione immediata per un interruttore wireless, nonché la base per progetti di commutazione wireless personalizzati. In questo progetto, un energy harvester induttivo AFIG-0007 di ZF Electronics fornisce energia sufficiente per alimentare un system-in-package (SiP) Bluetooth 5.0 RSL10 di ON Semiconductor quanto basta per trasmettere beacon Bluetooth Low Energy (BLE). Quando riceve un beacon, un ricevitore con funzionalità BLE in un prodotto o hub intelligente può eseguire l'azione associata per controllare una luce, un relè o un altro dispositivo.

La chiave di questo progetto senza batteria risiede nell'abbinamento ideale tra i requisiti di potenza di RSL10 per la trasmissione dei beacon e la capacità di AFIG-0007 di generare abbastanza energia per soddisfare tali requisiti.

Progettato per rispondere alla crescente domanda di connettività wireless a basso consumo, il modulo RSL10 integra più blocchi funzionali per offrire una soluzione Bluetooth 5.0 completa (Figura 1). Il modulo include sia un core Arm® Cortex®-M3 per elaborazione per uso generale, sia il core del processore di segnali digitali (DSP) a 32 bit LPDSP32 di ON Semiconductor per applicazioni specializzate.

Schema del modulo SiP RSL10 di ON Semiconductor

Figura 1: Il modulo SiP RSL10 di ON Semiconductor combina più blocchi funzionali per offrire una soluzione Bluetooth 5.0 completa che consumi però molto poco. (Immagine per gentile concessione di ON Semiconductor)

Il modulo supporta questi processori con diverse periferiche e memorie, compresi 384 kbyte di flash, 76 kbyte di memoria di programma e 88 kbyte di memoria dati. Per le comunicazioni Bluetooth, il modulo include un front-end RF a 2,4 GHz che supporta lo strato fisico (PHY) Bluetooth e un controller in banda base che supporta protocolli Bluetooth 5.0 avanzati.

In grado di operare su un ampio intervallo di tensione di alimentazione che va da 1,1 a 3,3 V, RSL10 ha consumi estremamente bassi. Utilizzando il benchmark ULP (ultra-low-power) ULPMark del consorzio Embedded Microprocessor Benchmark (EEMB), RSL10 raggiunge un punteggio leader del settore di 1090 con un'alimentazione a 3 V e di 1360 quando usa un'alimentazione a 2,1 V.

In molte applicazioni wireless, tuttavia, l'alimentazione richiesta per supportare transazioni wireless ripetitive e di lunga durata può mettere alla prova i limiti anche del progetto energeticamente più efficiente. Il progetto di riferimento di ON Semiconductor affronta il problema dell'uso di transazioni wireless di brevissima durata rese possibili dai protocolli beacon basati su Bluetooth.

I beacon sono brevi messaggi che seguono i protocolli Bluetooth Advertising per trasmettere un identificatore o altri brevi spezzoni di dati a qualsiasi ascoltatore disponibile. Abbinati alle app di telefonia mobile specializzate, i beacon si sono ampiamente diffusi nel settore retail, dell'intrattenimento, del trasporto e in altri luoghi pubblici in cui potrebbero fornire informazioni sull'ubicazione dell'utente. Il progetto dell'interruttore wireless di ON Semiconductor si avvale di uno speciale tipo di beacon chiamato Eddystone.

I beacon Eddystone seguono uno standard aperto che specifica l'inviluppo e il carico utile dei dati associato a pacchetti di soli pochi byte. Per i beacon Eddystone, i formati del carico utile possono specificare un ID Univoco (UUID), un URL o altri tipi di dati di telemetria (TLM) come la temperatura (Figura 2).

Schema del formato standard industriale Eddystone (fare clic per ingrandire)

Figura 2: Il formato standard industriale Eddystone definisce l'inviluppo e il carico utile di un beacon in soli pochi byte. (Immagine per gentile concessione di ON Semiconductor)

Quando trova un beacon Eddystone, un'app ricevente può eseguire le azioni associate a quell'UUID, inviare l'utente a quell'URL oppure rispondere in modo appropriato ai dati di telemetria.

Sorgente di alimentazione tramite energy harvesting

Le trasmissioni dei beacon Eddystone possono essere anche di soli 10 ms e, con RSL10 a bassissimo consumo, l'energia richiesta per completarle può essere di appena 100 mJ, un valore che rientra perfettamente nelle capacità dell'energy harvester AFIG-0007.

All'interno dell'AFIG-0007 vi è una bobina attorno a un nucleo metallico in contatto con un blocco magnetico (Figura 3, a sinistra). Quando l'utente preme un attuatore caricato a molla, il blocco magnetico si sposta (Figura 3, a destra). Questa azione inverte la polarità del campo magnetico che attraversa la bobina, producendo un impulso di energia elettrica secondo i principi dell'induzione magnetica. Il rilascio dell'attuatore riporta il blocco magnetico nella sua posizione originale, generando un altro impulso di energia con polarità opposta.

Schema dell'energy harvester AFIG-0007 di ZF Electronics

Figura 3: Quando l'utente preme un attuatore incorporato nell'energy harvester AFIG-0007 di ZF Electronics, un blocco magnetico passa dalla posizione di riposo (a sinistra) a quella estesa (a destra), generando un primo impulso di energia quando l'attuatore viene premuto e un secondo impulso quando viene rilasciato. (Immagine per gentile concessione di ZF Electronics)

Con una vita prevista di 1 milione di cicli di commutazione, lo ZF di 20x7x15 mm soddisfa i requisiti meccanici e fisici chiave del progetto di un interruttore wireless. AFIG-0007 soddisfa inoltre facilmente anche i requisiti energetici del progetto. Con la sua capacità di generare circa 300 mJ a ogni ciclo di attivazione di pressione e rilascio, lo ZF fornisce a RSL10 energia sufficiente per trasmettere due o tre beacon Eddystone. Oltre a queste due parti, l'implementazione del progetto di un interruttore wireless richiede solo pochi componenti in più per completare il circuito di alimentazione tramite energy harvesting.

Progetto di alimentazione tramite energy harvesting

In genere i circuiti di alimentazione tramite energy harvesting richiedono combinazioni di convertitori di tensione e bobine per portare i livelli di tensione generati a quelli specifici richiesti da un microcontroller. In questo caso, l'ampio intervallo di alimentazione di RSL10 - che va da 1,1 a 3,3 V - semplifica il lavoro del progettista. L'uscita di AFIG-007 viene raddrizzata da un raddrizzatore a ponte intero Schottky NSR1030 e livellata con un circuito semplice composto da un diodo Zener SZMM3Z6V2ST1G, un condensatore di filtraggio/storage (C1) e un regolatore a bassa caduta di tensione (LDO) NCP170, tutti prodotti da ON Semiconductor (Figura 4).

Schema di RSL10 di ON Semiconductor

Figura 4: Gli sviluppatori possono alimentare RSL10 di ON Semiconductor con un semplice circuito di alimentazione che livella l'uscita raddrizzata dell'energy harvester AFIG-007 di ZF Electronics. (Immagine per gentile concessione di ON Semiconductor)

Il kit BLE-SWITCH001-GEVB di ON Semiconductor combina AFIG-007 e il circuito di alimentazione sopra ricordato con RSL10 su una scheda di 23x23 mm (Figura 5).

Immagine della scheda BLE-SWITCH001-GEVB di ON Semiconductor

Figura 5: La scheda BLE-SWITCH001-GEVB di ON Semiconductor pone il componente funzionale nella sezione centrale di una scheda di 23x23 mm (a sinistra). Alette staccabili sostengono le interfacce di sviluppo, compresa quella JTAG a 10 pin accessibile dal basso (a destra). (Immagine per gentile concessione di ON Semiconductor)

Mentre una sezione centrale di 7 mm contiene i componenti principali, le alette laterali rimovibili forniscono le interfacce di sviluppo che comprendono un'interfaccia JTAG/SWD a 10 pin per una scheda standard, ad esempio TC2050-IDC di Tag-Connect. Oltre all'interfaccia a 10 pin, le alette laterali forniscono delle basette per un ponticello e una sorgente di alimentazione esterna a 3,3 V (Vout) per la programmazione e il debugging tramite un programmatore JTAG connesso, come ad esempio 8.16.28 J-LINK ULTRA+ di Segger Microcontroller Systems.

Sviluppo dell'interruttore

Nella scheda BLE-SWITCH001-GEVB è precaricato un firmware che trasmette un beacon Eddystone ogni 20 ms finché il sistema non esaurisce la propria energia con una singola attivazione dell'interruttore. Per questa applicazione di esempio, il progetto trasmette prima di tutto un frame Eddystone-URL che contiene l'URL "https://onsemi.com/idk". Dopo questo frame iniziale, il progetto trasmette dei frame Eddystone-TLM che contengono i dati di telemetria, compresi quelli relativi alla tensione di alimentazione dell'interruttore, al tempo di operatività e al numero totale di pacchetti trasmessi fino a quel momento.

Il software di esempio Eddystone RSL10 di ON Semiconductor illustra gli schemi di progettazione di base per realizzare i frame e trasmetterli (Listato 1). Come mostrato, gli sviluppatori richiamano una funzione EddyService_Env_Initialize() per caricare un ambiente Eddystone struct, eddy_env_tag, con il carico utile per un frame Eddystone-URL. Per inviare il beacon, si richiama Eddy_GATTC_WriteReqInd() che costruisce il pacchetto, crittografa i dati tramite l'acceleratore di crittografia AES di RSL10 e invia poi (ke_msg_send()) il messaggio a una coda di trasmissione. I livelli di servizio inferiori recuperano i messaggi in coda, creano i pacchetti e li trasmettono.

Copy
struct eddy_env_tag eddy_env;
 
void EddyService_Env_Initialize(void) {
       /* Reset the application manager environment */
       memset(&eddy_env, 0, sizeof(eddy_env));
       .
       .
       .
       memcpy(eddy_env.advslotdata_value, (uint8_t[16] ) { 0x10, 0x03, 'o', 'n',
                                  's', 'e', 'm', 'i', '.', 'c', 'o', 'm', '/', 'i', 'd', 'k' },
                     eddy_env.advslotdata_length);
 
       eddy_env.advtxpower_value = OUTPUT_POWER_DBM; /* Set radio output power of RF */
 
 
Eddy_GATTC_WriteReqInd(…)
       .
       .
       .
       valptr = (uint8_t *) &eddy_env.advtxpower_value;
       .
       .
       .
       /* Enable and configure the base band block */
       BBIF->CTRL = BB_CLK_ENABLE | BBCLK_DIVIDER_8 | BB_WAKEUP;
       /* Copy in the exchange memory */
       uint8_t plain_text[16];
       for (int i = 0; i<=15;i++)
              plain_text[i] = eddy_env.challenge_value[15-i];
       memcpy((void *) (EM_BLE_ENC_PLAIN_OFFSET + EM_BASE_ADDR), plain_text, 16);
       /* Configure the AES-128 engine for ciphering with the key and the memory
        * zone */
       uint8_t encryptionkey[16];
       for (int i = 0; i<=15;i++)
              encryptionkey[i] = eddy_env.lockstate_value[16-i];
       Sys_AES_Config((void *) encryptionkey, EM_BLE_ENC_PLAIN_OFFSET);
       /* Run AES-128 encryption block */
       Sys_AES_Cipher();
       /* Access to the cipher-text at EM_BLE_ENC_CIPHER_OFFSET address */
       uint8_t encryptedtext_temp[16];
       memcpy(&encryptedtext_temp[0], (void *) (EM_BLE_ENC_CIPHER_OFFSET + EM_BASE_ADDR), 16);
       uint8_t encryptedtext[16];
       for (int i = 0; i<=15;i++)
              encryptedtext[i] = encryptedtext_temp[15-i];
       if (!memcmp(encryptedtext, eddy_env.unlocktoken_value, 16))
       .
       .
       .
ke_msg_send(…)

Listato 1: Il codice di esempio di ON Semiconductor illustra gli schemi di progettazione di base per definire il carico utile per un frame Eddystone-URL e inviare il frame una volta completato. (Codice per gentile concessione di ON Semiconductor)

I beacon trasmessi possono essere rilevati da qualsiasi host che supporti BLE entro il raggio di portata oppure possono essere visualizzati in un dispositivo mobile vicino tramite un'app per beacon come l'app per telefonia mobile RSL10 di ON Semiconductor. Per controllare i dispositivi con l'interruttore wireless gli sviluppatori possono usare il kit di sviluppo IoT BLE BDK-GEVK basato su RSL10 di ON Semiconductor per elaborare i beacon ed eseguire le azioni ad essi associate. Possono ad esempio implementare una luce controllata con un interruttore wireless combinando la scheda base BDK-GEVK con la scheda ballast a due LED D−LED−B−GEVK di ON Semiconductor. Quando progettano applicazioni comandate da un motore, gli sviluppatori possono combinare la scheda base con la scheda driver per motori c.c. brushless BLDC-GEVK di ON Semiconductor oppure quella per motori passo-passo D-STPR-GEVK.

Infine, per implementare l'interruttore wireless possono semplicemente togliere le due alette, lasciando un unico assieme di 7x23 mm che contiene tutti i componenti funzionali (Figura 6).

Immagine della scheda di sviluppo di ON Semiconductor e del tipico telaio dell'interruttore a bilanciere

Figura 6: Dopo aver rimosso le due alette dalla scheda di sviluppo di ON Semiconductor (a sinistra), gli sviluppatori possono facilmente posizionare l'assieme di 7x23 mm in un telaio di interruttore a bilanciere (a destra). (Immagine per gentile concessione di ON Semiconductor)

Trovandosi nella parte posteriore dell'assieme, l'attuatore ZF può essere posizionato sotto un interruttore a bilanciere o sotto le sedi vuote per gli interruttori.

Conclusione

Gli interruttori wireless offrono una soluzione esente da manutenzione per la domanda in rapida crescita di prodotti intelligenti di controllo. Nel caso tuttavia dei progetti wireless convenzionali, perché funzionino è richiesta una batteria, cosa che aumenta i costi e la complessità del progetto e costringe gli utenti a preoccuparsi della gestione della batteria e della sua sostituzione. Un progetto di riferimento di ON Semiconductor elimina in gran parte questi problemi utilizzando l'energy harvesting per alimentare un modulo Bluetooth 5.0 a bassissimo consumo con tutta la potenza necessaria per scambiare segnali in modalità wireless con un hub o un prodotto intelligente con funzionalità Bluetooth.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk ha più di 20 anni di esperienza come autore sull'industria elettronica e ha scritto su una vasta gamma di argomenti tra cui hardware, software, sistemi e applicazioni, incluso l'IoT. Ha ricevuto un Ph.D. in neuroscienze sulle reti neuronali e ha lavorato nel settore aerospaziale su sistemi di sicurezza ampiamente distribuiti e sui metodi di accelerazione algoritmica. Attualmente, quando non scrive articoli su tecnologia e ingegneria, lavora su applicazioni di deep learning per i sistemi di riconoscimento e di raccomandazione.

Informazioni su questo editore

Editori nordamericani di DigiKey