Acum câțiva ani am avut ideea de a dezvolta un dispozitiv pentru a monitoriza localizarea obiectului prin intermediul sistemelor GSM GPS și, am început să achiziționeze modulele necesare, dar înainte de punerea în aplicare a proiectului, niciodată nu a venit. Și acum câteva luni, m-am gândit din nou despre ideea și setat la locul de muncă. Antrenate în vedere următoarele idei: dispozitivul trebuie să fie autonom și pentru a face cea mai rentabilă; Controlul si transmisia de date se realizează rețele de comunicații mobile GSM; determinarea coordonatelor folosind un sistem de poziționare GPS global.
Pentru a lucra în rețelele de telefonie mobilă care utilizează module GSM, care consumă multă energie, în cazul în care modulul este permanent pornit, bateria sau bateria nu este suficient pentru funcționare continuă. Așa că am decis să utilizeze un mod de operare pe un program în dispozitiv instalat ceasul de timp real, la un moment dat dispozitivul se trezește și apoi pe modulul GSM să aștepte un apel sau SMS mesaje. După toate problemele de dispozitiv „adormire“. Astfel, există o economie semnificativă de energie.
Imaginea următoare arată GPS-GSM tracker circuit de microcontroler PIC16F690:
Dispozitivul utilizează un / GPRS modem GSM Neoway M590. Chip DD1 (PCF8583) este un ceas de timp real RTC. cu funcție de alarmă. DD2 trezirea microcontroler din modul de repaus la un moment dat sub întrerupere, care este generat pe linia INT DD1 cip. Schimbarea capacitate de condensator C2 * puteți regla ceasul.
Pentru a determina coordonatele folosind un modul GPS NEO-6M. Modulul de bord a fost modificat pentru a putea activa sau dezactiva modulul pe un semnal de la microcontroler. Inițial, aparatul este pornit imediat după conectarea electrică, care nu este potrivit pentru mine. Montat pe stabilizator de tensiune modul 3.3V în SOT-23 pachet, care are un stabilizator de ieșire de control, dar acesta este conectat direct la linia de alimentare. Am tăiat pista și a lansat de ieșire de control pentru microcontroler. Într-un caz, nu am fost în stare să mențină un regulator de tensiune (rupt de ieșire), astfel încât a pus un alt stabilizator, tensiune de 3V, în aceeași carcasă (DA1 „- LP2981-30DBVR). În China, două tipuri de module sunt disponibile: o placă albastră și o antenă mare și o rochie roșie și o antenă mică.
Microcontrolerul „comunică“ cu cele două module de protocol UART, și este de 9600 biți / sec, modulele trebuie să fie pre-configurate la această rată pentru modulul GSM utilizează UART hardware integrat în microcontroler, pentru modul GPS UART software implementat, o rată de date.
LED-urile HL1, HL2-indicator atunci când microcontrolerul este în funcțiune, se aprinde LED-HL1, tranziția a microcontrolerului în modul „sleep“, LED-ul se stinge. HL2 LED se aprinde în caz de erori în timpul funcționării. HL3 LED-ul indică starea modulului GSM.
Există două moduri de operare de bază: modul de așteptare și modul de baliză. În modul de așteptare, aparatul se trezește pe un program stabilit și așteaptă un apel primit atunci când detectează un dispozitiv de apel resetează apelul la al doilea în contul de „bip“ și continuă să scadă timp de încă 20 de secunde, apoi se determină coordonatele și le trimite ca un mesaj SMS la persoana de la care am primit un apel. așteptările unui apel primit, puteți personaliza. În modul far, aparatul se trezește periodic la un interval de timp predeterminat, determină coordonatele și le trimite la abonat.
După primul viraj pe modul de așteptare activ implicit, pentru a activa modul de baliză, de pe dispozitivul pe care doriți să trimiteți un mesaj SMS cu un text GPS-STARThhmm în cazul în care HH-ore, perioadă de mm de minute care a stabilit coordonatele de referință. De exemplu, dacă doriți să obțineți coordonatele la fiecare jumătate de oră, atunci mesajul va arata ca: GPS-START0130. Coordonatele în acest mod sunt trimise abonatului, de la care a fost raportat. Pentru a opri semnalul luminos și pentru a comuta în modul de așteptare pe care doriți să trimiteți un mesaj cu textul GPS-STOP, unitatea va continua lucrările la timp.
Aparatul citește mesajele SMS de pe cartela SIM în timpul fiecărei trezirii sesiune, citirea se realizează după determinarea coordonatelor și trimise abonatului, sau după expirarea timpului de așteptare al apelului de intrare în modul de așteptare (în cazul în care apelul nu este primit).
La trimiterea unui mesaj pe care trebuie să ia în considerare unele dintre nuanțele, faptul este că, dacă trimiteți un mesaj atunci când dispozitivul este (modulul GSM este oprit) „adormit“, atunci data viitoare când porniți mesajul nu poate intra imediat unitatea, întârzierea poate fi de la câteva minute la câteva ore, în funcție de caracteristicile operatorului de telefonie mobilă. Pentru a face acest lucru, aparatul este pus în aplicare o așteptare pentru mesajele SMS, întrerupe numărătoarea inversă începe după determinarea coordonatelor și trimiterea unui abonat (lungimea pauzei poate fi reglată). Astfel, este de dorit pentru a trimite mesaje către dispozitivul în timpul unui SMS de așteptare pauză, sau în timp ce de așteptare pentru un apel primit.
Există două opțiuni de a activa modul far: în timpul următorului dispozitiv de trezire pentru a efectua un apel, după ce a primit mesajul cu coordonatele (în timp ce așteaptă pauza SMS), trimite mesaj SMS GPS-STARThhmm. Mai mult, aparatul intră în modul de baliză și se trezește data viitoare prin intervalul de timp specificat în mesaj. A doua opțiune nu este de a face un apel pentru a trimite un mesaj SMS GPS-STARThhmm (în timp ce de așteptare pentru apelurile primite), citirea unui mesaj, aparatul va determina coordonatele și le trimite la abonat, și apoi du-te în modul far, și du-te la culcare, pauza de așteptare SMS-uri în acest caz, nu va fi executat .
În procesul de determinare a valorilor coordonatele sunt actualizate ceas de timp real pentru a compensa plecarea de ore, din cauza inexactitatea rândul său. Valoarea exactă de timp este derivată din datele primite de la modulul GPS. În plus, valoarea de măsurare a tensiunii de dispozitiv este transmis mesajul SMS cu coordonatele. mesaj text cu coordonatele după cum urmează: "5,511.21316, N, 06,117.54100, E 4,07V". În cazul în care coordonatele nu sunt primite pentru o anumită perioadă de timp, abonatul este trimis un mesaj de genul: „NU KOORD 4,10V“. Timpul de așteptare coordonatele din modulul GPS poate fi reglat.
Unitate de trezire timp (programarea) și alți parametri pot fi setate în două moduri: în primul rând a scrie memoria EEPROM a microcontrolerului în timpul programării, sau prin trimiterea unui mesaj SMS pe dispozitiv.
Timpul pentru alarme trebuie să se stabilească secvențial în ordine crescătoare începând de la ora 00:00 (punct de referință), prima valoare de ceas nu trebuie să fie egal cu 00: 00h, ultima alarmă în EEPROM de memorie, nu trebuie să depășească ora 23:59 h rămasă neutilizată de celule EEPROM. de memorie ar trebui să aibă o valoare mai mare de 23 (24 sau mai mult), atunci când programează celulele de valoare microcontroler este de obicei setat la 0xFF (255).
Perioada de timp indicat în mesajul SMS pentru modul de baliză nu trebuie să depășească 23:59 (1439 minute) și trebuie să fie de cel puțin 00:05 (5 min). În caz contrar, timpul implicit va fi 1:00.
modulul GPS recepționează ora din Greenwich, deci trebuie să setați fusul orar, în regiunile respective.
EEPROM de memorie total 61 poate fi setat pentru valorile timpului de alarmă în intervalul 00: 00-23: 59 ore. În cazul în care parametrii sunt setați incorect, sau deloc definite, precum și în cazul în care merge dincolo de date în tabel, vor fi utilizate valorile implicite.
Luați în considerare a doua metoda de stabilire a parametrilor de mesaje SMS. Când porniți mai întâi pe dispozitiv, timp de 5 minute, citirea mesajelor SMS de pe cartela SIM, în această perioadă este necesară pentru a trimite un mesaj prezentat mai jos, sau pre-înregistrare-l pe cartela SIM înainte de a porni:
NAST [tek_time] - [Tgsm] - [TGPS] - [Tsms] - [UTC] - [Alarm 1] - [Alarm 2] - ... - [Alarm 11]
Acest exemplu de realizare poate seta un maxim de 11 alarme, a căror secvență trebuie să înceapă cu un punct de referință (ora 00:00), așa cum sa menționat mai sus. După citirea mesajului, toți parametrii sunt copiate în memoria EEPROM a microcontrolerului, în cazul în care operațiunea a fost de succes HL1 LED-uri, flash-ul HL2 de trei ori, după care dispozitivul este adormit. În viitor, setările tracker poate fi schimbat rapid prin trimiterea unui mesaj SMS cu noii parametri de pe dispozitivul de veghe (în timp ce de așteptare pentru un SMS pauză sau în timp ce de așteptare pentru un apel primit), opțiunea [tek_time] nu vor fi luate în considerare (numai folosit la prima activare pe tracker), dar e dor de ea este imposibil.
Lansarea inițială de urmărire fac după cum urmează: De exemplu, să ia programul (12.00-15.00-18.00-21.00), parametrul [tek_time] I este setat egal cu 11.50, astfel încât, după adoptarea cu succes a parametrilor, tracker se va trezi în 10 minute. După aceea, l-am suna și obține coordonatele tracker în același timp, este actualizat cu datele GPS, atunci trackerul va trezi la timp.
Toate mesajele SMS de pe cartela SIM sunt șterse după fiecare operație de citire, pentru a face loc pentru mesajele ulterioare.
Dacă prima dată când porniți microcontroler nu va fi în măsură să inițializa modulul GSM sau un ceas de timp real pentru a răspunde la comenzi, executarea programului se oprește (o eroare critică), LED-ul va lumina intermitent continuu HL2 „Eroare“.
În viitor, în cazul în care au existat erori, programul va fi executat pe trecerea zona cu probleme, LED-ul se aprinde HL2 „Eroare“, care rămâne pe dispozitiv, după care se încadrează adormit, și se stinge atunci când renaștere ulterioară. În plus, microcontrolerul trimite linie UART cod de eroare în timp real. Pentru a urmări erorile cu ajutorul calculatorului (precum și comenzile trimise la modulul GSM), dispozitivul se poate conecta convertor USB-UART la TX „în diagramă. Erorile sunt în terminalul ca un mesaj ERRxx, în cazul în care codul de xx-eroare. La punctul RX“, puteți monitoriza mesajele trimise de modulul de la microcontroler.
Pentru a reduce consumul de energie cu LED indicator de eroare poate fi dezactivat pentru acest rezistor de ieșire stânga R4 la circuitul care urmează să fie conectat la GND. Lista toate erorile listate în fișierul text pe care îl puteți descărca la sfârșitul articolului.
Dispozitivul este asamblat bord cu două fețe cu circuite imprimate pe dimensiunea de 49 x 62 mm, în principal, componente smd montate pe placa. Pentru produsele alimentare, folosesc trei baterii penlight. Toate părțile dispozitivului plasate în interiorul carcasei impermeabil cu dimensiunile 85x58x33 mm (care a fost achiziționată în China). În modul de repaus, aparatul consumă 90-104 microamperi în stand-by de apel în modul 5,5mA în timpul coordonatele 60 mA. Unul dintre copii ale tracker lucrează pentru mine aproximativ 2 luni, iar trezirea programată de 5 ori pe zi, timpul de așteptare un apel de intrare este de 10 minute. Alimentarea cu energie în această perioadă a scăzut cu aproximativ 0.3V.
Bine ai venit!
Asta e ceea ce am fost în căutarea pentru ceva de genul asta.
Sunt un fermier care a trăit în stepele din Kazahstan. În zona noastră, aproape peste tot există un schelet de comunicații, cu această ocazie m-am gândit la soluții la probleme.
Am o fermă 3 turma de cai, ciclul de viață acestea diferă de la alte animale. Ele sunt întotdeauna la exterior, care vine acasă doar pentru a bea, dar acest lucru se întâmplă doar în timpul verii, iar apoi, când există secetă. În alte perioade ale anului, vom petrece o cantitate foarte mare de timp și efort pentru a determina locurile lor de căutare.
Apoi m-am gândit că, dacă un gât unuia dintre cai pentru a lega un astfel de senzor. Este o turmă, Armasarul turma nu îi va permite să kabyl lăsat altora.
Deci, pentru a atașa un senzor, și să le găsească coordonatele și du-te direct la punct, nu ca acum cutreieră)))
Problema este, un astfel de senzor poate fi făcut astfel încât să ruleze mai mult?
Pe Internet, pe care site-ul chinez a văzut aparatul în modul de așteptare, funcționează timp de 3 ani, în cazul în care acesta este în timpul zilei o dată pentru a trimite locația.
Pentru mine o dată pe săptămână, în destul de plin
Bună ziua, cred că dacă o dată pe săptămână pentru a trimite SMS-uri, trackerul va dura de la 6 luni la un an, puteți pune, de asemenea, astfel de baterii de mare capacitate, pur și simplu crește dimensiunea tracker.
Conform intrărilor logice receptoare rx pot fi conectate în paralel, dar ieșirile emițătoare tx nu pot fi conectate în paralel, adică, microcontrolerul poate transmite date la mai multe dispozitive slave de linie tx, și de a primi date de la fiecare dispozitiv poate fi numai pe linii separate.
În cazul în care liniile de conectare tx două dispozitive, acesta poate fi momentul în care unul ieșiri de dispozitiv 0 și celălalt 1 și rotiți de închidere, un alt exemplu de realizare a utilizării rezultatelor colector deschis pentru a evita închiderea, dar apoi ambele dispozitive vor transmite date în același timp, atunci datele transmise vor fi corupte .
Am Tracker pentru a utiliza UART hardware pentru modul GSM și un UART software pentru modulul GPS în cazul GPS, microcontrolerul pur și simplu primește date.
Bună ziua. Spune-mi, printre produsele PIC nu sunt controlere cu built-in ceas RTC (de exemplu, în ATtiny 1634) să abandoneze o PCF8583 piesă separată?
Salutări, nu am văzut-PIC cu built-in RTC (dar nu-l neagă, probabil ele există). Documentația pentru 1634 ATtiny ceva ce nu am văzut prezența RTC.
Da, așa e, nu există ceas plin și cronometrul la 32kHz - punctul 6.2.3 în fișa tehnică.
Și o altă întrebare, cum pentru a vedea dacă în loc de tranzistori bipolare câmp livra, probabil, nu va fi nimic critic?
Acest oscilator funcționează la o frecvență de aproximativ 32 kHz, frecvența depinde de tensiunea de alimentare și temperatura, iar în mea nu pot fi folosite pentru sincronizare, pot exista el a folosit ca un ceas sau ca un watchdog timer pentru a reseta PIC într-un astfel de generator de asemenea, este disponibil. Timp de câteva ore nevoie de ceas pe cuarț cu frecvența de 32.768 kHz.
Este posibil și pe teren, în cazul în care lucrează la o tensiune de 3,3-4,5V
Prompt vă rugăm chiar și un astfel de lucru - PIC poate fi programat intern, în sudat la starea de încărcare (din nou, ca o controlere AVR)?
Suport pentru programare In-System (ICSP), în PIC este disponibil, dar nu toate controlerele, de exemplu, PIC16F690, care este utilizat în sprijinul tracker astfel de programare, dar aici sunt implicate toate concluziile, asa ca nu-l atât de programat. De asemenea, memoria voi spune că, CIPS sprijini controlere din seria PIC16F87X.