IX. TavIR programozói verseny: Siklósi Tamás - Hajómodell fedélzeti elektronika

Hajómodell fedélzeti elektronika - Összefoglalás

 Modellhajó

A projekt célja egy hajómodell fedélzeti elektronikájának megvalósítása. A tervezés során felmerült igények:

  • Stabil feszültség biztosítása a LED világítás megvalósításához,
  • A világítás távirányítóval történő be-, kikapcsolásán kívül, a világítás erőssége a környezeti fény erejének függvényében változzon. A kabinvilágítás a külső fényerősséggel ellentétesen, azaz erősebb külső fény esetén halványabban, gyengébb külső fény esetén erősebben világítson. A műszerfal világítása erősebb külső fény esetén erősebben, gyengébb külső fény esetén halványabban világítson.
  • A hajtás és a fedélzeti elektronika feszültségeinek folyamatos mérése, bizonyos szint alá esésük esetén figyelmeztetés, riasztás.
  • Vízbetörés esetén riasztás.

Hajómodell fedélzeti elektronika

Előzmények

A tervezés során felmerült igényeket első elgondolás alapján egy Arduino UNO felhasználásával szándékoztam megvalósítani, azonban ez az elgondolás nagyon hamar dugába dőlt, mivel a modellben nincs annyi szabad hely, ahol az alappanel és a kapcsolódó elektronika elférne. Ezért döntöttem egy önálló mindent egyben tartalmazó elektronika megalkotása mellett.

 

A stabil tápellátás

A modell működtetéséhez két darab 2 cellás Lítium – Polimer (LiPo) akkumulátort használok, egyet a hajtáshoz és egyet a fedélzeti elektronikához. A 2 cellás akkumulátor névleges feszültsége 7,4 Volt. Teljesen feltöltött állapotban a feszültsége ~8,4, míg lemerített állapotban 6,2..6,4 Volt. Azonban Nagyon fontos, hogy a LiPo akkumulátort soha nem szabad túl meríteni, mert károsodhat és tűz- és baleset veszélyessé válhat.

A LED világítás folyamatos fényerejének biztosításához stabil 5 Volt feszültséget terveztem. Ennek megvalósításához 7805 feszültség stabilizátor használtam.

A világítás

A világítást az alacsony fogyasztás és könnyű kezelhetőség miatt LED-s terveztem. A sok LED miatti viszonylag magas áram felvétel miatt az ATMega328-ról a LED-ek közvetlenül nem vezérelhetőek biztonságosan a chip esetleges károsodása nélkül. Ezért a kiválasztott kimenetről egy tranzisztoros kapcsoló fokozat segítségével történik a LED-ek üzemeltetése. Mivel a teljes világítást három részre osztottam, így három ilyen fokozat kapott helyet a kapcsolásban. Ezek a D8..D10 (14..16) lábakhoz kapcsolódnak. Irányfények: D8 (14); Kabinvilágítás: D9 (15); Műszerfal világítás: D10 (16);

A világítás be- kikapcsolása a modell vevőjének 5-ös és 6-os csatornáján keresztül történik. Az 5-ös kétállású, míg a hatos csatorna háromállású. A kétállású (5) kapcsolja a kabinvilágítást, a másik (6) első állásban az irányfényeket, második állásban az irányfényeket és a műszerfal világítást. A fényviszonyoknak megfelelő fényerővezérlést egy foto ellenállással oldottam meg. A foto- és egy 10kΩ-os ellenállással kialakított feszültségosztó jelét az A0 (23) lábon keresztül alakítom digitális jellé(bővebben a feszültségmérésnél), és ennek segítségével vezérlem a D9 és D10 lábakon kiadott PWM jelet, beállítva a kabin és műszerfal világítás fényerejét.

Feszültségek mérése

A korábban említett biztonsági okok miatt célszerű az akkumulátorok feszültségét folyamatosan ellenőrizni. A hajtásláncban a motor vezérlését megvalósító gyári szabályzó elektronika biztosítja a hajtásért felelős akkumulátor védelmét. A vágási feszültséget elérve lekapcsolja a motort. Azonban a fedélzeti elektronika tápellátását biztosító akkumulátor védelme nem biztosított ezért szükséges a folyamatos feszültség mérés és a látható figyelmeztetés, esetleges lekapcsolás. A fedélzeti elektronika mind két akkumulátor feszültségét folyamatosan méri és a világítás villogtatásával figyelmezett bizonyos feszültségszintek eléréséről, ezáltal lehetőséget biztosítva a modell biztonságos partra juttatáshoz.

Az analógjel méréséhez a DEFAULT beállítást, azaz a tápfeszültséget használom referenciaként (5 V). Mint tudjuk a 6,4 – 8,4 voltos tartomány nem mérhető közvetlenül, ezért feszültségosztó segítségével megfelelőszintűre állíthatjuk be. Én 13 kΩ (R1) és 15 kΩ (R2) ellenállásokat használtam.

Az ábra alapján kiszámítható, hogy a választott ellenállásokkal Ube = 8,4 V estén az  Uki  = 4,5 V, ez a feszültség már gond nélkül mérhető. AVR chipek analóg-digitális átalakítója 10 bites, így 2^10 azaz 1024 egyenlő részre osztja referencia feszültséget. 5 V-os referencia feszültséggel számolva 1 V az 204,8 egységnek felel meg (1024/5= 204,8). A teljesen feltöltött akkumulátor 8,4 V (4,5*204,8 = 921,6) így 922 egységnek felel meg. A jelezni kívánt feszültség szintek 6,8 V, 6,6 V, 6,4 V(továbbiakban 1., 2., 3. riasztási szint). Ezek digitális egységekre átszámítva rendre:

Ube = 6,8 V, akkor Uki  ~ 3,64V és ez 3,64*204,8 ~ 745 egység;

Ube = 6,6 V, akkor Uki  ~ 3,54V és ez 3,54*204,8 ~ 725 egység;

Ube = 6,4 V, akkor Uki  ~ 3,43V és ez 3,43*204,8 ~ 702 egység;

Az áramkör megépítése után a program beüzemelése során méréssel a fent kiszámított értékeket meg kellett változtatni:   745 → 800, 725 → 780,

702 → 760-ra. A programban már ezen értékek láthatóak.

A hajtás akkumulátor riasztási jelzését az irányfények villogása jelzi. A fedélzeti elektronika riasztása jelzését a műszerfal villogása jelzi. 

A 1. riasztási szint elérésekor mindkét esetben a jelzés 1 másodperces villantás 3-szor megismételve majd 40 másodpercenként újra.

A 2. riasztási szint elérésekor mindkét esetben a jelzés 1/2 másodperces villantás 3-szor megismételve majd 20 másodpercenként újra.

A 3. riasztási szint elérésekor mindkét esetben a jelzés folyamatos gyors villogás.

A fedélzeti elektronika feszültségét az A1 (24), a hajtás feszültségét az A2 (25) lábon mérem.

Vízbetörés érzékelése

A modell védelme érdekében szükségesnek éreztem azt, hogy valamilyen módon látható legyen, ha víz hatol a hajótestbe. A képen látható érzékelőhöz hasonlóakat helyeztem el a kritikus helyekre. Ezt követően már csak az érzékelők jeleit kellett olyanná alakítani, hogy azokat az ATMega328 chip feldolgozhassa. A feladatnak a megoldására a mellékelt kapcsolást alkalmaztam. A vízérzékelő jelére egy OPTO csatoló 4N25 segítségével stabil 5V-os feszültséget ad, amely már könnyedén feldolgozható.  A jeladó jelét a D4 (6) láb felhasználásával olvasom be. Az említett lábon megjelenő magas szint egy vészjelzést generál, mely a modell irányfényeinek felhasználásával folyamatos SOS jelzést ad. Így vízbetörés esetén jó eséllyel még a modell elsüllyedése előtt, az a partra juttatható.

 

TavIR-Facebook