Logo

Autorius: Andrius Mikonis („MadPhysicist“)
Aut. teisės: Andrius Mikonis
Įdėta: 2006-01-20
View automatic English translation

Automobilio apsaugos sistemos nuotolinio stebėjimo priedas

Įvadas

Turbūt nevienas turi mašiną su signalizacija. Tikriausiai statote mašiną toliau už girdimumo zoną, arba jūsų kieme yra kelios mašinos su lygiai tokia pat signalizacija ir, nors mašina ir netoli lango, negalite iš karto suprasti ar tai jūsų mašina nerimauja, ar kaimyno.

Taip yra ir man. Prie viso šito dar man ir žibintus dažnai vagia... Taigi nutariau pasidaryti siųstuvėlį, kuris siųstų mašinos būseną į mano pranešimų gaviklį. Paprastumo dėlei pasirinkau lengvai randamus RX/TX 433MHz modulius, kurių komplekto kaina yra apie 50lt.

Pradžioje siųstuvui naudojau mikrovaldiklį ATtiny15, nes nereikėjo daug kojų, siuntimo dažnis nedidelis ir t.t. ir panašiai, tačiau tobulinant duomenų protokolą šio mažylio nebeužteko. Prie viso šito jis turi didelį trūkumą — didelis temperatūrinis dažnio nestabilumas. Taigi, ektremaliom automobilio sąlygom šis mikrovaldiklis negalėjo užtikrinti garantuoto ryšio bet kokiu metų/paros laiku. Be to, kažkodėl gamintojas nustojo šių mikrovaldiklių gamybą...

Mano akį patraukė Attiny26 mikrovaldiklis — pakankamai nedidelis, greitas, turi daugiau atminties ir, svarbiausia, turi išorinio kvarcinio rezonatoriaus pajungimo galimybę — tai padidintų temperatūrinį stabilumą.

Imtuvo pusėje dar tiksliai neapsisprendžiau ką naudoti, bet programos kodą parašiau dviems mikrovaldikliams: ATmega16 bei ATtiny26. Išbandžiau su abiem — veikia gerai, tačiau netaip gerai kaip norėtųsi.

Kolkas plokščių šiam projektui nesigaminau — viskas padaryta su maketinėm plokštėm. Siųstuvas įklijuotas į termoklijus, o imtuvas yra maketinė plokštelė su indikatoriais, prijungta prie ATmega+ATtiny bandomosios plokštės (žr. nuotraukas).

Veikimo principas

Siųstuve mikrovaldiklis pastoviai stebi keturis įėjimus, kurie komutuojami mikrorelemis (galutinė versija vietoj relių turės optoporas). Siųstuvas tam tikro laiko intervalu (nurodoma programoje, aš pasirinkau kas 15min.) siunčia informacinį signalą. Jeigu pasikeičia vienas iš stebimų įėjimų — imtuvas iš karto siunčia pokyčio signalą. Yra du svarbūs įėjimai, kurių pokytis įjungia greitą siuntimą (kas 15s).

Imtuvas gavęs informaciją iš siųstuvo įjungia atitinkamus šviesos diodus, o jeigu yra įjungtas svarbiausias (vienas iš svarbių) įėjimų, įjungia garsinį signalą. Tokiu būdu visada galima žinoti ar mašina vis dar yra pasiekiamumo zonoje (su nemodifikuotais siųstuvo/imtuvo moduliais tas atstumas turėtų būtų apie 300m tiesioginio matymo zonoje, bet dėl atspindžių mašinoje nuo metalinių dalių ir stiklo(!), bei nesuderintai tokiai aplinkai antenos atstumas sumažėja, tik, deja, dar nežinau kiek).

Siuntimo algoritmas yra pakankamai paprastas, tačiau čia aš bandžiau panaudoti visas žinias įgytas per paskaitas universitete. Nenaudojau jokio žinomo algoritmo, tiesiog sugalvojau savo, kuris intuityviai atrodytų, geriausiai tiktų tokiai užduočiai. Duomenų siuntimas suskirstytas į paketus, t.y. vienas paketas nusako dabartinę būseną. Prie viso šito, paketai siunčiami kelis kartus, kiekvienas paketas užkoduojamas savaip ir tą kodavimą nuspėja imtuvas, taigi iš esmės paketai siunčiami skirtingai, o imtuvas iškodavęs paketus, pagal tikimybių teoriją, apskaičiuoja koks buvo tikras paketas. Taip aš kovoju su eterio triukšmais.

Deja ne su visais triukšmais galima tokiu būdu kovoti. Pvz. maitinimo triukšmai, mikrovaldiklio triukšmai ir labai keisti triukšmai atsirandantys nuo garsinio signalo generatoriaus. Iš tiesų, garsinio signalo generatorius ir yra didžiausia problema — jam skleidžiant garsą atsiranda ir elektromagnetinės bangos, kurių spektras gana platus ir nemaža galia, kad jautrus imtuvo modulio stiprintuvėlis juos pagautų ir paverstų klaidingais duomenim...

Daugiau informacijos apie šį projektą galite ieškoti www.avrfreaks.net. Ten aš pasivadinęs „FoxIS“.

Failai parsisiuntimui

PDF Siųstuvas

PDF Imtuvas

Nuotraukos

Foto 1 Foto 2 Foto 3 Foto 4 Foto 5 Foto 6

LankytojĆ…Ā³ skaitliukas © 2004-2017 circuit.lt | Be sutikimo kopijuoti draudžiama

Apache web server   PHP   XHTML   CSS
Elektronika.lt