TagiTag, alebo zabudni na zabúdanie

TagiTag, alebo zabudni na zabúdanie
Dominik Oleksak Pridal  Dominik Oleksak
  668 zobrazení
8
 1
Zaujímavé zapojenia

Poznámka redakcie : "Mikro" projekt slovenského vývojára Dominika Oleksaka nie je síce veľký svojim prevedením, ale je to zaujímavý nápad dotiahnutý do finálnej podoby. Ste a vy vývojár a máte nejaké nápady o ktoré by ste sa radi podelili? Kontaktujte nás - klikni


Problém

Bežný deň servisného technika - vyrážam ku zákazníkovi, po 5-tich minútach jazdy autom mi v hlave začína hrať stará známa pesnička - čooo som si asi zabudol doma? Nasleduje kontrola šmátranim - doklady v dosahu, telefóny oba, kľúče od bytu, obal od včerajšieho hotdogu aj s trochou horčice… kameň úrazu šmátracej metódy… nájdem aj to čo som nehľadal. Ďalší je, že nemám ruku ako Saxána, do kufra auta zo sedadla vodiča nedočiahnem a preto ak ma pochybnosti prinútia, zastavujem na odpočívadle aby som vykonal kontrolu okom. Fast forward niekoľko hodín, odchádzam od zákazníka - po pár hodinách práce, unavený, vyhladnutý a prípadne, ako bonus, celý špinavý - vážne nemám chuť znovu kontrolovať všetko náradie (pre predstavu, je to zmes > 100ks prístrojov, ručneho náradia, prípravkov) a preto sa stane že niečo ostane zákaznikovi ako suvenír (čo je nemilé keďže napr. špeci USB flashka dokáže stáť cez 500€). Takže načrtol som problém, ako ho teda vyriešiť?

Riešenie

Riešenim by bolo malé elektronické zariadenie, ktoré by indikovalo prítomnosť ním označeného predmetu v mojej blízkosti. Intergalaktický indikačný označovač. Alebo… alebo by som mohol pouzit BLE (bluetooth low energy) tag. BLE tagov je na trhu nepreberné množstvo, teraz si len vybrať. Keďže potrebujem "otagovať" 100+ predmetov a niesom milionár, vylúčené sú všetky s cenou > 10€/ks. Nepreberné množstvo sa v okamihu scvrkáva na veľmi dobre preberné resp. už sa nieje čím preberať. Aliexpress to istí, objednávam zopár vzoriek, rôzne typy, no nedaj 2-3 eurá za vyskúšanie. Po pár týždňoch a tisíckach kilometrov mi tagy pristávaju na stole, ide sa testovať. Prvé prekvapenie je veľkosť tagov. Prezentované ako "mini" (bez ďalších údajov o rozmeroch), to som si predstavoval trochu inak. Nevadí, kúpim si väčší ruksak a gate s väčšími vreckami. Inštalácia appiek -  v podstate 3 situácie:

  1. aplikácia nieje v GPlay a treba ju stiahnuť z nejakej pofidérnej stránky, paranoja bokom ale asi existuje dôvod prečo nieje v GPlay, neinštalujem.
  2. Wuhuu, appka je v GPlay, nanešťastie padne hneď po spustení.
  3. Appka je v GPlay, po odklikaní par dialogov po čínsky (asi potvrdenie o večnej vernosti PRC a že vodca je veľký a tak) appka funguje.

Na moje sklamanie funkcionalita je cca. vidím BLE adresu tagu, nedá sa premenovať ani nijako inak identifikovať, môžem tag "prezvoniť" čo je v mojom prípade na dve veci (diskoška u zákazníka kým prezvoním 100 tagov) + prehraním reklamy môžem zbierať body ani neviem načo (možno sociálne body). To som si teda moc nepomohol. Buď skúsim drahšie tagy… alebo si vyrobím vlastné, také ako potrebujem, nič viac, nič menej.

Špecifikácia

Takže, čo potrebujem:

  • musia byť naozaj "mini", príliš nepridávať na objeme predmetu ktorý budú označovať
  • baterka sa musí dať vymeniť, nebudem predsa vyhadzovať tag zakaždým keď sa vybije (áno, aj také sa predávajú), baterka by mala vydržať nejaký rozumne dlhý čas
  • dosah, v podstate stačí taký, aby appka "dovidela" zo sedadla vodiča do kufra auta, divná to miera ale hej, tak nejak som uvažoval
  • v appke by sa tag mal dať označiť menom, mal by som vidieť či je v dosahu, prípadne kde som ho zabudol

Výsledok

Podarilo sa? Podarilo sa. Produktom projektu je homemade BLE tag o veľkosti (ŠxVxH) 18.5mm x 22.5mm x 2.8mm, s dosahom signálu cca 10m, výdržou batérie +- 6 mesiacov a appkou pre Android v ktorej sa dozviete či je tag v dosahu, prípadne kde a kedy ho smartfón naposledy "videl". Je v nej možné vytvoriť "checklist" na rýchle pridanie tagov do zoznamu a následnu kontrolu ich prítomnosti a tiež vytvoriť "situácie" t.j. napríklad keď opúšťam dosah tagu ktorý označuje môj byt, skontroluj či mám pri sebe peňaženku, kľúče, … Tag je možné umiestniť dvoma základnými spôsobmi, 1. zavesiť - nato slúži "pendant" do ktorého sa tag vloží a 2. na niečo pripnúť, na to slúži "bracket" s uškami cez ktoré sa prevlečie suchý zips. Samozrejme, nič nebráni tomu aby ste tag niekam jednoducho položili, prilepili alebo si ho niekam…uhm…strčili. Prezentačné video a ďalšie info môžete nájsť na stránke projektu www.tagitag.eu, alebo na FB stránke projektu - klikni

Video

Aplikácia

Alikáciu pre Android si môžte stiahnuť na GooglePlay na tomto odkaze - klikni

Priebeh projektu

Výber SOC

Takže, kde začať. Najlepšie by bolo najprv vybrať BLE SOC (system on chip) od ktorého sa budú odvíjať ďalšie parametre pre návrh tagu. Rozhodujúce sú rozmery, cena, spotreba. Keďže som s BLE nikdy pred tým nepracoval, budem potrebovať nejaký vývojový kit. Po rýchlom prieskume trhu, sa mi z bežne dostupných BLE SOC najviac pozdáva DA14580 od Dialog Semiconductor (DS). V tom čase* najmenší bežne dostupný BLE SOC, s nízkou spotrebou, prijateľnou cenou (cca 1,5€/ks mn. 1ks, 1€/ks mn. 100ks) a vývojovým kitom. SOC je dostupný vo viacerých púzdrach, pre konečnú aplikáciu sa mi najviac páči púzdro WLCSP34. Jedná sa o CSP púzdro (menšie BGA) s rozmermi 2.4mm x 2.4mm, hrúbka (aj s guličkami) 0.5mm, 34 vývodov s pitchom 0.4mm a priemerom 0.25mm. SOC by sme mali. Vývojový kit som použil tento - klikni.

* dnes už je dostupný DA14531, ktorý je ešte menší a má nižšiu spotrebu.

Firmware, programovanie chipu

Ku DA14580 je dostupný všetok softvér potrebný na programovanie a debuggovanie. Aj keď sa nejedná o najmodernejšie IDE (Keil uVision), je v skratke, lepšie ako drôtom do oka a písať kód do "texťáku". Súčasťou inštalácie je SDK ktoré poskytuje code templaty, čo je dobrý začiatok (hlavne v prípade tak divnej architektúry na akej je DA14580 postavené). Ďalší kúsok softvéru je SmartSnippets™ Studio, kapitola sama o sebe (široká funkcionalita), použil som ho iba na programovanie SOC. Nejaký čas som strávil bádaním a kódením, súčasne som vyvíjal firmware pre DA14580 (na vývojovom kite) a appku pre Android. Ku vývoju appky toho moc nemám, je to moja prvá appka pre Android a Javu som sa učil popri - takže viac bádania ako kódenia. Čo sa firmwaru týka, celé čo SOC robí je: po spustení (v praxi po vložení baterky) vygeneruje náhodnu BT adresu, niekoľko parametrov pre synchronizáciu a začne vysielať v 1 sekundových intervaloch. Z tohto "párovacieho" režimu sa po desiatich minútach prepne do normálneho režimu, vygeneruje novú adresu, ďalej nevysiela synchronizačné parametre, stále vysiela v 1 sekundových intervaloch. Každú hodinu vygerneruje novú adresu (pokus o "bezpečnosť" aby tagy nemohol sledovať hockto kto má v mobile nainštalovaný BLE scanner). Okrem adresy ešte vysiela stav batérie. A to je celé. Na debugovanie BLE sa určite zíde BLE Sniffer, tento funguje - klikni.  Tento zas nefunguje - klikni.

Návrh a výroba DPS

Pred samotným návrhom DPS samozrejme potrebujem "zabrdnúť" aj do púzdra WLCSP34 ktoré plánujem použiť v konečnej aplikácii. Teraz ho už len nejako pripojiť. Rozhodol som sa zaexperimentovať, nie žeby som mal na výber, programovací socket pre WLCSP34 bežne nepredávajú v elektre narohu. Ako zvyčajne, pustil som sa cestou nepreskúmanou, dal som si do plastovej doštičky navŕtať 34 dierok. Kým sa pracovalo na mojom "custom sockete", nedalo mi to a poriešil som to takto.

Custom socket ala plastová doštička s 34 dierkami dopadol neslávne, predstava že by to mohlo fungovať bola prinajmenšom naivná. Aspoň som to celkom rýchlo pochopil a dal si vyrobiť originál test&burn-in socket tu: www.allsocket.com .

Vďaka šikovnosti pánov inžinierov z DS, DA14580 potrebuje minimum externých komponentov a preto stačí obyčajný dvojstranný "plošák".

Schéma zapojenia

U1 - DA14580-01UNA, WLCSP34, Dialog Semiconductor DA14580-01UNA
C1-C4 - 1µF, X5R 6.3V ±10%, 0201, Taiyo Yuden JMK063ABJ105KP-F
L1 - 2.2uH, 0402, Sunlord SDFL1005Q2R2KTF
Q1 - 16MHz, 10pF, 100Ω, ±10ppm, SMD2016-4P, HD 7D016000I01
A1 - 3.2x1.6mm, Shenzhen Kinghelm Elec KH3216-A55

Keďže nemám k dispozícii spektrálny analyzér, ladenie antény sa nekoná. Návrh je teda skusmo.

Jediný problém ktorý sa vyskytol bolo presvedčiť číňanov aby to vyrobili za normálnu cenu - neštandardná časť je footprint DA14580-01UNA, pady su malé a príliš blízko seba. Po dohode že si priplatím za ENIG (cca +15€ oproti HASL), nebolo treba použiť "premium service" a teda DPS vyrobili za štandardnú cenu. Vyrábalo sa tu: www.elecrow.com

Výroba kontaktov

Kontakty sú vyrobené z CuSN6 (pružný materiál s dobrou vodivosťou), vymodelované vo Fusion360, na CuSN6 plech hrúbky 0,15mm nanesený suchý fotorezist DuPont Riston T215 (podarilo sa zohnať na slovensku: https://eshop.dpsk.sk), fotorezist aktivovaný na displeji SLA 3D tlačiarne, šup ho do vývojky Na2CO3 1%, vyleptaný vo FeCl3.

Kontakty je nakoniec potrebné zvlniť a na zabránenie oxidácie medi poniklovať.

Osadenie

Ako prvý osádzam DA14580 pomocou custom prípravku ktorý vymedzí polohu komponentu.

Keď je DA14580 osadený, nanesiem spájkovaciu pastu, poukladám komponenty a zafúknem teplovzduškou.

Návrh a výroba krabičky

Krabička navrhnutá vo Fusion360, vytlačená na SLA 3D tlačiarni (Elegoo Mars Pro). Použitý resin je Resione K (ABS-like). Lesklý povrch výtlačku som docielil použitím pružnej platformy. Je to plech z pružinovej ocele, ktorý sa na pevnú  platformu prichití magnetom. Keď je tlač hotová, pružnú platformu oddelím od pevnej, ohnem a výtlačky poodpadávajú. Kúpiť sa dá tu - klikni

Finále

Teraz to už len celé poskladať, otestovať a je hotovo. Vlastne, pri skladaní je dôležitý ešte jeden krok - DA14580-01UNA je potrebné prekryť vrstvou hmoty ktorá neprepustí slnečné žiarenie, pretože ako sa ukázalo, 0.04mm vrstva laku ktorá kryje wafer DA14580-01UNA chip dostatočne neochráni a na priamom slnku sa SOC reštartuje. Na prekrytie som použil čierny Mamut.

Na záver, tag nieje dokonalý asi po žiadnej stránke, povedal by som že je to tým, že sa jedná o 1 man project, teda všetko som robil sám (okrem častí na ktoré nemám vybavenie - výroba DPS, výroba test&burn-in socket, …) a vzhľadom na to koľko toho trebalo stíhnuť, nebol moc čas sa s tým patlať. Tag je však funkčný a slúži účelu. Tento projekt som uzavrel a ďalej ho nerozvíjam. Ak v projekte vidíte potenciálny komerčný produkt, projekt rád predám so všetkým know-how, inetelektuálnym vlastníctvom, právami a vybavením potrebným na výrobu.



Páčil sa Vám článok? Pridajte k nemu hodnotenie, alebo podporte jeho autora.
 

       

Komentáre k článku

Dominik Oleksak pred 2 rokmi

Kazdy koment je vitany, ci uz mas otazku alebo poznamku, napis to sem, nech sa o tom mozme pobavit...diky :)

Pre komentovanie sa musíte prihlásiť.

Vaša reklama na tomto mieste

Vyhľadajte niečo na našom blogu

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo


Webwiki Button