Innholdsfortegnelse:

Lagre barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen: 8 trinn
Lagre barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen: 8 trinn

Video: Lagre barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen: 8 trinn

Video: Lagre barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen: 8 trinn
Video: Я никогда не ел такой вкусной курицы в соусе!!! Рецепт за 10 минут! 2024, November
Anonim
Redd barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen
Redd barnet mitt: det smarte setet som sender tekstmeldinger hvis du glemmer barnet i bilen

Den er installert i biler, og takket være en detektor plassert på barnesetet, advarer den oss - via SMS eller telefon - hvis vi slipper unna uten å ta med oss barnet

Trinn 1: Introdusjon

Introdusjon
Introdusjon

Blant de mest trist (og i alle fall sjeldne) ulykkene i nyhetene er det foreldre som - på grunn av raskhet, helseproblemer eller mangel på oppmerksomhet - går ut av bilen og "glemmer" barna på barnesetet, i et varmt eller kaldt miljø. Slike ulykker kunne absolutt vært unngått hvis noen eller noe minnet sjåføren om at han lot barnet ligge i bilen; utvilsomt kan teknologi hjelpe og tilby løsninger som skal implementeres i bilen av produsenten eller av typen "ettermontering", for eksempel prosjektet som er beskrevet her. Det er en enhet basert på en GSM -mobiltelefon som oppdager noen parametere, på grunnlag av hvilke oppførselen til sjåføren evalueres og de nødvendige handlingene utføres: spesielt sendes en SMS til telefonen til sjåføren som kommer seg unna fra bilen. Enheten er installert i bilen og drives av sistnevnte elektriske system; den bekrefter at barnet sitter på setet (ved hjelp av en sensor som består av noen lavprofilknapper, montert på et brødbrett som skal plasseres under dekselet til barnesetet): hvis det viser seg at knappene trykkes ned (derfor er barnet sittet), vil kretsen også bekrefte at kjøretøyet har stoppet (ved hjelp av et triaksialt akselerometer), i så fall og når den angitte tiden har gått, vil den sende en alarm -SMS -melding til sjåførens telefon og vil gi fra deg en summerlyd.

Videre ringer den til det samme telefonnummeret og muligens til andre, slik at foreldre, venner og andre mennesker kan ringe sjåføren for å kontrollere hva som skjer. Selv om valg av anvendelse er den ovennevnte, har prosjektet blitt opprettet i laboratoriet vårt som en plattform som kan tilpasses for de to andre formålene. Den første er en jordfeilbryter for eldre og skjøre mennesker, mens den andre er en ekstern alarm, som fungerer ved strømbrudd (og nyttig for å unngå at fryseren tiner og at maten i den blir farlig).

Trinn 2: Save My Child Circuit Diagram

Lagre mitt barns kretsdiagram
Lagre mitt barns kretsdiagram

La oss derfor se hva dette handler om, og analysere det elektriske diagrammet til kretsen, hvis ledelse er blitt betrodd en PIC18F46K20-I/PT-mikrokontroller av Microchip, som er programmert via vår MF1361-fastvare, slik at den leser statusen til inngangene (som barnesetets vektføler, og en mulig deteksjonsenhet, er koblet til), og henter signalene fra (U5) akselerometeret, og snakker med (U4) ekstern EEPROM (som inneholder innstillingene for systemets funksjon)) og grensesnitt for en mulig (U6) radiomottaker, og administrerer en (GSM) mobilmodul.

Vær oppmerksom på at kretsen vurderer elementer som kan monteres eller ikke, siden vi oppfattet det som en utvidbar utviklingsplattform, for de av dere som ønsket å lage sin egen applikasjon, med utgangspunkt i basisfastvaren. La oss begynne med å beskrive mikrokontrolleren, som-etter oppstart-reset-initialiserer linjene RB1 og RB2 som innganger som leveres med en intern opptrekksmotstand, som vil være nødvendig for å lese noen normalt åpne kontakter som er koblet til IN1 og IN2; D2- og D3 -dioder beskytter mikrokontrolleren i tilfelle der en spenning over den til PIC -strømkilden blir feilaktig påført ved inngangene. IN1 brukes for tiden til barnesetets vektføler, mens IN2 er tilgjengelig for ytterligere mulige kontroller: vi kan for eksempel bruke den til å oppdage åpning og lukking av dørene, via avlesning av spenningen på høflighetslysene; Når det gjelder dette, må du vurdere at taklampene i noen moderne biler styres (i PWM) av en koblingsboks (for å sikre en gradvis inn- og utkobling), mens vi bare må lese tilstanden til lysene umiddelbart slått på og av (ellers vil avlesningen være unormal); etter det må vi filtrere PWM ved hjelp av en kondensator plassert mellom mikrokontrollerens inngang og jord (etter dioden). En annen inngang er RB3, fremdeles utstyrt med en intern opptrekksmotstand, som er nødvendig for å lese P1-knappen (som brukes for å tvang slå på mobilmodulen, som normalt er slått av). Fortsatt under initialiseringen av I/Oene, settes RB4 som en inngang for å lese - ved hjelp av spenningsdeleren R1 og R2 - starten av kretsen, utført av dobbelavvikeren SW1b; spenningsdeleren er nødvendig siden mikrokontrolleren tåler en spenning som er lavere enn inngangen som finnes på strømkontakten. Funksjonen til RB4 har vært reservert for fremtidige utviklinger, det forklares med tanke på at kretsen kan drives både av en nettverkstrømforsyning via USB -kontakt og ved hjelp av et litiumbatteri som er koblet til utgangen til den dedikerte ladningsregulatoren.

Trinn 3: Kretsdiagram

Kretsdiagram
Kretsdiagram

Når SW1 flyttes på kontaktene som er merket med et kryss i kretsdiagrammet, blir resten av kretsen isolert fra batteriet og derfor slått av; hvis en 5 volt spenning på inngangen til strømkilden (USB) brukes, vil bare ladestadiet fungere (den drives via D1 -dioden, som beskytter den mot polaritetsinversjoner). Ved å flytte SW1 til den påslåtte posisjonen, bringer SW1b inngangsspenningen til RB4 -linjen og SW1a driver mikrokontrolleren og hva som helst, ved hjelp av spenningen i endene av batteriet (ca. 4V når den er fulladet) i tillegg til å slå på step-up switch-omformeren signert som U3, som genererer 5V som trengs av resten av kretsen.

Når det gjelder kretsens funksjon via USB, bringer SWb inngangsspenningen til RB4, som - ved å implementere lesingen i fastvaren - lar deg forstå om nettverkets strømkilde er funnet; en slik funksjon er nyttig med det formål å opprette antislokkealarmen. På den annen side, under batteridriften, gjør RB4 det mulig for mikrokontrolleren å vite det og utføre mulige strategier for å redusere energiforbruket (for eksempel ved å redusere intervallene der mobiltelefonen slås på). RB4 -linjen er den eneste måten fastvaren må forstå når kretsen er batteridrevet, siden hvis U1 mottar strøm selv om RB4 er på null volt, betyr det at kretsen er batteridrevet, mens hvis det er en annen strømkilde, den vil fungere takket være spenningen fra USB -en. La oss gå tilbake til I/Os-initialiseringen og se at RC0-, RE1-, RE2- og RA7-linjene initialiseres som innganger, at de har fått en ekstern opptrekksmotstand, gitt at vi ikke kan aktivere den internt for slike linjer; de vil være nødvendige for å lese kanalene til hybridmottakeren, som uansett er et tilbehør, forbeholdt fremtidig utvikling. En slik mottaker kan vise seg nyttig for hjemmebruk som en fjernalarm, for de som er svekket i bevegelsen eller tvunget på sengen; ved å oppdage variasjonen på utgangene til RX -radioen, vil den ringe for å be om hjelp, eller den vil sende en lignende SMS. Dette er en mulig applikasjon, men det er andre; uansett må den implementeres i fastvaren. RC3, RC4, RB0 og RD4 er linjene som er tilordnet U4 -akselerometeret, mer spesifikt er et breakout -kort basert på MMA8452 triaksial akselerometer av NXP: RC3 er en utgang og den er nødvendig for å sende et klokkesignal, RC4 er en toveis I/O og den driver SDA, mens de to andre pinnene er innganger som er reservert for avlesning av avbruddene INT1 og INT2, som genereres av akselerometeret når visse hendelser oppstår. RA1-, RA2- og RA0 -linjene er fortsatt innganger, men de har blitt multiplekset på A/D -omformeren og brukes for å lese U5 triaksial akselerometer, som også er på breakout -kortet og som er basert på MMA7361 akselerometermodulen; en slik komponent er ment som et alternativ til U4 (det er den som nå forventes av fastvaren) og gir informasjon om akselerasjonene som oppdages på X-, Y-, Z -aksene ved hjelp av analoge spenninger som kommer ut fra de tilsvarende linjene. I dette tilfellet er fastvaren forenklet, siden MMA8452s administrasjonsrutine ikke er nødvendig (det krever lesing av registre, implementering av I²C-Bus-protokollen, og så videre). Fremdeles om ADC -er, brukes An0 -linjen for å lese spenningsnivået, som leveres av litiumbatteriet, som driver mikrokontrolleren og resten av kretsen (med unntak av radiomottakeren); Hvis fastvaren vurderer det, gir det muligheten til å slå av hele enheten når batteriet er lavt, eller når det er under en viss spenningsterskel. RC2 -linjen initialiseres som en utgang og genererer en rekke digitale pulser når den piezoelektriske summeren BUZ1 må slippe ut den akustiske advarselen som er angitt av fastvaren; de to andre utgangene er RD6 og RD7, som har fått i oppgave å tenne LD1 og LD2 lysdioder.

Trinn 4: Kretsdiagram for kretskort

PCB -kretsdiagram
PCB -kretsdiagram

La oss fullføre analysen av I/Os med RD0, RD2, RD3, RC5, som sammen med UARTs RX og TX fra grensesnittet mot SIM800C mobilmodul av SIMCom; i kretsen er sistnevnte montert på et dedikert kort som skal settes inn i den spesifikke kontakten som finnes på kretskortet. Modulen utveksler dataene om de sendte meldingene (alarmmeldingene) og de mottatte (konfigurasjonsmeldingene) med mikrokontrolleren, via PICs UART, som også er nødvendig for kommandoene for mobiltelefonens innstillinger; resten av linjene angår noen statlige signaler: RD2 leser utgangen for "signal" LED som gjentas av LD4, mens RD3 leser ringindikatoren, det vil si mobiltelefonkontakten som gir det høye logiske nivået når en telefonsamtale mottas. RD0 -linjen gjør det mulig å tilbakestille modulen og RC5 omhandler inn- og utkobling; reset og ON/OFF implementeres av kretsene på kortet som SIM800C er montert på.

Kortet, hvis kretsdiagram er vist-sammen med pinout av innsettingskontakten-i figur 1, inneholder SIM800C-mobiltelefonen, en MMX 90 ° antennekontakt og en 2 mm mannlig 2x10 pin-stripe som strømmen kilde, tenningskontrolllinjen (PWR), alle signalene og de serielle kommunikasjonslinjene fra og mot GSM -modulen, som vist i figur 1.

Trinn 5: PCB -kretsdiagram

PCB -kretsdiagram
PCB -kretsdiagram

Siden mikrokontrollerens I/O-er er definert, kan vi se på de to seksjonene som er involvert i å drive kretsen: laderen og DC/DC-trinnomformeren.

Laderen er basert på MCP73831T integrert krets (U2), produsert av Microchip; som inngang aksepterer den vanligvis 5V (tolerabelt område er mellom 3,75V og 6V), som kommer inn i denne kretsen fra USB -kontakten; den leverer-ved utgangen-strømmen som er nødvendig for å lade litiumion- eller litiumpolymer (Li-Po) elementer, og leverer opptil 550mA. Et batteri (som skal kobles til +/- BAT-kontaktene) kan ha en teoretisk ubegrenset kapasitet, siden det på det meste vil bli ladet på veldig lang tid, men vær oppmerksom på at ved hjelp av en 550mA strøm er et 550 mAh element belastet på en time; siden vi valgte en 500 mAh celle, vil den bli belastet på mindre enn en time. Den integrerte kretsen opererer i den typiske konfigurasjonen, der LD3 -lysdioden drives av STAT -utgangen, som bringes til det lave logiske nivået når den lades, mens den forblir på et høyt logisk nivå når den slutter å lade; det samme bringes til en høy impedans (åpen) når MCP73831T slås av eller når det viser seg at det ikke er koblet til batteri til VB -utgangen. VB (pin 3) er utgangen som brukes til litiumbatteriet. Den integrerte kretsen utfører ladingen med konstant strøm og spenning. Ladestrømmen (Ireg) settes ved hjelp av en motstand koblet til pinnen 5 (i vårt tilfelle er det R6); verdien er koblet til motstanden av følgende forhold:

Ireg = 1 000/R

der R -verdien er uttrykt i ohm hvis Ireg -strømmen er uttrykt i A. For eksempel oppnås en begrensning på 212 mA med 4,7 kohm, mens R er 2,2 kohm, strømmen er verdt omtrent 454 mA. hvis pinnen 5 åpnes, bringes den integrerte kretsen til inaktiv tilstand og den absorberer bare 2 µA (avstengning); pinnen kan derfor brukes som aktivering. La oss fullføre beskrivelsen av kretsdiagrammet med trinnomformeren, som trekker 5 stabiliserte volt fra batterispenningen; scenen er basert på MCP1640BT-I/CHY integrert krets, det er en synkron boostregulator. Det er en PWM -generator inne i den, som driver en transistor hvis kollektor periodisk lukker L1 -spolen til bakken, ved hjelp av SW -pinnen, den lader den og lar den frigjøre den akkumulerte energien under pausene - ved hjelp av pinnen 5 - til filterkondensatorene C2, C3, C4, C7 og C9. Diodeklemmen som beskytter den interne transistoren er også en intern, og reduserer dermed de eksterne komponentene som trengs til et minimum: Faktisk er det filterkondensatorene mellom Vout og jord, L1 -induktoren og den resistive skillet mellom Vout og FB som omhandler med reaktivering av PWM -generatoren via den interne feilforsterkeren, ved å stabilisere utgangsspenningen til ønsket verdi. Ved å endre forholdet mellom R7 og R8 er det derfor mulig å endre spenningen som leveres av Vout -pinnen, men det er ikke i vår interesse å gjøre det.

Trinn 6: Innstillinger og kommandoer for Save My Child

Innstillinger og kommandoer for Save My Child
Innstillinger og kommandoer for Save My Child
Innstillinger og kommandoer for Save My Child
Innstillinger og kommandoer for Save My Child

Når installasjonen er fullført, må du konfigurere enheten; en slik operasjon utføres via SMS, sett derfor inn et operativt SIM-kort i SIM-holderen til 7100-FT1308M-modulen, og noter det tilsvarende telefonnummeret. Etter det, vennligst gi alle nødvendige kommandoer via en mobiltelefon: de er alle vist i tabell 1.

Blant de første tingene å gjøre er konfigurasjonen av telefonnumrene i listen over de som systemet vil ringe til eller som alarm -SMS -meldingene skal sendes til, for et barn på barnesetet som muligens har vært “glemt forlatt”. For å lette prosedyren, gitt at systemet er beskyttet av passordet som for denne operasjonen, har en enkel oppsettsmodus blitt designet: I løpet av den første gangen den startes, lagrer systemet det første telefonnummeret som ringer det, og anser det som det første tallet i listen. Dette nummeret vil kunne utføre endringer, selv uten passord; Uansett kan kommandoene sendes av en hvilken som helst telefon, så lenge den tilhørende SMSen inneholder passordet, og selv om vi - for å få fart på noen kommandoer - tillot at de som ble sendt av telefonnumrene i listen, kan gis uten behov for passord. Når det gjelder kommandoer angående tillegg og sletting av telefonnumre fra listen, gjør forespørselen om et passord det slik at listen bare administreres av en person som har mulighet til å gjøre det. La oss gå videre til beskrivelsen av kommandoene og til den tilsvarende syntaksen, med forutsetningen om at kretsen også godtar SMS -meldinger som inneholder mer enn en kommando; i så fall må kommandoene skilles fra den følgende, ved hjelp av et komma. Den første kommandoen som er undersøkt, er den som endrer passordet, den består av en SMS som PWDxxxxx; pwd, der det nye passordet (sammensatt av fem tall) må skrives i stedet for xxxxx, mens pwd angir gjeldende passord. Standardpassordet er 12345.

Lagringen av ett av de åtte tallene som er aktivert for å sende konfigurasjonskommandoer, utføres ved å sende en SMS, hvis tekst inneholder NUMx+nnnnnnnnnnnnn; pwd -tekst, der posisjonen (hvilket nummer blir lagret) må skrives i stedet for x, telefonnummeret går i stedet for ns, mens pwd er det nåværende passordet. Alt må skrives uten mellomrom. Tall som er 19 tall lange er tillatt, mens + erstatter 00 som det internasjonale anropsprefikset, på mobiltelefonene. For eksempel, for å legge til telefonnummeret 00398911512 i tredje posisjon, må du sende en kommando som denne: NUM3+398911512; pwd. Passordet er bare nødvendig når du prøver å lagre et telefonnummer i en posisjon som allerede er opptatt av et annet. på den annen side, hvis du må legge til et nummer i en tom posisjon, trenger du bare å sende en SMS med følgende tekst: NUMx+nnnnnnnnnnnnn. Slettingen av et nummer utføres via en SMS som inneholder NUMx; pwd tekst; i stedet for x må du skrive posisjonen til telefonnummeret som skal slettes, mens pwd er det vanlige passordet. For eksempel, for å slette det fjerde telefonnummeret fra den lagrede listen, er det nødvendig med en melding som inneholder NUM4; pwd -tekst. For å be om listen over telefonnummeret som er lagret i kretsen, må du sende en SMS som inneholder følgende tekst: NUM?; Pwd. Styret svarer på telefonnummeret som avhøret kommer fra. Det er mulig å kjenne kvaliteten på GSM -signalet ved å sende QUAL? kommando; systemet vil svare med en SMS som inneholder den nåværende situasjonen. Meldingen blir sendt til telefonen som sendte kommandoen. La oss gå videre til inngangstilstanden og konfigurasjonsmeldingene: LIV? lar deg kjenne tilstanden til inngangene; IN2 kan fungere både på et spenningsnivå (den er satt via LIV2: b, som utløser alarmen når inngangen er åpen) og i en variant (den er satt via LIV: v). Når det gjelder inngangene, er det mulig å angi en inhiberingstid via kommandoen INI1: mm (interdiksjonsminuttene går i stedet for mm) for IN1 og via INI2: mm for IN2; inhiberingen er nødvendig for å unngå å sende kontinuerlige advarsler hvis inngangen - i nivåmodus - forblir åpen. For å definere hvilke numre i listen som må motta telefonsamtaler, må du sende VOCxxxxxxxx: ON; pwd -meldingen, med de samme reglene som brukes for håndtering av telefonnumrene som du skal sende SMS -meldingene til. Svarmeldingen er veldig lik: "Antall lagret: Posx V+nnnnnnnnnnnn, Posy V+nnnnnnnnnnn." S for SMS har blitt erstattet av stemme V. Selv i dette tilfellet er det to forskjellige kommandoer for deaktivering: SMSxxxxxxxx: OFF; pwd deaktiverer sending av meldinger og VOCxxxxxxxx: OFF; pwd deaktiverer muligheten til å ringe. X -ene representerer posisjonene til tallene som ikke må motta alarmvarslene. Vi må klargjøre noe om kommandoen for innstilling av telefonnumre som skal ringes eller som skal sendes alarm -SMS -meldinger: i henhold til standardinnstillingene for fastvaren og etter hver total tilbakestilling, vil systemet dirigere både anrop og SMS meldinger, til alle de lagrede tallene. Følgelig, for å utelate noen av dem, er det nødvendig å sende deaktiveringskommandoer: SMSxxxxxxxx: OFF; pwd eller VOCxxxxxxxx: OFF; pwd, og for å angi posisjonene som skal utelates. Systemet sender en SMS til telefonnummeret som inntar førsteplassen i listen, hver gang det blir strømforsynt. En slik funksjon kan deaktiveres/aktiveres via AVV0 (deaktiver) og AVV1 (aktiver) kommandoer; standardteksten er SYSTEMOPPSETT. La oss gå videre til kommandoene som gjør at memorering eller overskrivning av SMS -meldingene kan sendes: syntaksen er som TINn: xxxxxxxxx, der n er nummeret på inngangen meldingen refererer til, mens xs tilsvarer tekstmeldingen, som ikke må overskride en lengde på 100 tegn. En viktig innstilling er den som angår IN1 -observasjonstiden, som utføres via kommandoen OSS1: ss, hvor tiden (mellom 0 og 59 sekunder) går i stedet for ss: den indikerer til kretsen hvor mye gang knappene må forbli trykket fra det har blitt oppdaget at bilen har stoppet og før alarmgenerering. Forsinkelsen er avgjørende for å unngå at det oppstår falsk alarm når du stopper en kort stund. Under dette synspunktet venter fastvaren, når kretsen er slått på (når dashbordet er slått på) på en tid som er to ganger den angitte, for å la sjåføren utføre operasjoner som å lukke garasjeporten eller festing av sikkerhetsbeltene etc. En observasjonstid for IN2 kan også defineres, med de samme prosedyrene, ved å gi OSS2: ss -kommandoen; det er også mulig å be om de nåværende tidspunktene via SMS (OSS? -kommando). La oss fullføre denne oversikten over kommandoene med den som returnerer standardinnstillingene: det er RES; pwd. Svarmeldingen er "Tilbakestill". Resten av kommandoene er beskrevet i tabell 1.

Trinn 7: Komponentliste

C1, C8, C10: 1 µF keramisk kondensator (0805)

C2, C6, C7, C9: 100 nF keramisk kondensator (0805)

C3, C4: 470 µF 6,3 VL tantalkondensator (D)

C5: 4, 7 µF 6,3 VL tantalkondensator (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 torsk. 2846-MMA8452

U5: Breakout board torsk. 7300-MMA7361 (ubrukt)

P1: 90 ° mikrobryter

P2: -

LD1: 3 mm gul LED

LD2, LD4: 3 mm grønne lysdioder

LD5: - LD3: 3 mm rød LED

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: 2,7V 500mW Zenerdiode

L1: 4,7 µH 770mA trådviklet induktor

BUZ1: summer uten elektronikk

8-veis kvinnelig strip-splitter

9-veis kvinnelig strip-splitter

6-veis mannlig strip-splitter

2 mm stigning 2 × 10 hunnkontakt

2,54 pitch 2-veis terminal (3 stk.)

2 mm pitch 2-veis JST-kontakt for PCB

500mA LiPo -batteri med 2 mm JST -kontakt

S1361 (85 × 51 mm) kretskort

Trinn 8: Konklusjon

Konklusjon
Konklusjon

Prosjektet vi foreslo her er en åpen plattform; det er mulig å bruke det for å opprette mange applikasjoner, blant annet det: alarmen for å forhindre at man glemmer barn i bilen, fjernkontrollsystemet og fjernalarmen vi nevnte tidligere. Mer generelt er det et system som er i stand til å generere advarsler og varsler via telefon, når visse hendelser - som ikke nødvendigvis er nødstilfeller - oppstår, og derfor tjener de også til fjernovervåking.

Anbefalt: