Obsah:

Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě: 8 kroků
Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě: 8 kroků

Video: Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě: 8 kroků

Video: Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě: 8 kroků
Video: Hướng Dẫn Thiết Kế Website Bán Hàng Chuyên Nghiệp Chuẩn SEO - Cách Tạo Website Từ A - Z [2021] 2024, Červenec
Anonim
Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě
Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě

Instaluje se do automobilů a díky detektoru umístěnému na dětské sedačce nás - prostřednictvím SMS nebo telefonátu - varuje, pokud se dostaneme pryč, aniž bychom s sebou vzali dítě

Krok 1: Úvod

Úvod
Úvod

Mezi nejsmutnější (a v každém případě občasné) nehody ve zprávách patří ty z rodičů, které - kvůli čilosti, zdravotním problémům nebo nedostatku pozornosti - vystoupily z auta a „zapomněly“své děti na dětské sedačce, v horkém nebo chladném prostředí. Určitě se dalo takovým nehodám předejít, kdyby někdo nebo něco řidiči připomnělo, že nechal dítě v autě; technologie nepochybně může pomoci a nabídnout řešení, která má být do vozidla implementována výrobcem nebo typu „dovybavení“, jako je zde popsaný projekt. Jedná se o zařízení založené na mobilním telefonu GSM, které detekuje některé parametry, na jejichž základě se vyhodnocuje chování řidiče a provádějí se potřebné akce: zejména se do telefonu odjíždějícího ovladače odešle SMS z auta. Zařízení je nainstalováno v automobilu a je napájeno jeho elektrickým systémem; ověřuje, že je dítě na svém sedadle (pomocí senzoru, který se skládá z některých nízkoprofilových tlačítek, namontovaných na prkénku, který se umístí pod kryt dětské sedačky): pokud se ukáže, že jsou tlačítka stisknuta (proto je dítě sat), obvod také ověří, že se vozidlo zastavilo (pomocí tříosého akcelerometru), pokud ano a po uplynutí nastaveného času odešle poplachovou SMS zprávu na telefon řidiče a vydá bzučák.

Kromě toho uskutečňuje hovor na stejné telefonní číslo a případně na další, takže rodiče, přátelé a další lidé mohou zavolat řidiči, aby ověřili, co se děje. I když je první volbou výše zmíněná aplikace, projekt byl v naší laboratoři vytvořen jako platforma, kterou lze upravit pro další dva účely. První z nich je zařízení se zbytkovým proudem pro starší a křehké lidi, zatímco druhé je dálkový alarm fungující v případě výpadků proudu (a užitečné pro zamezení toho, aby se mraznička odmrazovala a potraviny v ní obsažené se staly nebezpečnými)).

Krok 2: Uložte schéma mého dítěte

Schéma zapojení mého dítěte
Schéma zapojení mého dítěte

Pojďme se tedy podívat, o co jde, a analyzovat elektrické schéma obvodu, jehož správa byla svěřena mikrokontroléru PIC18F46K20-I/PT od společnosti Microchip, který byl naprogramován pomocí našeho firmwaru MF1361, takže čte stav vstupy (ke kterým je připojen snímač hmotnosti dětské sedačky a případné detekční zařízení) a získává signály dodávané akcelerometrem (U5) a hovoří s externí UEP (U4) (obsahující nastavení pro fungování systému)) a propojuje možný (U6) rádiový přijímač a spravuje (GSM) mobilní modul.

Všimněte si prosím, že obvod zvažuje prvky, které mohou být namontovány nebo ne, protože jsme to pojali jako rozšiřitelnou vývojovou platformu pro ty z vás, kteří si přáli vytvořit vlastní aplikaci, počínaje základním firmwarem. Začněme popisem mikrokontroléru, který-po resetu po zapnutí-inicializuje linky RB1 a RB2 jako vstupy napájené interním výsuvným odporem, které budou potřeba ke čtení některých normálně otevřených kontaktů, které jsou připojeny k IN1 a IN2; diody D2 a D3 chrání mikrokontrolér v případě, že je na vstupech chybně přivedeno napětí nad zdrojem napájení PIC. IN1 se aktuálně používá pro snímač hmotnosti dětské sedačky, zatímco IN2 je k dispozici pro další možná ovládání: můžeme jej použít například pro detekci otevírání a zavírání dveří prostřednictvím odečtu napětí na stropních světlech; pokud jde o to, vezměte prosím na vědomí, že v některých moderních automobilech jsou stropní světla řízena (v PWM) pomocí spojovací krabice (aby bylo zajištěno postupné zapínání a vypínání), zatímco musíme pouze přečíst stav světel okamžitě zapnutých a vypnuto (jinak bude čtení abnormální); poté budeme muset filtrovat PWM pomocí kondenzátoru umístěného mezi vstupem mikrokontroléru a zemí (za diodou). Dalším vstupem je RB3, stále dodávaný s vnitřním výsuvným odporem, který je potřebný ke čtení tlačítka P1 (které se používá k násilnému zapnutí mobilního modulu, který je normálně vypnutý). Ještě během inicializace I/O je RB4 nastaven jako vstup za účelem čtení - pomocí děliče napětí R1 a R2 - spuštění obvodu, provedeného dvojitým deviátorem SW1b; je zapotřebí dělič napětí, protože mikrokontrolér snáší napětí, které je nižší než vstupní napětí na napájecím konektoru. Funkce RB4 byla vyhrazena pro budoucí vývoj.

Krok 3: Schéma zapojení

Kruhový diagram
Kruhový diagram

Když se SW1 přesune na kontakty, které jsou ve schématu zapojení označeny křížkem, zbytek obvodu je izolován od baterie, a proto je vypnut; pokud je na vstupu zdroje napájení (USB) použito 5 voltové napětí, bude fungovat pouze nabíjecí stupeň (je napájen diodou D1, která jej chrání před inverzí polarity). Přesunutím SW1 do zapnuté polohy přivede SW1b vstupní napětí na linku RB4 a SW1a napájí mikrokontrolér a co kromě napětí na koncích baterie (asi 4 V při plném nabití) kromě zapnutí stupňový spínací měnič podepsaný jako U3, který generuje 5V potřebných zbytkem obvodu.

Pokud jde o fungování obvodu napájeného přes USB, SWb přivádí vstupní napětí do RB4, což - implementací jeho čtení ve firmwaru - umožňuje pochopit, zda je nalezen síťový zdroj energie; taková funkce je užitečná pro účely vytvoření alarmu proti výpadku proudu. Na druhou stranu během provozu na baterie umožňuje RB4 mikrokontroléru to vědět a provádět možné strategie ke snížení spotřeby energie (například zkrácením intervalů, ve kterých je mobilní telefon zapnutý). Linka RB4 je jediným způsobem, jak musí firmware pochopit, když je obvod napájen z baterie, protože pokud U1 dostává energii, i když je RB4 na nulových voltech, znamená to, že obvod je napájen baterií, zatímco pokud existuje jiný zdroj energie, bude fungovat díky napětí odebíranému z USB. Vraťme se nyní k inicializaci I/O a podívejme se, že linky RC0, RE1, RE2 a RA7 jsou inicializovány jako vstupy, že byly opatřeny externím pull-up rezistorem, vzhledem k tomu, že jej pro takové linky nemůžeme interně aktivovat; budou potřeba ke čtení kanálů hybridního přijímače, což je každopádně příslušenství vyhrazené pro budoucí vývoj. Takový přijímač by se mohl ukázat jako užitečný pro domácí použití jako dálkový alarm pro ty, kteří mají snížený pohyb nebo jsou vnuceni na posteli; detekováním odchylek na výstupech rádia RX provede telefonát a požádá o pomoc nebo odešle podobnou SMS. Toto je možná aplikace, ale existují i jiné; každopádně musí být implementován do firmwaru. RC3, RC4, RB0 a RD4 jsou řádky, které byly přiřazeny akcelerometru U4, což je konkrétnější oddělovací deska založená na trojosém akcelerometru MMA8452 od NXP: RC3 je výstup a je potřeba k odeslání hodinového signálu „RC4 je obousměrný I/O a pohání SDA, zatímco další dva piny jsou vstupy, které byly vyhrazeny pro čtení přerušení INT1 a INT2, které jsou generovány akcelerometrem, když nastanou určité události. Řádky RA1, RA2 a RA0 jsou stále vstupy, ale byly multiplexovány na A/D převodníku a používají se ke čtení triaxiálního akcelerometru U5, který je také na odpojovací desce a který je založen na modulu akcelerometru MMA7361; taková součást je zamýšlena jako alternativa k U4 (to je ta, kterou aktuálně očekává náš firmware) a dodává informace týkající se zrychlení detekovaných na osách X, Y, Z pomocí analogových napětí vycházejících z odpovídajících linek. V tomto případě je firmware zjednodušený, protože rutina správy MMA8452 není nutná (vyžaduje čtení registrů, implementaci protokolu I²C-Bus atd.). Stále na téma ADC se používá linka An0 ke čtení úrovně napětí, která je dodávána lithiovou baterií, která napájí mikrokontrolér a zbytek obvodu (kromě rádiového přijímače); pokud to firmware považuje, umožňuje možnost vypnout celý, když je baterie téměř vybitá nebo když je pod určitou prahovou hodnotou napětí. Linka RC2 je inicializována jako výstup a generuje sérii digitálních impulsů, když piezoelektrický bzučák BUZ1 musí vydat varovnou akustickou poznámku, která byla indikována firmwarem; další dva výstupy jsou RD6 a RD7, které byly pověřeny úkolem rozsvítit LED diody LD1 a LD2.

Krok 4: Schéma zapojení desky plošných spojů

Schéma zapojení desky plošných spojů
Schéma zapojení desky plošných spojů

Dokončeme analýzu I/O s RD0, RD2, RD3, RC5, které spolu s RX a TX UART od rozhraní směrem k mobilnímu modulu SIM800C od SIMCom; v obvodu je tento namontován na vyhrazenou desku, která má být vložena do specifického konektoru na desce plošných spojů. Modul si vyměňuje data týkající se odeslaných zpráv (poplachových) a přijatých (konfiguračních) s mikrokontrolérem prostřednictvím UART PIC, který je také potřebný pro příkazy pro nastavení mobilního telefonu; zbytek řádků se týká některých stavových signálů: RD2 čte výstup pro „signální“LED, který je opakován LD4, zatímco RD3 čte vyzváněcí indikátor, to znamená kontakt mobilního telefonu, který dodává vysokou logickou úroveň, když je přijat telefonní hovor. Řada RD0 umožňuje resetovat modul a RC5 se zabývá zapínáním a vypínáním; reset a ON/OFF jsou implementovány obvody na desce, na které je SIM800C namontován.

Deska, jejíž schéma zapojení bylo ukázáno-spolu s vývodem zasouvacího konektoru-na obr. 1, obsahuje mobilní telefon SIM800C, 90 ° anténní konektor MMX a 2 mm kolíkový pásek 2 × 10, na kterém je napájení zdroj, řídicí vedení zapalování (PWR), všechny signály a sériové komunikační linky z a směrem k modulu GSM, jak ukazuje obr.

Krok 5: Schéma zapojení desky plošných spojů

Schéma zapojení desky plošných spojů
Schéma zapojení desky plošných spojů

Protože byly definovány I/O mikrokontroléru, můžeme se podívat na dvě části zapojené do napájení obvodu: nabíječku a konvertor DC/DC.

Nabíječka je založena na integrovaném obvodu MCP73831T (U2), vyráběném společností Microchip; jako vstup obvykle přijímá 5 V (přípustný rozsah je mezi 3,75 V a 6 V), přicházející v tomto obvodu z konektoru USB; dodává-na výstupu-proud potřebný k nabíjení lithium-iontových nebo lithium-polymerových (Li-Po) prvků a dodává až 550mA. Baterie (k připojení ke kontaktům +/- BAT) může mít teoreticky neomezenou kapacitu, protože nanejvýš by se nabíjela velmi dlouho, vezměte však prosím v úvahu, že pomocí proudu 550mA je prvek 550 mAh nabitý za hodinu; protože jsme vybrali 500 mAh článek, nabije se za méně než hodinu. Integrovaný obvod pracuje v typické konfiguraci, ve které je světelná dioda LD3 poháněna výstupem STAT, který je při nabíjení přiveden na nízkou logickou úroveň, zatímco při zastavení nabíjení zůstává na vysoké logické úrovni; totéž se přivede na vysokou impedanci (otevřenou), když je MCP73831T vypnutý nebo když se ukáže, že na výstup VB není připojena žádná baterie. VB (pin 3) je výstup, který se používá pro lithiovou baterii. Integrovaný obvod provádí nabíjení konstantním proudem a napětím. Nabíjecí proud (Ireg) se nastavuje pomocí odporu připojeného ke kolíku 5 (v našem případě je to R6); jeho hodnota je spojena s odporem následujícím vztahem:

Ireg = 1 000/R

ve kterém je hodnota R vyjádřena v ohmech, pokud je proud Ireg vyjádřen v A. Například s 4,7 kohm je získáno omezení 212 mA, zatímco když R je 2,2 kohm, proud má hodnotu asi 454 mA. pokud je kolík 5 otevřen, integrovaný obvod se uvede do klidového stavu a absorbuje pouze 2 µA (vypnutí); kolík lze tedy použít jako povolení. Dokončeme popis schématu zapojení se stupňovým převodníkem, který čerpá 5 stabilizovaných voltů z napětí baterie; stupeň je založen na integrovaném obvodu MCP1640BT-I/CHY, což je regulátor synchronního zesílení. Je v něm generátor PWM, který pohání tranzistor, jehož kolektor periodicky uzavírá cívku L1 na zem, pomocí SW pinu, nabíjí ji a nechává uvolnit nahromaděnou energii během přestávek - pomocí pinu 5 - filtrační kondenzátory C2, C3, C4, C7 a C9. Diodová svorka chránící vnitřní tranzistor je také vnitřní a redukuje tak potřebné externí komponenty na naprosté minimum: ve skutečnosti jsou mezi Vout a zemí filtrační kondenzátory, induktor L1 a odporový dělič mezi Vout a FB, který se zabývá s reaktivací generátoru PWM prostřednictvím interního zesilovače chyb stabilizací výstupního napětí na požadované hodnotě. Změnou poměru mezi R7 a R8 je tedy možné upravit napětí dodávané pinem Vout, ale není v našem zájmu to dělat.

Krok 6: Nastavení a příkazy pro Save My Child

Nastavení a příkazy pro Save My Child
Nastavení a příkazy pro Save My Child
Nastavení a příkazy pro Save My Child
Nastavení a příkazy pro Save My Child

Jakmile je instalace dokončena, budete muset jednotku nakonfigurovat; taková operace se provádí pomocí SMS, proto prosím vložte funkční SIM do držáku SIM karty modulu 7100-FT1308M a poznamenejte si odpovídající telefonní číslo. Poté zadejte všechny požadované příkazy prostřednictvím mobilního telefonu: všechny jsou uvedeny v tabulce 1.

Mezi první věcí, které je třeba udělat, je konfigurace telefonních čísel v seznamu těch, na která bude systém volat, nebo na která budou zasílány poplašné SMS zprávy, v případě dítěte na dětské sedačce, které pravděpodobně bylo „ zapomenutý opuštěný “. Aby byl tento postup usnadněn, byl systém při této operaci chráněn heslem a byl navržen režim snadného nastavení: během prvního spuštění systém uloží první telefonní číslo, které na něj volá, a považuje jej za první číslo v seznamu. Toto číslo bude moci provádět úpravy, a to i bez hesel; každopádně příkazy mohou být odeslány jakýmkoli telefonem, pokud odpovídající SMS obsahuje heslo, a přestože - abychom některé příkazy urychlili - povolili jsme, aby příkazy odeslané pomocí telefonních čísel v seznamu mohly být zadávány bez potřeby hesla. Pokud jde o příkazy týkající se přidávání a mazání telefonních čísel ze seznamu, požadavek na heslo ho činí tak, že seznam spravuje pouze osoba, která to má povoleno. Přejděme nyní k popisu příkazů a k odpovídající syntaxi s předpokladem, že obvod také přijímá zprávy SMS obsahující více než příkaz; v takovém případě musí být příkazy od následujícího odděleny čárkou. První zkoumaný příkaz je ten, který upravuje heslo, sestává ze zprávy SMS, jako je PWDxxxxx; pwd, ve které musí být místo xxxxx napsáno nové heslo (složené z pěti čísel), zatímco pwd označuje aktuální heslo. Výchozí heslo je 12345.

Uložení jednoho z osmi čísel povolených pro odesílání konfiguračních příkazů se provádí odesláním SMS, jejíž text obsahuje text NUMx+nnnnnnnnnnnnn; pwd, do kterého musí být místo (které číslo se ukládá do paměti) napsáno místo x, telefonní číslo je místo ns, zatímco pwd je aktuální heslo. Vše musí být zapsáno bez mezer. Povolena jsou čísla o délce 19 číslic, přičemž na mobilních telefonech je + nahrazeno 00 jako mezinárodní předvolba volání. Chcete -li například přidat telefonní číslo 00398911512 na třetí pozici, budete muset odeslat příkaz takto: NUM3+398911512; pwd. Heslo je potřeba pouze tehdy, když se pokusíte uložit telefonní číslo na místo, které již bylo obsazeno jiným; na druhou stranu, pokud musíte přidat číslo na prázdné místo, bude vám stačit odeslat SMS s následujícím textem: NUMx+nnnnnnnnnnnnn. Odstranění čísla se provede pomocí SMS obsahující text NUMx; pwd; na místo x budete muset napsat pozici telefonního čísla, které chcete smazat, zatímco pwd je obvyklé heslo. Například pro odstranění čtvrtého telefonního čísla ze seznamu uloženého v paměti je zapotřebí zpráva obsahující text NUM4; pwd. Abyste si mohli vyžádat seznam telefonních čísel uložených v okruhu, budete muset poslat SMS obsahující následující text: NUM?; Pwd. Deska odpovídá na telefonní číslo, ze kterého přichází výslech. Je možné poznat kvalitu signálu GSM odesláním QUAL? příkaz; systém odpoví SMS obsahující aktuální situaci. Zpráva bude odeslána na telefon, který odeslal příkaz. Přejděme nyní ke stavu vstupu a konfiguračním zprávám: LIV? umožňuje znát stav vstupů; IN2 může pracovat jak na napěťové úrovni (nastavuje se přes LIV2: b, která spouští poplach, když je vstup otevřený), tak při variačním (nastavuje se přes LIV: v). Pokud jde o vstupy, je možné nastavit dobu inhibice, pomocí příkazu INI1: mm (interdiktové minuty jdou místo mm) pro IN1 a přes INI2: mm pro IN2; inhibice je nutná, aby se zabránilo odesílání nepřetržitých varování, pokud vstup - v režimu úrovně - zůstane otevřený. Aby bylo možné definovat, která čísla v seznamu musí přijímat telefonní hovory, musíte odeslat zprávu VOCxxxxxxxx: ON; pwd, se stejnými pravidly, která se používají pro správu telefonních čísel, na která se mají odesílat zprávy SMS. Zpráva s odpovědí je velmi podobná: „Číslo uložené v paměti: Posx V+nnnnnnnnnnn, Posy V+nnnnnnnnnnn.“S SMS bylo nahrazeno V hlasu. I v tomto případě existují pro deaktivaci dva různé příkazy: SMSxxxxxxxx: OFF; pwd deaktivuje odesílání zpráv a VOCxxxxxxxx: OFF; pwd zakáže možnost telefonovat. Xs představují polohy čísel, která nesmí přijímat výstražná varování. Musíme objasnit něco ohledně příkazu pro nastavení telefonních čísel, na která se má volat, nebo na které se mají odesílat poplašné SMS zprávy: podle výchozího nastavení firmwaru a po každém úplném resetu systém nasměruje volání i SMS zprávy, na všechna uložená čísla. V důsledku toho, aby se některé z nich vynechaly, je nutné odeslat deaktivační příkazy: SMSxxxxxxxx: OFF; pwd nebo VOCxxxxxxxx: OFF; pwd, a k označení pozic, které je třeba vynechat. Systém odešle SMS na telefonní číslo, které zaujímá první místo v seznamu, pokaždé, když je nově napájeno. Takovou funkci lze deaktivovat/povolit pomocí příkazů AVV0 (deaktivovat) a AVV1 (aktivovat); výchozí text je SPUŠTĚNÍ SYSTÉMU. Přejděme nyní k příkazům, které umožňují odeslání zapamatování nebo přepsání zpráv SMS: syntaxe je stejná jako u TINn: xxxxxxxxx, kde n je číslo vstupu, na který zpráva odkazuje, zatímco xs odpovídá textové zprávě, která nesmí přesáhnout délku 100 znaků. Zásadní nastavení je nastavení týkající se doby pozorování IN1, která se provádí pomocí příkazu OSS1: ss, ve kterém čas (v rozmezí 0 až 59 sekund) jde místo ss: udává obvodu, za kolik doba, po kterou musí zůstat tlačítka stisknuta od okamžiku, kdy bylo zjištěno, že se auto zastavilo, a před generováním alarmu. Zpoždění je zásadní, aby se předešlo vzniku planého poplachu, když na krátkou dobu zastavíte. Z tohoto pohledu firmware, když je obvod napájen (když je palubní deska zapnutá), čeká na čas, který je dvojnásobkem nastaveného času, aby řidič mohl provádět operace, jako je zavření garážových vrat nebo upevnění bezpečnostních pásů atd. Dobu pozorování pro IN2 lze také definovat, se stejnými postupy, příkazem OSS2: ss; je také možné požádat o aktuálně nastavené časy prostřednictvím SMS (příkaz OSS?). Dokončeme tento přehled příkazů tím, který vrátí výchozí nastavení: to je RES; pwd. Zpráva s odpovědí je „Resetovat“. Zbytek příkazů byl popsán v tabulce 1.

Krok 7: Seznam součástí

C1, C8, C10: 1 µF keramický kondenzátor (0805)

C2, C6, C7, C9: 100 nF keramický kondenzátor (0805)

C3, C4: 470 µF 6,3 VL tantalový kondenzátor (D)

C5: 4, 7 µF 6,3 VL tantalový kondenzátor (A)

R1, R2, R4: 10 kohm (0805)

R3, R12: 1 kohm (0805)

R5: 470 ohmů (0805) R6: 3,3 kohm (0805)

R7: 470 kohmů (0805) 1%

R8: 150 kohmů (0805) 1%

R9 ÷ R11: 470 ohmů (0805)

R13 ÷ R16: 10 kohm (0805)

R17: -

U1: PIC18F46K20-I/PT (MF1361)

U2: MCP73831T

U3: MCP1640BT-I/CHY

U4: Breakout board cod. 2846-MMA8452

U5: Breakout board cod. 7300-MMA7361 (nepoužito)

P1: 90 ° mikrospínač

P2: -

LD1: 3 mm žlutá LED

LD2, LD4: 3 mm zelené LED diody

LD5: - LD3: 3 mm červená LED

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: 2,7V 500mW Zenerova dioda

L1: 4,7 µH 770mA drátově vinutý induktor

BUZ1: Bzučák bez elektroniky

8pásmový dělič pásu

9pásmový dělič pásu

6pásmový štípač pásků

2 mm rozteč 2 × 10 zásuvka

2,54stupňový 2cestný terminál (3 ks)

2cestný 2cestný konektor JST pro desky plošných spojů

500mA LiPo baterie s 2 mm konektorem JST

Deska s plošnými spoji S1361 (85 × 51 mm)

Krok 8: Závěr

Závěr
Závěr

Projekt, který jsme zde navrhli, je otevřená platforma; je možné jej použít k vytvoření mnoha aplikací, mezi nimiž jsou: alarm, který zabrání zapomenutí dětí v autě, systém dálkové péče a dálkový alarm, o kterém jsme se zmínili dříve. Obecněji řečeno, je to systém, který je schopen generovat varování a oznámení prostřednictvím telefonu, když dojde k určitým událostem - což nejsou nutně nouzové situace - a proto také slouží pro účely vzdáleného monitorování.

Doporučuje: