Jste zde

Návrh bezdrátového tlačítka bez baterie

Inteligentní instalace jsou často vybaveny bezdrátovou technologií a k tomu se hodí bezdrátové tlačítko. Stávající bezdrátové tlačítka jsou napájeny bateriemi, což zvyšuje náklady a nutí uživatele, aby se zabývali výměnou baterií. Jde to i jinak, a to využitím indukční energie během stisknutí tlačítka.

Existuje mnoho zdrojů okolní energie včetně fotonů, RF energie, vibrací, teplotních rozdílů a tlaku. Tento článek bude popisovat referenční konstrukci s využitím indukčního získávání energie tzv. nductive energy harvesting, která kombinuje součástky od ON Semiconductor a   ZF Electronics. Řešení je založeno na standardu Bluetooth 5.0 a otevřeném beacon protokolu od Eddystone.

Ultra nízký výkon

Vývojový kit ON Semiconductor  BLE-SWITCH001-GEVB obsahuje Bluetooth 5.0 modul a mechanické tlačítko, které dovede přeměnit stisknutí tlačítka v elektrickou energii. V tomto provedení poskytuje induktor ZF Electronics AFIG-0007 dostatečný výkon pro napájení systému ON Semiconductor RSL10 Bluetooth 5(SiP), aby vysílal Bluetooth beacons. Po přijetí beaconu se může na straně přijímače provést příslušná akce, například řízení LED diody či sepnutí relé.

Klíč tohoto řešení je v tom, že AFIG-0007 dokáže generovat dostatek energie, aby RSL10 dokázal vyslat beacon. Modul RSL10 poskytuje kompletní řešení Bluetooth 5 (Obrázek 1). Obsahuje jádro Arm Cortex-M3 pro všeobecné použití a 32-bitové jádro v procesoru LPDSP32 pro specializované aplikace.

  

Obrázek 1: Modul RSL10 SiP od ON Semiconductor poskytuje kompletní řešení Bluetooth 5.0 s minimální spotřebou. (Zdroj obrázku: ON Semiconductor)

Kromě těchto procesorů je na modulu také 384 kB Flash paměť, 76 kB paměť pro program a 88 kB paměť pro data. Pro komunikaci Bluetooth obsahuje modul 2,4 GHz koncový stupeň, který přímo podporuje fyzickou vrstvu Bluetooth (PHY) a baseband kontrolér, který podporuje pokročilé funkce protokolu Bluetooth 5.0.

Je schopen pracovat v širokém rozsahu napájecího napětí od 1,1V až 3,3 V. S použitím vestavěného mikroprocesorového benchmarku (EEMB), ULPMark - ultra low power (ULP) dosahuje RSL10 špičkového skóre 1090 s 3 voltovým napájením a 1360 při provozu s napájením 2,1V.

Beacony jsou krátké zprávy, které navazují na protokol Bluetooth Advertising pro vysílání identifikátoru nebo jiného krátkého datového souboru k jakémukoli dostupnému posluchači. Beacony spárované s mobilní aplikací našli široké použití v maloobchodě, zábavě, dopravě a jiná veřejná místa, kde beacon poskytuje informace týkající se polohy uživatele. ON Semiconductor používá speciální typ beaconu nazvaného beacon Eddystone.

Eddystone beacon vychází z otevřeného standardu, který specifikuje obálku a užitečná data(payload) o velikosti několik bytů. Formát užitečných dat je přesně specifikován a obsahuje jedinečný identifikátor (UUID), URL adresu nebo různé typy dat telemetrie (TLM), například teplotu (obrázek 2).

Obrázek 2: Průmyslový standard Eddystone definuje obálku beaconu a užitečná data (payload) pouze v několika bajtech. (Zdroj obrázku: ON Semiconductor)

Zdroj energie

Přenos zprávy u beacon Eddystone trvá cca 10 ms. Energie potřebná k přenosu zprávy je pouhých 100 mJ a to díky nízké spotřebě RSL10. Tlačítko AFIG-0007 po stisknutí dokáže vygenerovat právě takové množství energie.

Uvnitř AFIG-0007 je cívka, která má kovové jádro spojené s magnetickým blokem (obrázek 3, vlevo). Když uživatel stiskne pružinový mechanismus, magnetické bloky se posunou (obrázek 3, vpravo). Tato akce vyvolá změnu polarity magnetického pole cívkou, což vede k vytvoření pulsu elektrické energie. Uvolnění tlačítka způsobí, že se magnetický blok vrátí zpět do své původní polohy, což má za následek další puls energie, ale s opačnou polaritou.

Obrázek 3: Mechanické uspořádání při stisku a uvolnění tlačítka AFF-0007 od společnosti ZF Electronics  (Zdroj obrázku: ZF Electronics)

Životnost dosahuje 1 000 000 spínacích cyklů. Rozměry AFIG-0007 jsou 20 x 7 x 15 mm, což je ideální velikost do bezdrátových zařízení. Dokáže generovat přibližně 300 mJ při každém stisknutí a uvolnění tlačítka. Tím pokryje energetické požadavky pro přenos dvou nebo tří zpráv beacon Eddystone.

Návrh zdroje energie (harvesting power supply)

Abychom získali kompletní napájecí zdroj se správnou úrovní napětí, které vyhovuje mikroprocesoru, musíme připojit několik součástek (měniče napětí a kondenzátory). RSL10 můžeme napájet napětím od 1,1V do 3,3 V, což celý návrh značně zjednodušuje. Výstup AFIG-0007 se usměrní pomocí Schottkyho kompletního můstku NSR1030. Za můstkem následuje Zenerova dioda SZMM3Z6V2ST1G a filtrační kondenzátor (C1). Pak přichází na řadu low-drop regulátor NCP170 (LDO) od ON Semiconductor (Obrázek 4).

Obrázek 4: Vývojáři mohou napájet RSL10 pomocí jednoduchého napájecího obvodu, kde jako zdroj energie je použito tlačítko AFIG-007od ZF Electronics. (Zdroj obrázku: ON Semiconductor)

 

Modul BLE-SWITCH001-GEVB je kompletní napájecí zdroj s tlačítkem AFIG-0007. Zapojení modulu je zobrazeno na obrázku 4. Modul obsahuje také procesor RLS10 a to vše na desce o rozměru 23 x 23 mm (obrázek 5).

Obrázek 5: Deska BLE-SWITCH001-GEVB od ON Semiconductor obsahuje funkční komponentu, která je umístěna ve střední části desky (vlevo). Na druhé straně na odlamovací části je 10-pinového rozhraní JTAG (vpravo). (Zdroj obrázku: ON Semiconductor)

 

Středová část je široká 7 mm a obsahuje kompletní napájecí zdroj a procesor RLS10. Vznikne po odlomení bočních částí, které obsahují 10-pinového rozhraní JTAG / SWD TC2050-IDC od Tag-Connect a hřebínkový konektor pro jumper a pro připojení externího napájecího zdroje 3.3 V (Vout). K desce lze pomocí konektoru připojit JTAG programátor  Segger Microcontroller Systems 8.16.28 J-LINK ULTRA+.

Vývoj firmware

Vvývojová deska BLE-SWITCH001-GEVB je dodávána s předinstalovaným firmwarem, který přenáší beacon Eddystone každých 20 ms, dokud se nevyčerpá energii z tlačítka. Ukázková aplikace nejprve přenáší rámec Eddystone-URL obsahující URL adresu  https://onsemi.com/idk. Po tomto počátečním rámci přenese Eddystone-Rámce TLM, které obsahují telemetrické údaje ( velikost napájecího napětí, jeho doby náběhu a celkový počet dosud přenesených paketů).

Ukázkový software RSL10 Eddystone obsahuje základní vzory pro vytváření rámců a jejich přenos (Výpis 1). Po zavolání funkce EddyService_Env_Initialize () se načte struktura eddy_env_tag s užitečnými daty (payload) pro rámec Eddystone-URL. Pro odeslání beaconu slouží funkce Eddy_GATTC_WriteReqInd (), který sestavuje paket, šifruje data pomocí akcelerátoru AES v RSL10 a poté odešle pomocí ke_msg_send () zprávu do fronty. Nižší vrstvy načítají zprávy z fronty, sestavují pakety a zajišťuje jejich přenos.

 
struct eddy_env_tag eddy_env;
 
void EddyService_Env_Initialize (void) {
/ * Obnovení prostředí správce aplikací * /
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; / * Nastavit výkon rádiového výstupu RF * /
 
Eddy_GATTC_WriteReqInd (…)
.
.
.
valptr = (uint8_t *) & eddy_env.advtxpower_value;
.
.
.
/ * Povolit a nakonfigurovat blok základního pásma * /
BBIF-> CTRL = BB_CLK_ENABLE | BBCLK_DIVIDER_8 | BB_WAKEUP;
/ * Kopie ve výměnné paměti * /
uint8_t plain_text [16];
pro (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);
/ * Konfigurace motoru AES-128 pro šifrování pomocí klíče a paměti
* pásmo */
uint8_t šifrovací klíč [16];
pro (int i = 0; i <= 15; i ++)
encryptionkey [i] = eddy_env.lockstate_value [16-i];
Sys_AES_Config ((void *) šifrovací klíč, EM_BLE_ENC_PLAIN_OFFSET);
/ * Spustit šifrovací blok AES-128 * /
Sys_AES_Cipher ();
/ * Přístup k šifrovacímu textu na adrese EM_BLE_ENC_CIPHER_OFFSET * /
uint8_t encryptedtext_temp [16];
memcpy (& encryptedtext_temp [0], (void *) (EM_BLE_ENC_CIPHER_OFFSET + EM_BASE_ADDR), 16);
uint8_t šifrovaný text [16];
pro (int i = 0; i <= 15; i ++)
šifrovaný text [i] = encryptedtext_temp [15-i];
if (! memcmp (šifrovaný text, eddy_env.unlocktoken_value, 16))
.
.
.
ke_msg_send (…)
 

Výpis 1: Ukázkový kód ON Semiconductor obsahuje základní vzory pro sestavení rámce Eddystone-URL a jeho následné odeslání. (Zdroj kódu: ON Semiconductor)

Vysílané beacony mohou být detekovány libovolným BLE zařízením v dosahu nebo je můžeme zobrazovat na mobilním telefonu pomocí aplikace ON Semiconductor RSL10. Pro ověření přijmu beaconu můžeme využít vývojovou sadu BDK-GEVK BLE IoT, která umožňuje příjem beaconů a provést příslušnou akci. Například lze ovládat duální LED bezdrátovým tlačítkem, a to kombinací základní desky BDK-GEVK s deskou D − LED − B – GEVK, která obsahuje duální LED diodu. Pro aplikace pro bezkartáčové DC motory mohou vývojáři zkombinovat základní desku s driverem DCDC BLDC-GEVK nebo D-STPR-GEVK pro řízení krokového motoru. Po odlomení bočních částí vznikne sestava o velikosti 7 x 23 mm, která obsahuje všechny funkční komponenty (obrázek 6).

Obrázek 6: Po odstranění dvou bočních částí z desky ON Semiconductor dev (vlevo), můžeme snadno umístit sestavu 7 x 23 mm do typického kolébkového tlačítka (vpravo). (Zdroj obrázku: ON Semiconductor)

Protože akční člen ZF leží v zadní části, může být umístěn pod kolébkovým tlačítkem GIL-2000-2010 od CW Industries.

Závěr

Bezdrátové tlačítka nabízí flexibilní použití a splňuje požadavky pro řízení chytrých produktů. Běžné bezdrátové zařízení jsou napájeny z baterií zvyšuje náklady a nutí uživatele, aby si hlídali stav baterie a mysleli na včasnou výměnu. Referenční návrh od ON Semiconductor tyto problémy do značné míry eliminuje. Pomocí speciálního tlačítka dokáže přeměnit mechanickou energii stisknutí na elektrickou energii a upravit ji pro modul RSL10, který obsahuje Bluetooth 5.0. Díky nízké spotřebě modulu dokáže vysílat beacony do okolí a bezdrátově komunikovat s ostatními zařízeními.

Článek vyšel v originále "Build a Battery-Free Bluetooth-Enabled Wireless Switch for Smart Products"  na webu DigiKey.com, autorem je Stephen Evanczuk

Hodnocení článku: