Innehållsförteckning:

Spara mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen: 8 steg
Spara mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen: 8 steg

Video: Spara mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen: 8 steg

Video: Spara mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen: 8 steg
Video: Kärleksproblem på förskolan: "Vi kan väl hålla handen?" - Nyhetsmorgon (TV4) 2024, Juli
Anonim
Rädda mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen
Rädda mitt barn: den smarta stolen som skickar textmeddelanden om du glömmer barnet i bilen

Den är installerad i bilar, och tack vare en detektor placerad på barnstolen varnar den oss - via SMS eller telefonsamtal - om vi kommer undan utan att ha med oss barnet

Steg 1: Introdution

Introdution
Introdution

Bland de mest sorgliga (och i alla fall sällsynta) olyckor i nyheterna finns det föräldrar som - på grund av livlighet, hälsoproblem eller bristande uppmärksamhet - kliver ur bilen och "glömmer" sina barn i barnstolen, i en varm eller kall miljö. Sådana olyckor hade säkert kunnat undvikas om någon eller något påminde föraren om att han lämnade barnet i bilen; utan tvekan teknik kan hjälpa och erbjuda lösningar som ska tillverkas i fordonet av tillverkaren eller av "eftermonterad" typ, till exempel det projekt som beskrivs här. Det är en enhet baserad på en GSM -mobiltelefon som detekterar några parametrar, på grundval av vilka förarens beteende utvärderas och de nödvändiga åtgärderna utförs: i synnerhet skickas ett SMS till förarens telefon som kommer undan från bilen. Enheten är installerad i bilen och drivs av den sistnämnda elsystemet; det verifierar att barnet sitter på sitt säte (med hjälp av en sensor som består av några lågprofilsknappar, monterade på en brödbräda som ska placeras under barnstolens lock): om det visar sig att knapparna trycks ned (därför sitter barnet), kommer kretsen också att verifiera att fordonet har stannat (med hjälp av en triaxial accelerometer), om så är fallet och när den inställda tiden har gått, skickar det ett larm -SMS till förarens telefon och kommer att låta ett summerljud.

Dessutom ringer det till samma telefonnummer och eventuellt till andra, så att föräldrar, vänner och andra människor kan ringa föraren för att verifiera vad som händer. Även om den valda tillämpningen är den ovan nämnda, har projektet skapats i vårt labb som en plattform som kan anpassas för de andra två ändamålen. Den första är en jordfelsbrytare för äldre och ömtåliga människor, medan den andra är ett fjärrlarm, som fungerar vid strömavbrott (och användbart för att undvika att frysen avfrostas och att maten i den innehåller farliga).

Steg 2: Spara mitt barns kretsdiagram

Spara mitt barns kretsdiagram
Spara mitt barns kretsdiagram

Låt oss därför se vad det handlar om och analysera det elektriska diagrammet för kretsen, vars hantering har anförtrotts en PIC18F46K20-I/PT-mikrokontroller av Microchip, som har programmerats via vår MF1361-firmware, så att den läser status för ingångarna (till vilka barnstolens viktgivare och en möjlig detekteringsanordning är anslutna) och hämtar signalerna från (U5) accelerometern och talar med (U4) externa EEPROM (som innehåller inställningarna för systemets funktion) och gränssnitt till en möjlig (U6) radiomottagare och hanterar en (GSM) mobilmodul.

Observera att kretsen överväger element som kan monteras eller inte, eftersom vi uppfattade det som en utbyggbar utvecklingsplattform för dig som ville skapa sin egen applikation, baserat på basprogramvaran. Låt oss börja med att beskriva mikrokontrollern att-efter återstart vid återstart-initierar linjerna RB1 och RB2 som ingångar som levereras med ett internt uppdragningsmotstånd, som kommer att behövas för att kunna läsa några normalt öppna kontakter som är anslutna till IN1 och IN2; D2- och D3 -dioderna skyddar mikrokontrollern i det fall en spänning över PIC -strömkällans felaktigt appliceras vid ingångarna. IN1 används för närvarande för barnstolens viktgivare, medan IN2 är tillgänglig för ytterligare möjliga kontroller: vi kan till exempel använda den för att upptäcka öppning och stängning av dörrarna via avläsning av spänningen på artighetsljusen; beträffande detta, tänk på att i vissa moderna bilar hanteras taklamporna (i PWM) av en kopplingsdosa (för att säkerställa en gradvis på- och avstängning), medan vi bara måste läsa av tillståndet för lamporna som tänds direkt och av (annars blir avläsningen onormal); därefter måste vi filtrera PWM med hjälp av en kondensator placerad mellan mikrokontrollerns ingång och jord (efter dioden). En annan ingång är RB3, som fortfarande levereras med ett internt pull-up-motstånd, som behövs för att läsa P1-knappen (som används för att tvinga på mobilmodulen, som normalt är avstängd). Under initialiseringen av I/O: erna ställs RB4 in som en ingång för att läsa - med hjälp av spänningsdelaren R1 och R2 - start av kretsen, utförd av dubbelavvikaren SW1b; spänningsdelaren behövs eftersom mikrokontrollern tål en spänning som är lägre än ingången som finns på strömkontakten. RB4: s funktion har reserverats för framtida utvecklingar, det förklaras med tanke på att kretsen kan drivas både av nätverksförsörjning via USB -uttag och med hjälp av ett litiumbatteri som är anslutet till utgången från den dedikerade laddningsregulatorn.

Steg 3: Kretsdiagram

Kretsdiagram
Kretsdiagram

När SW1 flyttas på kontakterna som är markerade med ett kryss i kretsschemat, isoleras resten av kretsen från batteriet och stängs därför av; om en 5 volt spänning på ingången till strömkällan (USB) används, kommer endast laddningssteget att fungera (det drivs via D1 -dioden, som skyddar den mot polaritetsinversioner). Genom att flytta SW1 till det påslagna läget, för SW1b ingångsspänningen till RB4 -ledningen och SW1a driver mikrokontrollern och vad som helst, med hjälp av spänningen i batteriets ändar (ca 4V vid full laddning) utöver att slå på stegomkopplaromvandlaren signerad som U3, som genererar 5V som behövs av resten av kretsen.

När det gäller kretsens funktion via USB, leder SWb ingångsspänningen till RB4, som - genom att implementera dess avläsning i firmware - gör det möjligt att förstå om nätverkets strömkälla hittas; en sådan funktion är användbar för att skapa ett anti-blackout-larm. Å andra sidan, under batteridriften, gör RB4 det möjligt för mikrokontrollern att veta det och genomföra möjliga strategier för att minska energiförbrukningen (till exempel genom att minska intervallerna där mobiltelefonen slås på). RB4 -linjen är det enda sättet firmware måste förstå när kretsen är batteridriven, eftersom om U1 får ström även om RB4 är på noll volt, betyder det att kretsen är batteridriven, medan om det finns en annan strömkälla, det kommer att fungera tack vare spänningen från USB. Låt oss nu återgå till I/Os-initialiseringen och se att RC0-, RE1-, RE2- och RA7-linjerna initialiseras som ingångar, att de har försetts med ett externt pull-up-motstånd, eftersom vi inte kan aktivera det internt för sådana linjer; de kommer att behövas för att kunna läsa kanalerna på hybridmottagaren, det är i alla fall ett tillbehör, reserverat för framtida utveckling. En sådan mottagare kan vara användbar för hemmabruk som fjärrlarm, för dem som är rörelsehindrade eller tvingade på sin säng; genom att upptäcka variationen vid utgångarna på RX -radion, kommer det att ringa ett telefonsamtal för att be om hjälp eller så kommer det att skicka ett liknande SMS. Detta är en möjlig applikation, men det finns andra; i alla fall måste det implementeras i firmware. RC3, RC4, RB0 och RD4 är de linjer som har tilldelats U4 -accelerometern, närmare bestämt är ett brytkort baserat på MMA8452 triaxialaccelerometer från NXP: RC3 är en utgång och den behövs för att skicka en klocksignal, RC4 är en dubbelriktad I/O och den driver SDA, medan de andra två stiften är ingångar som har reserverats för avläsningen av avbrotten INT1 och INT2, som genereras av accelerometern när vissa händelser inträffar. RA1-, RA2- och RA0 -linjerna är fortfarande ingångar, men de har multiplexerats på A/D -omvandlaren och används för att läsa U5 triaxialaccelerometer, som också finns på breakout -kortet och som är baserat på MMA7361 -accelerometermodulen; en sådan komponent är avsedd som ett alternativ till U4 (det är den som för närvarande förväntas av vår firmware) och ger information om accelerationer som detekteras på X-, Y-, Z -axlarna med hjälp av analoga spänningar som kommer ut från motsvarande linjer. I det här fallet är firmware förenklad eftersom MMA8452: s hanteringsrutin inte behövs (det kräver läsning av register, implementering av I²C-Bus-protokollet och så vidare). Fortfarande när det gäller ADC används An0 -linjen för att läsa av spänningsnivån som levereras av litiumbatteriet, som driver mikrokontrollern och resten av kretsen (förutom radiomottagaren); om den fasta programvaran anser det möjliggör det att stänga av hela när batteriet börjar ta slut eller när det är under en viss spänningströskel. RC2 -linjen initieras som en utgång och genererar en serie digitala pulser när den piezoelektriska summern BUZ1 måste släppa ut den akustiska varningsnotan som har indikerats av firmware; andra två utgångar är RD6 och RD7, som har fått i uppgift att tända LD1- och LD2 -lysdioderna.

Steg 4: Kretskortsdiagram

PCB -kretsschema
PCB -kretsschema

Låt oss slutföra analysen av I/Os med RD0, RD2, RD3, RC5, som tillsammans med UART: s RX och TX från gränssnittet mot SIM800C -modulen från SIMCom; i kretsen är den senare monterad på ett särskilt kort som ska sättas in i den specifika kontakten som finns på kretskortet. Modulen utbyter data om de skickade meddelandena (larmmeddelandena) och de mottagna (konfigurationsmedlen) med mikrokontrollern, via PIC: s UART, som också behövs för kommandon för mobiltelefonens inställningar; resten av raderna gäller några statliga signaler: RD2 läser utmatningen för "signal" -LED: n som upprepas av LD4, medan RD3 läser ringindikatorn, det vill säga mobiltelefonkontakten som levererar den höga logiknivån när en telefonsamtal tas emot. RD0 -linjen gör det möjligt att återställa modulen och RC5 hanterar till- och frånkoppling; reset och ON/OFF implementeras av kretsarna på kortet som SIM800C är monterad på.

Kortet, vars kretsschema har visats-tillsammans med stiftet på insättningskontakten-i fig. 1, innehåller SIM800C-mobiltelefonen, en MMX 90 ° antennkontakt och en 2 mm hane 2 × 10 stiftlist på vilken strömmen källa, tändningsledningen (PWR), alla signaler och de seriella kommunikationsledningarna från och mot GSM -modulen, som visas i fig. 1.

Steg 5: Kretskortsdiagram

PCB -kretsschema
PCB -kretsschema

Eftersom mikrokontrollerns I/O har definierats kan vi titta på de två sektionerna som är involverade i att driva kretsen: laddaren och DC/DC-stegomvandlaren.

Laddaren är baserad på MCP73831T integrerad krets (U2), tillverkad av Microchip; som ingång accepterar den vanligtvis 5V (det acceptabla intervallet är mellan 3,75V och 6V), som kommer in i denna krets från USB -kontakten; den levererar-vid utgången-den ström som behövs för att ladda litiumjon- eller litiumpolymer (Li-Po) element och levererar upp till 550mA. Ett batteri (för att anslutas till +/- BAT-kontakterna) kan ha en teoretiskt obegränsad kapacitet, eftersom det som mest skulle laddas på mycket lång tid, men tänk på att med en 550mA ström är ett 550 mAh-element debiteras på en timme; eftersom vi valde en 500 mAh -cell kommer den att laddas på mindre än en timme. Den integrerade kretsen fungerar i den typiska konfigurationen, där LD3 -ljusdioden drivs av STAT -utgången, som förs till den låga logiska nivån vid laddning, medan den förblir på en hög logisk nivå när den slutar ladda; samma bringas till en hög impedans (öppen) när MCP73831T stängs av eller när det visar sig att inget batteri är anslutet till VB -utgången. VB (stift 3) är utgången som används för litiumbatteriet. Den integrerade kretsen utför laddningen med konstant ström och spänning. Laddningsströmmen (Ireg) ställs in med ett motstånd anslutet till stiftet 5 (i vårt fall är det R6); dess värde är anslutet till motståndet genom följande förhållande:

Ireg = 1 000/R

där R -värdet uttrycks i ohm om Ireg -strömmen uttrycks i A. Exempelvis med 4,7 kohm erhålls en 212 mA -begränsning, medan R är 2,2 kohm strömmen är värd cirka 454 mA. om tappen 5 öppnas bringas den integrerade kretsen till viloläge och den absorberar bara 2 µA (avstängning); stiftet kan därför användas som möjliggörande. Låt oss slutföra beskrivningen av kretsschemat med stegomvandlaren, som drar 5 stabiliserade volt från batterispänningen; scenen är baserad på MCP1640BT-I/CHY integrerad krets, det är en synkron boostregulator. Det finns en PWM -generator inuti den som driver en transistor vars kollektor regelbundet stänger L1 -spolen till marken, med hjälp av SW -stiftet, laddar den och låter den frigöra den ackumulerade energin under pauserna - med hjälp av stiftet 5 - till filterkondensatorerna C2, C3, C4, C7 och C9. Diodklämman som skyddar den inre transistorn är också en intern, vilket reducerar de externa komponenterna som behövs till ett minimum: i själva verket finns det filterkondensatorer mellan Vout och jord, L1 -induktorn och den resistiva avdelaren mellan Vout och FB som handlar med återaktivering av PWM -generatorn via den interna felförstärkaren, genom att stabilisera utspänningen till önskat värde. Genom att ändra förhållandet mellan R7 och R8 är det därför möjligt att ändra spänningen som levereras av Vout -stiftet, men det är inte i vårt intresse att göra det.

Steg 6: Inställningar och kommandon för Save My Child

Inställningar och kommandon för Save My Child
Inställningar och kommandon för Save My Child
Inställningar och kommandon för Save My Child
Inställningar och kommandon för Save My Child

När installationen har slutförts måste du konfigurera enheten; en sådan operation utförs via SMS, sätt därför in ett operativt SIM-kort i SIM-hållaren på 7100-FT1308M-modulen och notera motsvarande telefonnummer. Därefter ger du alla nödvändiga kommandon via en mobiltelefon: de visas alla i tabell 1.

Bland de första sakerna att göra är konfigurationen av telefonnumren i listan över dem som systemet kommer att ringa till eller till vilket larm -SMS kommer att skickas till, om det är ett barn på barnstolen som eventuellt har varit” glömd övergiven”. För att underlätta förfarandet, med tanke på att systemet är skyddat av lösenordet som för denna operation, har ett enkelt installationsläge utformats: under den första gången det startas kommer systemet att spara det första telefonnumret som ringer det, och betraktar det som det första numret i listan. Detta nummer kommer att kunna utföra ändringar, även utan lösenord; hur som helst kan kommandona skickas med vilken telefon som helst, så länge motsvarande SMS innehåller lösenordet, och även om vi - för att påskynda vissa kommandon - tillät att de som skickas av telefonnumren i listan kan ges utan att behöva lösenord. När det gäller kommandon om tillägg och radering av telefonnummer från listan, gör begäran av ett lösenord det så att listan hanteras endast av en person som har möjlighet att göra det. Låt oss gå vidare till beskrivningen av kommandona och till motsvarande syntax, med förutsättningen att kretsen också accepterar SMS -meddelanden som innehåller mer än ett kommando; i så fall måste kommandona separeras från följande med hjälp av ett kommatecken. Det första kommandot som granskas är det som ändrar lösenordet, det består av ett SMS som PWDxxxxx; pwd, där det nya lösenordet (består av fem nummer) måste skrivas i stället för xxxxx, medan pwd anger det aktuella lösenordet. Standardlösenordet är 12345.

Memoriseringen av ett av de åtta numren som är aktiverade för att skicka konfigurationskommandon utförs genom att skicka ett SMS, vars text innehåller NUMx+nnnnnnnnnnnnn; pwd -text, där positionen (vilket nummer lagras) måste skrivas i stället för x, telefonnumret går i stället för ns, medan pwd är det aktuella lösenordet. Allt måste skrivas utan mellanslag. Nummer som är 19 siffror långa är tillåtna, medan + ersätter 00 som det internationella samtalsprefixet, på mobiltelefonerna. Till exempel, för att lägga till telefonnumret 00398911512 i den tredje positionen, måste du skicka ett kommando så här: NUM3+398911512; pwd. Lösenordet behövs bara när du försöker spara ett telefonnummer i en position som redan har upptagits av ett annat; å andra sidan, om du måste lägga till ett nummer i en tom position, behöver du bara skicka ett SMS med följande text: NUMx+nnnnnnnnnnnnn. Radering av ett nummer utförs via ett SMS som innehåller NUMx; pwd text; i stället för x måste du skriva positionen för telefonnumret som ska raderas, medan pwd är det vanliga lösenordet. Till exempel, för att radera det fjärde telefonnumret från den memorerade listan, behövs ett meddelande som innehåller NUM4; pwd -text. För att begära listan över telefonnumret som lagras i kretsen måste du skicka ett SMS med följande text: NUM?; Pwd. Styrelsen svarar på telefonnumret från vilket förhöret kommer. Det är möjligt att känna till kvaliteten på GSM -signalen genom att skicka QUAL? kommando; systemet kommer att svara med ett SMS som innehåller den aktuella situationen. Meddelandet skickas till telefonen som skickade kommandot. Låt oss gå vidare till inmatningsläget och konfigurationsmeddelanden: LIV? tillåter att veta ingångarnas tillstånd; IN2 kan fungera både på en spänningsnivå (den ställs in via LIV2: b, som utlöser larmet när ingången är öppen) och i en variant (den ställs in via LIV: v). När det gäller ingångarna är det möjligt att ställa in en inhiberingstid via kommandot INI1: mm (interdiktionsminuterna går i stället för mm) för IN1 och via INI2: mm för IN2; inhiberingen behövs för att undvika att skicka kontinuerliga varningar om ingången - i nivåläget - förblir öppen. För att definiera vilka nummer i listan som måste ta emot telefonsamtal måste du skicka meddelandet VOCxxxxxxxx: ON; pwd, med samma regler som används för hantering av telefonnummer som du vill skicka SMS -meddelanden till. Svarsmeddelandet är väldigt likt: "Antal memorerat: Posx V+nnnnnnnnnnnn, Posy V+nnnnnnnnnnn." S för SMS har ersatts av röstens V. Även i det här fallet finns det två olika kommandon för avaktiveringen: SMSxxxxxxxx: OFF; pwd inaktiverar sändning av meddelanden och VOCxxxxxxxx: OFF; pwd inaktiverar möjligheten att ringa telefonsamtal. Xs representerar positionerna för siffrorna som inte får ta emot larmvarningarna. Vi måste klargöra något angående kommandot för inställning av telefonnummer som ska ringas eller till vilket larm -SMS -meddelanden ska skickas: enligt standardinställningarna för firmware och efter varje total återställning kommer systemet att styra både samtal och SMS meddelanden, till alla memorerade nummer. Följaktligen, för att utelämna några av dem, är det nödvändigt att skicka inaktiveringskommandona: SMSxxxxxxxx: OFF; pwd eller VOCxxxxxxxx: OFF; pwd, och för att ange de positioner som ska uteslutas. Systemet skickar ett SMS till telefonnumret som intar första platsen i listan, varje gång det är nytt. En sådan funktion kan inaktiveras/aktiveras via AVV0 (inaktivera) och AVV1 (aktivera) kommandon; standardtexten är SYSTEMSTART. Låt oss gå vidare till kommandona som gör det möjligt att sända eller skriva över SMS -meddelanden: syntaxen är som TINn: xxxxxxxxx, där n är numret på den ingång som meddelandet hänvisar till, medan xs motsvarar textmeddelandet, som inte får överstiga en längd på 100 tecken. En viktig inställning är den som gäller IN1 -observationstiden, som utförs via OSS1: ss -kommandot, under vilken tiden (mellan 0 och 59 sekunder) går i stället för ss: den indikerar för kretsen hur mycket måste knapparna förbli nedtryckta från det att det har upptäckts att bilen stannat och före larmgenerering. Fördröjningen är avgörande för att undvika att ett falskt alarm uppstår när du stannar en kort stund. Under denna synvinkel väntar fastvaran, när kretsen är på (när instrumentbrädan är påslagen), en tid som är dubbelt så stor som den för att tillåta föraren att utföra funktioner som att stänga garageporten eller fastsättning av säkerhetsbälten etc. En observationstid för IN2 kan också definieras, med samma procedurer, genom att ge kommandot OSS2: ss; det är också möjligt att begära de för närvarande inställda tiderna via SMS (OSS? -kommando). Låt oss komplettera denna översikt över kommandona med den som returnerar standardinställningarna: det är RES; pwd. Svarsmeddelandet är "Återställ". Resten av kommandona har beskrivits i tabell 1.

Steg 7: Komponentlista

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 (oanvänd)

P1: 90 ° mikrobrytare

P2: -

LD1: 3 mm gul LED

LD2, LD4: 3 mm gröna lysdioder

LD5: - LD3: 3 mm röd LED

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: 2,7V 500mW Zener -diod

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

BUZ1: summer utan elektronik

8-vägs kvinnlig banddelare

9-vägs kvinnlig banddelare

6-vägs hanremsa

2 mm tonhöjd 2 × 10 honkontakt

2,54 tonhöjd 2-vägs terminal (3 st.)

2 mm stigning 2-vägs JST-kontakt för kretskort

500mA LiPo -batteri med 2 mm JST -kontakt

S1361 (85 × 51 mm) kretskort

Steg 8: Slutsats

Slutsats
Slutsats

Projektet vi föreslog här är en öppen plattform; det är möjligt att använda det för att skapa många applikationer, bland vilka det finns: larmet för att förhindra att man glömmer barn i bilen, fjärrvårdssystemet och fjärrlarmet som vi nämnde tidigare. Mer generellt är det ett system som kan generera varningar och meddelanden via telefon, när vissa händelser - som inte nödvändigtvis är nödsituationer - inträffar, och därför fungerar de också för fjärrövervakning.

Rekommenderad: