Archívum: 2015 március


2015. Március 14.

Vezeték nélküli kapásjelző, ATtiny-vel

írta: Xaint

Ezt a projektet bátyámnak szántam meglepetésként, mivel szeret horgászni. Korábban mutatott pár vezeték nélküli kapásjelző rendszert, amelyek elég borsos áron kellették magukat. smiley

Az agyamban szinte azonnal megszólalt egy bizonyos hang, olyan kérdésekre keresve a választ mint:

- Oké. A terv adott. Vajon milyen eszközökkel tudnám azt megvalósítani?

Az egyik legnagyobb fejtörést általában nem is az áramkör megtervezése jelenti, hanem az annak megfelelő otthont adó projekt-ház, vagy doboz megtalálása. Nem volt ez másként most sem, amikor is a próbapanelen összerakott adó-vevő páros már működött, a mikrovezérlőre felkerült egy kezdetleges kód is, csak a projektet magába foglaló dobozról nem volt semmilyen ötletem. Az adó egységnél még nem is volt olyan nagy gond, bármilyen kis dobozka megteszi, amiben van elég hely (a fenti képen bal oldalt). Én szeretem, ha a nyomtatott áramkör tervezése előtt / közben már megvan, hogy miben is lesz a végleges helye. Miután a kapcsolási rajz készen van, és elkezdem a nyomtatott áramkör tervezését, már lehet látni, hogy az alkatrészek mekkora helyen férnek majd el. Ennél tovább a kérdéses doboz méretei és alakja nélkül nem is nagyon szoktam menni. Tehát előbb legyen meg a megfelelő doboz, majd annak megfelelően tervezem tovább az áramkört, és nem fordítva. Persze sokan épp így csinálják, előbb terveznek egy valamilyen alakú és méretű nyákot, utána keresnek neki egy olyan dobozkát amiben elfér, mert így sokkal egyszerűbb, gyorsabb.

De végül persze sikerült rálelnem a vevőnek megfelelő készülékházra is, egy övre akasztható kapucsengő vevőjének képében. Ez a beköltözésünk óta pihent az egyik szekrényben, még az előző háztulajdonos hagyta itt. Szerencsénkre! smiley Természetesen az eredetileg fehér színű műanyag, annak brómtartalma miatt szépen megsárgult,  nem csoda, ott heverhetett már vagy 8-10 éve. Ez persze nem jelentett gondot, mivel úgyis fekete festést kapott.

A dobozt szétszereltem, a benne lévő nyákról pedig mindent kiforrasztottam, amiből csak a 90º-os 3 állású kapcsolót tartottam meg. Abból ugyanis nem volt másik. Kis méricskélés után gyorsan létrehoztam a kapcsoló lenyomatát EAGLE Cad-ben, illetve a választott adó/vevő modulok (erről majd később) láblenyomatát is elkészítettem, plusz a kiszerelt nyák méretei alapján megrajzoltam az új nyomtatott áramkör dimenzióit.
 


 

Mind az adóba, mind pedig a vevőbe egy-egy ATtiny24 mikrovezérlőt szántam, furatszerelt kivitelben. Ez az ATtiny24 páros régóta kallódott már a szabad mikrovezérlőim között, gondoltam ezzel munkára fogom őket.  Viszont ezek mindössze 2kB programmemóriával rendelkeznek, ezért az Arduino fejlesztői környezetet gyorsan elvetettem, az ugyanis nagyobb méretű kódot fordít (300-1300 byte-tal) mint a színtiszta libc-vel megtoldott AVR fordító. Gyorsan telepítettem is az ingyenes Atmel Studio 6.0-ás verzióját, az integrált fejlesztői környezet nyújtotta kényelmekről ugyanis nem szerettem volna lemondani. Az Atmel Studio pedig a Visual Studio-ra épül, így nagy meglepetés nem ért a használatában, mivel a Visual Studio-val már évek óta barátkozom.

Rádiófrekvenciás adó/vevő párosnak a TX-4MSIL / BC-NBK kombót választottam, melyeket már használtam korábban, egy vezetékes játékautó vezeték nélkülivé alakítása során. Ezek megbízható, nem túl drága, kompakt darabok.

Itt jegyezném meg, hogy az én Fox Warrior típusú elektromos kapásjelzőim (amikért ezúton is köszönet a bátyámnak cheeky) nem rendelkeznek jack kimenettel amikbe az adót be lehetett volna kötni, ezért egy picit fel kellett turbóznom a kicsikéket:
 


A jack aljzatot a kapáskor felvillanó LED-re kötöttem rá, mivel a nyákot pára ellen vízzáró szilikonréteggel védték le, amit nem akartam megbontani. Eközben az egyik kapásjelzőben a LED-et is kicseréltem, így most már különböző színnel riasztanak. A bátyám Fox Micron MX2-es kapásjelzőivel nem volt ilyen probléma, azok rendelkeznek jack kimenettel. Az adó-vevőt egyébként 4 kapásjelző kezelésére terveztem.

Igazából az egész kapcsolás nagyon egyszerű, köszönhetően a mikrovezérlőnek és a kész adó modulnak:

 

Nem is tartalmaz többet, csak a négy LED csatlakozóját, a kapcsoló 3 állását megkülönböztető feszültségosztót, egy piezo meghajtó tranzisztort, egy 8 MHz-es rezonátort, illetve a mikrovezérlő programozásához nélkülözhetetlen AVR-ISP header-t. Illetve néhány szűrőkondenzátort, illetve egy 10k-s felhúzó ellenállást.

A munka nagy részét inkább a programozás adta, amit a mindössze 2kB-nyi flash memória tett még izgalmasabbá. Ha jól emlékszem, a rendelkezésre álló programmemória 98%-át használtam fel. Ebbe igyekeztem mindent belesűríteni, amit csak lehetett:

  • akkumulátor töltöttségének kijelzése bekapcsoláskor
  • akkumulátor védelem (a mélykisülés ellen)
  • hangos illetve néma kapásjelzés módok
  • Manchester kódolás
  • teszt mód (amivel a maximális távolság megkereshető)

Sajnos a vevőbe épített elemtartó 2db. ceruzaelem befogadására lett kialakítva, amely kevés egy 8MHz-en ketyegő ATtiny-nek, ezért picit meg kellett erőszakolnom az elemtartó belső részét, konkrétan lyukat vágtam a ház belső része felé. Így egy "buta" telefonból származó Li-ion akkumulátor már kényelmesen befért. Igazából rengeteg ilyen telefon halmozódott fel nálunk az évek során, melyek már vagy nem működnek, vagy szimplán csak modernebbre cseréltük őket, így van egy csomó ilyen kihasználatlan telefon aksim.
 

            


További képeket a galériában találsz.

Az adót egy következő cikkben mutatom majd be.