A XXII. Országos Elektronikai Konstrukciós Versenyre készült pályamunkám tárgya egy energiahatékonysági célú elektromos versenyautó motorvezérlő elektronikája.
Az autó a Shell Eco-marathon versenyére készült iskolám csapata által, melynek én is tagja vagyok, és a csapatban is az én feladatom az autó elektronikai rendszerének fejlesztése. A verseny célja, hogy az autónk 1kWh elektromos energia felhasználásával a lehető legnagyobb távolság megtételére legyen képes. A versenyen tavaly nyáron is részt vett csapatunk Londonban, ahol 346,8 km/kWh-ás eredményt sikerült elérnünk. Ennek örömén felbuzdulva úgy gondoltam, hogy az autó általam fejlesztett részének továbbfejlesztett változatával ezen versenyen is érdemes lenne megmérettetni magamat. Az eddig elért eredményünkre is büszkék vagyunk, de úgy gondolom, hogy az autó elektronikájának további fejlesztésével még van lehetőségünk a jelenleginél is kisebb energiafelhasználás elérésére.
Az autó meghajtására egy 3 fázisú brushless DC motor szolgál. A motor a gyári adatai alapján az általunk használt 200-500W-os teljesítménytartományban 90-93% körüli hatásfokkal képes üzemelni, azonban utólagos számításaim és méréseim során azt tapasztaltam, hogy menet közben a tényleges hatásfoka ennél lényegesen kisebb volt, valahol olyan 50-60% körüli. Viszont rájöttem, hogy ennek az az oka, hogy az autóban a motor teljesítményének vezérlése a pilóta által, kézzel történik. Ez nem optimális, mert a gyári specifikáció szerinti hatásfok csak akkor érhető el, ha a motor egy adott teljesítmény mellett egy meghatározott fordulatszámon és forgatónyomatékon üzemel. Erre a problémára azt a megoldást találtam ki, hogy egy olyan motorvezérlő elektronikát fejlesztek, amely a pilóta helyett automatikusan szabályozza a motor teljesítményét, annak optimális működési paramétereit figyelembe véve. A pilóta feladata így már csak az lesz, hogy elindítsa és leállítsa a motort, és irányítsa az autót. Számításaim szerint ezzel a rendszerrel már akár 500km megtétele is lehetővé fog válni 1kWh energia felhasználásával.
A rendszer felépítése és működése
A rendszer az alábbi fő részekből áll: a BLDC motor és egy rajta lévő enkóder, egy meghajtópanel, két Arduino DUE, egy tápellátó panel és egy áram- és feszültségmérő panel. A meghajtópanel egy teljesítményfokozat a motor meghajtásához, ez állítja elő a motor meghajtásához szükséges váltakozó áramot. A motor teljesítményfelvételét az akkumulátorok és a meghajtópanel közé beiktatott áram- és feszültségmérő panel segítségével méri a rendszer, így nyomon követhető az autó energiafelhasználása. Az autóban 2db 12V-os, 11Ah-ás LiFePO4 akkumulátor kapott helyet, amelyek sorba vannak kötve, így biztosítják az elektronika tápellátásához szükséges 24V névleges feszültséget. A meghajtópanelen kívül a többi áramkör tápellátásáért egy külön panel felel, amely egy DC-DC konverter 5V-os és 12V-os kimenetekkel.
A motor vezérlésére az egyik Arduino szolgál, ez felelős azért, hogy a motor képes legyen forogni. A motor enkóderének adatát kiolvasva folyamatosan követi a tengely forgásszögét, ami alapján előállítja a fázisok meghajtásához szükséges PWM jeleket a meghajtópanel számára. Ezen felül még a motor teljesítményét is szabályozza: az enkóder pozícióadataiból kiszámolja a fordulatszámát, amiből egy gépi tanulással létrehozott algoritmussal meghatározza, hogy mekkora teljesítményen üzemeljen a motor ahhoz, a lehető legjobb legyen a hatásfoka, és ennek megfelelően módosítja a kimenő PWM jeleket is. A másik Arduino kezeli az összes többi folyamatot: a kijelző és a kezelőszervek, bemenetek kezelését, a motor teljesítményének mérését, illetve az ESP8266 WiFi modullal is kommunikál. Ehhez csatlakoznak a kezelőgombok is, méri az autó sebességét és fogyasztását, és ezeket az adatokat megjeleníti a kijelzőn is.
A meghajtópanel lényegében 3db MOSFET félhídból áll, és a hozzá tartozó meghajtóáramkörből. A motor fázisai a félhidak kimenetére csatlakoznak. A félhidak ellenütemben vannak vezérelve 20kHz-es PWM jelekkel az Arduino által. A PWM jelek kitöltési tényezője szinuszosan van modulálva a motor tengelyének forgásszögének megfelelően, fázisonként 120°-kal eltolva. Az alacsony, 1,4mΩ-os csatornaellenállású FET-ek alkalmazásának köszönhetően az egység hatásfoka a teljes üzemi tartományban magas, 98-99% körüli, így hűtőbordát nem igényel még teljes terhelés mellett sem.
A rendszer főbb paraméterei:
- Maximális üzemi teljesítmény: 500W
- Akkumulátorok: 2db 12V 11Ah LiFePO4 akkumulátor
- Teljesítményfokozat névleges tápfeszültsége: 24V
- Meghajtópanel hatásfoka: 98%
- Motor üzemi hatásfoka: 90-93%
- Maximális sebesség: 40km/h
- Számított energiafogyasztás: 500km/kWh
A rendszer fejlesztéséhez, teszteléséhez és a motor paramétereinek beméréséhez egy fékpadot használtam, és egy külön vezérlőszoftvert, ami minimális beavatkozás mellett önmagától elvégezte a motor teljes üzemi tartományának bemérését, annak teljes teljesítmény-, fordulatszám- és terheléstartományán végig haladva, eközben rengeteg mérési adatot gyűjtve. A mérési adatok feldolgozásához szintén egy általam írt szoftvert használtam, amely felállított egy vezérlőalgoritmust. Ennek az algoritmusnak a kész rendszer szoftverébe való beágyazásával lehetővé vált, hogy képes legyen a motor fordulatszáma alapján folyamatosan meghatározni azt az üzemi teljesítményt, amivel a motor a lehető legmagasabb hatásfokon üzemel, és ennek megfelelően szabályozni a motor teljesítményét.
Az autó további fejlesztésén jelenleg is gőzerővel dolgozunk, az egyik ilyen fejlesztési irányunk a telemetria. A versenytapasztalataink alapján úgy gondoltuk, hogy az autó üzemi paramétereinek egyszerűbb és hatékonyabb nyomon követése érdekében célszerű lenne egy telemetriarendszer használata. Ennek megvalósításához szükségünk van egy stabil rádiós kommunikációra az autóval, és egy megfelelő szoftveres háttérre, amely lehetővé teszi az adatok feldolgozását, továbbítását és megjelenítését. A kommunikációhoz egy nagy hatótávolságú WiFi kapcsolatot használunk, mivel ez egy egyszerűen kivitelezhető megoldás, szoftver tekintetében pedig egy webes felületet segítségével valósítjuk meg az autóval való kapcsolattartást és az adatok megjelenítését.
Az autóban egy ESP8266 WiFi modult használunk, mivel az Arduino-val való szoftveres illesztést ezzel egyszerűen meg lehet oldani, ugyanakkor az átlagfelhasználói WiFi-s mobil eszközökhöz képest jóval nagyobb hatótávval rendelkezik. Az éles üzem során a versenypálya mellett egy megfelelően elhelyezett access point-ot fogunk használni, amely egy irányított antennával van felszerelve, az autó WiFi modulja egy kliensként csatlakozik erre. A pálya formája lehetővé teszi az irányított antenna előnyös kihasználását, körülbelül 4-500 méterig megbízható kapcsolatot létesít.
Az autóban lévő ESP8266 modulon egy webszerver fut, amin egy JSON adatsort használva érhetők el a továbbítandó adatok. Ezeknek az adatoknak a megjelenítésére és feldolgozására egy webes felületet készítettünk, amely használható bármilyen eszközön, ami csatlakoztatva van a hálózatra, például egy laptopon vagy telefonon is. Ennek a weblapnak a használatával lehetőségünk van az adatok valós idejű megjelenítése mellett azok eltárolására és későbbi kiértékelésére is.
A fejlesztések és tesztek folyamatosan zajlanak. Bizakodva és nagy lendülettel készülünk az idei versenyre. Itt szeretném megköszönni iskolámnak Kecskeméti SZC Kandó Kálmán Szakgimnáziumának és Szakközépiskolájának, csapatomnak és felkészítő tanáromnak Ladányi Sándornak a kitartó munkáját és támogatását.