Gyorsítsa fel a BLDC motorok autóipari és IoT területen való használatával kapcsolatos fejlesztéseket az A4964KJPTR-T motorvezérlő IC-vel
Contributed By DigiKey's North American Editors
2021-10-26
A szénkefe nélküli egyenáramú (BLDC) motorokat egyre gyakrabban használják számos és változatos felhasználási területen, a dolgok internetének (IoT) távvezérelt garázsnyitóitól és az autóablakoktól kezdve a műholdak hajtóművének vezérlőegységeiig. A BLDC motorokkal kapcsolatban a tervezőknek azzal a problémával kell szembenézniük, hogy a vezérlésükhöz szükséges vezérlőalgoritmusok összetettek és gyakran egyediek. Ez az átlagos mérnökök számára megnehezíti, hogy észszerű időn belül üzembe helyezzék őket.
A fejlesztőknek általában vagy egy mikrovezérlőn futó szoftveralapú megoldást kell választaniuk, amely rugalmas szoftveres megoldást nyújt, de egyben számítási terhet is ró a mikrovezérlőre, vagy pedig valamilyen célorientált integrált áramkört (IC) használnak. Ez utóbbi tartalmazza a BLDC motor minden vezérlési funkcióját, és leveszi a BLDC motor vezérlésének terhét a központi egységről.
Ez a cikk a mikrovezérlőre épülő szoftveres megoldás és a célorientált hardverlapkás megoldás közti különbségeket tárgyalja. Ezután részletesen megvizsgálja az Allegro MicroSystems cég A4964KJPTR-T jelű motorvezérlő IC-jének használatát, amelyet kifejezetten az autóipari termékekben használt BLDC motorok vezérlésének egyszerűsítésére terveztek. A cikk bemutatja, hogyan dolgozhat az A4964KJPTR-T motorvezérlő IC-vel, és bemutat néhány bevált módszert is a váratlan viselkedés elkerülésére.
A BLDC motorok (nagyon) rövid bemutatása
A BLDC motoroknak széles fordulatszám-tartományában jelentős a nyomatékleadása, csendesek, és nem szenvednek a szénkefés motorok mechanikai súrlódásától. A BLDC motorok nem feszültség-, hanem áramvezéreltek, ami lehetővé teszi, hogy a legkülönbözőbb alkalmazási területeken használják őket, és ehhez az ilyen motorok legkülönfélébb formájú, méretű és árfekvésű választéka kapható.
A TRINAMIC Motion Control cég QBL4208-41-04-006 jelű terméke például egy 24 V-os, 4000 f/perc fordulatszámú villanymotor, amely akár 0,06 Nm nyomaték leadására is képes (1. ábra). A motor könnyű (0,3 kg), és több lehetőséget is kínál a fejlesztő számára a motor vezérlésére, például érzékelők nélküli működéssel az elektromotoros ellenerőt felhasználva, vagy a motor tengelyhelyzetét jelző beépített érzékelőkkel.
1. ábra: A QBL4208-41-04-006 egy 24 V-os, 4000 f/perc fordulatszámú BLDC villanymotor, amely maximális fordulatszámon valamivel több mint 0,06 Nm nyomaték leadására képes (kép: TRINAMIC Motion Control GmbH)
Nagyobb nyomaték esetén a tervezők használhatják a szintén a TRINAMIC Motion Control cég gyártotta, QBL4208-41-04-025 jelű BLDC villanymotort(2. ábra). Ez egy 24 V-os, 4000 f/perc fordulatszámú BLDC villanymotor, amely valamivel több mint 0,25 Nm nyomaték leadására képes.
2. ábra: A TRINAMIC Motion Control cég QBL4208-41-04-025 jelű terméke egy 24 V-os, 4000 f/perc fordulatszámú BLDC villanymotor, amely maximális fordulatszámon valamivel több mint 0,25 Nm nyomaték leadására képes (kép: TRINAMIC Motion Control GmbH)
A BLDC motorokat az állórészben elhelyezett háromfázisú tekercsek működtetik. Ezek forgó mágneses teret hoznak létre, amely a forgórészben lévő állandó mágnesekkel való kölcsönhatást használja a forgórész mozgatásához és ezzel a motor forgatásához.
Elméletben ez egyszerűen hangzik, de a gyakorlatban a BLDC motorok vezérlése meglehetősen bonyolult, ezért a fejlesztőknek választaniuk kell, hogy valamilyen szoftveres keretrendszert használnak-e a motor vezérlésére, vagy egy célorientált lapkás megoldást.
A szoftveres és a célorientált lapkás megoldások összevetése
A fejlesztőknek több tényezőt is figyelembe kell venniük, amikor meg kell oldaniuk, hogyan hozzák forgásba a BLDC motorjukat. Ezek a tényezők alapvetően a következőkre vezethetők vissza:
- alkatrészköltség kontra munkaerőköltség
- a nyomatott áramkör bonyolultsága a szoftver bonyolultságához mérten
- karbantartási idő és költségek
Hardveres szemszögből nézve nagyon csábító lehet a szoftveres megoldás választása, mert a célorientált lapkás megoldás némi többletkiadást jelent az alkatrészköltség terén. Célorientált lapka helyett takarítsa meg annak árát, költsön a lapka árának töredékével többet egy mikrovezérlőre, és vigye be az összes vezérlőalgoritmust ebbe a mikrovezérlőbe. Úgy tűnik, ezzel mindenki jól jár, de a csapatok gyakran nem veszik figyelembe ennek a döntésnek minden lehetséges következményét.
Igen, ez csökkenti az anyagköltséget, de egyúttal a BLDC motor állapotadatainak feldolgozása és a motor folyamatos vezérlése pluszterhelést jelent a mikrovezérlő számára. Ha a mikrovezérlő más érzékelők jeleit is próbálja mintavételezni, próbál rádión át kommunikálni és más eszközöket vezérelni, a szoftverfejlesztési és karbantartási költségek az egekbe szökhetnek, ha nem vigyázunk.
Ennek ellenére a mikrovezérlőben elhelyezett szoftveralapú megoldás nagyobb rugalmasságot is adhat a tekintetben, hogy a csapat finomhangolhatja a motorvezérlő algoritmusokat. A szoftverek használata nem jelenti azt, hogy mindig túl kell bonyolítani a dolgokat.
Ilyen jellegzetes helyzet lehet például az, hogy a motorvezérlő algoritmus mikrovezérlőben történő elhelyezése több RAM-ot foglal, és sok flashmemóriát igényel. Ha azonban a csapat kifejezetten motorvezérlésre tervezett mikrovezérlőt használ, amilyen például a Texas Instruments cég F280049CRSHSR motorvezérlő mikrovezérlője, akkor az algoritmusok a mikrovezérlő ROM-jában található könyvtárba vannak beépítve. Ez annyit tesz, hogy az alkalmazáshoz hozzáadott további kódokat mindössze az összes nehéz feladatot elvégző könyvtárhoz való hozzáférésére használt függvényhívások jelentik.
A BLDC motor forgásba hozása azonban nemcsak a szoftveren múlik, hardverre is szükség van. A 3. ábrán egy C2000 mikrovezérlőt (ebbe a családba tartozik az F280049CRSHSR is) használó mintaalkalmazás látható. Az ábra szemlélteti mindazt, ami egy BLDC motor vezérléséhez szükséges és választható. A mikrovezérlőn túl szükség van valamilyen 3 fázisú teljesítményfokozatra is, amely képes a BLDC motor három fázisát vezérelni, hogy a motor forgásba jöjjön.
3. ábra: A Texas Instruments cég C2000 jelű mikrovezérlőit motorvezérlési célokra tervezték. Ez a kép egy mintaalkalmazást mutat a mikrovezérlővel a középpontban, a BLDC motor meghajtásához feltétlenül szükséges és nem kötelezően használandó áramkörökkel együtt (kép: Texas Instruments)
A mikrovezérlő motorvezérlésre történő használata határozottan érdekes, de hogyan néz ki egy célorientált hardveres megoldás? Vessünk egy pillantást az Allegro MicroSystems cég A4964KJPTR-T jelű motorvezérlő lapkájára.
Az Allegro MicroSystems cég A4964KJPTR-T jelű motorvezérlő IC-je
Az Allegro MicroSystems A4964KJPTR-T motorvezérlő lapka egy kimondottan BLDC motorokhoz készült célorientált motorvezérlő egység, amely tartalmazza a motor vezérléséhez szükséges összes intelligens funkciót (4. ábra). A kifejezetten autóipari felhasználásra és N csatornás MOSFET-ekkel való használatra tervezett lapka érzékelő nélküli indításra és kommutálásra is alkalmas, így minimális mennyiségű külső kiegészítő hardvert igényel. Az A4964KJPTR-T széles feszültségtartományban, 5,5 V és 50 V között használható, ami szinte minden szokványos felhasználási területet lefed, beleértve az autóipari rendszereket is.
Az A4964KJPTR-T talán legérdekesebb tulajdonsága az, hogy a soros perifériaillesztő felületen (SPI) keresztül hozzákapcsolható a mikrovezérlőkhöz és a központi elektronikus vezérlőegységekhez (ECU), és így beállítható a villanymotorok vezérlésének számos paramétere. Nyilvánvaló, hogy így a mikrovezérlőnek nem kell olyan erősnek lennie, mint annak, amelyik maga futtatja a motorvezérlő algoritmusokat is.
4. ábra: A BLDC motorokhoz készült A4964KJPTR-T motorvezérlő lapka 5,5 V és 50 V közötti feszültséggel működik, és érzékelő nélküli indítást és kommutálást tesz lehetővé. A motor fordulatszáma a soros perifériaillesztő felületen (SPI) keresztül vagy egy külön erre a célra szolgáló impulzusszélesség-modulált (PWM) jel segítségével állítható be (kép: Allegro MicroSystems)
Másik lehetőségként – és ez az igazán érdekes rész – az A4964KJPTR-T lapkával a motor fordulatszáma az SPI nélkül is szabályozható, egyszerűen egy impulzusszélesség-modulált (PWM) jellel. A motor beállításai nem felejtő memóriában tárolhatók, amelynek tartalma bekapcsoláskor betöltődik, és lehetőséget ad arra, hogy a motor vezérlése pusztán egy PWM jel segítségével történjen.
Beállítási szempontból az A4964KJPTR-T lapkának 32 címezhető 16 bites regisztere és egy állapotregisztere van. Az állapotregiszter egyedülálló abban a tekintetben, hogy az első 5 bitje minden olvasási/írási művelet során továbbítódik az SPI-n keresztül, és így a szoftver ellenőrizni tudja az általános állapotot, hogy van-e bármilyen hiba vagy gond. A lapkára írási műveletek során a teljes állapotregiszter kiolvasható, mert az A4964KJPTR-T nem küld vissza adatokat.
A 32 címezhető regiszter között van két speciális regiszter is. A 30. regiszter csak írható, a 31. regiszter pedig csak olvasható. A csak írható regiszter lehetővé teszi a fejlesztők számára, hogy 0-1023 közötti számot használva beállítsák a bemenő kért értéket, azaz a motor fordulatszámát. A csak olvasható regiszter értéke a 29. regiszterbe, a visszaolvasás-kiválasztó regiszterbe írt kért adatok alapján változik. Ez a regiszter a telemetriai adatok széles körének beolvasását teszi lehetővé, ilyenek például a következők:
- diagnosztika
- a motor fordulatszáma
- átlagos tápáram
- tápfeszültség
- a lapka hőmérséklete
- bemenő kért érték
- a vezérlőhíd alkalmazott csúcsmunkaciklusa
- alkalmazott fázissiettetés
Az ezeken a speciális regisztereken kívül fennmaradó 30 regiszter lehetővé teszi az adott motorhasználat beállítását, valamint a hibák, például az áramkorlátozási és a kapuvezérlési hibák engedélyezését vagy letiltását.
A célorientált motorvezérlő egységek azért érdekesek, mert néhány tucat beállítóregiszterben adnak meg mindent, amit a motor működtetéséhez be kell állítani. Ez drámai mértékben csökkenti azt a szoftveres terhelést, amellyel egyébként a mikrovezérlőnek kellene megbirkóznia, és ami talán még fontosabb, jelentős mértékben képes csökkenteni a szoftverfejlesztési és karbantartási költségeket is. A BLDC vezérlése ekkor semmi másból nem áll, csak egy PWM jel elküldéséből, ami semmilyen terhelést nem jelent a mikrovezérlő számára, vagy a „motor” bit engedélyezéséből és egy SPI-alapú bemenő kért érték megadásából a BLDC motor megforgatásához.
Tippek és trükkök a A4964KJPTR-T lapka használatához
Az A4964KJPTR-T lapkát meglehetősen logikusan lehet használni, de van néhány tanács és trükk, amelyeket a fejlesztőknek érdemes szem előtt tartaniuk, mert egyszerűsíthetik és felgyorsíthatják a fejlesztést. Ilyenek például az alábbiak:
- Az állapotregiszter tartalma minden lapkára íráskor vissza lesz küldve az SPI felületen át, és a regiszter nem használható külön e célra szolgáló címezhető regiszterként. Ez azt jelenti, hogy a vezérlőkódnak figyelnie kell az SPI-sín SDO jelvonalát, miközben a lapkára ír, hogy állapotadatokat kapjon.
- A hibaadatokat az állapotregiszter tartalmazza, de a lapka állapotadatai minden SPI-tranzakcióban megtalálhatók az első öt bitben, amikor a mikrovezérlő a címhozzáférési adatokat adja meg. Ezek az adatok felhasználhatók annak megállapítására, hogy történt-e bármilyen hiba.
- A memóriatérképen két egyedi regiszter van, amelyek egyike csak olvasható, másika csak írható. Ez logikus, de vigyázzon, hogy ne próbáljon a csak írható regiszterből olvasni, mert ekkor a lapka az olvasási sorrendben használt helykitöltő adatokat ír a regiszterbe.
- A lapkán van valamennyi nem felejtő memória is, amely az alapértelmezett paraméterek tárolására használható. Ezek a paraméterek betöltődnek a RAM-ba, és az indítás során lesznek felhasználva. Annak érdekében, hogy a lapka indításkor a lehető leghatékonyabban kerüljön készenléti állapotba, programozzon bele „biztonságos” indítási értékeket.
- Ha a végberendezés zajos vagy sugárzásban gazdag környezetben dolgozik, nem rossz ötlet az alkalmazáskódot úgy megtervezni, hogy a beállítási adatokat bizonyos időnként újra betöltse. A lapka beállításai a RAM-ban vannak tárolva, ami azt jelenti, hogy érzékenyek a kozmikus sugárzásra, a bitek felcserélésére és az összes olyan vicces, ritka eseményre, amely az elektronikával történhet.
Összegzés
Az autóipari, IoT- és egyéb területeken meglehetősen gyakran használnak BLDC motorokat, de a vezérlésük rendkívül bonyolult is lehet. A szoftver összetettségének kezelésére a fejlesztők használhatnak valamilyen BLDC motorokhoz készült célorientált vezérlőegységet, például az A4964KJPTR-T lapkát, amely tartalmazza az összes motorvezérlő funkciót.
Bár a lapkával való kommunikációhoz továbbra is szoftverre van szükség, a szoftvert futtató mikrovezérlőnek csak a beállítási adatokat kell megadni, és az A4964KJPTR-T gondoskodik a motor vezérléséről. A fentebb olvasható tanácsokat és trükköket felhasználó fejlesztők sok időt meg fognak takarítani, és sokkal kevesebb bosszúságban lesz részük az A4964KJPTR-T használata során.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




