Съдържание:

Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата: 8 стъпки
Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата: 8 стъпки

Видео: Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата: 8 стъпки

Видео: Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата: 8 стъпки
Видео: Тя е на 9 Години, но Нейният Стомах е Като Бременна 2024, Юли
Anonim
Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата
Save My Child: Интелигентната седалка, която изпраща текстови съобщения, ако забравите детето в колата

Инсталира се в автомобили и благодарение на детектор, поставен на детската седалка, ни предупреждава - чрез SMS или телефонно обаждане - ако се измъкнем, без да доведем детето с нас

Стъпка 1: Въведение

Въведение
Въведение

Сред най -тъжните (и във всеки случай редки) инциденти в новините има такива на родители, които - поради бързина, здравословни проблеми или липса на внимание - излизат от колата и „забравят“децата си на детското столче, в гореща или студена среда. Разбира се, подобни инциденти биха могли да бъдат избегнати, ако някой или нещо напомни на шофьора, че е оставил детето в колата; несъмнено технологията може да помогне и да предложи решения, които да бъдат внедрени в автомобила от производителя или от „модернизиране“, като например описания тук проект. Това е устройство, базирано на мобилен телефон GSM, което открива някои параметри, въз основа на които се оценява поведението на водача и се изпълняват необходимите действия: по -специално, SMS се изпраща до телефона на шофьора, който избяга от колата. Устройството е инсталирано в колата и се захранва от електрическата система на последния; той проверява дали детето е на седалката си (посредством сензор, който се състои от някои нископрофилни бутони, монтирани на макет, който да се постави под капака на детското столче): ако се окаже, че бутоните са натиснати (следователно детето е седнало), веригата също ще провери дали превозното средство е спряло (с помощта на триаксиален акселерометър), ако е така и след като изтече зададеното време, то ще изпрати алармено SMS съобщение до телефона на водача и ще издаде звуков сигнал.

Освен това той осъществява обаждане до същия телефонен номер и евентуално до други, така че родители, приятели и други хора да могат да се обадят на шофьора, за да проверят какво се случва. Въпреки че избраното приложение е гореспоменатото, проектът е създаден в нашата лаборатория като платформа, която може да бъде адаптирана за другите две цели. Първият е устройство за остатъчен ток за възрастни и крехки хора, докато вторият е дистанционна аларма, работеща в случай на прекъсвания (и полезна с цел да се избегне замразяването на фризера и храната в него да стане опасна).

Стъпка 2: Запазете веригата на детето си

Запазете веригата на детето си
Запазете веригата на детето си

Нека да видим за какво става въпрос и да анализираме електрическата диаграма на веригата, чието управление е поверено на микроконтролер PIC18F46K20-I/PT от Microchip, който е програмиран чрез нашия фърмуер MF1361, така че да прочете състоянието на входовете (към които са свързани сензора за тегло на детската седалка и евентуално устройство за откриване), и получава сигналите, подавани от акселерометъра (U5), и разговаря с (U4) външния EEPROM (съдържащ настройките за функционирането на системата)) и интерфейсира възможен (U6) радиоприемник и управлява (GSM) клетъчен модул.

Моля, обърнете внимание, че схемата разглежда елементи, които могат да бъдат монтирани или не, тъй като ние я замислихме като разширяема платформа за разработка, за тези от вас, които искат да създадат свое собствено приложение, започвайки от базовия фърмуер. Нека започнем, като опишем микроконтролера, който-след нулиране при включване-инициализира линиите RB1 и RB2 като входове, снабдени с вътрешен резистор за изтегляне, който ще бъде необходим, за да се прочетат някои нормално отворени контакти, които са свързани към IN1 и IN2; диодите D2 и D3 защитават микроконтролера в случай, че напрежение над това на източника на захранване на PIC е приложено погрешно към входовете. IN1 понастоящем се използва за сензора за тегло на детската седалка, докато IN2 е наличен за допълнителни възможни контроли: можем да го използваме, например, за откриване на отваряне и затваряне на вратите, чрез отчитане на напрежението на люксовите светлини; по отношение на това, моля, имайте предвид, че в някои съвременни автомобили таванните светлини се управляват (в ШИМ) от съединителна кутия (за да се осигури постепенно включване и изключване), докато ние просто трябва да прочетем състоянието на светлините, незабавно включени и изключено (в противен случай показанието ще бъде ненормално); след това ще трябва да филтрираме ШИМ с помощта на кондензатор, поставен между входа на микроконтролера и земята (след диода). Друг вход е RB3, все още снабден с вътрешен резистор за изтегляне, който е необходим за четене на бутона P1 (който се използва за принудително включване на клетъчния модул, който обикновено е изключен). Все още по време на инициализацията на I/Os, RB4 се задава като вход с цел отчитане - с помощта на делителя на напрежението R1 и R2 - стартирането на веригата, осъществено от двойния девиатор SW1b; разделителят на напрежението е необходим, тъй като микроконтролерът понася напрежение, което е по -ниско от входното, намиращо се на захранващия конектор. Функцията на RB4 е запазена за бъдещи разработки, обяснено е, като се има предвид, че веригата може да се захранва както от мрежово захранване чрез USB гнездо, така и чрез литиева батерия, която е свързана към изхода на специалния регулатор на заряда.

Стъпка 3: Електрическа схема

Електрическа схема
Електрическа схема

Когато SW1 се премества върху контактите, маркирани с кръст в електрическата схема, останалата част от веригата е изолирана от батерията и следователно е изключена; ако на входа на източника на захранване (USB) се приложи 5 -волтово напрежение, ще работи само степента на зарядното устройство (захранва се чрез диод D1, който го предпазва от инверсии на полярността). Чрез преместване на SW1 в включено положение, SW1b привежда входното напрежение към линията RB4 и SW1a захранва микроконтролера и какво ли още не, чрез напрежението в краищата на батерията (около 4V при пълно зареждане) в допълнение към включването повишаващият превключващ преобразувател, подписан като U3, генерира 5V, необходими за останалата част от веригата.

Що се отнася до функционирането на веригата, захранвана чрез USB, SWb внася входното напрежение към RB4, което - чрез внедряването на неговото отчитане във фърмуера - позволява да се разбере дали е намерен мрежовият източник на захранване; такава функция е полезна за създаване на аларма против затъмнение. От друга страна, по време на работа на батерията, RB4 позволява на микроконтролера да знае това и да изпълнява възможни стратегии за намаляване на консумацията на енергия (например чрез намаляване на интервалите, в които мобилният телефон е включен). Линията RB4 е единственият начин, по който фърмуерът трябва да разбере кога веригата работи на батерия, тъй като ако U1 получава захранване, дори ако RB4 е на нула волта, това означава, че веригата работи с батерия, докато ако има друг източник на захранване, той ще функционира благодарение на напрежението, получено от USB. Нека се върнем сега към инициализацията на I/Os и да видим, че линиите RC0, RE1, RE2 и RA7 са инициализирани като входове, че са снабдени с външен издърпващ се резистор, като се има предвид, че не можем да го активираме вътрешно за такива линии; те ще са необходими, за да се четат каналите на хибридния приемник, който така или иначе е аксесоар, запазен за бъдещи разработки. Такъв приемник може да се окаже полезен за домашна употреба като дистанционна аларма, за тези, които са с нарушено движение или принудени да легнат на леглото си; като открие вариацията на изходите на RX радиото, той ще осъществи телефонно обаждане, за да поиска помощ, или ще изпрати подобен SMS. Това е възможно приложение, но има и други; така или иначе, тя трябва да бъде внедрена във фърмуера. RC3, RC4, RB0 и RD4 са линиите, които са присвоени на акселерометъра U4, по -конкретно е пробивна платка, базирана на триаксиалния акселерометър MMA8452 от NXP: RC3 е изход и е необходим за изпращане на часовник, RC4 е двупосочен I/O и задвижва SDA, докато другите два пина са входове, които са запазени за отчитане на прекъсванията INT1 и INT2, които се генерират от акселерометъра, когато възникнат определени събития. Линиите RA1, RA2 и RA0 все още са входове, но те са мултиплексирани на A/D преобразувателя и се използват за четене на триаксиалния акселерометър U5, който също е на платката за разбиване и е базиран на модула за ускорение MMA7361; такъв компонент е замислен като алтернатива на U4 (това е този, който в момента се очаква от нашия фърмуер) и предоставя информация относно ускоренията, открити по осите X, Y, Z чрез аналогови напрежения, излизащи от съответните линии. В този случай фърмуерът е опростен, тъй като рутинната програма за управление на MMA8452 не е необходима (изисква четене на регистрите, внедряване на протокол I²C-Bus и т.н.). Все още по въпроса за ADC, линията An0 се използва за отчитане на нивото на напрежение, което се захранва от литиевата батерия, което захранва микроконтролера и останалата част от веригата (с изключение на радиоприемника); ако фърмуерът го счита, той дава възможност за изключване на цялото, когато батерията е изтощена, или когато е под определен праг на напрежение. Линията RC2 се инициализира като изход и генерира поредица от цифрови импулси, когато пиезоелектричният зумер BUZ1 трябва да издаде предупредителната звукова нота, която е посочена от фърмуера; други два изхода са RD6 и RD7, на които е възложена задачата да светят светодиодите LD1 и LD2.

Стъпка 4: Схема на печатни платки

Схема на печатни платки
Схема на печатни платки

Нека завършим анализа на входовете/изходите с RD0, RD2, RD3, RC5, че заедно с RX и TX на UART от интерфейса към клетъчния модул SIM800C от SIMCom; във веригата последната е монтирана на специална платка, която да бъде поставена в специфичния конектор, намиращ се на печатната платка. Модулът обменя данните относно изпратените съобщения (алармените) и получените (тези за конфигуриране) с микроконтролера, чрез UART на PIC, който също е необходим за командите за настройките на мобилния телефон; останалите редове се отнасят до някои сигнали за състоянието: RD2 чете изхода за „сигналния“светодиод, който се повтаря от LD4, докато RD3 чете индикатора за звънене, тоест контакта на мобилния телефон, който осигурява високо логическо ниво, когато е получено телефонно обаждане. Линията RD0 дава възможност за нулиране на модула, а RC5 се занимава с включването и изключването; нулирането и ВКЛ./ИЗКЛ. се осъществяват от схемата на платката, върху която е монтиран SIM800C.

Платката, чиято електрическа схема е показана-заедно с извода на конектора за вмъкване-на фиг. 1, съдържа мобилния телефон SIM800C, конектор за антена MMX 90 ° и 2 мм мъжки 2 × 10 щифта, на които захранването източник, линията за управление на запалването (PWR), всички сигнали и серийните комуникационни линии от и към GSM модула, както е показано на фиг.

Стъпка 5: Схема на печатни платки

Схема на печатни платки
Схема на печатни платки

Тъй като входовете/изходите на микроконтролера са дефинирани, можем да разгледаме двата раздела, участващи в захранването на веригата: зарядното устройство и DC/DC увеличаващия преобразувател.

Зарядното устройство е на базата на интегралната схема MCP73831T (U2), произведена от Microchip; като вход обикновено приема 5V (допустимият диапазон е между 3.75V и 6V), идващ в тази схема от USB конектора; той захранва-на изхода-тока, необходим за зареждане на литиево-йонни или литиево-полимерни (Li-Po) елементи, и захранва до 550mA. Батерията (която трябва да бъде свързана към контактите +/- BAT) може да има теоретично неограничен капацитет, тъй като най-много ще се зареди за много дълго време, но имайте предвид, че посредством ток от 550 mA, елемент от 550 mAh е зарежда се за час; тъй като избрахме клетка от 500 mAh, тя ще бъде заредена за по -малко от час. Интегралната схема работи в типичната конфигурация, при която светлинният диод LD3 се задвижва от изхода STAT, който се довежда до ниското логическо ниво при зареждане, докато остава на високо логическо ниво, когато спира зареждането; същото се довежда до висок импеданс (отворен), когато MCP73831T е изключен или когато се окаже, че няма батерия, свързана към VB изхода. VB (щифт 3) е изходът, който се използва за литиевата батерия. Интегралната схема извършва зареждането с постоянен ток и напрежение. Токът на зареждане (Ireg) се настройва с помощта на резистор, свързан към щифта 5 (в нашия случай това е R6); стойността му е свързана със съпротивлението чрез следната връзка:

Ирег = 1 000/R

в която стойността R е изразена в ома, ако токът Ireg е изразен в А. Например, с 4,7 kohm се получава ограничение от 212 mA, докато при R е 2,2 kohm токът е на стойност около 454 mA. ако щифт 5 е отворен, интегралната верига се довежда до състояние на празен ход и поглъща само 2 µA (изключване); следователно щифтът може да се използва като позволяващ. Нека завършим описанието на електрическата схема с повишаващия преобразувател, който извлича 5 стабилизирани волта от напрежението на батерията; етапът се основава на интегралната схема MCP1640BT-I/CHY, това е синхронен регулатор на усилването. Вътре в него има ШИМ генератор, който задвижва транзистор, чийто колектор периодично затваря бобината L1 към земята, чрез SW щифта, той го зарежда и му позволява да освободи натрупаната енергия по време на паузите - посредством щифт 5 - до филтърните кондензатори C2, C3, C4, C7 и C9. Диодната скоба, предпазваща вътрешния транзистор, също е вътрешна, като по този начин намалява необходимите външни компоненти до минимум: всъщност има филтърни кондензатори между Vout и земя, L1 индуктор и резистивен делител между Vout и FB, който се занимава с повторно активиране на PWM генератора чрез вътрешния усилвател на грешки, чрез стабилизиране на изходното напрежение при желаната стойност. Следователно чрез промяна на съотношението между R7 и R8 е възможно да се промени напрежението, подавано от щифта Vout, но това не е в наш интерес да го направим.

Стъпка 6: Настройки и команди за Save My Child

Настройки и команди за Save My Child
Настройки и команди за Save My Child
Настройки и команди за Save My Child
Настройки и команди за Save My Child

След като инсталацията приключи, ще трябва да конфигурирате устройството; такава операция се извършва чрез SMS, затова, моля, поставете работеща SIM в държача на SIM на модула 7100-FT1308M и обърнете внимание на съответния телефонен номер. След това, моля, дайте всички необходими команди чрез мобилен телефон: всички те са показани в Таблица 1.

Сред първите неща, които трябва да направите, е конфигурирането на телефонните номера в списъка на тези, които системата ще извика или на които ще бъдат изпратени алармени SMS съобщения, в случай на дете на детското столче, което вероятно е било „ забравен изоставен “. За да се улесни процедурата, като се има предвид, че системата е защитена с парола за тази операция, е проектиран режим на лесна настройка: при първото стартиране системата ще запише първия телефонен номер, който я извиква, и счита го за първото число в списъка. Този номер ще може да извършва модификации, дори без пароли; така или иначе командите могат да се изпращат от всеки телефон, стига съответният SMS да включва паролата, и въпреки че - за да ускорим някои команди - разрешихме тези, изпратени от телефонните номера в списъка, да могат да бъдат дадени без нужда от пароли. Що се отнася до командите относно добавянето и изтриването на телефонни номера от списъка, искането на парола прави така, че списъкът се управлява само от лице, на което е разрешено да го направи. Нека преминем сега към описанието на командите и към съответния синтаксис, с предпоставката, че веригата приема и SMS съобщения, съдържащи повече от команда; в този случай командите трябва да бъдат отделени от следващата чрез запетая. Първата изследвана команда е тази, която променя паролата, тя се състои в SMS като PWDxxxxx; pwd, в който новата парола (съставена от пет числа) трябва да бъде написана на мястото на xxxxx, докато pwd показва текущата парола. Паролата по подразбиране е 12345.

Запаметяването на един от осемте номера, разрешени за изпращане на конфигурационни команди, се осъществява чрез изпращане на SMS, чийто текст съдържа NUMx+nnnnnnnnnnnnn; pwd текст, в който позицията (кое число се запаметява) трябва да бъде написана на мястото на x, телефонният номер отива на мястото на ns, докато pwd е текущата парола. Всички те трябва да бъдат написани без интервали. Разрешени са числа с дължина 19 цифри, докато + замества 00 като международен префикс за повикване, на мобилните телефони. Например, за да добавите телефонния номер 00398911512 на трета позиция, ще трябва да изпратите команда по следния начин: NUM3+398911512; pwd. Паролата е необходима само когато се опитвате да запазите телефонен номер на позиция, която вече е заета от друга; от друга страна, ако трябва да добавите номер на празно място, просто трябва да изпратите SMS със следния текст: NUMx+nnnnnnnnnnnnn. Изтриването на номер се извършва чрез SMS, съдържащ NUMx; pwd текст; на мястото на x ще трябва да напишете позицията на телефонния номер за изтриване, докато pwd е обичайната парола. Например, за да изтриете четвъртия телефонен номер от запомнения списък, е необходимо съобщение, съдържащо NUM4; pwd текст. За да поискате списъка с телефонния номер, запомнен във веригата, ще трябва да изпратите SMS, съдържащ следния текст: NUM?; Pwd. Таблото отговаря на телефонния номер, от който идва разпитът. Възможно ли е да се знае качеството на GSM сигнала чрез изпращане на QUAL? команда; системата ще отговори с SMS, съдържащ текущата ситуация. Съобщението ще бъде изпратено до телефона, който е изпратил командата. Нека преминем сега към състоянието на входа и съобщенията за конфигурация: LIV? позволява да се знае състоянието на входовете; IN2 може да работи както на ниво напрежение (настройва се чрез LIV2: b, което задейства алармата, когато входът е отворен), така и на вариант едно (настройва се чрез LIV: v). Що се отнася до входовете, възможно е да се зададе време на инхибиране чрез командата INI1: mm (минутите за задържане отиват на мястото на mm) за IN1 и чрез INI2: mm за IN2; блокирането е необходимо, за да се избегне изпращането на непрекъснати предупреждения, ако входът - в режим на ниво - остане отворен. За да определите кои номера в списъка трябва да получават телефонни обаждания, трябва да изпратите съобщението VOCxxxxxxxx: ON; pwd, със същите правила, използвани за управление на телефонните номера, на които да се изпращат SMS съобщенията. Съобщението за отговор е много подобно: „Запаметен номер: Posx V+nnnnnnnnnnnn, Posy V+nnnnnnnnnnn.“S на SMS е заменен с V на глас. Дори в този случай има две различни команди за деактивиране: SMSxxxxxxxx: OFF; pwd деактивира изпращането на съобщения и VOCxxxxxxxx: OFF; pwd деактивира възможността за осъществяване на телефонни обаждания. Xs представляват позициите на числата, които не трябва да получават предупреждения за аларма. Трябва да изясним нещо относно командата за настройка на телефонните номера, които да се обаждат или на които да се изпращат алармени SMS съобщения: според настройките по подразбиране на фърмуера и след всяко пълно нулиране, системата ще насочва както обажданията, така и SMS съобщения до всички запаметени номера. Следователно, за да бъдат пропуснати някои от тях, е необходимо да се изпратят команди за деактивиране: SMSxxxxxxxx: OFF; pwd или VOCxxxxxxxx: OFF; pwd, и да се посочат позициите, които да бъдат пропуснати. Системата изпраща SMS до телефонния номер, заемащ първото място в списъка, всеки път, когато се захранва ново. Такава функция може да бъде деактивирана/активирана чрез командите AVV0 (деактивиране) и AVV1 (активиране); текстът по подразбиране е SYSTEM STARTUP. Нека преминем сега към командите, които позволяват запаметяването или презаписването на SMS съобщенията да бъдат изпратени: синтаксисът е като този на TINn: xxxxxxxxx, в който n е номерът на входа, за който се отнася съобщението, докато xs съответстват на текстовото съобщение, което не трябва да надвишава дължина от 100 знака. Съществена настройка е тази относно времето за наблюдение IN1, която се осъществява чрез командата OSS1: ss, при която времето (вариращо между 0 и 59 секунди) отива на мястото на ss: показва на веригата за колко времето, когато бутоните трябва да останат натиснати от момента, в който е установено, че колата е спряла, и преди генерирането на аларма. Забавянето е от съществено значение, за да се избегне появата на фалшива аларма, когато спрете за кратко. От тази гледна точка фърмуерът, когато веригата се захранва (когато таблото е включено), изчаква време, което е два пъти по -голямо от зададеното, за да позволи на водача да извършва операции като затваряне на гаражната врата или закрепване на предпазните колани и т.н. Време за наблюдение за IN2 може също да бъде определено със същите процедури чрез подаване на команда OSS2: ss; възможно е също така да се заявят зададените в момента часове чрез SMS (команда OSS?). Нека завършим този преглед на командите с този, който връща настройките по подразбиране: това е RES; pwd. Съобщението за отговор е „Нулиране“. Останалите команди са описани в Таблица 1.

Стъпка 7: Списък на компонентите

C1, C8, C10: 1 µF керамичен кондензатор (0805)

C2, C6, C7, C9: керамичен кондензатор от 100 nF (0805)

C3, C4: 470 µF 6.3 VL танталов кондензатор (D)

C5: 4, 7 µF 6.3 VL танталов кондензатор (A)

R1, R2, R4: 10 kohm (0805)

R3, R12: 1 kohm (0805)

R5: 470 ома (0805) R6: 3,3 kohm (0805)

R7: 470 kohm (0805) 1%

R8: 150 kohm (0805) 1%

R9 ÷ R11: 470 ома (0805)

R13 ÷ R16: 10 kohm (0805)

R17: -

U1: PIC18F46K20-I/PT (MF1361)

U2: MCP73831T

U3: MCP1640BT-I/CHY

U4: Пробивна дъска cod. 2846-MMA8452

U5: Пробивна дъска cod. 7300-MMA7361 (неизползван)

P1: 90 ° Микропревключвател

P2: -

LD1: 3 мм жълт светодиод

LD2, LD4: 3 мм зелени светодиоди

LD5: - LD3: 3 мм червен светодиод

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: 2.7V 500mW ценеров диод

L1: 4.7 µH 770mA индуктор с навит кабел

BUZ1: Звуков сигнал без електроника

8-посочен женски ленторазделител

9-пътен женски сплитер

6-пътен мъжки разделител на ленти

2 мм стъпка 2 × 10 женски конектор

2,54 стъпка двупосочен терминал (3 бр.)

Двупосочен JST конектор с 2 mm стъпка за печатни платки

500mA LiPo батерия с 2 мм JST конектор

S1361 (85 × 51 mm) печатна платка

Стъпка 8: Заключение

Заключение
Заключение

Проектът, който предложихме тук, е отворена платформа; възможно е да се използва за създаване на много приложения, сред които има: алармата за предотвратяване на забравяне на деца в колата, системата за дистанционно обслужване и дистанционната аларма, за която споменахме по -рано. По -общо казано, това е система, която е в състояние да генерира предупреждения и известия по телефона, когато се случват определени събития - които не са непременно спешни случаи и следователно те служат и за целите на дистанционно наблюдение.

Препоръчано: