Urychlete vývoj aplikací motorů BLDC pro automobilový průmysl a IoT pomocí řadiče motoru A4964KJPTR-T

By Jacob Beningo

Contributed By DigiKey's North American Editors

Bezkartáčové stejnosměrné motory (BLDC) se používají čím dál více v mnoha různých aplikacích od dálkově ovládaných garážových otvírání a oken automobilů internetu věcí (IoT) až po satelitní hnací řídicí jednotky. Problém, s nímž se konstruktéři u motorů BLDC potýkají, je, že řídicí algoritmy nezbytné k jejich pohonu jsou složité a často specializované. To průměrnému technikovi ztěžuje ho udělat a zprovoznit v rozumném čase.

Vývojáři si obecně mohou vybrat mezi softwarovým řešením běžícím na mikrokontroléru, které poskytuje flexibilní softwarové řešení, ale také zatěžuje mikrokontrolér výpočetní zátěží, nebo použít vyhrazený integrovaný obvod (IC). Ten přejímá funkci úplného řízení motoru BLDC a odebírá řízení BLDC z hostitele.

V tomto článku se pojednává o rozdílech mezi softwarovým řešením založeným na mikrokontroléru a řešením s vyhrazeným hardwarovým čipem. Poté se podrobně budeme zabývat tím, jak použít řadič motoru A4964KJPTR-T společnosti Allegro MicroSystems navržený ke zjednodušení řízení motoru BLDC speciálně pro automobilové aplikace. V článku si ukážeme, jak interagovat s řadičem A4964KJPTR-T a uvedeme několik osvědčených postupů, jak se vyhnout neočekávanému chování.

(Velmi) stručný úvod k motorům BLDC

Motory BLDC nabízejí účinný točivý moment v širokém rozsahu rychlostí, jsou tiché a netrpí mechanickým třením kartáčových motorů. Motory BLDC jsou řízeny proudem, nikoli napětím, což umožňuje jejich použití v široké škále aplikací, pro které se dodávají v mnoha různých tvarech, velikostech a cenových rozpětích.

Například model QBL4208-41-04-006 společnosti TRINAMIC Motion Control je 24voltový motor se 4 000 ot./min, který poskytuje točivý moment až 0,06 Nm (obrázek 1). Motor je lehký (0,454 kg, 0,662 lb) a poskytuje vývojáři několik možností pro řízení motoru, jako je bezsenzorový provoz s využitím zpětné elektromotorické síly (BEMF) nebo provoz pomocí vestavěných senzorů, které hlásí polohu.

Obrázek 24voltového motoru BLDC QBL4208-41-04-006 se 4 000 ot./min společnosti TRINAMICObrázek 1: QBL4208-41-04-006 je 24voltový motor BLDC se 4 000 ot./min, který dokáže při maximální rychlosti dodat o něco málo více než 0,06 Nm točivého momentu. (Zdroj obrázku: společnost TRINAMIC Motion Control GmbH)

Požadují-li konstruktéři větší točivý moment, mohou použít model QBL4208-41-04-025, který je také od společnosti TRINAMIC Motion Control (obrázek 2). Jedná se o 24voltový motor BLDC se 4 000 ot./min, který dokáže dodat točivý moment o něco málo více než 0,25 Nm.

Obrázek 24voltového motoru BLDC QBL4208-41-04-025 se 4 000 ot./min společnosti TRINAMIC Motion ControlObrázek 2: QBL4208-41-04-025 je 24voltový motor BLDC se 4 000 ot./min, který dokáže při maximální rychlosti dodat o něco málo více než 0,25 Nm točivého momentu. (Zdroj obrázku: společnost TRINAMIC Motion Control GmbH)

Motory BLDC jsou poháněny prostřednictvím tří fázových vedení, která generují magnetické pole, které pak tlačí na permanentní magnety, aby pohybovaly magnetickým polem statoru a roztočily motor.

Teoreticky to zní jednoduše, ale v praxi je řízení motoru BLDC poměrně komplikované, což nechává vývojářům na výběr mezi použitím softwarového rámce k pohonu motoru a volbou řešení s vyhrazeným čipem.

Softwarové řešení versus řešení s vyhrazeným čipem

Existuje několik faktorů, které by vývojáři měli zvážit, pokud jde o řešení, jak roztočit motor BLDC. Tyto faktory se v zásadě redukují na následující:

  • cena kusovníku versus mzdové náklady,
  • složitost desky versus složitost softwaru,
  • doba údržby a náklady na ni.

Z hardwarového hlediska může být velmi lákavé jít cestou softwaru, protože řešení s vyhrazeným čipem přidává do kusovníku určité dodatečné náklady. Lze pak odebrat náklady za vyhrazený čip, utratit o zlomek víc za mikrokontrolér a vložit všechny řídicí algoritmy do tohoto mikrokontroléru. Vypadá to jako po všech stránkách výhodné řešení, ale týmy často neberou v úvahu všechny důsledky tohoto rozhodnutí.

Ano, sníží se tak náklady na kusovník, ale pak to klade na mikrokontrolér další zátěž, aby zpracovával stavová data BLDC a nepřetržitě poháněl motor. Pokud se mikrokontrolér také pokouší vzorkovat další senzory, komunikovat s rádiem a ovládat další zařízení, náklady na vývoj softwaru a na údržbu by mohly být vysoké, pokud tomu nebude věnována pozornost.

To znamená, že softwarové řešení v mikrokontroléru může nabídnout flexibilitu v tom, že tým může doladit své algoritmy řízení motoru. Používání softwaru také neznamená, že věci musí být vždy příliš komplikované.

Typicky by se například stalo, že přesunutí algoritmu řízení motoru do mikrokontroléru by mohlo zabrat více paměti RAM a vyžadovat hodně flash paměti. Pokud však tým používá mikrokontrolér určený pro řízení motoru, jako je například mikrokontrolér pro řízení motoru F280049CRSHSR společnosti Texas Instruments, algoritmy jsou zabudovány do knihovny, která se nachází v paměti ROM mikrokontroléru. To znamená, že jediným dodatečným kódem přidaným do aplikace jsou volání funkcí pro přístup ke knihovně, která dělá veškerou těžkou práci.

Roztáčení motoru BLDC však nespočívá pouze v softwaru, ale vyžaduje také hardware. Na obrázku 3 je příklad aplikace využívající mikrokontrolér C2000, do jehož řady patří model F280049CRSHSR, a je zde uvedeno vše, co se vyžaduje a co je volitelné k pohonu motoru BLDC. Kromě mikrokontroléru je třeba také nějaká třífázová výkonová fáze, která dokáže pohánět tři fáze motoru BLDC, aby se roztočil.

Schéma mikrokontrolérů C2000 společnosti Texas Instruments (kliknutím zvětšíte)Obrázek 3: Mikrokontroléry C2000 společnosti Texas Instruments jsou navrženy pro aplikace řízení motorů. Na tomto obrázku je příklad aplikace s mikrokontrolérem uprostřed a požadovanými a volitelnými obvody potřebnými k pohonu motoru BLDC. (Zdroj obrázku: společnost Texas Instruments)

Použití mikrokontroléru k pohonu motoru je rozhodně zajímavé, ale jak vypadá řešení s vyhrazeným hardwarem? Pojďme se podívat na čip řadiče motoru A4964KJPTR-T od společnosti Allegro MicroSystems.

Řadič motoru Allegro A4964KJPTR-T společnosti Allegro MicroSystems

Čip řadiče motoru A4964KJPTR-T společnosti Allegro MicroSystems je vyhrazený řadič motoru BLDC, který obsahuje všechny chytré funkce potřebné k pohonu motoru (obrázek 4). Čip, speciálně navržený pro automobilové aplikace a pro použití s N-kanálovými tranzistory MOSFET, má bezsenzorové spouštění a komutaci, takže vyžaduje minimální množství externího hardwaru. Řadič A4964KJPTR-T také pracuje v širokém rozsahu napětí od 5,5 do 50 V, což pokrývá téměř všechny standardní aplikace spolu s automobilovými systémy.

Jeho možná nejzajímavější funkce je, že řadič A4964KJPTR-T lze propojit s mikrokontrolérem nebo centrální elektronickou řídicí jednotkou (ECU) přes sériové periferní rozhraní (SPI) ke konfiguraci různých registrů pro provoz motoru. Je zřejmé, že mikrokontrolér nemusí být tak výkonný jako ten, který sám spouští algoritmy řízení motoru.

Schéma řadiče motoru BLDC A4964KJPTR-T společnosti Allegro (kliknutím zvětšíte)Obrázek 4: Řadič motoru BLDC A4964KJPTR-T může pracovat s napětím 5,5 až 50 V a poskytuje bezsenzorové spouštění a komutaci. Rychlost motoru lze konfigurovat pomocí SPI nebo pomocí vyhrazeného signálu PWM. (Zdroj obrázku: společnost Allegro MicroSystems)

Alternativně, a to je to zajímavé, může být rychlost motoru A4964KJPTR-T řízena také bez SPI jednoduchým poskytnutím signálu pulzně šířkové modulace (PWM). K dispozici je energeticky nezávislá paměť, do které lze uložit nastavení motoru, která se načítají při zapnutí, což umožňuje ovládat motor pouze signálem PWM.

Z hlediska konfigurace má řadič A4964KJPTR-T 32 adresovatelných 16bitových registrů plus stavový registr. Stavový registr je jedinečný v tom, že prvních 5 bitů se přenáší během každé operace čtení/zápisu v SPI, což umožňuje softwaru zkontrolovat obecný stav a zjistit, zda nedochází k nějakým závadám nebo problémům. Všechny stavové registry lze číst během operací zápisu na čip, protože z řadiče A4964KJPTR-T se zpět žádná data nepřenášejí.

Ve 32 adresovatelných registrech jsou také dva speciální registry. Registr 30 je určen pouze pro zápis a registr 31 je určen pouze pro čtení. Registr pouze pro zápis umožňuje vývojáři nastavit vstup požadavku nebo rychlost pracovního cyklu, se kterou bude motor poháněn, s hodnotou mezi 0–1 023. Data registru pouze pro čtení se mění na základě požadovaných dat, která jsou zapsána do registru 29, registru výběru zpětného čtení. Tento registr umožňuje získat širokou škálu telemetrických informací, jako jsou:

  • diagnostika,
  • rychlost motoru,
  • průměrný napájecí proud,
  • napájecí napětí,
  • teplota čipu,
  • vstup požadavku,
  • použitý můstkový špičkový pracovní cyklus,
  • aplikovaný fázový posun.

Kromě těchto speciálních registrů umožňuje zbývajících 30 registrů ladění konkrétní aplikace motoru a umožňuje povolit nebo zakázat poruchy, jako je omezení proudu a poruchy hradlového budiče.

Vyhrazené řadiče motoru jsou zajímavé, protože shrnují vše, co je třeba nakonfigurovat, aby motor běžel, do několika desítek konfiguračních registrů. To dramaticky odstraňuje veškeré softwarové režie, které by jinak spočívaly na mikrokontroléru, a možná ještě důležitější je, že to může dramaticky snížit náklady na vývoj a údržbu softwaru. Řízení BLDC pak není nic jiného než odesílání PWM, která nemůže mít v mikrokontroléru žádnou režii, nebo povolení bitu motoru a poskytnutí vstupu požadavku založeného na SPI pro roztočení motoru BLDC.

Tipy a triky pro používání řadiče A4964KJPTR-T

Propojení řadiče A4964KJPTR-T je poměrně jednoduché, ale je několik „tipů a triků“, které by vývojáři měli mít na paměti a které mohou zjednodušit a urychlit vývoj, jako například:

  • Stavový registr se při každém zápisu na čip vrací na rozhraní SPI a není dostupný jako vyhrazený adresovatelný registr. To znamená, že kód řadiče musí během zápisu na čip sledovat vedení SDO sběrnice SPI, aby získal informace o stavu.
  • Informace o poruše jsou obsaženy ve stavovém registru, ale přehled o stavu čipu je k dispozici v každé transakci SPI v prvních pěti bitech, když mikrokontrolér poskytuje informace o přístupu k adrese. Tato data lze použít k určení, zda se vyskytly nějaké problémy.
  • V mapě paměti jsou dva jedinečné registry, které jsou určeny pouze pro čtení a zápis. To je jednoduché, ale dávejte pozor, abyste se nepokoušeli číst z registru pouze pro zápis, protože to do registru zapíše všechna fiktivní data, která se používají v sekvenci čtení.
  • Čip má nějakou energeticky nezávislou paměť, kterou lze použít k uložení výchozích parametrů. Tyto parametry se načtou do paměti RAM a použijí se při spouštění. Abyste zajistili, že se čip spustí do připraveného stavu co nejefektivněji, naprogramujte do čipu hodnoty „bezpečného“ spuštění.
  • Pokud koncové zařízení pracuje v hlučném prostředí nebo prostředí bohatém na záření, není špatný nápad navrhnout kód aplikace tak, aby pravidelně obnovoval konfigurační data. Konfigurace čipu je uložena v paměti RAM, což znamená, že je zranitelný vůči kosmickému záření, převrácení bitů a všem těm zábavným a vzácným událostem, které se mohou s elektronikou stát.

Závěr

Implementace motorů BLDC pro automobilový průmysl, IoT nebo jiné aplikace jsou poměrně běžné, ale jejich řízení může být složité. Ke správě složitosti softwaru mohou vývojáři použít vyhrazený řadič motoru BLDC, jako je model A4964KJPTR-T, který zahrnuje všechny funkce řízení motoru.

Zatímco je pro interakci s čipem stále vyžadován software, mikrokontrolér, na kterém software běží, potřebuje pouze nastavit konfigurační nastavení a řadič A4964KJPTR-T se postará o pohon motoru. Vývojáři, kteří se budou uvedenými „tipy a triky“ řídit, zjistí, že při pokusu o použití řadiče A4964KJPTR-T ušetří poměrně dost času a nervů.

DigiKey logo

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.

About this author

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

About this publisher

DigiKey's North American Editors